Pierakstīties, izmantojot Microsoft
Pierakstīties vai izveidot kontu
Sveicināti!
Atlasīt citu kontu.
Jums ir vairāki konti
Izvēlieties kontu, ar kuru vēlaties pierakstīties.

Kopsavilkums

Informācijas atklāšana ievainojamība Transport Layer Security protokols un protokola drošligzdu slāņa (TLS/SSL) kā īstenot šifrēšanas komponents Microsoft .NET Framework. Uzbrucējs, kurš veiksmīgi izmantota šī ievainojamība varētu atšifrēt šifrēta TLS/SSL trafiku.

Lai izmantotu ievainojamību, uzbrucējs vispirms būtu ievada nonencrypted datus uz drošības kanālu un pēc tam veiciet pret starpnieka uzbrukumiem mērķa klients un likumīgi servera (MiTM). Šis atjauninājums novērš ievainojamību, modificējot tā, ka .NET šifrēšanas komponentu nosūta un saņem šifrētu tīklu paketes.

Šī ievainojamība tiek noteikts kā daļa no Microsoft drošības biļetenu MS16 065. Šis atjauninājums maina veidu, .NET Framework šifrēšanas komponentu nosūta un saņem šifrētu tīkla pakešu.

Tālāk redzamajā tabulā ir saites uz standarta ieraksts par katru ievainojamību, bieži vājās vietas un riska sarakstā.

Ievainojamība nosaukums

CVE numurs

Publiski izpaust

Jāizmanto

TLS/SSL izlikšanās ievainojamība

CVE-2016-0149

Drošības problēmu risināšanas

Microsoft drošības biļetenu MS16 065 ieviestas izmaiņas izraisa pirmā TLS ieraksta pēc Izaicinājumrokspiediena jāsadala. Tādējādi SslStream, WebRequest (HttpWebRequest, FtpWebRequest), SmtpClient un HttpClient (kur pamatā HttpWebRequest) plūsmu lasīšanai pirmo atgriezties vienbaita uzreiz pēc pārējo (n-1) baiti, secīgi nolasa. Šī darbība izmaiņas rodas tikai lietojumprogrammām, kas izmanto TLS 1.0 + Cipher bloku Saķēdēšana, bet, kad tie neizmanto TLS 1.1 vai TLS 1.2.

Piezīme. Kā priekšnosacījums, ir jāinstalē Microsoft drošības biļetenu MS12-006 iespējot šo atjauninājumu.

Šīs izmaiņas var izraisīt dažas programmas, kuras pamatā ir .NET Framework pārtraukums. Šajā rakstā ir aprakstīts, var izmantot, lai atjauninātu savas lietojumprogrammas darbojas pareizi pēc Microsoft drošības biļetenu MS16 065divas metodes.

Mitigations saderības problēmas

1. risinājums: Pārslēgties uz TLS 1.2 protokols

Šī opcija ļauj lietojumprogramma izmanto TLS 1.2 protokolu, modificējot reģistru vai programmiski konfigurēt protokola versiju.

  • Modificēt reģistru

    Svarīgi!
    Uzmanīgi izpildiet šajā sadaļā norādītās darbības. Ja reģistru modificēsit nepareizi, var rasties nopietnas problēmas. Pirms modificējat tā atjaunošanas reģistra dublējumkopiju gadījumam, ja rodas problēmas.

    .NET Framework 4.0 un .NET Framework 4.5.x lietojumprogrammas, kas darbojas uz .NET Framework 4.5 un jaunākas versijas var pārslēgties noklusējuma protokols TLS 1.2, TLS 1.1 un TLS 1.0, iespējojot SchUseStrongCrypto reģistra atslēgu. Šī reģistra atslēga ir apspriests Ieteicams darbības sadaļā Microsoft drošības biļetenā 2960358 tēmu Microsoft TechNet vietnē.

    Svarīgi! Šīs reģistra izmaiņas darbojas tikai tad, ja ir spēkā kāds no šiem nosacījumiem:

    • Lietojumprogrammas, kas izmanto API ServicePointManager pamatā ir iestatot vērtību ServicePointManager.SecurityProtocol tieši . Šādas klases piemēri System.Net.Http.HttpClient, System.Net.FtpWebRequest, System.Net.HttpWebRequestun System.Net.Mail.SmtpClient. Reģistra iestatījums ServicePointManager.SecurityProtocol kods ir prioritāri.

    • Lietojumprogrammas izmanto SslStream AuthenticateAsClient(String) pārslodzes.


  • Programmiski konfigurēt protokola versija

    .NET Framework 4.0 un 4.5 lietojumprogrammas, kas darbojas uz .NET Framework 4.5 un jaunākās versijās un kas izmanto SslStream AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean) pārslodzes nedrīkst būt recompiled, norādot SslProtocols.Tls12 SslProtocols.Tls11un SslProtocols.Tls kā trešo parametru. Pilnīgu aprakstu par SslStream klases izmantošanu, skatiet tēmu SslStream klases Microsoft izstrādātāju (MSDN) tīmekļa vietnē.

    Piezīme. .NET Framework 4.6 un jaunākas versijas izmanto TLS 1.2 TLS 1.1 un TLS 1.0 kā noklusējuma protokolu. Tas ir aprakstīts Microsoft drošības biļetenā 2960358 tēmu Microsoft TechNet vietnē.


