15Sep

Co je ASLR a jak udržuje počítač bezpečný?

click fraud protection

aslr_cpu

Randomization Layout Address Space Layout( ASLR) je bezpečnostní technika používaná v operačních systémech, poprvé implementována v roce 2001. Současná verze všech hlavních operačních systémů( iOS, Android, Windows, MacOS a Linux) je vybavena ochranou ASLR.Ale v minulém týdnu byla nalezena nová metoda obejití ASLR.Takže, měli byste mít strach?

K těm, kteří nemají pozadí s programováním na nízké úrovni, může být ASLR matoucí.Abyste to pochopili, musíte nejprve porozumět virtuální paměti.

Co je virtuální paměť?Virtuální paměť

je technologie správy paměti s mnoha výhodami, ale byla vytvořena především pro snadnější programování.Představte si, že v počítači s operačním systémem RAM s kapacitou 4 GB máte otevřeno prohlížeč Google Chrome, Microsoft Word a několik dalších programů.Celkově programy v tomto počítači využívají mnohem více než 4 GB paměti RAM.Ne vždy však budou všechny programy aktivní, nebo je třeba současně přistupovat k této paměti RAM.

Operační systém přiděluje kazety paměti programům nazvaným

instagram viewer
.Pokud není k dispozici dostatek paměti RAM pro ukládání všech stránek najednou, stránky s nejmenší pravděpodobností, které budou potřebné, se ukládají na pomalejší( ale prostornější) pevný disk. Když jsou zapotřebí uložené stránky, budou přepínat mezery s méně potřebnými stránkami v současné době v paměti RAM.Tento proces se nazývá stránkování a jeho název se připisuje souboru s příponou pagefile.sys v systému Windows. Virtuální paměť

usnadňuje programům spravovat vlastní paměť a zvyšuje jejich bezpečnost. Programy se nemusí starat o to, kde ostatní programy ukládají data, nebo kolik RAM je ponecháno. Mohou požádat operační systém o další paměť( nebo vrátit nevyužitou paměť) podle potřeby. Všem programům vidí jediný souvislý blok adres paměti pro jeho exkluzivní použití, nazvaný virtuální adresy. Program nesmí prohlížet paměť jiného programu.

Když program potřebuje přístup k paměti, dává operačnímu systému virtuální adresu. Operační systém je v kontaktu s jednotkou správy paměti( MMU) CPU.MMU překládá mezi virtuálními a fyzickými adresami a vrací tyto informace do operačního systému. V žádném okamžiku program přímo nereaguje s pamětí RAM.

Co je ASLR?

Náhodná rozložení rozvržení adres( ASLR) je primárně používána k ochraně před útoky přetečení vyrovnávací paměti. V přetečení vyrovnávacích pamětí útočníci přivádějí funkci stejně mnoho nevyžádaných dat, jakou je schopna zpracovat, po níž následuje škodlivý užitečný náklad. Užitné zatížení přepsá data, které má program v úmyslu získat přístup. Pokyny pro přeskočení na jiné místo v kódu jsou společné užitečné zatížení.Slávná metoda JailbreakMe jailbreakingu iOS 4 například použila útok přetečení vyrovnávací paměti, což přimělo Apple přidat ASLR do iOS 4.3.

Přetečení bufferu vyžaduje, aby útočník věděl, kde je každá část programu umístěna v paměti. Zjistit to je obvykle obtížný proces pokusů a omylů.Poté, co to určí, musí vynaložit užitečné zatížení a najít vhodné místo pro jeho vstřikování.Pokud útočník neví, kde je umístěn cílový kód, může být obtížné nebo nemožné ho využít.

ASLR spolupracuje s virtuální správou paměti, aby randomizovala umístění různých částí programu v paměti. Při každém spuštění programu se komponenty( včetně zásobníku, haldy a knihoven) přesouvají na jinou adresu ve virtuální paměti.Útočníci se již nemohou naučit, kde jsou jejich cíle pokusem a chybou, protože adresa bude vždycky jiná.Obecně platí, že aplikace musí být kompilace s podporou ASLR, ale stává se výchozím nastavením a je dokonce zapotřebí v systému Android 5.0 a novějších.

Takže vás ASLR stále chrání?

Minulý úterý představitelé SUNY Binghamton a Kalifornské univerzity v Riverside představili článek nazvaný Přejít přes ASLR: Útočící předpovědi poboček k vynechání ASLR.Tento dokument popisuje způsob, jak napadnout pobočkový cílový vyrovnávací paměť( BTB).BTB je součástí procesoru, který urychluje výkazy podle předpovědi výsledku. Pomocí metody autorů je možné zjistit umístění známých větvových instrukcí v běžícím programu. Dotčený útok byl proveden na stroji Linux s procesorem Intel Haswell( nejprve vydán v roce 2013), ale pravděpodobně by mohl být aplikován na jakýkoli moderní operační systém a procesor.

To znamená, že byste neměli nutně zoufat. Tento papír nabídl několik způsobů, jak mohou vývojáři hardwaru a operačních systémů tuto hrozbu zmírnit. Novější, jemné zrnité techniky ASLR by vyžadovaly větší úsilí od útočníka a zvýšení množství entropie( náhodnost) může způsobit, že útok Jump Over není možný.S největší pravděpodobností budou novější operační systémy a procesory imunní vůči tomuto útoku.

Takže co je ponecháno pro , které chcete udělat ?Skok přeskakující je nový a dosud nebyl zaznamenán v divočině.Když útočníci využívají tuto chybu, porucha zvýší potenciální poškození, které může útočník způsobit v zařízení.Tato úroveň přístupu není bezprecedentní;Microsoft a Apple implementovaly ASLR pouze ve svých operačních systémech, které byly vydány v roce 2007 a později. Dokonce i v případě, že se tento typ útoku stává obvyklým, nebudete v žádném případě horší, než jste byli ve dnech Windows XP.

Mějte na paměti, že útočníci stále musí dostat svůj kód do vašeho zařízení, aby uškodili. Tato chyba jim neposkytuje žádné další způsoby, jak vás napadnout. Jako vždy byste měli dodržovat osvědčené postupy v oblasti zabezpečení.Používejte antivirový software, nezůstávejte od skrytých webových stránek a programů a aktualizujte svůj software. Tím, že budete postupovat podle těchto kroků a udržovat zlomyslné herce mimo počítač, budete stejně bezpečné jako kdykoli. Obrázek

: Steve / Flickr