Prisijunkite prie „Microsoft“
Prisijunkite arba sukurkite paskyrą.
Sveiki,
Pasirinkti kitą paskyrą.
Turite kelias paskyras
Pasirinkite paskyrą, kurią naudodami norite prisijungti.

Santrauka

Informacijos atskleidimo pažeidžiamumas yra transportavimo lygmens saugos protokolo ir saugiųjų jungčių lygmuo protokolo (TLS/SSL) kaip įgyvendinti šifravimo komponento Microsoft .NET Framework. Pažeidėjas, sėkmingai išnaudojęs šį pažeidžiamumą gali iššifruoti užšifruotą TLS/SSL srauto.

Norėdami išnaudoti pažeidžiamumą, pažeidėjas pirmiausia turi suteiktų neužšifruotus duomenų saugos kanalo ir tada atlikti vyras artimieji (MiTM) ataka tikslinis klientas ir teisėtų serverio. Šis naujinimas skirtas pažeidžiamumas pakeisti taip, kad .NET šifravimo komponentas siunčia ir gauna užšifruotą duomenų paketus.

Šis pažeidžiamumas nustatoma kaip dalis Microsoft saugos biuletenyje MS16-065. Šis naujinimas keičia taip, kad ".NET Framework" šifravimo komponentą siunčia ir gauna užšifruotą duomenų paketus.

Šioje lentelėje pateikiami saitai į standartinę įrašą kiekvieno pažeidžiamumas dažniausiai pažeidžiamumas ir rizika, sąrašas.

Pažeidžiamumo pavadinimas

CVE numeris

Viešai

Pasinaudoti

TLS/SSL Spoofing pažeidžiamumas

CVE-2016-0149

taip

ne

Pažeidžiamumo sprendimas

Į "Microsoft" saugos biuletenį MS16-065 pokytis dėl pirmojo TLS įrašo po prašymu būti padalyti. Tokiu atveju SslStream, WebRequest (HttpWebRequest, FtpWebRequest), SmtpClient ir HttpClient (kai HttpWebRequest) srautus grįžti vienas baitas pirmą kartą skaityti, po poilsio (n-1) baitų eilės skaito. Šis veikimo pakeitimas tik kyla dėl programų, naudokite TLS 1.0 + šifro blokas susiejami, bet kada jie naudoja TLS 1.1 arba TLS 1.2.

Pastaba. Kaip būtina sąlyga, turite įdiegti šį naujinimą "Microsoft" saugos biuletenis MS12-006 .

Šis pakeitimas gali sukelti kai kurias programas, pagrįstas .NET Framework nutraukti. Šiame straipsnyje aprašomi du būdai, kuriuos galite naudoti norėdami atnaujinti savo programą, kad tinkamai veiktų įdiegus "Microsoft" saugos biuletenį MS16-065.

Priemonėmis sumažinti riziką suderinamumą

1 būdas: Perjungti į TLS 1.2 protokolas

Ši parinktis leidžia naudoti TLS 1.2 protokolo registro modifikavimą arba programiškai konfigūravimo protokolo versija programos.

  • Modifikuokite registrą

    Svarbu.
    Atidžiai vykdykite šiame skyriuje aprašytus veiksmus. Jei pakeisite registro duomenis netinkamai, gali kilti rimtų problemų. Prieš modifikuodami registrą sukurkite atsarginę jo kopiją , kiltų problemų.

    .NET Framework 4.0 "ir".NET Framework 4.5.x programos, kurios veikia .NET Framework 4.5 ir naujesnėse versijose galite perjungti numatytasis protokolas TLS 1.2, TLS 1.1 ir TLS 1.0 įjungdami SchUseStrongCrypto registro raktą. Šiame registro rakte yra nurodyta skyriuje Siūloma veiksmų iš "Microsoft" saugos patarimą 2960358 temą "Microsoft TechNet" svetainėje.

    Svarbu. Registro pakeitimas veikia tik esant šioms sąlygoms:

    • Programos, naudojančios ServicePointManager pagal API nėra aiškiai nustatyti reikšmę ServicePointManager.SecurityProtocol . Tokios klasės pavyzdžiai System.Net.Http.HttpClient, System.Net.FtpWebRequest, System.Net.HttpWebRequestir System.Net.Mail.SmtpClient. Nustatyti ServicePointManager.SecurityProtocol kodas pirmenybę registrą.

    • Programos naudoja SslStream AuthenticateAsClient(String) perkrovos.


  • Sukonfigūruoti programiškai protokolo versija

    .NET Framework 4.0 ir 4.5 programos, kuriuose veikia .NET Framework 4.5 ir naujesnėse versijose ir, naudodami SslStream AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean) perkrovos turi būti perkompiliavote, nurodant SslProtocols.Tls12, SslProtocols.Tls11ir SslProtocols.Tls kaip trečiosios parametras. Išsamus aprašymas, kaip naudoti SslStream klasės, rasite temoje SslStream klasės "Microsoft" programų kūrėjų (MSDN) svetainėje.

    Pastaba. .NET Framework 4.6 ir naujesnėse versijose naudoti TLS 1.2, TLS 1.1 ir TLS 1.0, kaip numatytąsias protokolas. Tai aptartos Microsoft saugos patarimą 2960358 temą "Microsoft TechNet" svetainėje.


