Telegram bocciata in privacy e sicurezza: peggio di Whatsapp, ecco perché - Cyber Security 360

LA GUIDA COMPLETA

Telegram bocciata in privacy e sicurezza: peggio di Whatsapp, ecco perché

Sono in tanti a chiedersi se Telegram garantisca realmente la sicurezza delle chat e la privacy. Ecco tutto quello che c’è da sapere sull’app di messaggistica rivale di WhatsApp, come funziona realmente la crittografia delle chat e come vengono gestiti i dati personali degli utenti

26 Gen 2021
Giorgio Sbaraglia

Consulente aziendale Cyber Security, membro del Comitato Scientifico CLUSIT

I tanti utenti che in questi giorni stanno migrando a Telegram dovrebbero porsi alcune domande su quale sia il reale livello di sicurezza e protezione della privacy di questa applicazione di messaggistica rispetto a WhatsApp (che, lo ricordiamo, aveva proposto un aggiornamento dei termini d’uso e dell’informativa privacy rimandato al prossimo 15 maggio 2021 dopo le numerose polemiche suscitate)

La risposta non è semplice, ma possiamo affermare – come spiegheremo – che per molti aspetti Telegram è meno sicura di WhatsApp e non è per nulla un esempio di privacy come tanti si aspetterebbero.

Telegram ha costruito il suo successo vendendosi come ibrido tra un’app di messaggistica e un social network e si è dotata nel corso degli anni di alcune funzionalità molto avanzate che la rendono abbastanza unica tra le app di messaggistica.

Ma nonostante cerchi di presentarsi come un’alternativa migliore e più sicura di WhatsApp, non è – in realtà – la scelta migliore per chi è in cerca di una soluzione che metta al sicuro le proprie comunicazioni.

C’è da dire anche che il codice sorgente di Telegram è open source (accessibile qui), ma questa trasparenza è solo parziale: riguarda l’applicazione e le relative API, mentre lato server il suo codice non è pubblico.

Telegram e sicurezza: la crittografia

Uno delle ragioni per cui Telegram è da ritenere meno sicura di altre app (e della stessa WhatsApp) è che non ha la crittografia end-to-end (E2E) impostata di default: le chat cloud (quelle standard) non sono crittografate di default end-to-end, ma solo in modalità client-server, come spiegheremo più avanti.

La gestione della crittografia in Telegram risulta in effetti piuttosto ambigua.

Oggi tutte le principali applicazioni di IM (Instant Messaging) implementano nativamente la crittografia end-to-end (E2E), con la parziale eccezione di Telegram e di Facebook Messenger.

Telegram e sicurezza: come funziona e a cosa serve la crittografia end-to-end

La crittografia end-to-end (letteralmente “da un estremo all’altro”) è un sistema di comunicazione cifrata dove solo il mittente ed il destinatario possono leggere i messaggi.

Serve ad impedire l’attacco man in the middle (MITM). Questo attacco punta a rubare dati e informazioni personali, intercettando “in the middle” la comunicazione tra due utenti.

Acquisendo il traffico di rete di una comunicazione crittografata si ottengono invece pacchetti di dati incomprensibili ed inutilizzabili, dato che le chiavi con cui la comunicazione viene cifrata non sono conosciute dall’attaccante.

La crittografia end-to-end si basa sulla crittografia asimmetrica (detta “a chiave pubblica”), realizzata mediante la generazione di una coppia di chiavi, una “privata” ed una “pubblica” che sono differenti, ma legate tra loro da un algoritmo che è stato inventato nel 1976 da Whitfield Diffie e Martin E.Hellman (si parla infatti di algoritmo Diffie-Hellman per lo scambio delle chiavi).

Il doppio paio di chiavi crittografiche (ognuno dei due utenti che si scambia il messaggio avrà due chiavi) è necessario per cifrare e decifrare i messaggi in partenza ed in arrivo. Ogni utente utilizzerà una propria chiave pubblica e una propria chiave privata, La chiave privata è destinata a rimanere sul dispositivo di ciascuno dei due “endpoint” e servirà a decrittare i messaggi in arrivo; la chiave pubblica, invece, sarà condivisa con l’interlocutore e verrà utilizzata per crittografare i messaggi in uscita.

Grazie a questa tecnica, le comunicazioni, pur viaggiando attraverso canali “aperti” e potenzialmente intercettabili (come è Internet), saranno leggibili solo dal dispositivo che ospita la chiave privata legata alla chiave pubblica utilizzata nel processo di crittografia.

Quindi se una comunicazione è crittografata end-to-end è sicura? Tecnicamente lo è, ma questo non significa che qualcuno non possa riuscire a leggerla.

