Nota: so che il link di questo articolo parla di poste svizzere. È un pasticcio combinato da Blogger. Lascio così per non creare ulteriore confusione.
Cellebrite è un’azienda
israeliana che produce un programma di digital forensics, uno di quei
software usati dalle forze di polizia di molti paesi per entrare nei
telefonini degli indagati superandone le protezioni. Inevitabilmente è un
programma che si presta ad abusi, perché nei regimi autoritari viene usato
anche per violare i diritti dei dissidenti, degli attivisti e dei giornalisti
o per perseguitare gruppi di persone che non piacciono al governo di turno.
Qualche tempo fa Cellebrite si è vantata di aver aggiunto al proprio software
la capacità di acquisire dati da Signal. La cosa ha spaventato molti utenti,
che usano legittimamente Signal (prodotto open source ed estremamente
rispettoso e protettivo della privacy) al posto di WhatsApp o Telegram.
Moxie Marlinspike, uno dei creatori e gestori di Signal (insieme a Stuart
Anderson), non l’ha presa bene e ha scritto un
articolo in
cui non solo fa a pezzi e ridimensiona le vanterie di Cellebrite, ma inserisce
una trappola micidiale per l’azienda. Mai stuzzicare un informatico,
specialmente uno che ci tiene molto alla difesa dei diritti umani. Se usate
Signal, vi conviene leggere bene cosa ha scritto.
---
La prima cosa che Marlinspike chiarisce è che Cellebrite può agire soltanto
sui dispositivi che gli inquirenti hanno fisicamente a propria disposizione:
non fa intercettazione da remoto.
La prima parte del suo software, chiamata UFED, fa un backup dei dati
del dispositivo usando le risorse di backup presenti su di esso (adb backup
per Android e il backup di iTunes per iOS); la seconda,
Physical Analyzer (PA), analizza i file di questo backup per
presentarli in forma esplorabile.
Questo vuol dire che il software di Cellebrite estrae dati che sono
untrusted: ossia sono generati e controllati dalle singole app presenti
sul dispositivo. E questo a sua volta vuol dire che UFED e Physical Analyzer
sono vulnerabili qualora quei dati siano formattati in modi inattesi.
Marlinspike nota, per esempio, che UFED/PA includono una versione delle DLL di
FFmpeg che è ferma al 2012. Cellebrite non ha introdotto nessuno degli
oltre cento aggiornamenti di sicurezza
usciti in questi anni.
Avete già intuito dove sta andando a parare questa osservazione: Marlinspike
nota che è possibile eseguire codice arbitrario sul computer che fa girare il
software di Cellebrite
“semplicemente includendo un file appositamente formattato, ma per il resto
innocuo, in qualunque app presente in un dispositivo che viene poi collegato
a Cellebrite e scansionato.”
Per esempio, basta includere nel dispositivo un file di questo genere per
forzare Cellebrite a modificare non solo il report generato durante la
scansione di quel dispositivo, ma
anche tutti i report precedenti e futuri. Si possono aggiungere o
togliere testi, mail, foto, contatti, file, eccetera,
senza modifiche rilevabili dei timestamp e
senza errori di checksum. In altre parole, qualunque report sarebbe
invalidabile perché non darebbe alcuna garanzia di integrità dei dati
raccolti.
Un file “tossico” del genere potrebbe trovarsi in qualunque app, e finché
Cellebrite non sistema tutte le vulnerabilità del proprio software l’unica
contromisura praticabile per non trovarsi con un’installazione alterata e
inattendibile è non fare scansioni di dispositivi.
Marlinspike include nel suo articolo un
video che
dimostra cosa è possibile fare con questa tecnica. Questo è il fotogramma
finale:
L’azienda che produce Signal, scrive Marlinspike, è disposta a rivelare
responsabilmente le falle che ha scoperto nel software di Cellebrite se
Cellebrite farà altrettanto per tutte le falle che usa per estrarre i dati
eludendo le protezioni dei dispositivi. Touché.
Fra l’altro, nota Marlinspike, il software di Cellebrite (specificamente
l’installer di Physical Analyzer) contiene due pacchetti firmati digitalmente
da Apple che sembrano essere stati estratti dall’installer per Windows di
iTunes. Probabilmente questa è una violazione di licenza che potrebbe avere
conseguenze legali per Cellebrite e i suoi utenti.
Per finire, Marlinspike annuncia, “come notizia completamente slegata”,
che le future versioni di Signal includeranno dei file in più, che
“non vengono usati mai per nulla in Signal... ma sono belli, e l’estetica
nel software è importante”.