MS16-065: Descrierea TLS/SSL protocol informații dezvăluirea vulnerabilitate (CVE-2016-0149): 10-May-2016

IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată și poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate și articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cunoștințe în mai multe limbi. Articolele traduse automat și post-editate pot conține greșeli de vocabular, sintaxă și/sau gramatică. Microsoft nu este responsabil de inexactitățile, erorile sau daunele cauzate de traducerea greșită a conținutului sau de utilizarea acestuia de către clienți. Găsiți mai multe informații despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 3155464
Rezumat
O vulnerabilitate de dezvăluire informații există în Protocolul de protocol TLS și protocolul Secure Sockets Layer (TLS/SSL), implementat în componenta de criptare Microsoft .NET Framework. Un atacator care speculează cu succes acest element vulnerabil poate decripta criptate traficul TLS/SSL.

Pentru vulnerabilitatea de exploit, un atacator ar trebui mai întâi să injecta nonencrypted date canal de securitate și apoi efectuați un om în mijlocul (MiTM) atac între clientul cu țintă și un server legitime. Această actualizare rezolvă o vulnerabilitate modificând modul în care componenta de criptare .NET trimite şi primește pachete de rețea criptat.

Această vulnerabilitate este stabilită ca parte a Buletin de securitate Microsoft MS16-065. Această actualizare schimbă modul în care componenta .NET Framework criptare trimite și primește criptat rețea pachete.

Următorul tabel conține linkuri către intrare standard pentru fiecare vulnerabilitate în Listă tabel de vulnerabilități comune și expunerile.

Titlu de vulnerabilitateNumăr CVEPubliculuiExploatată
Vulnerabilitate Spoofing TLS/SSLCVE-2016-0149DaNu

Vulnerabilitate rezolvare

Modificarea introdusă în Buletin de securitate Microsoft MS16-065 cauzele TLS prima înregistra după handshake să fie împărţit. Acest lucru provoacă SslStream, WebRequest (HttpWebRequest, FtpWebRequest), SmtpClient și HttpClient (în cazul în care se bazează pe HttpWebRequest) fluxuri pentru a returna un singur octet pentru citire primul, urmat imediat de octeți de repaus (n-1) în Citeşte succesive. Această modificare de comportament se produce numai pentru aplicații care utilizează TLS 1.0 + Cipher Block Chaining, dar când se utilizează TLS 1.1 sau TLS 1.2.

Notă Ca cerință prealabilă, trebuie să instalați Buletin de securitate Microsoft MS12-006 pentru a activa această actualizare.

Această modificare poate provoca unele aplicații bazate pe .NET Framework pentru a întrerupe. Acest articol descrie două metode, aveți posibilitatea să utilizați aplicația să funcționeze corect după ce aplicați actualizarea Buletin de securitate Microsoft MS16-065.

Mitigations pentru probleme de compatibilitate

Opțiunea 1: Comutare la Protocolul TLS 1.2

Această opțiune face aplicația utilizează protocolul TLS 1.2 modificarea valorilor din registry sau prin programare configurarea versiunea de protocol.
  • Modificarea registry

    Important Urmați pașii din această secțiune cu atenție. Dacă modificați registry-ul incorect, pot apărea probleme grave. Înainte de a modifica copierea de rezervă a registry pentru restaurare în cazul în care apar probleme.

    .NET Framework 4.0 și .NET Framework 4.5.x aplicațiile care se execută pe .NET Framework 4.5 și versiunile ulterioare pot comuta protocol implicit la TLS 1.2, TLS 1.1 și TLS 1.0 activând cheie de registry SchUseStrongCrypto . Această cheie de registry descrisă în secțiunea Sugerat acțiuniMicrosoft Security Advisory 2960358 subiect pe site web Microsoft TechNet.

    Important Această modificare de registry va funcționa numai dacă următoarele condiții sunt adevărate:
    • Aplicațiile care utilizează API-uri bazate pe ServicePointManager sunt nu setare ServicePointManager.SecurityProtocol valoare în mod explicit. Exemple de astfel de clase includ System.Net.Http.HttpClient, System.Net.FtpWebRequest, System.Net.HttpWebRequestși System.Net.Mail.SmtpClient. Setarea ServicePointManager.SecurityProtocol în cod are prioritate faţă de registry.
    • Aplicațiile sunt folosind SslStream AuthenticateAsClient(String) suprasarcină.

  • Configurare prin programare versiunea de protocol

    .NET Framework 4.0 și 4,5 aplicațiile care se execută pe .NET Framework 4.5 și versiunile ulterioare și care utilizează SslStream AuthenticateAsClient(String,X509CertificateCollection,SslProtocols,Boolean) trebuie să fi recompilat suprasarcină, specificând SslProtocols.Tls12, SslProtocols.Tls11și SslProtocols.Tls ca al treilea parametru. Pentru o descriere completă de modul de utilizare a clasei SslStream, consultați Clasă SslStream subiect pe site web Microsoft Developer (MSDN).

    Notă .NET Framework 4.6 și versiunile ulterioare utilizează TLS 1.2, TLS 1.1 și TLS 1.0 ca protocol implicite. Acest lucru este prezentată în Microsoft Security Advisory 2960358 subiect pe site web Microsoft TechNet.