2 būdas: Rankenėlė perskirti paketus

Šis naujinimas kelia vieną įrašą galima suskirstyti į kelis įrašus. Todėl, jei programa laukia byla galima skaityti vieno skambučio, tokios taikomosios programos gali būti neleidžiama naudotis. Norėdami įsitikinti, kad programa veikia netinkamai, patikrinkite, ar kad programa dirba perskyrimo paketus, atliekant Stream.Read skambučio tinkamai. Jūs galite toliau pavyzdinis kodas galima čia remiamasi, kaip nustatyti programos tinkamai atlikti skaityti pokalbį.

HTTP užklausos pavyzdys, pateikiamas skirtumas veikimo prieš (su mažinimas) ir po to, kai (be mažinimas) buvo įdiegti naujinimus 3147461 ir 3147458 , žr. skyriuje "Daugiau informacijos".

Pilnas pavyzdys iš Stream.Read būdas, "Microsoft" programų kūrėjų (MSDN) svetainėje rasite temoje Stream.Read būdas (Byte [], Int32, Int32) .

Taikomųjų programų suderinamumo problemų sprendimo būdai

Įspėjimas. Šios problemos sprendimo būdai gali padaryti kompiuterį arba tinklo labiau pažeidžiami kenkėjiškų vartotojų ar kenkėjiškos programinės įrangos, pvz., virusų. Mes nerekomenduojame šios problemos sprendimo būdai, bet pateikiame šią informaciją, kad šios problemos sprendimo būdai gali įgyvendinti savo nuožiūra. Naudokite šiuos sprendimų prisiimate atsakomybę.

1 metodas: Atnaujinti registro raktai (galima .NET Framework versijas)

Išjungti SCH_SEND_AUX_RECORD struktūra (visame pasaulyje)

Išjunkite atskiros programos SCH_SEND_AUX_RECORD struktūra

Išjungti SCH_SEND_AUX_RECORD struktūra (visame pasaulyje)

Visų programų, įtraukti šį dalinį registro raktą:

Registro vieta: HKEY_LOCAL_MACHINE\Software\Microsoft\. NETFramework\ < version_number >
DWORD pavadinimas: SchSendAuxRecord
Reikšmės duomenys: 0
Pastaba. < Version_number > vietos rezervavimo ženklas yra v4.0.30319 arba v2.0.50727, priklausomai nuo programos versiją.

32 bitų programų 64 bitų kompiuteriuose, taip pat įtraukti šį dalinį registro raktą:

Registro vieta: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\. NETFramework\ < version_number >
DWORD pavadinimas: SchSendAuxRecord
Reikšmės duomenys: 0
Pastaba. < Version_number > vietos rezervavimo ženklas yra v4.0.30319 arba v2.0.50727, priklausomai nuo programos versiją.

Sprendimas

Norėdami laikinai išjungti saugų režimą, šiame straipsnyje aprašoma, spustelėkite atitinkamą saitą, kad atsisiųstumėte .reg failą, ir dukart spustelėkite atsisiųstą .reg failą, kad registro pakeitimus.

Programų, skirta Microsoft .NET Framework 3.5:

Download Dabar atsisiųsti ManualOptOutSchSendAuxRecord20.reg failą.
Programos taikymo Microsoft .NET Framework 4.0 ir naujesnes versijas:

Download Dabar atsisiųsti ManualOptOutSchSendAuxRecord40.reg failą.
Iš naujo įgalinti šiame straipsnyje aprašytą saugų režimą, spustelėkite atitinkamą saitą, kad atsisiųstumėte .reg failą, ir dukart spustelėkite atsisiųstą .reg failą, kad registro pakeitimus.

Programų, skirta Microsoft .NET Framework 3.5:

Download Dabar atsisiųsti ManualOptInSchSendAuxRecord20.reg failą.
Programos taikymo Microsoft .NET Framework 4.0 ir naujesnes versijas:

Download Dabar atsisiųsti ManualOptInSchSendAuxRecord40.reg failą.
Norėdami gauti daugiau informacijos, kaip atsisiųsti „Microsoft“ palaikymo failus, spustelėkite toliau esančio straipsnio numerį ir peržiūrėkite „Microsoft“ žinių bazės straipsnį:

119591 kaip gauti "Microsoft" palaikymo failus iš interneto tarnybų„Microsoft“ patikrino, ar šiame faile nėra virusų. „Microsoft“ naudojo naujausią virusų aptikimo programinę įrangą, kuri buvo pasiekiama failo paskelbimo dieną. Failas laikomas padidintos saugos serveriuose, siekiant užkirsti kelią neleistinam failo modifikavimui.


Išjunkite atskiros programos SCH_SEND_AUX_RECORD struktūra

Visų programų, įtraukti šį dalinį registro raktą:

