15Sep

Mis on ASLR ja kuidas see teie arvuti turvalisust tagab?

aslr_cpu

aadressiväljundi randomiseerimine( ASLR) on operatsioonisüsteemides kasutatav turbemeetod, mis rakendati esmakordselt 2001. aastal. Kõigi suuremate operatsioonisüsteemide( iOS, Android, Windows, macOS ja Linux) praegused versioonid sisaldavad ASLR-i kaitset. Kuid viimase nädala jooksul on leitud uus ASLR-i möödavoolu meetod. Nii, kas peaksite muretsema?

Neile, kellel puudub madala taseme programmeerimise taust, võib ASLR olla segadusttekitav. Selle mõistmiseks peate kõigepealt mõistma virtuaalset mälu.

Mis on virtuaalne mälu?

Virtual Memory on mitu juhtimistehnikat, millel on palju eeliseid, kuid see loodi peamiselt selleks, et muuta programmeerimine lihtsamaks. Kujutage ette, et teil on 4 GB RAM-is arvutis avatud Google Chrome, Microsoft Word ja mitmed teised programmid. Selles arvutis kasutatavad programmid tervikuna kasutavad palju rohkem kui 4 GB RAM-i. Siiski ei ole kõik programmid alati aktiivsed või vajavad samaaegselt juurdepääsu sellele mällu.

Operatsioonisüsteem eraldab

lehtedele mõeldud programmidele mälupesad. Kui kõigi lehtede korraga salvestamiseks ei piisa, leiavad kõige vähem tõenäoliselt vajavad lehed aeglasemal( kuid avaramal) kõvakettal. Kui salvestatud lehed on vajalikud, siis vahetavad need ruumid vähemate vajalike lehtedega hetkel RAM-is. Seda protsessi nimetatakse lehitsemiseks ja annab selle nime Windowsi lehefile.sys-failile.

Virtuaalne mälu muudab programmide jaoks lihtsamaks oma mälu haldamise ja muudab need turvalisemaks. Programmid ei pea muretsema selle üle, kus muud programmid salvestavad andmeid või kui palju RAMi on lahkunud. Nad võivad lihtsalt küsida operatsioonisüsteemilt täiendavat mälu( või tagastada kasutamata mälu) vastavalt vajadusele. Kogu programm näeb oma eksklusiivseks kasutamiseks mälu aadresside ühe pideva rida, mida nimetatakse virtuaalseks aadressiks. Programmil pole lubatud vaadata teise programmi mälu.

Kui programm peab mällu juurde pääsema, annab see operatsioonisüsteemile virtuaalse aadressi. Operatsioonisüsteem kontakteerub CPU mäluhalduse seadmega( MMU).MMU tõlgib virtuaalseid ja füüsilisi aadresse, tagades selle teabe operatsioonisüsteemile. Mingil hetkel ei suuda programm otseselt RAMiga suhelda.

Mis on ASLR?

aadressiruumide paigutuse randomiseerimist( ASLR) kasutatakse ennekõike puhvervararakenduste kaitsmiseks. Puhver üleliigne tagab ründajad funktsioonile nii palju rämpsposti andmeid, kui ta saab hakkama, millele järgneb pahatahtlik kasulik koormus. Andmebaas kirjutab andmeid, mida programm kavatseb pääseda. Juhised teise koodi sisenemiseks on tavaline kasulik koormus. Näiteks rakendas iOS 4 tuntud JailbreakMe tuntud JailbreakMe meetod buffer overflow rünnakut, kutsudes Apple'i lisama ASLR-i operatsioonisüsteemile iOS 4.3.

puhvri ülevoolud nõuavad, et ründaja teaks, kui kõik programmi osad asuvad mälus. Sellise väljavõtte tegemine on tavaliselt proovi- ja vea keeruline protsess. Pärast selle kindlakstegemist peavad nad tegema kasuliku koormuse ja leidma sobiva koha selle süstimiseks. Kui ründaja ei tea, kus asub sihtkood, võib see olla keeruline või võimatu seda ära kasutada.

ASLR töötab koos virtuaalmälu haldusega, et juhuslikult valida mälu jaoks programmi erinevate osade asukohad. Iga kord, kui programm käivitatakse, viiakse komponendid( sealhulgas virn, hunnik ja raamatukogud) virtuaalsesse mällu muusse aadressi. Ründajad ei saa enam õppida, kui nende sihtmärk on katse- ja vea tõttu, sest aadress on iga kord erinev.Üldjuhul tuleb rakendused koostada ASLR-i toega, kuid see muutub vaikimisi ja seda on vaja ka Android 5.0 ja uuemates versioonides.

Kas ASLR kaitseb end ikka veel?

Eelmisel teisel päeval tutvustasid SUNY Binghamtoni ja California ülikooli teadlased Riverside'i paberit "Hüppa üle ASLRi: ründava haru prognoosijad ASLR-i ümbersõitmiseks".Paber kirjeldab võimalust rünnata haru sihtmärgi puhvrit( BTB).BTB on protsessori osa, mis kiirendab avalduste prognoosi esitamist. Autorite meetodi abil on võimalik teadaolevate filiaalijuhendite asukohti määrata jooksvas programmis. Kõnealust rünnakut teostati Linuxi masinaga, millel on Intel Haswelli protsessor( esmakordselt välja antud 2013. aastal), kuid seda võib tõenäoliselt rakendada mis tahes kaasaegsele operatsioonisüsteemile ja protsessorile.

See tähendab, et te ei tohiks tingimata olla meeleheidet. Sellel paberil pakuti välja mõned viisid, kuidas riistvara ja opsüsteemi arendajad seda ohtu leevendada. Uuemad, peenisega ASLR-i tehnikad nõuaksid ründajast rohkem jõupingutusi ning entroopia( juhuslikkuse) suurendamine võib muuta Jump Over'i rünnakuks võimatuks. Tõenäoliselt on uuemad operatsioonisüsteemid ja protsessorid sellele rünnakule immuunsed.

Niisiis, mis on -le, mida te teete -le? Hüppamise ümbersõit on uus ja seda ei ole looduses veel märganud. Kui ründajad seda kasutavad, suurendab see viga potentsiaalset kahju, mida ründaja teie seadmes võib põhjustada. Selline juurdepääsu tase pole enneolematu;Microsoft ja Apple rakendasid ASLRi oma operatsioonisüsteemides ainult 2007. aastal ja hiljem. Isegi kui see rünnaku stiil muutub tavapäraseks, ei lähe te halvemaks, kui olete juba Windows XP-s.

Pidage meeles, et ründajad peavad ikkagi oma seadmesse saama, et seda kahjustada. See viga ei anna neile täiendavaid viise, kuidas teid nakatada. Nagu alati, peaksite järgima parimaid tavasid. Kasutage viirusetõrjet, hoiduge ebasobivatest veebisaitidest ja programmidest ning hoidke oma tarkvara ajakohasena. Järgides neid samme ja hoidudes pahatahtlikest tegijatest arvutist, võite olla sama turvaline kui olete kunagi olnud.

pildikrediit: Steve / Flickr