Opțiunea 2: Handle pachete de separare

Această actualizare determină o singură înregistrare pentru a fi împărțite în mai multe înregistrări. De aceea, dacă o aplicație este dorind înregistrare să fie disponibil într-un singur apel sosit de citire , astfel de aplicații poate întrerupe. Pentru a vă asigura că aplicația se comportă corect, Verificați că aplicația tratează divizată pachete prin efectuarea apelul Stream.Read corect. Aveți posibilitatea să utilizați mostre de cod disponibile aici apel sosit ca o referință pentru modul de rezolvare a aplicației pentru a efectua corect de citire .

Pentru o solicitare de HTTP eșantion care arată diferenţa de comportament înainte (cu afluxului) şi după (fără afluxului) actualizări 3147461 și 3147458 s-au instalat, consultați secțiunea "Mai multe informații".

Pentru un exemplu complet de metoda Stream.Read , consultați Metoda Stream.Read (Byte[],Int32,Int32) subiect pe site web Microsoft Developer (MSDN).

Soluţii la probleme de compatibilitate a stratul aplicaţiilor

Avertisment Aceste soluții poate face computerul sau eaua mai vulnerabile la atacuri produse de utilizatori rău intenționați sau de software rău intenționat, cum ar fi viruși. Noi nu recomandăm aceste soluții, dar oferim aceste informații, astfel încât să aveți posibilitatea să implementați aceste soluții la propria discretie. Utilizați aceste soluții pe propriul risc.

Metoda 1: Actualizare cheile de registry (disponibil pentru toate versiunile de .NET Framework)



Dezactivați SCH_SEND_AUX_RECORD structura (global)
Pentru toate aplicațiile, adăugați următoarea subcheie de registry:
Locație registry:
HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\<version_number>

nume de sign-in DWORD: SchSendAuxRecord
Value data: 0

Notă Substituentul <version_number>este v4.0.30319 sau v2.0.50727, în funcţie de versiunea.

Pentru 32-bit aplicaţii care se execută pe computere pe 64 de biți, de asemenea, adăugați următoarea subcheie de registry:
</version_number>
Locație registry:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\<version_number>

nume de sign-in DWORD: SchSendAuxRecord
Value data: 0

Notă Substituentul <version_number>este v4.0.30319 sau v2.0.50727, în funcţie de versiunea.

</version_number>
Soluție
Pentru a dezactiva temporar mod de siguranţă descrise în acest articol, faceți clic pe legătura corespunzătoare pentru a descărca un fișier .reg, și apoi faceți dublu clic pe fișierul .reg descărcat pentru a face modificările din registry.

Pentru aplicații de orientare Microsoft .NET Framework 3.5:

Pentru aplicații de orientare Microsoft .NET Framework 4.0 și versiunile mai recente:

Pentru a reactiva mod de siguranţă descrise în acest articol, faceți clic pe legătura corespunzătoare pentru a descărca un fișier .reg, și apoi faceți dublu clic pe fișierul .reg descărcat pentru a face modificările din registry.

Pentru aplicații Microsoft .NET Framework 3.5 de orientare:

Pentru aplicații de orientare Microsoft .NET Framework 4.0 și versiunile mai recente:

Pentru mai multe informaţii despre cum să downloadați fișierele Microsoft pentru suport, faceţi clic pe următorul număr de articol pentru a vedea articolul în bază de cunoştinţe Microsoft:
119591 Cum se obţin fişierele de suport Microsoft de la serviciile online
Microsoft a scanat acest fișier pentru viruşi. Microsoft utilizează cele mai actualizate software pentru detectarea virușilor care sunt disponibile la data la care fișierul a fost postat. Fisierul este stocat pe fermă de servere securizate care ajută la împiedicarea modificărilor neautorizate a fișierului.


