Adreso erdvinės išdėstymo randomizavimas sistemoje "Windows"

Turinys:

Adreso erdvinės išdėstymo randomizavimas sistemoje "Windows"
Adreso erdvinės išdėstymo randomizavimas sistemoje "Windows"

Video: Adreso erdvinės išdėstymo randomizavimas sistemoje "Windows"

Video: Adreso erdvinės išdėstymo randomizavimas sistemoje
Video: How to Fix Access Denied Folder and Files Errors on Windows 10 - YouTube 2024, Balandis
Anonim

"CERT" saugumo darbuotojai teigė, kad "Windows 10", "Windows 8.1" ir "Windows 8" negali tinkamai atsitikti kiekvienai programai, jei visos sistemos privalomas ASLR įgalintas per "EMET" arba "Windows Defender Exploit Guard". Microsoft atsakė, sakydama, kad Adreso erdvinės išdėstymo randomizavimas (ASLR) "Microsoft Windows" veikia kaip numatyta. Pažvelkime į šią problemą.

Image
Image

Kas yra ASLR?

ASLR išplėstas kaip "Address Space Layout Randomisation", kuri debiutavo su "Windows Vista" ir sukurta siekiant užkirsti kelią kodų pakartotinio naudojimo atakoms. Užpuolimo išvengti įkeliant vykdomąjį modulį neprognozuojamuose adresuose, tokiu būdu sušvelnindami išpuolius, kurie paprastai priklauso nuo numatytų vietovių. ASLR yra pritaikytas kovoti su išnaudojimo metodais, pvz., Grįžtamojo programavimo, kuris remiasi kodu, kuris paprastai įkeltas į nuspėjamą vietą. Be to, vienas iš pagrindinių ASLR trūkumų yra tai, kad su ja reikia susieti / DYNAMICBASE vėliava

Naudojimo sritis

ASLR pateikė paraiškos apsaugą, tačiau ji neapėmė visų sistemos minkštinimų. Iš tiesų dėl šios priežasties buvo paleistas "Microsoft EMET". EMET užtikrino, kad ji apimtų ir visos sistemos, ir specifines konkrečias kliūtis. "EMET" pasirodė kaip visai sistemai būdingų sušvelninimo priemonių siūlymas vartotojams. Tačiau, pradedant "Windows 10 Fall Creators" atnaujinimais, "EMET" funkcijos buvo pakeistos "Windows Defender Exploit Guard".

ASLR gali būti privalomai įjungtas tiek EMET, tiek "Windows Defender Exploit Guard" kodams, kurie nėra susieti su / DYNAMICBASE vėliava, ir tai gali būti įgyvendinta pagal kiekvieną paraišką arba visos sistemos bazę. Tai reiškia, kad "Windows" automatiškai perkelia kodą į laikiną perkėlimo lentelę, taigi naujoji kodo vieta kiekviename iš naujo paleidžiant bus kitokia. Pradedant nuo "Windows 8", projekto pakeitimai įgaliojo, kad ASLR sistemai turėtų būti įjungta visai sistemai veikianti "iš apačios į viršų" ASLR, kad būtų galima pateikti entropiją prie privalomo ASLR.

Problema

ASLR visada yra efektyvesnis, kai entropija yra daugiau. Labai paprastesne prasme padidėjusi entropija padidina paieškos erdvę, kurią reikia išnagrinėti užpuolikas. Tačiau tiek EMET, tiek "Windows Defender Exploit Guard" įgalina visos sistemos ASLR, neįjungiant visos sistemos "iš apačios į viršų" ASLR. Kai tai atsitiks, programos be / DYNMICBASE bus perkeltos, bet be jokių entropijos. Kaip jau minėjome anksčiau, entropijos nebuvimas padėtų užpuolikams palyginti lengviau, nes programa kiekvieną kartą perkrauna tą patį adresą.

Ši problema šiuo metu daro įtaką "Windows 8", "Windows 8.1" ir "Windows 10" sistemoms, kurių ASLR veikia visoje sistemoje naudojant "Windows Defender Exploit Guard" arba "EMET". Kadangi adresų perkėlimas yra ne DYNAMICBASE pobūdžio, jis paprastai ignoruoja ASLR pranašumą.

Ką Microsoft turi pasakyti

"Microsoft" buvo greita ir jau paskelbė pareiškimą. Štai ką "Microsoft" žmonės turėjo pasakyti

“The behaviour of mandatory ASLR that CERT observed is by design and ASLR is working as intended. The WDEG team is investigating the configuration issue that prevents system-wide enablement of bottom-up ASLR and is working to address it accordingly. This issue does not create additional risk as it only occurs when attempting to apply a non-default configuration to existing versions of Windows. Even then, the effective security posture is no worse than what is provided by default and it is straightforward to work around the issue through the steps described in this post”

Jie išsamiai apibūdino būdus, kurie padės pasiekti norimą saugumo lygį. Yra du būdai tiems, kurie norėtų įjungti privalomą ASLR ir "iš apačios į viršų" atsitiktinius atrankos procesus, kurių EXE nepasirinko ASLR.

1] Išsaugokite toliau nurodytą informaciją į optin.reg ir importuokite ją, kad įgalintumėte privalomą ASLR ir "iš apačios į viršų" atsitiktinių imčių sistemą.

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Managerkernel] 'MitigationOptions'=hex:00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00

2] Įjungti privalomą ASLR ir "iš apačios į viršų" atsitiktinį pasirinkimą, naudojant konkrečią programos konfigūraciją naudojant WDEG arba EMET.

Rekomenduojamas: