Neupravený prístup k pamäti je užitočný pri vykonávaní forenznej analýzy údajov alebo pri hackovaní zariadení. Niekedy potrebujete snímku pamäte, aby ste mohli analyzovať, čo sa deje so zamknutými bootloadermi, získajte a snímku miesta v pamäti, aby ste mohli vystopovať chybu alebo len zistiť správne miesto v pamäti vášho Angry Birds skóre. Tu je Linux Memory Extractor, a.k.a. LiME Forenzná, vstúpi. LiME je načítateľný modul jadra, ktorý vám umožňuje prístup k celému rozsahu pamäte zariadenia. Hneď ako sa modul jadra načíta do pamäte, v podstate urobí snímku, čo umožňuje veľmi efektívne ladenie.
Požiadal som Joea Sylvea, autora LiME Forensics, aby mi vysvetlil výhody LiME oproti tradičným nástrojom, ako je viewmem:
Aby sme odpovedali na vaše otázky, nástroje boli navrhnuté s rôznym účelom použitia. LiME je navrhnutý tak, aby získal úplný výpis rozloženia fyzickej pamäte RAM pre forenznú analýzu alebo bezpečnostný výskum. Robí to všetko v priestore jadra a môže uložiť obraz buď do lokálneho súborového systému alebo cez TCP. Je navrhnutý tak, aby vám poskytol čo možno najbližšiu kópiu fyzickej pamäte a zároveň minimalizoval jej interakciu so systémom.
Zdá sa, že viewmem je užívateľský program, ktorý číta rozsah adries virtuálnej pamäte z pamäťového zariadenia, ako je /dev/mem alebo /dev/kmem, a vytlačí obsah na stdout. Nie som si istý, či to robí viac ako len používanie dd na jednom z týchto zariadení.
To je vo forenznej oblasti menej prijateľné z niekoľkých dôvodov. Po prvé, /dev/mem a /dev/kmem sa postupne vyraďujú a stále viac zariadení sa s týmito zariadeniami nedodáva. Po druhé, /dev/mem a /dev/kmem vás obmedzujú na čítanie z prvých 896 MB RAM. Nástroj tiež spôsobuje niekoľko prepnutí kontextu medzi užívateľskou krajinou a jadrom pre každý blok načítanej pamäte a prepisuje RAM svojimi vyrovnávacími pamäťami.
Povedal by som, že každý nástroj má svoje využitie. Ak potrebujete poznať obsah adresy, ktorá je v rámci prvých 896 MB pamäte RAM a vaše zariadenie má /dev/mem a /dev/kmem a nestaráte sa o zachytenie forenzne zvukového obrazu, potom by bol viewmem (alebo dd) užitočné. LiME však nebol navrhnutý špeciálne pre tento prípad použitia.
Najdôležitejšia vec pre vás hackerov pamäte je, že viewmem sa spolieha na /dev/mem a /dev/kmem zariadení. Keďže /dev/mem a /dev/kmem zariadenia umožňujú priamy prístup do pamäte zariadenia, predstavujú zraniteľnosť. Tieto linuxové zariadenia sa postupne vyraďujú, pretože boli v poslednej dobe cieľom viacerých exploitov. LiME nielenže nahrádza utilitu viewmem, ale robí to lepšie.
Výrobcovia berú na vedomie: Uzamknutím funkcií, ktoré požadujú vývojári, podporujete vývoj lepších nástrojov.
Zdroj: LiME Forenzná & Rozhovor s autorom Joe Sylve
[Obrazový kredit: Prezentácia LiME od Joea Sylvea]