Il punto debole può essere il dispositivo stesso e soprattutto l’uso che ne fa l’utente (e come sempre torniamo a porre l’attenzione sul “fattore umano”).

In altre parole: se una delle due estremità (endpoint) viene compromessa, se il nostro telefono viene rubato o violato (per esempio con uno spyware o un captatore informatico) o fisicamente confiscato dalla polizia e sbloccato, la crittografia non serve più a nulla.

Telegram e sicurezza: chat segrete e crittografia end-to-end

Telegram, come dicevamo, è una delle poche app di messagistica che non ha la crittografia E2E impostata di default: deve essere abilitata dall’utente, attivando le chat segrete. In caso contrario, se non si utilizza una chat segreta ma la chat cloud (cioè quella standard), i dati vengono salvati sui server di Telegram e questa è un’opzione senz’altro meno sicura.

Come attivare le chat segrete

Attivare le chat segrete richiede quindi una specifica azione da parte dell’utente e questa non è neppure del tutto immediata: si deve scegliere il contatto a cui scrivere, si clicca sull’icona del contatto e tra le opzioni disponibili si deve scegliere l’opzione Avvia chat segreta. Da questo momento la chat con quel contatto sarà crittografata E2E e sarà segnalata nell’elenco delle chat con il simbolo di un lucchetto.

Questa opzione, oltre a risultare un po’ macchinosa, non è conosciuta da tutti, quindi la maggior parte delle persone utilizza Telegram con le impostazioni predefinite.

Non solo: sui messaggi che riceviamo non abbiamo nessun controllo, quindi sarà molto probabile che la maggior parte di questi non saranno crittografati E2E.

Da ricordare poi che solo le chat segrete (quelle E2E) non vengono sottoposte al backup, a differenza dei messaggi non crittografati. E il backup della chat (sebbene comodo) rappresenta un punto di debolezza, potenzialmente attaccabile.

In sintesi: le chat ed i gruppi non hanno di default la crittografia end-to-end, ma semplicemente sono crittografati client-server. Questo significa che i messaggi arrivano ai server di Telegram, che potrebbe leggerli (escluse le “chat segrete”).

Significa anche che le comunicazioni sono potenzialmente accessibili ad ogni autorità governativa che sia in grado di obbligare Telegram a fornire le chiavi. In questo caso la sede legale di Telegram si trova a Dubai, quindi diversamente da WhatsApp e Signal, Telegram LLC non deve sottostare alle norme USA.

Anche i gruppi e i canali Telegram non sono criptati di default end-to-end: se troviamo un gruppo o un canale attraverso il motore di ricerca dell’app (si trovano gruppi di tutti i generi), è molto probabile che le comunicazioni al suo interno non siano sicure.

Telegram e sicurezza, chat segrete e chat cloud: le differenze

Perché Telegram ha scelto di non usare di default la crittografia E2E? Pavel Durov lo spiega in questo articolo del 2017, dove definisce questa scelta “The Telegram Way”. Citiamo in sintesi:

“Nel 2013, quando stavamo lanciando Telegram, abbiamo considerato attentamente entrambi gli approcci. Sapevamo che non volevamo violare la privacy dei nostri utenti spostando la responsabilità dei loro dati a backup di terze parti come fanno WhatsApp o Viber. Così, dopo alcune ricerche, abbiamo deciso di introdurre due tipi di chat: le chat segrete e le chat cloud.

Le chat segrete sono chat criptate E2E che non vengono mai in nessun caso salvate. Le chat cloud sono criptate allo stesso modo, ma hanno anche un backup integrato nel cloud. Le chat cloud sono progettate per la maggior parte degli utenti, la maggioranza che in un’altra app come WhatsApp si affiderebbe ad uno storage di backup di terze parti meno sicuro. A differenza di quello che si ha nelle app di nicchia, il traffico tra gli utenti delle chat cloud e gli utenti delle chat segrete su Telegram è misto (la crittografia è la stessa in entrambi i casi, ma nelle chat cloud i nostri server hanno accesso alla chiave di crittografia), quindi gli individui non possono essere individuati e presi di mira in base al fatto che usano chat segrete e quindi hanno qualcosa da nascondere”.

Quanto affermato da Durov ci aiuta a capire meglio il funzionamento di Telegram, ma – a parere di chi scrive – non porta argomentazioni convincenti a favore della soluzione scelta da Telegram. Sembra soprattutto il tentativo di volersi differenziare a tutti i costi dal concorrente WhatsApp, lo si coglie anche nella frase che conclude il post del fondatore di Telegram: “Spero che questo post dia un’idea di come funziona Telegram e perché crediamo che la nostra architettura abbia più senso di quella delle app più vecchie”.

