14 aprile 2021

Processo di acquisizione della ram (memoria volatile) da usare con volatility

Acquisizione software: LiMe e AVML.

Per l'acquisizione della ram (o dump) da usare con volatitility ci sono diversi modi. È possibile effettuare l'acquisizione sia via hardware che via software. Per quanto riguarda questo seguente metodo si usa di solito LiMe ma esiste anche AVML prodotto da Microsoft.  In entrambi i casi è necessario avere un accesso root alla macchina. Non è necessario avere accesso fisico in quanto con LiMe è possibile effettuare il dump anche da remoto. La principale differenza fra LiMe e avml è che il primo è composto da un modulo del kernel scritto in C da caricare e  quindi lavora in Kernel mode mentre il secondo è un eseguibile che necessita comunque dell'account di root ma non è un driver ed è scritto in Rust

 

Acquisizione hardware

Per quanto riguarda l'acquisizione hardware esistono strumenti apposta ma piuttosto costosi o in alternativa esistono anche sistemi molto economici come per esempio inception

Inception permette di exploitare un sistema operativo passando da  una porta come per esempio firewire o thunderbold e quindi avere accesso diretto alla ram via DMA (Direct Access Memory).  Un altro sistema è PCILeech.

Rischio di inconsistenza o dump corrotto.

Il processo di acquisizione della ram, via software o via hardware, da locale o da remoto espone a due rischi, il primo è ritrovarsi una macchina instabile, il secondo ad avere un dump corrotto. Ovviamente il rischio di ritrovarsi una macchina instabile in un ambiente di produzione deve essere attentamente valutato. Entrambi i rischi possono essere dovuti a diversi fattori. Uno di questi è derivato dal fatto che il processo di dump non è istantaneo e contiguo ma è un insieme processi intervallati fra loro da gli altri processi che stanno girando in quel momento sulla macchina. Lo stesso processo di dump va alterare lo stato della macchina che vorrebbe fotografare, in certi casi queste alterazioni rendono la memoria della macchina inconsistente, quindi la macchina instabile. Un altro fattore impattante è che nella ram sono presente regioni di memoria cosiddette riservate ad uso esclusivo del bios o dei bus pci o isa. La mappa di queste regioni viene passata al kernel dal bios, in certi casi specifici questa mappa puo' essere lievemente differente, per questa ragione il dumping potrebbe andare a leggere queste zone di memoria alterandole. Il che ovviamente puo' produrre o un sistema instabile o un dumping corrotto  o entrambi. Tuttavia queste aree riservate possono essere rilevanti nel caso in cui un firmware rootkit abbia preso possesso della macchina o vi siano delle alterazioni (hijacking) della IVT (interrupt vector table).