Dezactivați SCH_SEND_AUX_RECORD structura pentru aplicațiile individuale
Pentru toate aplicațiile, adăugați următoarea subcheie de registry:
Locație registry:
HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\<version_number>\System.Net.ServicePointManager.SchSendAuxRecord

nume de sign-in DWORD: Calea către pentru .exe aplicație (de exemplu, C:\MyApp\MyApp.exe)
Value data: 0

Notă Substituentul <version_number>este v4.0.30319 sau v2.0.50727, în funcţie de versiunea.

Pentru 32-bit aplicaţii care se execută pe computere pe 64 de biți, de asemenea, adăugați următoarea subcheie de registry:
</version_number>
Locație registry:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\<version_number>\System.Net.ServicePointManager.SchSendAuxRecord

nume de sign-in DWORD: Calea către pentru .exe aplicație (de exemplu, C:\MyApp\MyApp.exe)
Date valoare: 0 (valabil numai valoarea este 0. Orice altă valoare va fi ignorată.)

Notă Substituentul <version_number>este v4.0.30319 sau v2.0.50727, în funcţie de versiunea.

</version_number>

Metoda 2: Schimba configurația la nivel de aplicație (disponibil numai pentru .NET Framework versiunea 4.6 și versiuni ulterioare)

Începând cu .NET Framework 4.6, puteți modifica configurația la un nivel de aplicație prin modificările de configurare sau registry cod sau o aplicație.

În .NET Framework 4.6, puteți seta parametrul utilizând oricare dintre următoarele metode. Aceste exemple dezactivează caracteristica de securitate.
  • Prin programare

    Primul lucru pe care ar trebui să facă aplicația se execută codul următor. Aceasta se întâmplă deoarece Service Point Manager va inițializează numai o singură dată.
    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching"; private const string DontEnableSchSendAuxRecordName = @"Switch.System.Net.DontEnableSchSendAuxRecord"; AppContext.SetSwitch(DisableCachingName, true); AppContext.SetSwitch(DontEnableSchSendAuxRecordName , true);
  • Configurare aplicaţie

    Pentru a modifica configurația aplicației, adăugați următoarea intrare:
    <runtime><AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchSendAuxRecord=true"/></runtime>
  • Cheie de registry (computer global)

    Locații din registry:
    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\AppContext

    Valoare: Switch.System.Net.DontEnableSchSendAuxRecord
    Tip: Șir
    Valoare: Adevărate

    Notă Switch.System.Net.DontEnableSchSendAuxRecord = False pentru toate aplicațiile.
Informaţii suplimentare
Iată un model de comunicare Client/Server eșantion înainte și după instalarea acestei actualizări. Aceste informații se furnizează în scop ilustrativ pentru a identifica orice aplicație spargerii din cauza instalării această remediere.

Fără afluxuluiCu afluxului
[Server] aşteptare pentru conexiuni (127.0.0.1:4431)
[Client] Conectarea la localhost:4431
[Server] Client conectat.
[Client] Conectat. Autentificare...
[Server] Clientul autentificat.
[Client] Trimiterea solicitării (94 octeți)
[Client] Așteaptă răspuns...

[Server] Octeți 94 primite:<GET></GET>
Gazdă: contoso.com
User-Agent: Testarea aplicații

>>>
[Server] A răspuns cu 476 octeți.

[Client 1: 476 Bytes] Răspuns:<HTTP .1="" 200=""></HTTP>

>>>>>
[Server] aşteptare pentru conexiuni (127.0.0.1:4431)
[Client] Conectarea la localhost:4431
[Server] Client conectat.
[Client] Conectat. Autentificare...
[Server] Clientul autentificat.
[Client] Trimiterea solicitării (94 octeți)
[Client] Așteaptă răspuns...
[Server] Primit octeți 1: <G>>><b00> </b00> </G>
[Server] Octeți 93 primite:<ET></ET>
Gazdă: contoso.com
User-Agent: Testarea aplicații

>>>
[Server] A răspuns cu 476 octeți.
[Client octeți 1: 1] Răspuns: <H>>>><b00> </b00> </H>
[Client 2: 475 Bytes] Răspuns:<TTP .1="" 200=""></TTP>

>>>>>

Avertisment: acest articol a fost tradus automat

Свойства

Номер статьи: 3155464 — последний просмотр: 05/10/2016 21:13:00 — редакция: 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 KbMtro
Отзывы и предложения