MS16 065: Popis TLS/SSL protokol informácie zverejňovanie chybu (CVE-2016-0149): 10. máj 2016

DÔLEŽITÉ: Tento článok je preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft a možno ho opraviť prostredníctvom technológie Community Translation Framework (CTF). Microsoft ponúka strojovo preložené články, články upravené komunitou aj články preložené prekladateľmi, aby zabezpečil prístup ku všetkým článkom databázy Knowledge Base vo viacerých jazykoch. Strojovo preložené články aj upravené články môžu obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky. Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené neprávnym prekladom obsahu alebo jeho použitím zo strany našich zákazníkov. Ďalšie informácie o technológii CTF nájdete na lokalite http://support.microsoft.com/gp/machine-translation-corrections/sk.

Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 3155464
Súhrn
Informácie o zverejnenie protokol TLS a nespoľahlivé protokol Secure Sockets Layer (protokol TLS/SSL) ako v šifrovanie súčasť Microsoft .NET Framework. Útočník, ktorí úspešne využiť túto chybu môže dešifrovať zašifrované prenosu TLS/SSL.

Využívať zraniteľnosť, útočník najprv musieť aplikovať nezašifrovaného údajov do zabezpečenia kanál a potom vykonajte útoku man-in-middle (MiTM) medzi cielené klientom a serverom legitímne. Táto aktualizácia rieši chybu úpravou spôsob šifrovania súčasti .NET odošle a prijme šifrované sieťových paketov.

Túto chybu je stanovené ako súčasť Microsoft Security Bulletin MS16-065. Táto aktualizácia mení spôsob šifrovania súčasti .NET Framework odošle a prijme šifrované sieťových paketov.

Nasledujúca tabuľka obsahuje prepojenia na štandardný vstup pre každú chybu v zozname bežné chyby a expozície.

Názov programuCVE čísloZverejnenéVyužiť
Falšovanie nedostatočné zabezpečenie TLS/SSLCVE-2016-0149ÁnoNie

Nedostatočné riešenie

Zmeny, ktoré priniesla Microsoft Security Bulletin MS16-065 príčiny prvého TLS záznam po handshake rozdelí. To spôsobí, že SslStream WebRequest (HttpWebRequest, FtpWebRequest), SmtpClient a HttpClient (v prípade, že na základe HttpWebRequest) toky vráti jeden bajt prečítal nasleduje zvyšok (n-1) bajtov v následných číta. Táto zmena správania sa vyskytuje len aplikácie používajú TLS 1.0 + šifrovanie blok reťazenie, ale nie pri používaní TLS 1.1 alebo TLS 1.2.

Poznámka: Nevyhnutným predpokladom, musíte nainštalovať Microsoft Security Bulletin MS12-006 Ak chcete povoliť túto aktualizáciu.

Táto zmena môže spôsobiť niektoré aplikácie, ktoré sú založené na platforme .NET Framework break. Tento článok popisuje dva postupy, ktoré môžete použiť na aktualizáciu aplikácie pracovať správne po inštalácii Microsoft Security Bulletin MS16-065.

Mitigations problémy s kompatibilitou

Možnosť 1: Prepnúť protokol TLS 1.2

Táto možnosť umožňuje aplikáciu použiť protokol TLS 1.2 úpravou databázy registry alebo programová konfigurácia verzia protokolu.
  • Úprava databázy registry

    Dôležité upozornenie: Postupujte presne podľa krokov v tejto časti. Ak databázu Registry upravíte nesprávne, môžu nastať vážne problémy. Pred úpravou, zálohovanie databázy registry na obnovenie v prípade problémov.

    .NET Framework 4.0 a .NET Framework 4.5.x aplikácie .NET Framework 4.5 a novších verzií prepínač Predvolený protokol TLS 1.2, TLS 1.1 a TLS 1.0 zapnutím kľúča databázy registry SchUseStrongCrypto . Tento kľúč databázy registry je popísaný v časti Odporúča akcieMicrosoft Security Advisory 2960358 na webovej lokalite Microsoft TechNet.

    Dôležité upozornenie: Táto zmena databázy registry sa iba vtedy, ak sú splnené nasledujúce podmienky:
    • Aplikácie, ktoré používajú rozhrania API na báze ServicePointManager sa nemusí nastavenie ServicePointManager.SecurityProtocol hodnota explicitne. Príklady takýchto tried zahŕňajú System.Net.Http.HttpClient, System.Net.FtpWebRequest, System.Net.HttpWebRequesta System.Net.Mail.SmtpClient. Nastavenie ServicePointManager.SecurityProtocol kód prednosť databázy registry.
    • Aplikácii SslStream AuthenticateAsClient(String) preťaženia.

  • Programová konfigurácia verzia protokolu

    .NET Framework 4.0 a 4.5 systémom .NET Framework 4.5 a novších verzií a používajú SslStream AuthenticateAsClient(String,X509CertificateCollection,SslProtocols,Boolean) musí byť prekompilovat preťaženia určenia SslProtocols.Tls12, SslProtocols.Tls11a SslProtocols.Tls ako tretí parameter. Úplný popis použitia SslStream triedy, pozrite si SslStream triedy Téma na webovej lokalite vývojárov spoločnosti Microsoft (MSDN).

    Poznámka: .NET Framework 4.6 a v novších verziách pomocou TLS 1.2 a TLS 1.1 TLS 1.0 ako predvolený protokol. Je to popísané v Microsoft Security Advisory 2960358 na webovej lokalite Microsoft TechNet.

