In questo articolo continuo la carrellata iniziata con WhatsApp occupandomi di Telegram Messenger, forse la più veloce applicazione di messaggistica sul mercato. La prima parte sarà dedicata a iOS.
Telegram Messenger LLP è stata fondata da Pavel Durov, Nikolai Durov e Axel Neff. L’app Telegram per iOS è stata rilasciata il 14 Agosto 2013 dai fratelli Nikolai e Pavel Durov, i fondatori del social network russo VK[1].
I client ufficiali di Telegram Messenger sono open source[2]. Il codice sorgente relativo al lato server invece non è stato reso pubblico.
A marzo 2018 Telegramma aveva raggiunto i 200 milioni di utenti mensili attivi.[3]
Con la versione 4.8.2 – ultima release attualmente scaricabile da App store – arrivano su Telegram Messenger nuovi sticker con la relativa ricerca, la possibilità di scattare ed inviare foto multiple e la modalità notte automatica; viene aggiornato il processo di registrazione con l’aggiunta del limite minimo di età per poter utilizzare l’app in EU ed UK (cfr. Fig.1):
Telegram è prima di tutto un’applicazione di messaggistica istantanea sicura. Ha il vantaggio di essere disponibile su iOS, Android e Windows Phone, ma anche in una versione Web; vi sono applicazioni anche per MacOS, Windows e Linux. Quindi è possibile utilizzare Telegram comodamente su quasi tutte le piattaforme possibili e immaginabili.
Diversamente da WhatsApp, Telegram è un servizio di messaggistica basato su cloud con sincronizzazione istantanea. Ciò consente l’accesso ai messaggi da diversi dispositivi contemporaneamente, inclusi tablet e computer, condividendo un numero illimitato di foto,video, file (doc, zip, mp3, etc.) con dimensioni fino a 1,5 GB per ogni documento.
Di conseguenza, gli utenti di Telegram possono godere di una sincronizzazione perfetta su telefoni, tablet e computer, della disponibilità immediata sui nuovi dispositivi connessi e della possibilità di riprendere da dove hanno lasciato (progetti di cloud) nelle loro Cloud Chat.
Infatti, a differenza della maggior parte delle app di messagistica istantanea, Telegram Messenger può occupare pochissimo spazio sul dispositivo. La rimozione dei dati presenti nella cache locale non comporta quindi un rimozione fisica dato che gli stessi verranno mantenuti nel cloud per tutto il tempo necessario, praticamente senza limitazioni.
Utilizzando l’impostazione “Mantieni media”, è possibile controllare per quanto tempo i file multimediali e altri file delle chat possano permanere sul dispositivo. Se non si accede a un file per il periodo di tempo specificato, questo viene automaticamente eliminato dalla cache. Naturalmente, i dati verranno immediatamente ricaricati dal cloud nel momento in cui si accede nuovamente.
Su iOS è anche possibile cancellare i file della cache in chat.
Una delle caratteristiche particolari dell’app riguarda i cosiddetti “super gruppi”: ogni singolo creato può contenere fino a 100.000 persone.
Altra caratteristica peculiare dell’applicazione sono i “canali”, forum di discussione dove chiunque può abbonarsi per ricevere notizie in tempo reale dai suoi “informatori” preferiti. Siti di informazione giuridica come www.studiocataldi.it o siti di notizie relative al mondo informatico come http://www.Turbolab.it utilizzano già da tempo questa caratteristica.
Telegram è inoltra fornita di ‘chat segreta’, che non è abilitata di default. I messaggi vengono distrutti dopo un limite di tempo impostato dall’utente e non dovrebbero essere recuperati – in seguito vedremo che non è così -. Le stesse vengono escluse dai backup, il che consente agli utenti il pieno controllo dei dati che considerano sensibili e risiedono sul dispositivo dell’utente.
I messaggi tra gli utenti e il server vengono passati secondo il protocollo di messaggistica Telegram, scritto in casa e denominato MTProto[4] – dalla release 4.6, i principali client Telegram utilizzano MTProto 2.0 e la versione 1.0 è ormai divenuta obsoleta -:
Gli utenti utilizzano uno scambio di chiavi Diffie-Hellman[5] per generare una chiave comune che viene quindi utilizzata per lo scambio dei messaggi. Essi comunicano con il server utilizzando la chiave RSA pubblica del server, che è “hard-coded” nei client Telegram e cambia raramente.
Le chat segrete sono legate a dispositivi specifici ed è impossibile continuare una conversazione su un dispositivo diverso da quello dove la chat è iniziata. Gli utenti devono creare e autenticare i loro account usando un codice di autenticazione ricevuto a mezzo SMS sul dispositivo in uso.
Telegram è fornito inoltre di un meccanismo di verifica in due passaggi per il quale l’utente, una volta configurata una password aggiuntiva, deve inserirla ogni volta che accede all’applicazione – nel caso, chiaramente, di logout -.
Telegram mette a disposizione, gratuitamente, due tipi di API[6] per gli sviluppatori. Le API per la creazione di Bot – abbreviazione di robot che consente di automatizzare un servizio e di dialogare con utenti reali, tramite chat, senza che dall’altro lato ci sia un essere umano – e le API di Telegram, le quali consentono la creazione di propri client Telegram personalizzati.
Che dire, lo scenario che si pone davanti all’informatico forense non è certo idilliaco.
Oltre all’applicazione client Telegram Messenger, vi sono molte probabilità di trovare client Telegram personalizzati con funzioni non note e interazioni non conosciute.
Un rapido cenno merita anche “Telegram X”, nettamente più veloce ed efficiente, in passato conosciuto come “Telegram HD”.
Telegram X per iOS è interamente scritto in Swift[7] ed è significativamente più leggero, più veloce e più efficiente di Telegram Messenger, realizzata con Objective C[8].
Riepilogando, quindi:
Tutti i dati sono crittografati. Le chat segrete utilizzano la crittografia end-to-end (EE2E), le chat cloud utilizzano la crittografia client–server /server-client e sono ovviamente crittografate anche nello storage.
Per proteggere i dati che non sono coperti dalla crittografia end-to-end, Telegram utilizza un’infrastruttura distribuita che è unica tra le app di IM. I dati di Cloud Chat vengono memorizzati in modo crittografato in diversi data center in tutto il mondo controllati da diverse entità legali distribuite in diverse giurisdizioni.
Le relative chiavi di decrittazione sono suddivise in parti e non vengono mai conservate nello stesso luogo dei dati che proteggono.
Questa soluzione ibrida è stata lanciata da Telegram nel 2013 e da allora è stata emulata da Kakao (2014), Line (2015), Google Allo (2016) e Facebook Messenger (2016). Tutti questi servizi hanno introdotto le proprie versioni di chat crittografate end-to-end oltre alla messaggistica di base basata su cloud.
Per quanto è a mia conoscenza, non vi sono ad oggi lavori pubblicati che affrontino l’analisi forense dei dati gestiti da Telegram Messenger e che forniscano una metodologia per ottenerli e consentire, nel contempo, la ricostruzione degli eventi relativi all’indagato e la validazione dei risultati prodotti.
Vi sono alcuni software forensi in grado di decifrare le evidenze archiviate da Telegram – Cellebrite Ufed, Oxygen Forensics Detective, Magnet Axiom, Belkasoft Evidence Center solo per citarne alcuni -, ma gli stessi non forniscono alcuna spiegazione su come questa decodifica venga eseguita, né tantomeno alcun ausilio su come utilizzare i vari elementi estratti al fine di ricostruire completamente le attività dell’utente.
Pertanto, alla luce di quanto sopra, è praticamente impossibile valutare la completezza e la correttezza dei risultati generati.
Identica problematica – quale la mancanza di informazione e chiarezza – si riscontra a seguito dell’acquisizione delle evidenze dai dispositivi da analizzare: alcuni software, utilizzando a seconda dei casi le varie tipologie a disposizione (direct/logica/filesystem/fisica), effettuano operazioni sui dati da estrarre impostando password e configurazioni senza fornire alcuna spiegazione.
Ad esempio:
Oxygen Forensics Detective[9] cifra i backup di iTunes senza alcun avviso e senza richiederne il consenso all’investigatore, assegnando al backup la password “Oxygen”. E’ noto che la codifica dei backup di iTunes viene adoperata per aggiungere ulteriori informazioni non presenti nei backup non codificati: password salvate, cronologia dei siti web, impostazioni Wi-Fi e dati inerenti la salute.
Altri, invece, si comportano da veri “gentiluomini”:
Telegram è noto come l’instant messenger più sicuro, ma non crittografa i file di database pertinenti memorizzati sul dispositivo. Pertanto, l’analisi forense di Telegram Messenger sul dispositivo, ammesso sia possibile recuperare i file di database in dipendenza della versione di iOs installata, può effettuarsi senza grandi problemi.
Il database principale di Telegram Messenger è tgdata.db che si trova nella directory /private/var/mobile/Containers/Shared/AppGroup/9C8C5F63-4EF3-4D6C-9F7F-C71B9A0970A/Documents. Il file di database non è crittografato, consentendo una visualizzazione intuitiva dei dati memorizzati nel database.
Le tabelle di particolare interesse investigativo sono le seguenti:
Dai test effettuati in laboratorio con l’ausilio di vari software forensi (Oxygen detective rel. 10.2.1.2, Msab Xry rel.7.7.1 e Magnet Axiom rel. 2.1.0.927) su di un dispositivo aventi le caratteristiche indicate in fig.2 – iOS 11.3 -, gli stessi non sono stati in grado di estrarre nulla in riferimento ai db utilizzati dall’applicazione, di seguito elencati:
L’acquisizione logica – l’unica attuabile – ha consentito unicamente di estrarre solo poche informazioni, quali immagini identificative attribuite ai profili della lista contatti, allegati di chat, file di configurazione dell’app. Chiaramente ben poca cosa rispetto al bisogno dell’investigatore.
Il ricorso invece a Oxygen Cloud Backup ha consentito, invece, – fornendo il solo numero telefonico e il codice di autorizzazione pervenuto a mezzo SMS – l’estrazione delle informazioni direttamente dal cloud, come evidenziato in calce:
Le evidenze estratte hanno permesso dunque la ricostruzione degli eventi (timeline, contatti, chat, file multimediali e aggregazioni al bisogno) e consentito l’analisi di ogni singolo artefatto. Dal database estrapolato, Oxygen effettuava anche un carving dei record eventualmente cancellati (cfr. Fig. 3).
La struttura del file system è evidenziata in calce:
Nella directory Attachments vi si trovano i file multimediali relativi alle chat e ai profili:
La timeline ricostruita dal software presentava tutti i messaggi in ordine cronologico:
E le chat, tutti i dati indispensabili per lo studio delle conversazioni e degli interlocutori:
Il database estratto è composto da 8 tabelle autoesplicative:
Quelle di interesse investigativo, users, attachments, chat members, group_chats e messages possono essere messe in relazione tra loro con semplici query sql e ricostruire la cronologia delle chat.
In conclusione:
Ci affidiamo a dispositivi mobile per archiviare le nostre risorse digitali e consentirci di accedervi. I nostri telefoni sono sempre con noi e sono diventati una forma principale di comunicazione vocale, video e di messaggistica.
Questo rende i nostri dispositivi mobile obiettivi di grande valore per gli inquirenti.
Ormai quasi tutti gli strumenti commerciali tentano di supportare l’estrazione delle applicazioni fornite da terze parti. Purtroppo le app vengono aggiornate frequentemente ed è possibile che gli strumenti utilizzati in ambito forense possano perdersi qualcosa. Uno studio accurato sul funzionamento delle app, su come vengono memorizzati i dati e sul loro funzionamento è parte integrale del bagaglio di esperienza di un informatico forense.
Il mio consiglio è quello di testare sempre e accuratamente gli strumenti con cui si approcciano le acquisizioni e le analisi in ambito forense.
Un report ben costruito non è automatico, ma è frutto di una mediazione implicita tra mente umana e strumento.
A volte è proprio questo che fa la differenza.
Penso che la coscienza collettiva abbia ormai compreso che il lavoro di un informatico forense esperto non può essere sostituito da alcuno strumento, ma solo coadiuvato.
Stay Tuned.
A cura di: Cosimo de Pinto
Il Fascicolo Sanitario Elettronico (FSE) rappresenta un paradigma fondamentale nell'evoluzione della digitalizzazione dei sistemi sanitari,…
Nel contesto della rapida evoluzione tecnologica globale, l'Unione Europea ha intrapreso una trasformazione digitale ambiziosa…
Il libro "Spazio & Cyber: intersezioni e convergenze, alla luce dei nuovi scenari emergenti" mette…
In questo primo contenuto, ci concentreremo su due aspetti fondamentali: il principio di accountability nel…
Nel corso del 22° Forum ICT Security, la Tavola Rotonda dedicata a Sanità Digitale e…
In Italia, come nel resto del mondo, il settore della sanità e la sua catena…