2. risinājums: Turi sadalīt paketes

Šis atjauninājums izraisa vienu ierakstu sadalīt vairākiem ierakstiem. Tādēļ, ja lietojumprogramma gaida pilnu ierakstu pieejams lasīt vienu zvanu, šādas programmas var būt bojātas. Pārliecinieties, ka lietojumprogramma darbojas pareizi, pārliecināties, ka lietojumprogramma darbojas sadalīt paketes, veicot zvanu Stream.Read pareizi. Varat izmantot parauga kods pieejama šeit kā atsauce par to, kā novērst lietojumprogrammu veikt pareizi lasīt zvanu.

Parauga HTTP pieprasījumu, kas rāda atšķirības darbības pirms (ar samazināšanas) un pēc (bez samazināšanas) ir instalēti atjauninājumi 3147461 un 3147458 , skatiet sadaļu "Papildinformācija".

Piemēram pilnīgu Stream.Read metodi, skatiet tēmu Stream.Read metodi (Byte [], Int32, Int32) Microsoft izstrādātāju (MSDN) tīmekļa vietnē.

Lietojumprogrammu saderības problēmas un risinājumi

Brīdinājums. Šie risinājumi var padarīt datoru vai tīklu uzņēmīgāku pret ļaunprātīgu lietotāju vai ļaunprātīgas programmatūras (vīrusu) uzbrukumiem. Mēs neiesakām šo risinājumu, bet sniedzam šo informāciju, lai jūs varētu īstenot šos risinājumus saviem ieskatiem. Jūs uzņematies atbildību izmantot šos risinājumus.

1. metode: Atjaunināt reģistra atslēgas (pieejams visiem .NET Framework versijas)

Atspējojiet SCH_SEND_AUX_RECORD struktūra (vispārēji)

Atspējojiet SCH_SEND_AUX_RECORD struktūra atsevišķām programmām

Atspējojiet SCH_SEND_AUX_RECORD struktūra (vispārēji)

Visas lietojumprogrammas, pievienojiet šo reģistra apakšatslēgu:

Atrašanās vieta reģistrā: HKEY_LOCAL_MACHINE\Software\Microsoft\. < Versijas_numurs > NETFramework\
DWORD nosaukums: SchSendAuxRecord
Vērtības dati: 0
Piezīme. < Versijas_numurs > vietturis ir v4.0.30319 vai v 2.0.50727 atkarībā no versijas.

32 bitu lietojumprogrammām, kas darbojas 64 bitu datoros, arī pievienojiet šādu reģistra apakšatslēgu:

Atrašanās vieta reģistrā: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\. < Versijas_numurs > NETFramework\
DWORD nosaukums: SchSendAuxRecord
Vērtības dati: 0
Piezīme. < Versijas_numurs > vietturis ir v4.0.30319 vai v 2.0.50727 atkarībā no versijas.

Risinājums

Lai īslaicīgi atspējotu drošajā režīmā, kas aprakstīts šajā rakstā, noklikšķiniet uz atbilstošās saites, lai lejupielādētu failu. reg un veiciet dubultklikšķi uz lejupielādētā reg failu reģistra izmaiņas.

Microsoft .NET Framework 3.5 mērķu programmām:

Download ManualOptOutSchSendAuxRecord20.reg failu lejupielādēt tūlīt.
Programmas mērķu Microsoft .NET Framework 4.0 un jaunākām versijām:

Download ManualOptOutSchSendAuxRecord40.reg failu lejupielādēt tūlīt.
Atkārtoti iespējot šajā rakstā aprakstītie drošajā režīmā, noklikšķiniet uz atbilstošās saites, lai lejupielādētu failu. reg un pēc tam veiciet dubultklikšķi uz lejupielādētā reg failu reģistra izmaiņas.

Microsoft .NET Framework 3.5 mērķu programmām:

Download ManualOptInSchSendAuxRecord20.reg failu lejupielādēt tūlīt.
Programmas mērķu Microsoft .NET Framework 4.0 un jaunākām versijām:

Download ManualOptInSchSendAuxRecord40.reg failu lejupielādēt tūlīt.
Lai iegūtu papildinformāciju par to, kā lejupielādēt Microsoft atbalsta failus, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

119591 kā iegūt Microsoft atbalsta failus no tiešsaistes pakalpojumiemMicrosoft ir skenējusi šo failu, nav vīrusu. Korporācija Microsoft izmantoja visjaunāko vīrusu noteikšanas programmatūru, kas bija pieejama faila izlikšanas datumā. Fails ir saglabāts serveros ar paaugstinātu drošību; tas palīdz aizsargāt failu no nesankcionētu izmaiņu veikšanas.


Atspējojiet SCH_SEND_AUX_RECORD struktūra atsevišķām programmām

Visas lietojumprogrammas, pievienojiet šo reģistra apakšatslēgu:

