Ruwe toegang tot geheugen is handig bij het uitvoeren van dataforensisch onderzoek of bij het hacken van apparaten. Soms heb je een momentopname van het geheugen nodig om te kunnen analyseren wat er aan de hand is met vergrendelde bootloaders momentopname van een geheugenlocatie om een bug op te sporen, of gewoon om de juiste geheugenlocatie van uw Angry te achterhalen Vogels scoren. Dit is waar Linux Memory Extractor, ook bekend als. LiME Forensisch onderzoek, komt binnen. LiME is een laadbare kernelmodule waarmee u toegang krijgt tot het volledige scala aan apparaatgeheugen. Zodra de kernelmodule in het geheugen wordt geladen, wordt er in principe een momentopname gemaakt, waardoor zeer efficiënt debuggen mogelijk is.
Ik vroeg Joe Sylve, de auteur van LiME Forensics, om de voordelen van LiME ten opzichte van traditionele tools zoals viewmem uit te leggen:
Om uw vragen te beantwoorden, zijn de tools ontworpen met verschillende doeleinden. LiME is ontworpen om een volledige dump van de fysieke geheugenindeling van RAM te verkrijgen voor forensische analyse of beveiligingsonderzoek. Het doet het allemaal in de kernelruimte en kan een afbeelding naar het lokale bestandssysteem of via TCP dumpen. Het is ontworpen om u een zo goed mogelijke kopie van het fysieke geheugen te geven, terwijl de interactie met het systeem tot een minimum wordt beperkt.
Het lijkt erop dat viewmem een gebruikersprogramma is dat een reeks virtuele geheugenadressen van een geheugenapparaat leest, zoals /dev/mem of /dev/kmem, en de inhoud naar stdout afdrukt. Ik ben er niet zeker van dat het meer doet dan alleen het gebruik van dd op een van die apparaten.
Dit is om verschillende redenen minder acceptabel in de forensische wetenschap. Ten eerste worden /dev/mem en /dev/kmem uitgefaseerd en steeds meer apparaten worden niet meegeleverd met deze apparaten. Ten tweede beperken /dev/mem en /dev/kmem je tot het lezen van de eerste 896 MB RAM. Ook veroorzaakt de tool verschillende contextwisselingen tussen gebruikersland en kernelland voor elk gelezen geheugenblok en overschrijft het RAM met zijn buffers.
Ik zou zeggen dat elk hulpmiddel zijn nut heeft. Als u alleen de inhoud wilt weten van een adres dat zich binnen de eerste 896 MB RAM bevindt en uw apparaat heeft /dev/mem en /dev/kmem en het maakt je niet uit om een forensisch verantwoord beeld vast te leggen, dan zou viewmem (of dd) dat zijn bruikbaar. LiME is echter niet specifiek voor dat gebruiksscenario ontworpen.
Het belangrijkste voor jullie geheugenhackers onder ons is dat viewmem afhankelijk is van de /dev/mem En /dev/kmem apparaten. Sinds de /dev/mem En /dev/kmem apparaten bieden directe toegang tot het apparaatgeheugen, ze vormen een kwetsbaarheid. Deze Linux-apparaten worden uitgefaseerd, omdat ze de laatste tijd het doelwit zijn geweest van meerdere exploits. LiME vervangt niet alleen het viewmem-hulpprogramma, het doet het ook beter.
Fabrikanten let op: door functies te blokkeren die ontwikkelaars willen, bevordert u de ontwikkeling van betere tools.
Bron: LiME Forensisch onderzoek & Interview met auteur Joe Sylve
[Afbeelding tegoed: LiME-presentatie door Joe Sylve]