Chat segrete e chat cloud: vantaggi e svantaggi

Alcune motivazioni per la verità sono sensate: Durov evidenzia come le app quali WhatsApp (citato ossessivamente) si affidano ad Apple iCloud e Google Drive per memorizzare la cronologia dei messaggi dei loro utenti e prevenire la perdita di dati nel caso in cui i loro utenti perdano i loro smartphone. Questi backup – come abbiamo già spiegato – non sono criptati E2E e vengono decriptati ogni volta che l’utente cambia smartphone e ripristina la cronologia dei messaggi.

Il fatto che messaggi che inviamo e riceviamo finiscano nel cloud in forma non criptata non è segnalato all’utente in modo trasparente e chiaro.

Durov è però obbligato ad ammettere che “l’approccio di Signal/Wickr/Confide è più sicuro perché le chat non vengono mai salvate”, evidenziando però che questo rappresenta un limite se l’utente vuole migrare le chat su un altro dispositivo.

Una delle peculiarità di Telegram è appunto che, a differenza di WhatsApp, è interamente basata sul proprio cloud, permettendo così l’accesso alla cronologia dei messaggi da diversi dispositivi contemporaneamente, perché le chat sono salvate e sincronizzate nei server sul cloud.

Ciò significa anche che Telegram non usa il nostro numero di telefono per funzionare. Questa è una differenza importante rispetto ai concorrenti WhatsApp e Signal (che invece associano l’utente ad un numero telefonico).

In realtà è comunque obbligatorio avere un numero di telefono per iscriversi a Telegram: questo è necessario per ricevere il codice di verifica in fase di prima registrazione. Eseguito questo passaggio, l’app offre poi la possibilità di scegliere di non condividere il proprio numero di telefono con le persone con cui si chatta: queste visualizzeranno solo il nome scelto nella forma @username (che deve essere univoco e non già utilizzato, avere lunghezza minima di cinque caratteri e non iniziare con numeri o underscore).

Se si conosce lo username, lo si può raggiungere digitando l’URL https://telegram.me/username, senza conoscere il suo numero di telefono. Oppure il link equivalente abbreviato: https://t.me/username.

Per impedire la pubblicazione del proprio numero di telefono si dovrà accedere alle Impostazioni e nella voce Privacy e sicurezza sarà possibile decidere chi può vedere il nostro numero, scegliendo tra tre opzioni: Tutti, I miei contatti oppure Nessuno.

La gestione della privacy in Telegram

Ai fini della privacy, è utile conoscere anche l’opzione dei “messaggi a scomparsa”, se desideriamo che i nostri messaggi vengano cancellati.

Questa opzione funziona solo nelle chat segrete: possiamo impostare un timer di scadenza sul messaggio da inviare (si può scegliere da un secondo fino ad una settimana) e il messaggio si cancellerà per entrambi (mittente e destinatario) alla scadenza stabilita.

C’è da dire, comunque, che l’opzione dei messaggi a scomparsa (o effimeri) non è una prerogativa solo di Telegram essendo ormai presente in molte altre applicazioni di messaggistica.

Viceversa, se usiamo le chat cloud (non quelle segrete) potremo semplicemente cancellare il messaggio già inviato. In questo caso Telegram ci offre due scelte, disponibili sia per il mittente che per il destinatario:

  • Elimina per me e [nome destinatario]
  • Elimina per me

Se scegliamo la prima opzione, il messaggio sparirà dalla chat di entrambi. Con la seconda opzione invece rimarrà sulla chat dell’altra persona.

Telegram e sicurezza: come vengono gestiti i metadati

Esiste nelle applicazioni di messaggistica un’altra criticità, poco nota e grandemente sottovalutata: sono i metadati. Anche se il messaggio non è leggibile grazie alla crittografia E2E, assieme al messaggio vengono trasmesse molte altre informazioni, definite appunto “metadati”.

Nel caso di un messaggio i metadati sono, per esempio: data e ora di invio, i numeri di telefono del mittente e del destinatario, la loro localizzazione e via dicendo.

Si tratta quindi di una “fingerprint” (impronta digitale elettronica) che aggiunge automaticamente dati identificativi al messaggio. Tali dati possono fornire ad un soggetto terzo informazioni importanti. Questo permette di profilarci e di costruire il nostro grafo sociale (“Social Graph”).

La gestione dei metadati in Telegram ha un livello di privacy migliore di quello di WhatsApp, ma decisamente peggiore rispetto a quello di altre chat sicure quali Signal, Wire, Threema, Wickr, più discrete ed attente alla nostra privacy.

