Čo je ASLR a ako zabezpečuje bezpečnosť vášho počítača?

Obsah:

Čo je ASLR a ako zabezpečuje bezpečnosť vášho počítača?
Čo je ASLR a ako zabezpečuje bezpečnosť vášho počítača?

Video: Čo je ASLR a ako zabezpečuje bezpečnosť vášho počítača?

Video: Čo je ASLR a ako zabezpečuje bezpečnosť vášho počítača?
Video: How to Hide Control Panel Items in Windows 10 - YouTube 2024, Apríl
Anonim
Usporiadanie náhodného rozloženia rozmiestnenia adresy (ASLR) je bezpečnostná technika používaná v operačných systémoch, najskôr implementovaná v roku 2001. Aktuálne verzie všetkých hlavných operačných systémov (iOS, Android, Windows, MacOS a Linux) obsahujú ochranu ASLR. Ale minulý týždeň sa našla nová metóda obchádzania ASLR. Takže, ak máte strach?
Usporiadanie náhodného rozloženia rozmiestnenia adresy (ASLR) je bezpečnostná technika používaná v operačných systémoch, najskôr implementovaná v roku 2001. Aktuálne verzie všetkých hlavných operačných systémov (iOS, Android, Windows, MacOS a Linux) obsahujú ochranu ASLR. Ale minulý týždeň sa našla nová metóda obchádzania ASLR. Takže, ak máte strach?

Pre tých, ktorí nemajú pozadie programovania na nízkej úrovni, môže byť ASLR mätúce. Aby ste to pochopili, musíte najprv porozumieť virtuálnej pamäti.

Čo je virtuálna pamäť?

Virtuálna pamäť je technológiou správy pamäte s mnohými výhodami, ale bola vytvorená predovšetkým na uľahčenie programovania. Predstavte si, že v počítači s 4 GB pamäte RAM máte otvorené prehliadače Google Chrome, Microsoft Word a niekoľko ďalších programov. Programy na tomto počítači ako celok využívajú oveľa viac ako 4 GB RAM. Avšak nie všetky programy budú aktívne po celý čas, alebo potrebujú súčasný prístup do tejto pamäte RAM.

Operačný systém prideľuje kúsky pamäte programom nazvaným stránky, Ak nie je dostatok pamäte RAM na ukladanie všetkých stránok naraz, stránky s najmenšou pravdepodobnosťou budú uložené na pomalší (ale priestrannejší) pevný disk. Keď sú uložené uložené stránky, prepínajú sa medzerami s menej potrebnými stránkami, ktoré sú v súčasnosti v pamäti RAM. Tento proces sa nazýva stránkovanie a jeho názov sa zapisuje do súboru pagefile.sys v systéme Windows.

Virtuálna pamäť uľahčuje programom spravovať vlastnú pamäť a zvyšuje ich bezpečnosť. Programy sa nemusia obávať, kde iné programy ukladajú údaje, alebo koľko pamäte RAM zostáva. Môžu len požiadať operačný systém o dodatočnú pamäť (alebo vrátiť nepoužitú pamäť) podľa potreby. Celý program vidí jediný nepretržitý kus pamäťových adries pre jeho exkluzívne použitie, tzv. Virtuálne adresy. Program sa nesmie pozerať na pamäť iného programu.

Keď program potrebuje prístup do pamäte, poskytuje operačnému systému virtuálnu adresu. Operačný systém sa skontaktuje s jednotkou správy pamäte procesora (MMU). MMU sa prekladá medzi virtuálnymi a fyzickými adresami a vráti tieto informácie do operačného systému. V žiadnom momente program priamo nereaguje s pamäťou RAM.

Čo je ASLR?

