Il mese scorso, la CIA ha attirato un sacco di attenzione quando WikiLeaks ha postato dei documenti interni per mostrare come l’agenzia tenga d’occhio le persone attraverso le smart TV Samsung. C’è una precisazione da fare, comunque — l’hack coinvolgeva vecchi modelli di smart TV, ed era necessario avere accesso fisico al device per installare il malware via USB.
Ma l’accesso per questo tipo di hijacking è molto più facile di quanto si pensasse all’inizio, perché un ricercatore israeliano ha scoperto 40 vulnerabilità sconosciute, anche dette zero-days, che permettono di hackerare milioni di smart TV, smartwatch e smartphone sul mercato, così come quelli non ancora rilasciati, senza bisogno di avere accesso fisico. Le falle di sicurezza sono nel sistema operativo open-source chiamato Tizen che Samsung ha installato sui suoi device negli ultimi anni.
Videos by VICE
Samsung ha cercato per lungo tempo di ridurre la sua dipendenza da Google e Android per i suoi device Galaxy. Usa Tizen per 30 millioni di smart TV, smartwatch e un certo numero di telefoni in paesi come la Russia, l’India e il Bangladesh — la compagnia conta di avere 10 millioni di telefoni Tizen sul mercato, quest’anno. Samsung ha anche annunciato qualche mese fa che Tizen sarebbe stato installato in lavastoviglie e congelatori smart.
“Forse il codice peggiore che io abbia mai visto.”
Ma il sistema operativo ha delle vulnerabilità piuttosto serie che rendono facile per un hacker prendere il controllo dei device, lo sostiene il ricercatore israeliano Amihai Neiderman.
“Forse è il codice peggiore che io abbia mai visto,” ha detto a Motherboard in un’intervista sulla ricerca che presenterà al Security Analyst Summit di Kaspersky Lab lunedì prossimo. “Tutto quello che si può fare di sbagliato è stato fatto. Nessun esperto di sicurezza ha scritto o anche solo controllato il codice. È come se ci avesse lavorato un liceale.”
Tutte queste vulnerabilità permetterebbero all’hacker di prendere il controllo di un device Samsung da remoto, in quella che si chiama remote-code execution. Ma una falla scoperta da Neiderman è particolarmente critica. Coinvolge la app TizenStore — la versione Samsung di Google Play Store. Neiderman dice di essere riuscito a infettare la sua stessa TV.
Visto che il software TizenStore opera con la più alta priorità sul device, è il Sacro Graal di ogni hacker. “Puoi aggiornare un sistema Tizen con tutti i codici che vuoi,” dice.
Anche se TizenStore usa un’autenticazione per assicurarsi che installino software solo i Samsung autorizzati, Neiderman ha trovato un mucchio di vulnerabilità che gli hanno dato il controllo del dispositivo prima ancora che l’autenticazione si avviasse.
Anche se i ricercatori hanno scoperto i problemi dei loro dispositivi Samsung, Tizen non ha avuto l’attenzione necessaria dalla community degli esperti di sicurezza, forse perché non è ancora usata ampiamente sui telefoni.
Neiderman, che è a capo della ricerca della Equus Software, ha iniziato ad analizzare il codice otto mesi fa, prima di comprare una TV Samsung con Tizen installato. Al tempo, Samsung stava installando il sistema operativo soltanto sui televisori e sugli orologi in alcuni paesi.
“Puoi aggiornare un sistema Tizen con tutti i codici maligni che vuoi.”
I primi telefoni con Tizen installato sono stati venduti in India, ma da allora si sono allargati a Sud Africa, Nepal, parte dell’Africa e Indonesia. Ci sono indizi che Samsung stia cercando di venderne anche in America Latina e Medio Oriente, parte dell’Europa e infine Stati Uniti. La compagnia ha anche iniziato a spingere per espandere il catalogo delle applicazoni offrendo 10.000 dollari agli sviluppatori con le 100 app mobile più scaricate.
Non è stato difficile per Neiderman notare quanto facesse schifo il codice della sua TV, cosa che lo ha portato a comprare anche qualche telefono Tizen per vedere cosa potesse farci. Dice che gran parte del codice Tizen è basata su un precedente progetto Samsung, incluso Bada, un sistema operativo di cui è stato interrotto l’uso.
“Si vede che hanno preso tutto il codice e hanno cercato di spingerlo dentro Tizen” ha detto Neiderman.
Ma la maggior parte delle vulnerabilità che ha trovato sono in un codice nuovo, scritto specificatamente per Tizen negli ultimi due anni. Molte di esse sono degli errori che i programmatori facevano tipo venti anni fa, ciò indica il fatto che a Samsung mancano le basi per controllare e individuare certe falle.
Un esempio che cita è l’uso di strcpy(), una funzione per replicare i dati in memoria con un’imperfezione di base: non riesce a capire se c’è abbastanza spazio in memoria per salvare i dati. Questo può creare una condizione di eccesso di buffer di cui chi attacca può approfittare. Una condizione che si può presentare quando lo spazio in cui sono scritti i dati è troppo piccolo, e questi vengono salvati in aree adiacenti della memoria. Secondo Neiderman i programmatori non usano più questa funzione da tempo, mentre Samsung la “mette dappertutto”.
Ha anche osservato che i programmatori hanno usato nella maniera sbagliata la crittazione SSL per le connessioni sicure. L’hanno usata in alcuni casi sì in altri no, e non sempre nel modo giusto.
“Hanno fatto un sacco di errori nel collocare la crittazione,” ha detto. Ed è probabile non abbiano usato SSL coscientemente, aggiunge.
Ha contattato Samsung mesi fa per riportare i problemi ma ha ricevuto in risposta soltanto un’email automatica. Quando Motherboard ha contattato la compagnia coreana, un portavoce ha inviato una risposta vaga via mail: “Samsung Electronics prende molto seriamente le questioni di privacy e sicurezza. Controlliamo i nostri sistemi regolarmente e se troviamo una vulnerabilità agiamo tempestivamente di conseguenza.”
Dopo la pubblicazione di questo articolo, la compagnia ha inviato un altra dichiarazione che dice: “collaboreremo con Neiderman per mitigare ogni potenziale vulnerabilità. Samsung è pronta a lavorare con esperti di tutto il mondo per mitigare i rischi legati alla sicurezza.”
Neiderman dice che è stato in contatto con Samsung negli ultimi giorni e ha segnalato le falle. Dice anche che Samsung dovrebbe rivedere l’uso di Tizen nei telefoni prima di rivedere il codice.
“Tizen è il più grosso progetto di Samsung. I prossimi Galaxy ce l’avranno, potrebbe accadere presto. Ma al momento non ci sono le condizioni.”