Možnosť 2: Rukoväť rozdelené pakety

Táto aktualizácia spôsobuje záznam možno rozdeliť na viacero záznamov. Preto ak aplikácia očakáva úplný záznam v jednej čítať výzvy, takéto žiadosti môže poškodiť. Uistite sa, že aplikácia správať správne, overte, či daná aplikácia spracováva oddeliť pakety formou Stream.Read výzvy správne. Môžete použiť vzorový kód, ktorý je k dispozícii Tu Návrh na riešenie aplikácie správne vykonávať čítanie požiada.

Požiadavky HTTP vzorky, zobrazujúce rozdiel správanie pred (zníženie) a potom (bez zahltenia) aktualizácie 3147461 a 3147458 boli nainštalované, nájdete v časti "Ďalšie informácie".

Napríklad celý Stream.Read metódy nájdete Stream.Read metóda (Byte[],Int32,Int32) Téma na webovej lokalite vývojárov spoločnosti Microsoft (MSDN).

Riešenia na problémy s kompatibilitou aplikácií

Upozornenie: Tieto postupy môže oslabiť zabezpečenie počítača alebo siete voči útokom zlomyseľných používateľov alebo nebezpečnému softvéru, ako sú napríklad vírusy. Tieto postupy sa neodporúča, no poskytujeme tieto informácie, aby tieto postupy môžete implementovať podľa vlastného uváženia. Pomocou týchto postupov na vlastné riziko.

Metóda 1: Aktualizovať kľúče (k dispozícii pre všetky verzie rozhrania .NET Framework)



Vypnutie SCH_SEND_AUX_RECORD štruktúra (globálne)
Pre všetky aplikácie, pridajte nasledujúci podkľúč databázy registry:
Umiestnenie v databáze Registry:
HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\<version_number>

Názov hodnoty DWORD: SchSendAuxRecord
Údaj hodnoty: 0

Poznámka: <version_number>Predstavuje v4.0.30319 alebo v2.0.50727 v závislosti od verzie.

32-bitové aplikácie spustené v 64-bitových počítačoch pridať aj nasledujúci podkľúč databázy registry:
</version_number>
Umiestnenie v databáze Registry:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\<version_number>

Názov hodnoty DWORD: SchSendAuxRecord
Údaj hodnoty: 0

Poznámka: <version_number>Predstavuje v4.0.30319 alebo v2.0.50727 v závislosti od verzie.

</version_number>
Alternatívne riešenie
Dočasne vypnúť zabezpečenom režime popísané v tomto článku, po kliknutí na príslušné prepojenie prevezmite súbor .reg a potom dvakrát kliknite na súbor .reg prevzaté zmeny databázy registry.

Aplikácie zamerané na Microsoft .NET Framework 3.5:

Aplikácie zamerané na Microsoft .NET Framework 4.0 a novšie verzie:

Opätovné zapnutie režimu zabezpečené, popísané v tomto článku, po kliknutí na príslušné prepojenie prevezmite súbor .reg a potom dvakrát kliknite na súbor .reg prevzaté zmeny databázy registry.

Aplikácie zamerané na Microsoft .NET Framework 3.5:

Aplikácie zamerané na Microsoft .NET Framework 4.0 a novšie verzie:

Ďalšie informácie o sťahovaní podporných súborov spoločnosti Microsoft získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
119591 Získanie podporných súborov zo služieb online
Tento súbor bol skontrolovaný antivírusovým programom spoločnosti Microsoft. Spoločnosť Microsoft použila najaktuálnejší antivírusový softvér, dostupný pri dátume nahratia súboru. Súbor je uložený na zabezpečených serveroch, ktoré neumožňujú neoprávnené zmeny súborov.


Vypnutie SCH_SEND_AUX_RECORD štruktúra jednotlivých aplikácií
Pre všetky aplikácie, pridajte nasledujúci podkľúč databázy registry:
Umiestnenie v databáze Registry:
HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\<version_number>\System.Net.ServicePointManager.SchSendAuxRecord