Usporiadanie náhodného usporiadania rozmiestnenia adries (ASLR) sa používa predovšetkým na ochranu pred útokmi pretečenia vyrovnávacej pamäte. V pretečeniu vyrovnávacej pamäte, útočníci dávkujú funkciu toľko nevyžiadaných údajov, ako to dokáže spracovať, po ktorom nasleduje škodlivé užitočné zaťaženie. Užitočná záťaž prepíše údaje, ktoré má program v úmysle získať. Pokyny na preskočenie na iné miesto v kóde sú spoločné užitočné zaťaženie. Slávna metóda jailbreakMe útek z väzenia iOS 4 napríklad použila útok pretečenia vyrovnávacej pamäte, čo prinútilo Apple pridať ASLR do iOS 4.3.

Pretečenie vyrovnávacej pamäte vyžaduje, aby útočník vedel, kde je každá časť programu umiestnená v pamäti. Zistenie toho je zvyčajne náročný proces skúšok a chýb. Po tom, ako to určia, musia vynaložiť užitočné zaťaženie a nájsť vhodné miesto na injekciu. Ak útočník nevie, kde sa nachádza cieľový kód, môže byť ťažké alebo nemožné ho využiť.

ASLR spolupracuje s riadením virtuálnej pamäte, aby randomizovala umiestnenia rôznych častí programu v pamäti. Zakaždým, keď je program spustený, sú komponenty (vrátane stohu, haldy a knižníc) presunuté do inej adresy vo virtuálnej pamäti. Útočníci sa už nedokážu naučiť, kde sú ich ciele prostredníctvom pokusov a omylov, pretože adresa bude vždy iná. Vo všeobecnosti je potrebné, aby aplikácie boli kompilované s podporou ASLR, ale toto sa stáva predvoleným a je dokonca vyžadované v systémoch Android 5.0 a novších.

Takže ASLR stále vás chráni?

Minulý utorok predstavitelia SUNY Binghamton a Kalifornskej univerzity v Riverside predstavili dokument nazvaný Jump Over ASLR: Útočiaci predkovia pobočiek, aby sa vyhnuli ASLR. Tento dokument popisuje spôsob útoku na vyrovnávaciu pamäť pobočky (BTB). BTB je súčasťou procesora, ktorý urýchľuje, či vyhlásenie predpovedá výsledok. Pomocou metódy autorov je možné určiť miesta známych pobočkových pokynov v bežiacom programe. Dotknutý útok bol vykonaný na systéme Linux s procesorom Intel Haswell (prvýkrát bol vydaný v roku 2013), ale pravdepodobne by sa mohol vzťahovať na akýkoľvek moderný operačný systém a procesor.

To znamená, že by ste nemali nevyhnutne zúfalo. Dokument ponúkol niekoľko spôsobov, ako môžu vývojári hardvéru a operačného systému zmierniť túto hrozbu. Novšie, jemné zrnité techniky ASLR by vyžadovali od útočníka väčšie úsilie a zvýšenie množstva entropie (náhodnosť) môže spôsobiť, že útok Jump Over nie je možný. S najväčšou pravdepodobnosťou budú novšie operačné systémy a procesory odolné voči tomuto útoku.

Takže čo zostalo vy robiť? Skok cez skok je nový a zatiaľ nebol zaznamenaný vo voľnej prírode. Keď to útočníci zneužijú, chyba zvýši potenciálne poškodenie, ktoré môže útočník spôsobiť na vašom zariadení. Táto úroveň prístupu nie je bezprecedentná; Spoločnosti Microsoft a Apple implementovali ASLR iba vo svojich operačných systémoch, ktoré boli vydané v roku 2007 a neskôr. Dokonca aj vtedy, keď sa tento štýl útoku stáva bežným, nebudete horšie, ako ste boli v dňoch Windows XP.

Majte na pamäti, že útočníci stále musia dostať svoj kód do vášho zariadenia, aby uškodili. Táto chyba im neposkytuje žiadne ďalšie spôsoby infikovania.Ako vždy, mali by ste dodržiavať osvedčené postupy v oblasti bezpečnosti. Používajte antivírus, nezostávajte skryté webové stránky a programy a aktualizujte softvér. Tým, že budete postupovať podľa týchto krokov a udržiavať škodlivých hercov mimo vášho počítača, budete tak bezpeční, ako ste kedy boli.

Obrazový kredit: Steve / Flickr

Odporúča: