Fino ad oggi gli sviluppatori dell’apprezzata app di messaggistica Signal, in passato consigliata anche dalla Commissione Europea ai suoi dipendenti, hanno sempre gettato acqua sul fuoco su un problema che emerse addirittura nel 2018. Il client desktop per Windows e macOS si appoggia a un database SQLite, utilizzato per memorizzare i messaggi dell’utente.
Il contenuto di tale database è decodificabile soltanto con un’apposita chiave che però, ed è questo che ha fatto sobbalzare molti esperti, è conservata in un semplice file di testo, senza alcuna protezione. Si chiama %appdata%\Signal\config.json
su Windows e ~/Library/Application Support/Signal/config.json
su macOS.
Se Signal può accedere a questa chiave, può farlo anche qualsiasi altro utente o programma in esecuzione sul computer, rendendo il database cifrato praticamente inutile. Una soluzione proposta dal ricercatore Nathaniel Suchy era di cifrare il database locale con una password fornita dall’utente, che non sarebbe stata memorizzata da nessuna parte, come avviene con i software di backup cloud, i browser Web, i gestori di password e i portafogli di criptovalute.
Signal aveva minimizzato il problema
Qualche anno fa, quando fu segnalato a Signal l’aspetto relativo alla gestione del database dei messaggi memorizzato locale, gli sviluppatori ridimensionarono la problematica sostenendo che la crittografia a riposo non è un aspetto su cui Signal Desktop intende puntare. L’app di messaggistica mira soprattutto a fornire una protezione totale sui dati in transito, grazie a una solida soluzione di cifratura end-to-end.
Di recente Elon Musk ha puntato platealmente il dito contro Signal sostenendo che ci sono vulnerabilità sconosciute non ancora affrontate dagli sviluppatori dell’app. Dal canto suo, Meredith Whittaker, presidente di Signal, ha risposto che non esistono vulnerabilità note tali da essere affrontate e che eventuali problemi di sicurezza dovrebbero comunque essere comunicati a Signal in modo responsabile.
Dopo una nuova bordata di critiche, Signal ha finalmente deciso di prendere provvedimenti. Uno sviluppatore indipendente, Tom Plant, ha proposto di sfruttare l’API SafeStorage di Electron per proteggere il database di Signal contro gli attacchi offline. L’API SafeStorage fornisce metodi aggiuntivi per proteggere la chiave di cifratura utilizzata per cifrare i dati memorizzati localmente. Come? Memorizzando le chiavi di cifratura con il sistema crittografico del sistema operativo e “portachiavi” sicuri.
Sebbene questa soluzione rappresenti un deciso passo avanti, i detrattori sottolineano che la mossa di Signal è arrivata solo dopo la polemica sollevatasi su X.