Modulul Kernel LiME Forensics pentru instantanee de memorie brută

Accesul brut la memorie este util în timpul analizei criminalistice a datelor sau când piratați dispozitive. Uneori aveți nevoie de un instantaneu al memoriei pentru a putea analiza ce se întâmplă cu încărcătoarele de boot blocate, obțineți un instantaneu al unei locații de memorie pentru a urmări o eroare sau doar pentru a afla locația corectă de memorie a lui Angry Păsările punctează. Aici este locul în care Linux Memory Extractor, a.k.a. Criminalistica LiME, intră. LiME este un modul kernel încărcat care vă permite să accesați întreaga gamă de memorie a dispozitivului. De îndată ce modulul kernel este încărcat în memorie, practic ia un instantaneu, permițând o depanare foarte eficientă.

L-am rugat pe Joe Sylve, autorul cărții LiME Forensics să explice beneficiile LiME față de instrumentele tradiționale precum viewmem:

Pentru a răspunde întrebărilor dvs., instrumentele au fost concepute cu diferite utilizări în scop. LiME este conceput pentru a obține o descărcare completă a aspectului memoriei fizice a RAM pentru analiză criminalistică sau cercetare de securitate. Face totul în spațiul kernel și poate arunca o imagine fie în sistemul de fișiere local, fie prin TCP. Este conceput pentru a vă oferi cât mai aproape de o copie a memoriei fizice posibil, reducând în același timp interacțiunea cu sistemul.

Se pare că viewmem este un program userland care citește o serie de adrese de memorie virtuală de pe un dispozitiv de memorie, cum ar fi /dev/mem sau /dev/kmem și tipărește conținutul în stdout. Nu sunt sigur că face mai mult decât simpla utilizare a dd pe unul dintre dispozitivele respective.

Acest lucru este mai puțin acceptabil în criminalistică din mai multe motive. În primul rând, /dev/mem și /dev/kmem sunt eliminate treptat și tot mai multe dispozitive nu sunt livrate cu acele dispozitive. În al doilea rând, /dev/mem și /dev/kmem vă limitează la citirea din primii 896MB de RAM. De asemenea, instrumentul provoacă mai multe schimbări de context între userland și kernelland pentru fiecare bloc de memorie citit și suprascrie RAM cu buffer-urile sale.

Aș spune că fiecare unealtă își are rostul. Dacă trebuie doar să știți conținutul unei adrese care se află în primii 896 MB de RAM și dispozitivul dvs. are /dev/mem și /dev/kmem și nu vă pasă de capturarea unei imagini sonore criminalistice, atunci viewmem (sau dd) ar fi util. Cu toate acestea, LiME nu a fost conceput special pentru acel caz de utilizare.

Cel mai important lucru, pentru hackerii de memorie, este că viewmem se bazează pe /dev/mem și /dev/kmem dispozitive. De când /dev/mem și /dev/kmem dispozitivele permit accesul direct la memoria dispozitivului, sunt o vulnerabilitate. Aceste dispozitive Linux sunt eliminate treptat, deoarece în ultima vreme au fost ținta mai multor exploit-uri. LiME nu numai că înlocuiește utilitarul viewmem, ci o face mai bine.

Producătorii iau notă: prin blocarea funcțiilor pe care le doresc dezvoltatorii, promovați dezvoltarea unor instrumente mai bune.

Sursă: Criminalistica LiME & Interviu cu autorul Joe Sylve

[Credit imagine: Prezentare LIME de Joe Sylve]