Nell’articolo Privacy delle app: facciamo attenzione abbiamo esaminato le etichette Privacy dell’app introdotte su App Store di iOS dallo scorso 8 dicembre 2020. Qui si può vedere quante e quali informazioni dell’utente ogni app tratta e conserva. Nella figura sottostante è riportata l’etichetta privacy pubblicata da Telegram.

Ma ci sono altri aspetti da considerare: quando si registra un account su Telegram, l’app carica l’intero database dei contatti sui server di Telegram (opzionale su iOS). Dobbiamo concedere all’app l’accesso alla nostra lista contatti, come per WhatsApp. Ogni contatto viene poi copiato e salvato dall’app, affinché possa notificarci quando qualcuno dei nostri contatti si iscrive a Telegram. Questo però permette all’app di raccogliere dati di persone che non si sono mai iscritte a Telegram.

Altre app, come Signal, hanno trovato un modo migliore per raccogliere questi dati: li anonimizzano con la crittografia. Telegram, invece, non sembra che adotti una tecnica di anonimizzazione.

Quindi come WhatsApp, anche Telegram raccoglie metadati – compreso l’indirizzo IP e il tipo di dispositivo che si usa (sotto la voce “ID utente”) – e li conserva nei propri server per un anno. Gli indirizzi IP possono essere usati per tracciare utenti singoli e persino i loro spostamenti.

Teniamolo presente nella scelta e nella valutazione delle app di messaggistica che intendiamo utilizzare.

Telegram e sicurezza: i dettagli dell’algoritmo di crittografia

Telegram utilizza un algoritmo di crittografia MTProto 2.0, che è un protocollo proprietario appositamente progettato da Telegram per l’accesso ad una server API da applicazioni attive su device mobile.

Come spiegato da Telegram stessa, gli algoritmi sono in realtà di due tipi:

  1. MTProto 2.0 part I: per le chat cloud. Si tratta di una crittografia server-client che utilizza soprattutto l’algoritmo di crittografia simmetrica AES a 256 bit.
  2. MTProto 2.0 part II: per le chat segrete. Si tratta di una crittografia end-to-end che utilizza ancora l’algoritmo di crittografia simmetrica AES a 256 bit, oltre ad un algoritmo di crittografia asimmetrica derivato da RSA 2048 bit.

La documentazione illustrativa fornita da Telegram su MTProto è molto completa, tuttavia secondo alcuni esperti di crittografia MTProto 2.0 è ritenuto un algoritmo debole, senz’altro meno sicuro soprattutto rispetto al Signal Encryption Protocol, creato da Signal ed usato anche da WhatsApp e Skype.

Citiamo quanto dichiarato da Matthew Green, professore di crittografia alla Johns Hopkins University: “Hanno fondamentalmente inventato un protocollo. Secondo il loro post sul blog, hanno un paio di matematici davvero brillanti che non sono davvero crittografi, ma erano intelligenti, così hanno inventato il loro protocollo. È abbastanza folle. Non è qualcosa che un crittografo userebbe. Detto questo, non so se sia stato rotto. Ma è solo strano”.

Green non è l’unico a essere perplesso sulla sicurezza professata da Telegram. Il ricercatore di sicurezza Thaddeus Grugq, meglio conosciuto come “grugq”, ha scritto un post piuttosto duro sul suo blog: “Telegram è incline all’errore, ha una crittografia casalinga instabile, perde voluminosi metadati, ruba la rubrica, ed è ora noto come un ritrovo di terroristi. Non potrei pensare a una combinazione peggiore per un messenger sicuro. In breve, per una migliore protezione, usate qualsiasi altra cosa. Perché usare un’app con una crittografia così inaffidabile, invece di un’app affidabile come Signal?”.

Tutte le funzioni di Telegram

Completata l’analisi tecnica degli aspetti privacy e sicurezza di Telegram, possiamo ora concentrarci sulle varie funzionalità offerte dall’app per la gestione delle chat.

Come dicevamo all’inizio, Telegram è nata come un ibrido tra un’app di messaggistica e un social network. Questa sua posizione “ibrida”, che va oltre alla semplice messaggistica, consente di offrire molte funzionalità che la rendono differente rispetto alle tante altre piattaforme di messaggistica concorrenti. Le più interessanti sono:

  • i gruppi;
  • i canali;
  • i bot.

I gruppi

Esistono due tipi di gruppi:

  • i gruppi “normali” formati da un massimo di 200 utenti;
  • i “super gruppi” che possono arrivare ad un massimo di 200.000 membri.

Nei gruppi normali tutti possono modificare le informazioni basiche e aggiungere file e altri elementi. Nei super gruppi soltanto i moderatori possono gestire questi aspetti.

