Un trio di ricercatori divisi tra Italia e Regno Unito lo hanno recentemente fatto pubblicato un documento sulle insicurezze crittografiche trovate in una lampadina intelligente ampiamente conosciuta.
I ricercatori sembrano aver scelto il dispositivo di destinazione, il TP-Link Tapo L530E, sulla base del fatto che lo è “attualmente [il] best seller su Amazon Italia,” quindi non sappiamo come si comportano le altre lampadine intelligenti, ma il loro rapporto ha comunque molto da insegnarci.
I ricercatori dicono che:
Abbiamo doverosamente contattato TP-Link tramite il loro Vulnerability Research Program (VRP), segnalando tutte e quattro le vulnerabilità riscontrate.
Li hanno riconosciuti tutti e ci hanno informato che hanno iniziato a lavorare sulle correzioni sia a livello di app che a livello di firmware della lampadina, pianificando di rilasciarli a tempo debito.
Nel bene e nel male (gli autori dell'articolo non dicono se siano state concordate date di divulgazione con TP-Link, quindi non sappiamo da quanto tempo l'azienda sta lavorando sulle sue patch), i ricercatori hanno ora rivelato come i loro attacchi funzionano, anche se senza fornire alcun codice di attacco copia e incolla che gli aspiranti hacker domestici possano sfruttare a piacimento.
Abbiamo quindi pensato che valesse la pena esaminare il documento.
Configurazione wireless
Come molti dispositivi cosiddetti "intelligenti", il Tapo L530E è progettato in modo da poter essere configurato rapidamente e facilmente tramite Wi-Fi.
Sebbene la configurazione basata sul wireless sia comune anche per i dispositivi alimentati a batteria che possono essere caricati e configurati tramite porte USB integrate, come fotocamere e accessori per biciclette, le lampadine generalmente non dispongono di porte USB, anche per motivi di spazio e sicurezza. ragioni, dato che sono progettati per essere collegati e lasciati in una presa di corrente.
Accendendo e spegnendo ripetutamente una lampadina Tapo L530E con l'interruttore a muro per un secondo alla volta, puoi forzarla in modalità di configurazione (a quanto pare, la lampadina lampeggia automaticamente tre volte per dirti quando è pronta per la configurazione).
Come la maggior parte dei dispositivi configurabili automaticamente, questo fa sì che la lampadina intelligente si trasformi in un punto di accesso Wi-Fi con un nome di rete facile da riconoscere del tipo Tapo Bulb XXXX
, dove le X formano una stringa di cifre.
Ti connetti quindi a quel punto di accesso temporaneo, che non è protetto da password, da un'app sul tuo smartphone.
Quindi dici alla lampadina come connettersi sia alla tua rete Wi-Fi domestica protetta da password che al tuo account cloud TP-Link in futuro, dopodiché il firmware della lampadina può riavviarsi e connettersi a Internet, permettendoti di gestirlo. dall'app sul tuo telefono.
La lampadina può connettersi alla rete domestica, il che significa che puoi contattarla direttamente tramite il tuo Wi-Fi quando sei a casa, anche se il tuo ISP è offline in quel momento.
Inoltre, la lampadina può connettersi via Internet al tuo account cloud, quindi puoi anche inviarle comandi indirettamente tramite il tuo account cloud mentre sei in viaggio, ad esempio per accendere e spegnere le luci se torni tardi a rientrare. per dare l'impressione che ci sia qualcuno in casa.
Attenzione agli impostori
Probabilmente puoi indovinare dove sta andando.
Se l'app sul tuo telefono non dispone di alcun metodo crittograficamente efficace per capire se è effettivamente collegata a una lampadina autentica durante il processo di configurazione...
…poi un aggressore nelle vicinanze a cui capita di mettere in piedi un falso Tapo Bulb XXXX
punto di accesso al momento giusto potrebbe indurti a inviare quegli importanti segreti di configurazione al loro dispositivo "lampadina impostore" invece che a quello reale, catturando così sia la tua password Wi-Fi che i dettagli del tuo account TP-Link.
La buona notizia è che i ricercatori hanno notato che sia l'app Tapo che il firmware L530E includevano un controllo di sicurezza di base per aiutare l'app e le lampadine a trovarsi in modo affidabile, riducendo così il rischio che l'app spioni le tue password quando dovrebbe 'T.
Ma la cattiva notizia è che il protocollo viene utilizzato per questo sei davvero una lampadina? Lo scambio è stato chiaramente progettato per evitare errori piuttosto che per prevenire attacchi.
In parole povere, l'app individua eventuali lampadine sulla sua rete trasmettendo speciali pacchetti UDP alla porta 20002 e vedendo quali dispositivi rispondono, se presenti.
Per aiutare qualsiasi lampadina in ascolto a decidere che un Sei qui? la richiesta proviene dall'app Tapo, piuttosto che da qualche altro prodotto o servizio sconosciuto che utilizza anche la porta 20002, la richiesta include ciò che in gergo è noto come hash con chiave.
Il Io sono qui! la risposta dalla lampadina include lo stesso tipo di checksum con chiave per aiutare l'app a filtrare le risposte UDP impreviste e indesiderate.
In poche parole, l'hash con chiave è un checksum basato non solo sui dati nel pacchetto UDP ma anche su alcuni byte chiave aggiuntivi che vengono anch'essi inseriti nel checksum.
Sfortunatamente, il protocollo Tapo utilizza byte di chiave fissa per il suo checksum, con la stessa "chiave" cablata nell'app e nel firmware di ogni lampadina Tapo.
In altre parole, una volta che qualcuno ha decompilato l'app, o il firmware della lampadina, o entrambi, e ha recuperato questa "chiave", si dovrebbe presumere che chiunque e tutti sapranno di cosa si tratta, rendendoli unci sei? / Sono qui! messaggi banali da falsificare.
Peggio ancora, i ricercatori hanno scoperto che non avevano bisogno di decompilare nulla, perché questa "chiave" non così segreta è lunga solo 32 bit, il che significa che impostando la propria lampadina Tapo in modalità configurazione e quindi alimentandola Sei qui? messaggi utilizzando tutti e 232 possibili chiavi di checksum, alla fine colpirai il tasto giusto con quello che è noto come forza bruta.
Questo è l'equivalente crittografico di girare i quadranti per provare ogni combinazione sul lucchetto di una bicicletta, ad esempio 000
a 999
, finché non sei fortunato e la serratura si apre. (In media, aprirai la serratura dopo aver provato la metà delle combinazioni possibili, ma non ci vorranno mai più di 1000 tentativi.)
In effetti, non avevano bisogno di inviarne 232 messaggi dall'app a una lampadina per aprire la chiave.
Catturando un solo messaggio autentico con un hash con chiave valido, potevano quindi testare tutte le possibili chiavi offline fino a produrre un messaggio con lo stesso hash con chiave di quello che avevano salvato.
Ciò significa che l’attacco di forza bruta potrebbe procedere alla velocità della CPU, non semplicemente alla velocità del pacchetto della rete Wi-Fi, e i ricercatori affermano che "Nella nostra configurazione, l'attacco di forza bruta è sempre riuscito in media in 140 minuti."
(Supponiamo che l'abbiano provato ripetutamente solo per verificare che il loro codice di cracking funzionasse correttamente, anche se con una chiave cablata condivisa da tutte le lampadine Tapo, solo il primo crack sarebbe stato sufficiente.)
Finché parlerai in modo sicuro, non mi interessa chi lo fa
Il successivo problema crittografico si è presentato nella fase successiva del processo di installazione della lampadina ed è stato un errore simile.
Dopo aver accettato una lampadina come autentica in base a un hash con chiave che in realtà non ha una chiave, l'app concorda una chiave di sessione per crittografare il suo traffico con la lampadina "autentica"...
…ma ancora una volta non ha modo di verificare se l’accordo chiave è avvenuto con una lampadina vera o con un impostore.
Concordare una chiave di sessione è importante, perché garantisce che nessun altro sulla rete possa curiosare sulle password Wi-Fi e Tapo quando vengono successivamente inviate dall'app Tapo a quella che pensa sia una lampadina Tapo.
Ma non avere un processo di verifica per l'accordo chiave in sé è un po' come collegarsi a un sito web tramite HTTPS e poi non preoccuparsi di eseguire nemmeno il controllo più elementare sul certificato web che restituisce: il tuo traffico sarà sicuro in transito, ma potrebbe tuttavia finire direttamente nelle mani di un truffatore.
L'app Tapo si identifica con la lampadina (o ciò che pensa sia una lampadina) inviandole una chiave pubblica RSA, che l'altra estremità utilizza per crittografare una chiave AES generata casualmente per proteggere i dati scambiati durante la sessione.
Ma il dispositivo a lampadina non fornisce alcun tipo di identificazione, nemmeno un checksum con una chiave a 32 bit cablata, all'app Tapo.
Pertanto, l'app non ha altra scelta che accettare la chiave di sessione senza sapere se proviene da una vera lampadina o da un dispositivo impostore.
Il risultato combinato di questi due difetti è che un utente malintenzionato sulla tua rete potrebbe prima convincerti che il suo punto di accesso non autorizzato era una vera lampadina in attesa di essere configurata, attirandoti quindi nel posto sbagliato e poi convincendoti a inviarla. una copia crittografata delle tue password Wi-Fi e Tapo.
Ironicamente, quelle password trapelate sarebbero davvero sicure contro chiunque... tranne contro l'impostore con il punto di accesso non autorizzato.
Numero usato una volta, usato più e più volte
Purtroppo c'è di più.
Quando abbiamo detto sopra "quelle password trapelate sarebbero davvero sicure", non era del tutto corretto.
La chiave di sessione stabilita durante il processo di accordo sulla chiave descritto in precedenza non viene gestita correttamente, perché i programmatori hanno commesso un errore nell'uso di AES.
Quando l'app crittografa ogni richiesta che invia a una lampadina, utilizza una modalità di crittografia chiamata AES-128-CBC.
Non spiegheremo CBC (concatenamento di blocchi cifrati) qui, ma menzioneremo solo che la modalità CBC è progettata in modo tale che se crittografi la stessa porzione di dati più di una volta (come richieste ripetute a accendere la luce ed spegni la luce, dove i dati grezzi nella richiesta sono ogni volta gli stessi), non si ottiene ogni volta lo stesso output.
Se ogni Accendi ed luci spente request è risultata identica, quindi una volta che un utente malintenzionato ha indovinato cosa a spegnilo pacchetto, non solo avrebbero potuto riconoscere quei pacchetti in futuro senza decrittografarli, ma anche riprodurre quegli stessi pacchetti senza dover sapere come crittografarli in primo luogo.
In effetti, la crittografia basata su CBC si basa effettivamente sul "seminamento" del processo di crittografia per ogni blocco di dati mescolando prima un blocco di dati unico e scelto casualmente nel processo di crittografia, creando così una sequenza unica di dati crittografati nel resto del pezzo.
Questi dati “seme” si chiamano in gergo an IV, abbreviazione di vettore di inizializzazionee, sebbene non sia pensato per essere segreto, deve essere ogni volta imprevedibilmente diverso.
In poche parole: stessa chiave + IV univoco = output di testo cifrato univoco, ma stessa chiave + stesso IV = crittografia prevedibile.
I codificatori TP-Link, sfortunatamente, generavano un IV nello stesso momento in cui creavano la chiave di sessione AES, e poi utilizzavano lo stesso IV più e più volte per ogni pacchetto di dati successivo, anche quando i dati precedenti venivano ripetuti esattamente.
Questo è un no-no crittografico.
Ho inviato sei pacchetti o solo cinque?
L'ultimo problema crittografico riscontrato dai ricercatori è uno che potrebbe comunque danneggiare la sicurezza anche se il problema del vettore di inizializzazione fosse risolto, vale a dire che i vecchi messaggi, indipendentemente dal fatto che un utente malintenzionato sappia cosa significano o meno, possono essere riprodotti in seguito come se fossero nuovi.
In genere, questo tipo di rigiocare l'attacco è gestito nei protocolli crittografici da una sorta di numero di sequenza, o timestamp, o entrambi, incluso in ciascun pacchetto di dati per limitarne la validità.
Come la data su un biglietto del treno che ti svelerà se provi a usarlo per due giorni di seguito, anche se il biglietto stesso non viene mai cancellato da una biglietteria automatica o timbrato da un controllore, numeri di sequenza e timestamp nei pacchetti di dati servire a due scopi importanti.
In primo luogo, gli aggressori non possono registrare il traffico oggi e riprodurlo facilmente in seguito, creando potenzialmente caos.
In secondo luogo, è possibile rilevare e controllare in modo affidabile il codice difettoso che invia ripetutamente richieste per errore, ad esempio a causa di risposte perse o di riconoscimenti di rete mancanti.
Cosa fare?
Se utilizzi una lampadina Tapo, tieni gli occhi aperti per gli aggiornamenti firmware di TP-Link che risolvono questi problemi.
Se sei un programmatore responsabile della protezione del traffico di rete e delle configurazioni dei prodotti basati sulla rete, leggere il documento di ricerca per assicurarti di non aver commesso errori simili.
Ricorda le seguenti regole:
- La crittografia non riguarda solo la segretezza. La crittografia è solo una parte della “santa trinità” crittografica riservatezza (crittografarlo), autenticità (verificare chi c'è dall'altra parte) e interezza (assicuratevi che nessuno lo abbia manomesso lungo il percorso).
- Assicurati che le chiavi o gli IV monouso siano davvero univoci. Il termine del gergo comune nonce, utilizzato per questo tipo di dati, è l'abbreviazione di numero usato una volta, una parola che ricorda chiaramente che le flebo non devono mai essere riutilizzate.
- Protezione dagli attacchi di riproduzione. Questo è un aspetto speciale per garantire la autenticità ed interezza abbiamo menzionato sopra. Un utente malintenzionato non dovrebbe essere in grado di catturare una richiesta che stai facendo adesso e riprodurla ciecamente in seguito senza essere individuato. Ricorda che non è necessario che un utente malintenzionato sia in grado di comprendere un messaggio se può riprodurlo e potenzialmente creare caos.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Automobilistico/VE, Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- Grafico Prime. Migliora il tuo gioco di trading con ChartPrime. Accedi qui.
- BlockOffset. Modernizzare la proprietà della compensazione ambientale. Accedi qui.
- Fonte: https://nakedsecurity.sophos.com/2023/08/22/smart-light-bulbs-could-give-away-your-password-secrets/
- :ha
- :È
- :non
- :Dove
- $ SU
- 1
- 125
- 15%
- 25
- 32
- 700
- a
- capace
- WRI
- sopra
- Assoluta
- Accetta
- Accettando
- accesso
- accessori
- Il mio account
- riconosciuto
- aggiuntivo
- indirizzo
- AES
- Dopo shavasana, sedersi in silenzio; saluti;
- ancora
- contro
- concordato
- Accordo
- Tutti
- Consentire
- lungo
- anche
- Sebbene il
- sempre
- am
- Amazon
- an
- ed
- in qualsiasi
- nulla
- App
- SONO
- AS
- aspetto
- assumere
- At
- attacco
- attacchi
- autore
- gli autori
- auto
- automaticamente
- media
- evitare
- lontano
- precedente
- background-image
- Vasca
- basato
- basic
- base
- BE
- perché
- stato
- MIGLIORE
- Meglio
- fra
- Po
- ciecamente
- Bloccare
- sistema
- entrambi
- Parte inferiore
- Broadcasting
- forza bruta
- incassato
- ma
- by
- detto
- è venuto
- telecamere
- Materiale
- catturare
- Catturare
- che
- cause
- centro
- a livello internazionale
- carico
- dai un'occhiata
- verifica
- scegliere
- scelto
- chiaramente
- Cloud
- codice
- colore
- combinazione
- combinazioni
- combinato
- Uncommon
- azienda
- Configurazione
- configurato
- Connettiti
- collegato
- Collegamento
- contatti
- controllata
- convincere
- correggere
- potuto
- Portata
- coprire
- crepa
- creare
- creato
- Creazione
- crittografico
- dati
- Data
- Date
- Giorni
- decide
- descritta
- progettato
- dettagli
- rilevato
- dispositivo
- dispositivi
- diverso
- cifre
- direttamente
- Rivelazione
- Dsiplay
- do
- effettua
- non
- Dont
- caduto
- dovuto
- durante
- ogni
- In precedenza
- facilmente
- in maniera efficace
- o
- altro
- crittografato
- crittografia
- fine
- abbastanza
- garantire
- assicura
- assicurando
- interamente
- Equivalente
- sviluppate
- Anche
- alla fine
- Ogni
- di preciso
- esempio
- Tranne
- exchange
- scambiati
- Spiegare
- Sfruttare
- Occhi
- fatto
- falso
- alimentazione
- filtro
- Trovate
- Nome
- fisso
- difetti
- i seguenti
- Nel
- forza
- forgiare
- modulo
- essere trovato
- quattro
- da
- futuro
- generalmente
- generato
- genuino
- ottenere
- ottenere
- Dare
- dato
- Go
- va
- andando
- buono
- indovinato
- ha avuto
- Metà
- Mani
- accade
- nuocere
- hash
- Avere
- avendo
- altezza
- Aiuto
- qui
- Colpire
- Casa
- librarsi
- Come
- Tutorial
- HTTPS
- i
- Identificazione
- identifica
- if
- importante
- in
- incluso
- inclusi
- indirettamente
- informati
- invece
- Internet
- ai miglioramenti
- ISP
- sicurezza
- IT
- Italia
- SUO
- stessa
- gergo
- join
- ad appena
- solo uno
- mantenere
- Le
- Tasti
- Sapere
- Conoscere
- conosciuto
- Cognome
- In ritardo
- dopo
- meno
- a sinistra
- livelli
- leggera
- lampadine
- piace
- LIMITE
- Ascolto
- Lunghi
- guardò
- cerca
- macchina
- fatto
- make
- Fare
- gestire
- molti
- Margine
- max-width
- significare
- si intende
- significava
- menzionato
- semplicemente
- messaggio
- messaggi
- Minuti
- mancante
- errore
- errori
- Miscelazione
- Moda
- momento
- Scopri di più
- maggior parte
- devono obbligatoriamente:
- Nome
- cioè
- Bisogno
- che necessitano di
- Rete
- Nome della rete
- traffico di rete
- basato sulla rete
- mai
- tuttavia
- New
- notizie
- GENERAZIONE
- no
- Nessuna
- normale
- adesso
- numero
- numeri
- of
- MENO
- offline
- Vecchio
- on
- una volta
- ONE
- esclusivamente
- aprire
- or
- minimo
- Altro
- nostro
- su
- Risultato
- produzione
- ancora
- proprio
- pacchetti
- Carta
- parte
- Password
- Le password
- Patch
- Paul
- Eseguire
- telefono
- posto
- pianificazione
- Platone
- Platone Data Intelligence
- PlatoneDati
- Giocare
- giocato
- Abbondanza
- Collegato
- punto
- Pops
- posizione
- possibile
- Post
- potenzialmente
- Prevedibile
- prevenire
- precedente
- probabilmente
- Problema
- procedere
- processi
- Prodotto
- Prodotto
- Programma
- Programmatore
- I programmatori
- protetta
- protocollo
- protocolli
- fornire
- fornitura
- la percezione
- chiave pubblica
- fini
- metti
- rapidamente
- generato in modo casuale
- piuttosto
- Crudo
- pronto
- di rose
- veramente
- motivi
- recentemente
- riconoscere
- record
- riducendo
- parente
- rilasciare
- ricorda
- ripetuto
- RIPETUTAMENTE
- rispondere
- rapporto
- Reportistica
- richiesta
- richieste
- riparazioni
- ricercatori
- responsabile
- REST
- Rivelato
- destra
- Rischio
- strada
- RIGA
- rsa
- norme
- Sicurezza
- Suddetto
- stesso
- dire
- Secondo
- Segreto
- sicuro
- in modo sicuro
- fissaggio
- problemi di
- vedendo
- sembrare
- inviare
- invio
- invia
- inviato
- Sequenza
- servire
- servizio
- Sessione
- set
- regolazione
- flessibile.
- condiviso
- Corti
- dovrebbero
- simile
- SIX
- smart
- smartphone
- Curiosare
- So
- solido
- alcuni
- Qualcuno
- lo spazio
- parlare
- la nostra speciale
- velocità
- dividere
- pila
- Stage
- inizia a
- iniziato
- Regione / Stato
- Ancora
- dritto
- Corda
- forte
- successivo
- Successivamente
- tale
- sicuro
- SVG
- Interruttore
- Fai
- Target
- dire
- temporaneo
- termine
- test
- di
- che
- Il
- Regno Unito
- loro
- Li
- poi
- Là.
- perciò
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- cosa
- pensa
- questo
- quelli
- pensiero
- tre
- Attraverso
- così
- biglietto
- tempo
- volte
- timestamp
- a
- oggi
- ha preso
- top
- traffico
- Treni
- transito
- transizione
- trasparente
- provato
- trio
- veramente
- prova
- TURNO
- Turned
- Svolta
- seconda
- Digitare
- Uk
- capire
- Inaspettato
- purtroppo
- unico
- Sconosciuto
- fino a quando
- Aggiornamenti
- URL
- us
- usb
- uso
- utilizzato
- Utente
- usa
- utilizzando
- Convalida
- verificare
- via
- vulnerabilità
- vulnerabilità
- In attesa
- Muro
- Prima
- Modo..
- we
- sito web
- Sito web
- WELL
- sono stati
- Che
- quando
- se
- quale
- while
- OMS
- Wi-fi
- larghezza
- volere
- con
- senza
- Word
- parole
- Lavora
- lavoro
- peggio
- valore
- sarebbe
- Wrong
- X's
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro