Come precedentemente menzionato, molte delle soluzioni dedicate all'acquisizione di un contenuto Web (seppur non strettamente forensi) sono studiate per affrontare un WWW ormai superato, presentando un approccio prevalentemente statico e quindi prive di quelle caratteristiche che gli permetterebbero di acquisire quegli stream articolati che ad oggi compongono la grande maggioranza dei contenuti presenti in Rete.
Oltre ai classici strumenti standalone da eseguire in un computer locale (es: wget, curl), ne esistono molti altri accessibili online, capaci di “congelare” il contenuto di interesse in una precisa occasione temporale. Il risultato fornito da questi strumenti è reso solitamente fruibile tramite la generazione di un indirizzo univoco che sarà quindi consultabile successivamente da un normale browser, permettendo di verificarne sia il contenuto, sia i riferimenti temporali di quando è stata svolta l'attività di “congelamento” richiesta.
Seppure in un primo momento questi strumenti potrebbero assomigliare, per lo meno nei modi, a quanto si prefigge il presente progetto, cioè ad un servizio di acquisizione fruibile via web che preveda la conservazione del dato e la relativa fruizione di quanto acquisto, in realtà mostrano lacune che ne vanificano l'utilizzo come strumento forense. In particolare:
• mancanza di chiarezza sulle metodologie utilizzate per l'acquisizione del dato
• assenza di ogni informazione in merito alle garanzie di custodia del dato e della
sua integrità
• mancanza delle firme hash di quanto acquisito
• impossibilità di esportare i contenuti acquisiti per rendere possibile una
consultazione “offline” che, anche quando presente, risulta comunque incompleta di documentazione, firme hash e log delle richieste HTTP.
Quindi, seppur ottimi strumenti che hanno come obiettivo quello di tenere traccia del passato del Web, risultano per lo più inutili in ottica forense, non fornendo tutte quelle caratteristiche che un'acquisizione di tal genere richiederebbe, quali la descrizione delle metodologie utilizzate e i relativi dettagli tecnici, la memorizzazione distinta delle risorse acquisite, la firma hash dei contenuti, i riferimenti temporali certi ed eventualmente fornire la possibilità di una “catena di custodia” (affidabile).
A fronte di queste lacune non marginali e della crescente rilevanza probatoria del Web, i singoli operatori forensi (sia forze dell'ordine che consulenti tecnici) si sono visti costretti ad adottare di volta in volta soluzioni tecniche arbitrarie, con il rischio di avere in mano acquisizioni di dubbia attendibilità tali da compromettere l'attività svolta e, sopratutto, mettere a rischio il processo giuridico interessato. Non è quindi nuovo il problema di adottare strumenti e tecniche che possano portare il giusto contributo alla causa forense senza dover ogni volta “reinventare la ruota”. Per assurdo, solo ultimamente il panorama tecnico ha portato sul campo strumenti software atti a fornire una soluzione “forensics oriented” a questo tema così importante e delicato.
Risulterà quindi necessario fornire uno strumento capace di acquisire il più ampio numero possibile di risorse veicolate tramite Internet, sia per i classici contenuti “vecchio stile” (statici) prettamente HTML, con poco (se non del tutto assente) contenuto asincrono e relativamente scarso utilizzo di script client-side, sia per quelli moderni che invece sempre più spesso utilizzano script client-side anche allo scopo di impaginare il layout (Es: AngularJS). Risulterà però fondamentale implementare un sistema di acquisizione in grado di “congelare” proprio quei contenuti (dinamici) veicolati tramite le tecnologie più attuali, proprie del così (tristemente) detto “Web 2.0”, che proprio a causa di un massiccio utilizzo di contenuto asincrono, oltre che elevato utilizzo di componenti basati su script client-side, risultano particolarmente sfuggenti e quindi di difficile acquisizione con strumenti classici di “mirroring”, più adatti per i contenuti di tipo statico.
Massimiliano Dal Cero – Sistema server-side di acquisizione forense di contenuti Web asincroni
Di seguito vengono riportate varie soluzioni on-line che permettono attività di “congelamento” di contenuti Web prevalentemente statici:
• Hashbot (https://www.hashbot.com/)
prodotto italiano, unico dei qui presenti strumenti “web-based” elencati nella categoria “statica”, che ha il dichiarato obiettivo di generare un risultato in ottica forense, generando gli hash dei contenuti e rilasciando i log HTTP di quanto acquisito, fornendo poi l’archivio zip del materiale elaborato che sarà poi eliminato dal server dopo 120 secondi dal momento dell’acquisizione.
I risultati ottenuti prevedono il solo salvataggio della risorsa richiesta, quindi in caso di una pagina HTML il solo codice sorgente senza i contenuti aggiuntivi presenti in essa.
Figura 2: Interfaccia Hashbot
• Internet Archive - WayBack Machine (https://web.archive.org)
storico servizio web based che tiene la storia del Web effettuando snapshot automatici delle pagine e organizza gli stessi in una linea temporale. Oltre al suo normale workflow di indicizzazione storica, è possibile “forzare” uno snapshot della pagina che sarà così archiviato nella memoria collettiva del servizio.
Massimiliano Dal Cero – Sistema server-side di acquisizione forense di contenuti Web asincroni
66
Figura 3: WaybackMachine main interface
• archive.is - webpage capture (https://archive.is):
servizio web based che permette di creare snapshot degli url di interesse, i quali saranno archiviati pubblicamente ognuno accompagnato con i relativi riferimenti temporali
• WebCite (https://www.webcitation.org):
servizio di archiviazione “on-demand” simile ai precedenti che permette di “congelare” le pagine in un dato momento così da poterne tenere memoria storica. A differenza degli altri servizi analoghi permette di aggiungere dei metadati aggiuntivi relativi allo snapshot che si sta effettuando.
• wget/curl (o altri tool analoghi):
non sono soluzioni web-based, ma software “classici” installati su un sistema operativo ospitante. Offrono la possibilità di effettuare il download delle risorse sia singole che ricorsivamente in base al contenuto HTML, potendo quindi effettuare il “mirroring” dei contenuti statici di un intero sito.
Di per sé non sono strumenti forensi, ma lo possono diventare se utilizzati in maniera consona da professionisti consapevoli delle necessità, come per esempio effettuare il calcolo delle firme hash di ogni risorsa scaricata e tenere traccia di tutte le operazioni svolte. Risulta inoltre necessario tutti i log dell’applicativo, infatti questi strumenti offrono molti dettagli (non disponibili in tutti i tool precedentemente menzionati), tipo gli status e gli header del protocollo HTTP, potendo quindi indagare su vari dettagli, come per esempio la data di ultima modifica del contenuto, o se esso è in realtà rediretto su altro server.