Názov hodnoty DWORD: Cesta pre aplikáciu .exe (napríklad C:\MyApp\MyApp.exe)
Údaj hodnoty: 0

Poznámka: <version_number>Predstavuje v4.0.30319 alebo v2.0.50727 v závislosti od verzie.

32-bitové aplikácie spustené v 64-bitových počítačoch pridať aj nasledujúci podkľúč databázy registry:
</version_number>
Umiestnenie v databáze Registry:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\<version_number>\System.Net.ServicePointManager.SchSendAuxRecord

Názov hodnoty DWORD: Cesta pre aplikáciu .exe (napríklad C:\MyApp\MyApp.exe)
Údaj hodnoty: 0 (len platnú hodnotu 0. Iná hodnota sa bude ignorovať.)

Poznámka: <version_number>Predstavuje v4.0.30319 alebo v2.0.50727 v závislosti od verzie.

</version_number>

Metóda 2: Zmeniť konfiguráciu na úrovni aplikácie (k dispozícii iba pre .NET Framework, verzia 4.6 a novšie verzie)

Počnúc .NET Framework 4.6, môžete zmeniť konfiguráciu na úrovni aplikácie kód alebo aplikácia zmeny konfigurácie alebo databázy registry.

V .NET Framework 4.6, môžete nastaviť prepínač niektorú z nasledovných metód. Nasledujúce príklady vypnutie funkcie zabezpečenia.
  • Programové

    Najprv, že aplikácia by sa spustiť nasledujúci kód. Dôvodom je skutočnosť, že správca služby bod sa inicializovať iba raz.
    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching"; private const string DontEnableSchSendAuxRecordName = @"Switch.System.Net.DontEnableSchSendAuxRecord"; AppContext.SetSwitch(DisableCachingName, true); AppContext.SetSwitch(DontEnableSchSendAuxRecordName , true);
  • Konfigurácia aplikácie

    Zmena konfigurácie aplikácie, pridajte nasledujúcu položku:
    <runtime><AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchSendAuxRecord=true"/></runtime>
  • Kľúč databázy Registry (počítač globálne)

    Umiestnenie databázy Registry:
    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\AppContext

    Hodnota: Switch.System.Net.DontEnableSchSendAuxRecord
    Typ: Reťazec
    Hodnota: Platí

    Poznámka: Switch.System.Net.DontEnableSchSendAuxRecord = False pre všetky aplikácie.
Ďalšie informácie
Toto je vzorový model klient/Server komunikácie pred a po nainštalovaní tejto aktualizácie. Tieto informácie sa poskytujú ilustrácie identifikácie akékoľvek aplikácie poškodenie z dôvodu inštalácie tejto opravy.

Bez zmierneniaS zmiernenia
[Server] čaká pripojenia (127.0.0.1:4431)
[Klienta] Pripojenie k localhost:4431
[Server] Klient pripojený.
[Klienta] Pripojený. Overovanie...
[Server] Klient overiť.
[Klienta] Odoslanie žiadosti (94 bajtov)
[Klienta] Čakanie na odpoveď...

[Server] Prijaté 94 bajtov:<GET></GET>
Host: contoso.com
Identifikačný: Testovanie aplikácií

>>>
[Server] Odpovedal s 476 bajtov.

[Klienta 1: 476 bajtov] Odpoveď:<HTTP .1="" 200=""></HTTP>

>>>>>
[Server] čaká pripojenia (127.0.0.1:4431)
[Klienta] Pripojenie k localhost:4431
[Server] Klient pripojený.
[Klienta] Pripojený. Overovanie...
[Server] Klient overiť.
[Klienta] Odoslanie žiadosti (94 bajtov)
[Klienta] Čakanie na odpoveď...
[Server] Prijaté 1 bajtov: <G>>><b00> </b00> </G>
[Server] Prijaté 93 bajtov:<ET></ET>
Host: contoso.com
Identifikačný: Testovanie aplikácií

>>>
[Server] Odpovedal s 476 bajtov.
[Klienta 1: 1 bajtov] Odpoveď: <H>>>><b00> </b00> </H>
[Klienta 2: 475 bajtov] Odpoveď:<TTP .1="" 200=""></TTP>

>>>>>

Upozornenie: Tento článok bol preložený automaticky.

Vlastnosti

ID článku: 3155464 – Posledná kontrola: 05/10/2016 21:11:00 – Revízia: 1.0

Microsoft .NET Framework 4.6.1, Microsoft .NET Framework 4.6, Microsoft .NET Framework 4.5.2, Microsoft .NET Framework 3.5.1, Microsoft .NET Framework 3.5, Microsoft .NET Framework 2.0 Service Pack 2

  • kbsecvulnerability kbsecurity kbsecbulletin kbfix kbexpertiseinter kbbug atdownload kbmt KB3155464 KbMtsk
Pripomienky