
Framework avanzato per l'estrazione di artefatti digitali da campioni di memoria volatile (RAM), che consente un'analisi forense approfondita dello stato di runtime del sistema su Windows, Linux e macOS.
Volatility è il framework più utilizzato al mondo per estrarre artefatti digitali da campioni di memoria volatile (RAM). Le tecniche di estrazione vengono eseguite in modo completamente indipendente dal sistema sotto esame, ma offrono visibilità sullo stato runtime del sistema. Il framework è pensato per introdurre le persone alle tecniche e alle complessità associate all'estrazione di artefatti digitali da campioni di memoria volatile e fornire una piattaforma per ulteriori lavori in questa entusiasmante area di ricerca.
Nel 2019, la Volatility Foundation ha rilasciato una riscrittura completa del framework, Volatility 3. Il progetto è stato ideato per affrontare molte delle sfide tecniche e prestazionali associate al codice originale emerse nei 10 anni precedenti. Un altro vantaggio della riscrittura è che Volatility 3 potesse essere rilasciato sotto una licenza personalizzata più allineata con gli obiettivi della comunità Volatility, la Volatility Software License (VSL). Consultare il file LICENSE per maggiori dettagli.
Installare le dipendenze richieste:
pip install --user -e ".[full]"
Visualizzare le opzioni disponibili:
vol -h
Per ottenere più informazioni su un campione di memoria Windows e assicurarsi che Volatility supporti quel tipo di campione, eseguire vol -f <percorsoimmagine> windows.info:
vol -f /home/user/samples/stuxnet.vmem windows.info
Eseguire altri plugin. Il parametro -f o --single-location non è strettamente necessario, ma la maggior parte dei plugin si aspetta un singolo campione. Alcuni richiedono/accettano anche altre opzioni. Eseguire vol <plugin> -h per maggiori informazioni su un comando specifico.
Volatility 3 richiede Python 3.8.0 o successivo ed è pubblicato nel registro PyPi.
pip install volatility3
Se si desidera utilizzare l'ultima versione di sviluppo di Volatility 3, si consiglia di clonare manualmente questo repository e installare una versione modificabile del progetto. Si consiglia di utilizzare un ambiente virtuale per mantenere le dipendenze installate separate dai pacchetti di sistema.
L'ultima versione stabile di Volatility sarà sempre il branch stable del repository GitHub. Il branch predefinito è develop.
git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3/
python3 -m venv venv && . venv/bin/activate
pip install -e ".[dev]"
I pacchetti di tabelle dei simboli per i vari sistemi operativi sono disponibili per il download a:
Gli hash per verificare se uno qualsiasi dei file dei pacchetti di simboli è stato scaricato correttamente o è cambiato si trovano a:
I file zip delle tabelle dei simboli devono essere posizionati, con i rispettivi nomi, nella directory volatility3/symbols (o semplicemente nella directory dei simboli accanto al file eseguibile).
I simboli di Windows che non vengono trovati verranno interrogati, scaricati, generati e memorizzati nella cache. Le tabelle dei simboli di Mac e Linux devono essere prodotte manualmente con uno strumento come dwarf2json.
Importante: La prima esecuzione di volatility con nuovi file di simboli richiederà l'aggiornamento della cache. I pacchetti di simboli contengono un gran numero di file di simboli e quindi potrebbero richiedere del tempo per l'aggiornamento! Tuttavia, questo processo deve essere eseguito solo una volta per ogni nuovo file di simboli, quindi, supponendo che il pacchetto rimanga nella stessa posizione, non sarà necessario ripeterlo. Si noti inoltre che può essere interrotto e la successiva esecuzione si riavvierà da sola.
Si prega di notare: Questi sono rappresentativi e sono completi fino al momento della creazione per Windows e Mac. A causa della facilità di compilazione dei kernel Linux e dell'impossibilità di distinguerli in modo univoco, non è possibile fornire facilmente un set esaustivo di tabelle dei simboli Linux.
Il framework è documentato tramite doc string e può essere compilato usando sphinx.
L'ultima copia generata della documentazione si trova a: https://volatility3.readthedocs.io/en/latest/
Copyright (C) 2007-2026 Volatility Foundation
Tutti i diritti riservati
https://www.volatilityfoundation.org/license/vsl-v1.0
Se pensi di aver trovato un bug, segnalalo a:
https://github.com/volatilityfoundation/volatility3/issues
Per aiutarci a risolvere i tuoi problemi il più rapidamente possibile, includi le seguenti informazioni quando segnali un bug:
Per il supporto della comunità, unisciti a noi su Slack:
https://www.volatilityfoundation.org/slack
Per informazioni o richieste, contatta:
Volatility Foundation
Web: https://www.volatilityfoundation.org
Blog: https://volatility-labs.blogspot.com
Email: volatility (at) volatilityfoundation (dot) org
Twitter: @volatility