I canali

Oltre ai gruppi, su Telegram esistono anche i canali, cioè gruppi “broadcast” in cui soltanto il proprietario può scrivere per diffondere aggiornamenti o notizie agli iscritti con modalità “uno a molti”.

I canali sono pubblici, raggiungibili da chiunque attraverso un URL unico e specifico, e non hanno alcun limite in termini di iscritti. Funzionano come una newsletter e per questo vengono utilizzati da testate giornalistiche per pubblicare le notizie, attraverso messaggi Telegram contenenti il titolo della notizia ed il link all’articolo completo.

I bot

Telegram offre la possibilità di creare i BOT, simili ad auto-risponditori che possono essere attivati in automatico con precise stringhe di testo e richieste particolari.

Questi BOT vengono creati (cioè programmati) da sviluppatori indipendenti, che utilizzano le funzionalità messe a disposizione dall’applicazione e per le quali Telegram fornisce istruzioni per l’uso.

Per interfacciarsi con un BOT e ricevere risposte automatiche, basta digitare il nome del BOT stesso nella casella di ricerca di Telegram e attenersi alla sintassi prevista da ogni singolo BOT: quando ricevono il comando giusto, i BOT rispondono eseguendo la funzione per la quale sono stati programmati. L’utente può inserire solo le domande (o le stringhe) necessarie all’ottenimento del risultato per cui il BOT è stato realizzato.

Alcuni esempi per chiarirne il funzionamento:

  • in un BOT di tracciamento pacchi si può inserire solo il numero di tracciamento della spedizione;
  • in un BOT Meteo si potrà inserire solo il nome della località per la quale si richiede la previsione meteo;
  • e molti altri: il limite è solo la fantasia dei programmatori.

Indichiamo – a titolo di esempio – il BOT: @Username_bot. Se ci accediamo, potremo richiedere a Telegram se un determinato username risulta disponibile.

Oppure il simpatico BOT: @TriviaBot, dove possiamo provare a rispondere a quiz di vario genere.

Le altre funzionalità di Telegram

A differenza di altre applicazioni concorrenti, in Telegram c’è la possibilità di organizzare le chat in cartelle, per mantenere le conversazioni in ordine.

Si può fare la condivisione di file di ogni genere e pesanti fino a 2 GB (nuovo limite introdotto con l’aggiornamento 6.3.1 di alcuni mesi fa).

Nel 2020 è stata introdotta anche l’opzione Chat vocali (Voice chat) che permette di chattare con chiunque sia in linea o invitare altre persone. Le chat vocali di Telegram possono ospitare alcune migliaia di partecipanti.

Fino a poco tempo fa mancavano le Videochiamate (presenti ormai in tutte le app concorrenti): Telegram le ha aggiunte nell’agosto del 2020 – quindi sette anni dopo la nascita dell’applicazione – e dichiara che sono protette con la crittografia end-to-end, come pure le chiamate vocali. Ha anche preannunciato il lancio delle videochiamate di gruppo.

Segnaliamo peraltro che la qualità delle videochiamate in Telegram non è elevata, sicuramente peggiore di quella di altre app, quali WhatsApp e Signal.

Come altre app, ha l’applicazione desktop (denominata Telegram Desktop), sia per Windows che per macOS, che si sincronizza con il cellulare e funziona piuttosto bene.

Telegram in sintesi

In conclusione: Telegram è sicuramente un prodotto di messaggistica pratico e ricco di funzionalità, che non è sottoposto alle logiche commerciali che caratterizzano WhatsApp. Non può essere considerato però il migliore in termini di sicurezza.

PRO:

molto diffuso nel mondo;

non è sottoposta alle logiche commerciali che caratterizzano WhatsApp;

interfaccia semplice;

messaggi a scomparsa con scadenza definita dall’utente;

creazione di gruppi fino a 200 mila utenti;

canali “broadcast” (invio “uno a molti”);

funzioni BOT;

condivisione di file pesanti fino a 1,5 GB;

basata sul Cloud: non si deve esporre il numero di telefono per chattare;

il codice sorgente è open source (in parte);

ha l’applicazione desktop.

CONTRO:

le chat di default (cloud chat) non sono cifrate end-to-end ma soltanto in modalità client-server;

la crittografia E2E funziona solo per le chat segrete;

raccoglie nei propri server alcuni metadati degli utenti;

l’algoritmo di crittografia proprietario MTProto 2.0 non è ritenuto molto sicuro;

ha le videochiamate, ma di qualità modesta.

@RIPRODUZIONE RISERVATA

Articolo 1 di 3