Atrašanās vieta reģistrā: HKEY_LOCAL_MACHINE\Software\Microsoft\. < Versijas_numurs > NETFramework\ \System.Net.ServicePointManager.SchSendAuxRecord
DWORD nosaukums: Pilns ceļš .exe lietojumprogrammas (piemēram, C:\MyApp\MyApp.exe)
Vērtības dati: 0
Piezīme. < Versijas_numurs > vietturis ir v4.0.30319 vai v 2.0.50727 atkarībā no versijas.

32 bitu lietojumprogrammām, kas darbojas 64 bitu datoros, arī pievienojiet šādu reģistra apakšatslēgu:

Atrašanās vieta reģistrā: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\. < Versijas_numurs > NETFramework\ \System.Net.ServicePointManager.SchSendAuxRecord
DWORD nosaukums: Pilns ceļš .exe lietojumprogrammas (piemēram, C:\MyApp\MyApp.exe)
Vērtības dati: 0 (derīgs tikai vērtība ir 0. Jebkura cita vērtība tiks ignorēta.)
Piezīme. < Versijas_numurs > vietturis ir v4.0.30319 vai v 2.0.50727 atkarībā no versijas.

2. metode: Mainīt konfigurāciju lietojumprogrammas līmeņa (pieejams tikai .NET Framework versija 4.6 un jaunākas versijas)

Sākot ar .NET Framework 4.6, var mainīt konfigurāciju lietojumprogrammu līmenī ar kodu vai lietojumprogrammas konfigurācijas vai reģistra izmaiņas.

.NET Framework 4.6, varat iestatīt slēdzi, izmantojot kādu no šīm metodēm. Šajos piemēros atspējot drošības līdzekli.

  • Programmiski

    Vispirms jāveic lietojumprogrammas darbojas kodu. Tas ir tādēļ, ka Rvaldnieks punkts tiks inicializēt tikai vienu reizi.

    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching"; private const string DontEnableSchSendAuxRecordName = @"Switch.System.Net.DontEnableSchSendAuxRecord"; 
    AppContext.SetSwitch(DisableCachingName, true);
    AppContext.SetSwitch(DontEnableSchSendAuxRecordName , true);
  • Lietojumprogrammas konfigurāciju

    Lietojumprogrammas konfigurācijas maiņa, pievienojiet šo ierakstu:

    <runtime><AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchSendAuxRecord=true"/>
    </runtime>
  • Reģistra atslēga (datora globālo)

    Reģistra vietās: HKEY_LOCAL_MACHINE\Software\Microsoft\. NETFramework\AppContextHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\. NETFramework\AppContext
    Vērtība: Switch.System.Net.DontEnableSchSendAuxRecord
    Tips: Virkne
    Vērtība: Spēkā

    Piezīme. Switch.System.Net.DontEnableSchSendAuxRecord = False visām programmām.

Papildinformācija

Šis ir parauga klienta/servera saziņa rakstu pirms un pēc šī atjauninājuma instalēšanas. Šī informācija ir paredzēta piemēru dēļ šī labojuma instalēšanas identificē visas lietojumprogrammas bojājumus.

Bez samazināšanas

Ar samazināšanas

[Serveris] gaida savienojumu (127.0.0.1:4431)
[Klienta] Savienojuma izveide ar localhost:4431
[Serveris] Klients ir pievienots.
[Klienta] Savienojums. Autentificēšana...
[Serveris] Klienta autentificēti.
[Klienta] Nosūtot pieprasījumu (94 baiti)
[Klienta] Gaida atbildi.

[Serveris] Saņēma 94 baitiem: <<< GET / HTTP/1.0
Host: contoso.com
Lietotāja aģents: Lietojumprogrammas testēšanas

>>>
[Serveris] Atbildēja ar 476 baiti.

[Klienta 1: 476 Bytes] Atbilde: <<<<< HTTP/1.1 200 OK

>>>>>

[Serveris] gaida savienojumu (127.0.0.1:4431)
[Klienta] Savienojuma izveide ar localhost:4431
[Serveris] Klients ir pievienots.
[Klienta] Savienojums. Autentificēšana...
[Serveris] Klienta autentificēti.
[Klienta] Nosūtot pieprasījumu (94 baiti)
[Klienta] Gaida atbildi.
[Serveris] Saņemts 1 baiti: <<< G >>>
[Serveris] Saņemti 93 baiti: <<< un / HTTP/1.0
Host: contoso.com
Lietotāja aģents: Lietojumprogrammas testēšanas

>>>
[Serveris] Atbildēja ar 476 baiti.
[Klienta 1: 1 Bytes] Atbilde: <<<<< H >>>>>
[Klienta 2: 475 Bytes] Atbilde: <<<<< TTP:///1.1 200 OK

>>>>>


Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?
Nospiežot Iesniegt, jūsu atsauksmes tiks izmantotas Microsoft produktu un pakalpojumu uzlabošanai. Jūsu IT administrators varēs vākt šos datus. Paziņojums par konfidencialitāti.

Paldies par jūsu atsauksmēm!

×