Signal Desktop

(pubblicato il 25 gennaio 2021) Signal Splash Fonte: Signal.org

Signal è senza dubbio un buon prodotto. Personalmente,ho valutato i 3 client principali in seguito alla gazzarre che si è scatenata qualche giorno fa. Ma… c'è un “ma”. Una cosa su cui mi sono voluto soffermare, è Signal Desktop. Comodissima da usare per chi, come me, passa 8-9 ore davanti ad un pc ma con un lato oscuro mica da poco.

La volta scorsa, nella mia analisi, ho cercato di raccogliere tutto quello che potesse costituire una minaccia alla privacy dell'utente. Da lì, Signal è emerso bello, prepotente e gagliardo. Cifra tutto, nulla viene lasciato in chiaro sacrificando poco sulle funzionalità che stanno rapidamente evolvendo a quanto sembra. Ma sull'app desktop il paradigma cambia. Signal Desktop, come Whatsapp, usa un backend sqlite come strato di persistenza:

BASE_PATH:

DB: $BASEPATH/sql/db.sqlite KEY: si trova in $BASEPATH/config.json. Può essere estratta dal file di configurazione con un parser json come jq.

BASE_PATH=~/.config/Signal
DB=${BASE_PATH}/sql/db.sqlite
KEY=$(jq -r '."key"' ${BASE_PATH}/config.json );
sqlcipher -list -noheader ${DB} "PRAGMA key = \"x'"${KEY}"'\";select json from messages;" > ~/signaldb_clear.txt;

Quali possono essere le conseguenze? Chi ha accesso (fisicamente o attraverso un malware) alla macchina potrebbe decifrare il database istantaneamente oppure potrebbe fare un dump dell'intera cartella per lavorarci offline.

Per mitigare l'eventualità, lo stesso confondatore, Moxie Marlinspike, suggerisce di ricorrere a tool di terze parti. Nello specifico si parla della cifratura del disco di tipo FDE o FBE.

In linea di principio la posizione ufficiale di Signal è che la crittografia a riposo per sqlite non è mai stata un obiettivo. Sqlite viene cifrato da sqlcipher con una chiave che non è mai stata concepita per essere mantenuta segreta.

L'obiezione sollevata da molti però (e anche abbastanza condivisibile) è che la crittografia dei dati è abilitata su Android/iOS (nulla viene scritto in chiaro sul device, cifratura e decifratura avvengono in memoria) nonostante la cifratura stessa del device sia ormai il default. Non lo è sull'app desktop dove la cifratura del disco invece NON È il default.

Insomma una situazione sul desktop per Signal simile a quella di Whatsapp sul mobile (database cifrati ma con possibilità di decifratura disponendo della chiave in chiaro) che si può comprendere, immagino, solo se si considera la diversità dei mondi su cui girano queste applicazioni: utenti tendenzialmente meno smaliziati per la parte mobile, al contrario di quelli desktop dove, probabilmente, si presuppone un grado di intervento e una capacità di cura per i propri dati differente.

Altre obiezioni nel tempo sono state mosse per l'assenza, in Signal Desktop, di una funzionalità di blocco con password (come in Telegram per es. che però serve anche ad abilitare la cifratura dei dati in locale) che, in assenza della quale, consentirebbe di accedere ai contenuti delle chat. Una volta ottenuta la disponibilità del desktop, chiaramente (ad es. se ci si allontana dalla sedia). Anche in questo caso, Signal risponde abbastanza laconicamente sostenendo che c'è un “blocca desktop” già offerto dal proprio sistema operativo, prima di pensare al blocco dell'app (non ha tutti i torti in effetti. Questa visione altrimenti andrebbe estesa ad ogni applicazione).

In buona sostanza, la tendenza sembra sia ancora quella di non far ricadere sull'app compiti che, si reputa, non le spetterebbero. Considerazione anche condivisibili ma che vanno a minare un po' l'usabilità del prodotto perché ci si rende conto di quanto il confine fra sicurezza chiavi in mano e necessità di intervento da power user diventi sempre più sottile.

In ogni caso, dal momento che il valore della sicurezza di un sistema informatico è quello del suo anello più debole, direi che Signal Desktop è la parte che necessita di maggior attenzione per l'utente, che altrimenti vedrebbe vanificati tutti i suoi sforzi nell'utilizzo di un sistema di comunicazione sicuro.

N.B. Sto solo mettendo in luce quella che a me sembra una debolezza di un sistema di comunicazione che fa della sicurezza il suo mantra. Il confronto con Whatsapp è ingeneroso e anche fuorviante in questo contesto. Posto che il problema non sia tanto chi metta mani fisicamente sul dispositivo (sia in questo caso che nel confronto precedente), la falla nella privacy imputabile a Whatsapp risiede nella condivisione dei metadati che attua con Facebook, al di là delle speculazioni su come sia possibile ricavare dei dati dal dispositivo stesso.

Aggiornamento: Con la versione 7.24.1 signal.org aggiunge la crittografia dei dati a riposo anche alla versione desktop

#signal