ASLR

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. december 31-én felülvizsgált verziótól ; az ellenőrzések 13 szerkesztést igényelnek .

Az ASLR ( címtérelrendezési véletlenszerűsítés - "  címtérelrendezési véletlenszerűsítés  ") egy operációs rendszerekben használt technológia , amely véletlenszerűen megváltoztatja a fontos adatstruktúrák folyamatának helyét a címtérben , nevezetesen a végrehajtható fájlképeket , betölthető könyvtárakat , kupacokat és veremeket . .

Az ASLR-t úgy tervezték, hogy megnehezítse a különféle sérülékenységek kihasználását . Például, ha egy támadó képessé válik arra, hogy egy puffertúlcsordulás vagy más módszer segítségével tetszőleges címre vigye át az irányítást, akkor ki kell találnia, hogy a verem, kupac vagy más adatstruktúra melyik címre helyezhető a shellcode -ba . Hasonló problémák merülnek fel a return -to-libc támadásnál: a támadó nem ismeri a könyvtár betöltésének címét. A fenti példákban a konkrét címek el vannak rejtve a támadó elől, és ha a helyes címet nem lehet kitalálni, az alkalmazás valószínűleg összeomlik, ezáltal megfosztja a támadót az újbóli támadás lehetőségétől, és felkelti a rendszergazda figyelmét .

Megvalósítások

OpenBSD

Az OpenBSD fejlesztői az elsők között vezették be az ASLR-t. Az ASLR alapértelmezés szerint engedélyezve van.

Linux

A Linux kernel 2005 óta rendelkezik az ASLR egyszerű változatával (a 2.6.12-es verzió óta). A bonyolultabb és teljesebb ASLR-változatokat javításként kínálják ( PaX , ExecShield stb.). Azokban a disztribúciókban, amelyek nevében szerepel a "hardened" szó, valamint az Ubuntu disztribúció modern verzióiban, a kemény változatok alapértelmezés szerint engedélyezve vannak.

Ahhoz, hogy az ASLR működjön (a végrehajtható fájlok véletlenszerű címeken történő memóriába helyezéséhez), a végrehajtható fájlokat pozíciófüggetlen futtatható módban kell lefordítani (egyfajta pozíciófüggetlen kód a végrehajtható fájlok számára).

Microsoft Windows

Windows rendszeren az ASLR a Windows Vista (2007) [1] óta támogatott speciális jelzőkkel épített futtatható fájlok és könyvtárak esetében.

Az ASLR a Windows későbbi verzióiban is támogatott, mint például a Windows Server 2008 , Windows 7 , Windows Server 2008 R2 , Windows 8 , Windows 8.1 , Windows 10 .

Az ASLR-t nem használják speciális zászlók nélkül készült alkalmazásokhoz, és ha kompatibilitási módban futnak a Windows korábbi verzióihoz.

Windows XP és Windows Server 2003 rendszeren az ASLR bármely kiválasztott alkalmazáshoz engedélyezhető a Microsoft EMET [2] (Enhanced Mitigation Experience Toolkit) segítségével.

Mac OS X

A Mac OS X v10.5 Leopard (2007) [3] rendszerben némi véletlenszerűséget adtak a könyvtárbetöltésben . Az OS X 10.8 Mountain Lion (2012) verziójában az ASLR a rendszer kernelének része [4] .

iOS

Az iOS a 4.3-as verzió óta ASLR technológiát használ [5] . Kernelhez, iOS 6 óta használják [6] .

Az ASLR hatása a virtuális memóriára

Az ASLR egy kompromisszum a fokozott biztonság és a csökkentett 24 bites, 31 bites és 64 bites magántárhely között. A 24 bites és a 31 bites virtuális tárhely engedélyezésével a rendelkezésre álló privát tárhely 63 oldalra, illetve 255 oldalra csökken. A munkaterület kért méretét továbbra is ki kell elégíteni a csökkentett magánterületről, hogy a feladat futhasson. Azok a jobok, amelyeknek a hatókör mérete nem teljesíthető, 822-es ABEND hibát eredményeznek. Ha a job kért hatókörmérete kielégíti, lehetséges, hogy a csökkentett magántárhely mérete megakadályozza a feladat befejezését, ami 878-as ABEND hibát eredményez.

Az egyik módja annak, hogy meghatározzuk, hogy a jobok nem futhatnak-e a 24 bites vagy 31 bites privát tárhely méretkorlátjával, amely akkor fordul elő, ha az ASLR engedélyezve van, ha nagyobb értéket ad meg a CSA paraméternek a parmlibben. A 24 bites és a 31 bites CSA méretének 1 millióval való növelése hatékonyan csökkenti a 24 bites és 31 bites privát tárhely méretét 1 millióval, ami több, mint az ASLR-rel elérhető maximális csökkentés [7] .

Hátrányok

Az ASLR használatához a végrehajtható fájlokat speciális zászlókkal kell felépíteni. Ennek eredményeként a kódban nem lesznek állandó címek, de ugyanakkor:

Ezenkívül a védelem megkerülhető memóriakiürítéssel [8] vagy Heap Spray módszerekkel [9] .

Jegyzetek

  1. Windows ISV szoftverbiztonsági védelmek . msdn.microsoft.com. Letöltve: 2012. április 10. Az eredetiből archiválva : 2012. április 18..
  2. Windows belső: Windows Server 2008 és Windows Vista, Fifth Edition (PRO-Developer) ISBN 978-0-7356-2530-3
  3. A memória véletlenszerűsítése (ASLR) érkezik a Mac OS X Leopard | ZDNet . Letöltve: 2018. január 5. Az eredetiből archiválva : 2020. augusztus 15.
  4. ↑ Az OS X Mountain Lion Core Technologies áttekintése (2012. június). Letöltve: 2012. július 25. Az eredetiből archiválva : 2012. július 10.
  5. Pwn2Own 2. nap: iPhone, BlackBerry legyőzve; Chrome, Firefox meg nem jelenés . - "Az iOS 4.3 bevezeti a címtérelrendezés véletlenszerűsítését (ASLR)". Letöltve: 2014. szeptember 18. Az eredetiből archiválva : 2017. február 27..
  6. Yeongjin Jang honlapja . Letöltve: 2018. január 5. Az eredetiből archiválva : 2020. szeptember 21.
  7. Címtérelrendezés véletlenszerűsítése   _ . www.ibm.com . Letöltve: 2022. szeptember 12.
  8. Az ASLR védelem egyszerű megkerülése a Windows 7/8 rendszerben . Letöltve: 2015. március 2. Az eredetiből archiválva : 2018. április 19.
  9. Archivált másolat . Letöltve: 2016. november 13. Az eredetiből archiválva : 2018. április 20.

Irodalom

Linkek