Registro vieta: HKEY_LOCAL_MACHINE\Software\Microsoft\. < Version_number > NETFramework\ \System.Net.ServicePointManager.SchSendAuxRecord
DWORD pavadinimas: Visas kelias, taikomoji programa .exe (pvz., C:\MyApp\MyApp.exe)
Reikšmės duomenys: 0
Pastaba. < Version_number > vietos rezervavimo ženklas yra v4.0.30319 arba v2.0.50727, priklausomai nuo programos versiją.

32 bitų programų 64 bitų kompiuteriuose, taip pat įtraukti šį dalinį registro raktą:

Registro vieta: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\. < Version_number > NETFramework\ \System.Net.ServicePointManager.SchSendAuxRecord
DWORD pavadinimas: Visas kelias, taikomoji programa .exe (pvz., C:\MyApp\MyApp.exe)
Reikšmės duomenys: 0 (tik neteisinga reikšmė yra 0. Bet kokios kitos reikšmės nepaisoma.)
Pastaba. < Version_number > vietos rezervavimo ženklas yra v4.0.30319 arba v2.0.50727, priklausomai nuo programos versiją.

2 būdas: Pakeisti konfigūraciją lygiu programos (.NET Framework versiją 4.6 ir naujesnės versijos)

Pradedant nuo .NET Framework 4.6, galite pakeisti konfigūraciją programos lygmeniu per kodas arba taikomosios programos konfigūracijos arba registro keitimus.

.NET Framework 4.6, galite nustatyti pereiti vienu iš toliau nurodytų būdų. Šių pavyzdžių, išjunkite saugos funkcija.

  • Programiškai

    Pirmiausia, programa turi atlikti paleisti šį kodą. Taip yra todėl tvarkytuvui taškas bus inicijuotas tik vieną kartą.

    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching"; private const string DontEnableSchSendAuxRecordName = @"Switch.System.Net.DontEnableSchSendAuxRecord"; 
    AppContext.SetSwitch(DisableCachingName, true);
    AppContext.SetSwitch(DontEnableSchSendAuxRecordName , true);
  • Programos konfigūravimas

    Norėdami pakeisti programos konfigūraciją, įtraukti šį įrašą:

    <runtime><AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchSendAuxRecord=true"/>
    </runtime>
  • Registro rakto (visuotinė kompiuteryje)

    Registro vietose: HKEY_LOCAL_MACHINE\Software\Microsoft\. NETFramework\AppContextHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\. NETFramework\AppContext
    Reikšmė: Switch.System.Net.DontEnableSchSendAuxRecord
    Tipas: Eilutė
    Reikšmė: Teisinga

    Pastaba. Switch.System.Net.DontEnableSchSendAuxRecord = False visų programų.

Daugiau informacijos

Toliau pateikiamas pavyzdys kliento/serverio ryšio modelis, prieš ir po to, Šis naujinimas yra įdiegtas. Ši informacija yra pateikti nustatyti visus programos sugadinimo dėl šios pataisos diegimą.

Be toliau mažinimas

Su toliau mažinimas

[Server] laukia ryšiai (127.0.0.1:4431)
[Kliento] Prisijungimas prie localhost:4431
[Server] Kliento ryšį.
[Kliento] Prisijungę. Patvirtinamas...
[Server] Kliento autentifikuoti.
[Kliento] Nusiųsti užklausą (94 baitų)
[Kliento] Laukia atsakymo...

[Server] Gavo 94 baitų: <<< gauti / HTTP/1.0
Host: contoso.com
Vartotojo agentas: Tikrinimo programa

>>>
[Server] Atsakė su 476 baitų.

[Kliento 1: 476 Bytes] Atsakymas: <<<<< HTTP/1.1 200 gerai

>>>>>

[Server] laukia ryšiai (127.0.0.1:4431)
[Kliento] Prisijungimas prie localhost:4431
[Server] Kliento ryšį.
[Kliento] Prisijungę. Patvirtinamas...
[Server] Kliento autentifikuoti.
[Kliento] Nusiųsti užklausą (94 baitų)
[Kliento] Laukia atsakymo...
[Server] Gavote 1 baitų: <<< G >>>
[Server] Gavo 93 baitų: <<< ET / HTTP/1.0
Host: contoso.com
Vartotojo agentas: Tikrinimo programa

>>>
[Server] Atsakė su 476 baitų.
[Kliento baitai 1: 1] Atsakymas: <<<<< H >>>>>
[Kliento 2: 475 Bytes] Atsakymas: <<<<< TTP/1.1 200 gerai

>>>>>


Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.

Ar ši informacija buvo naudinga?

Ar esate patenkinti kalbos kokybe?
Kas turėjo įtakos jūsų įspūdžiams?
Paspaudus mygtuką Pateikti, jūsų atsiliepimai bus naudojami tobulinant „Microsoft“ produktus ir paslaugas. Jūsų IT administratorius galės rinkti šiuos duomenis. Privatumo patvirtinimas.

Dėkojame už jūsų atsiliepimą!

×