Un trio de chercheurs répartis entre l'Italie et le Royaume-Uni a récemment publié un document sur les insécurités cryptographiques qu’ils ont trouvées dans une ampoule intelligente bien connue.
Les chercheurs semblent avoir choisi leur appareil cible, le TP-Link Tapo L530E, en partant du principe qu'il est "actuellement [le] best-seller sur Amazon Italie", nous ne savons donc pas comment les autres ampoules intelligentes se comparent, mais leur rapport a quand même beaucoup à nous apprendre.
Les chercheurs disent que:
Nous avons consciencieusement contacté TP-Link via leur programme de recherche sur les vulnérabilités (VRP), signalant les quatre vulnérabilités que nous avons trouvées.
Ils les ont tous reconnus et nous ont informés qu'ils avaient commencé à travailler sur des correctifs à la fois au niveau de l'application et du micrologiciel de l'ampoule, prévoyant de les publier en temps voulu.
Pour le meilleur ou pour le pire (les auteurs du document ne précisent pas si des dates de divulgation ont été convenues avec TP-Link, nous ne savons donc pas depuis combien de temps l'entreprise travaille sur ses correctifs), les chercheurs ont maintenant révélé comment leurs attaques fonctionnent, mais sans fournir de code d'attaque copié-collé que les pirates informatiques en herbe pourraient exploiter à volonté.
Nous avons donc pensé que ce document méritait d'être étudié.
Configuration sans fils
Comme de nombreux appareils dits "intelligents", le Tapo L530E est conçu pour pouvoir être configuré rapidement et facilement via Wi-Fi.
Bien que la configuration sans fil soit courante même pour les appareils alimentés par batterie qui peuvent être chargés et configurés via des ports USB intégrés, tels que les appareils photo et les accessoires de vélo, les ampoules n'ont généralement pas de ports USB, notamment pour des raisons d'espace et de sécurité. raisons, étant donné qu’ils sont conçus pour être branchés et laissés dans une prise secteur.
En allumant et éteignant une ampoule Tapo L530E à plusieurs reprises au niveau de l'interrupteur mural pendant une seconde à la fois, vous pouvez la forcer en mode configuration (apparemment, l'ampoule clignote automatiquement trois fois pour vous indiquer quand elle est prête à être configurée).
Comme la plupart des appareils configurables automatiquement, l'ampoule intelligente se transforme en point d'accès Wi-Fi avec un nom de réseau facile à reconnaître de la forme Tapo Bulb XXXX
, où les X forment une chaîne de chiffres.
Vous vous connectez ensuite à ce point d'accès temporaire, qui n'est pas protégé par mot de passe, à partir d'une application sur votre smartphone.
Ensuite, vous indiquez à l'ampoule comment se connecter à la fois à votre réseau Wi-Fi domestique protégé par mot de passe et à votre compte cloud TP-Link à l'avenir, après quoi le micrologiciel de l'ampoule peut redémarrer et se connecter à Internet, vous permettant ainsi de la gérer. depuis l'application sur votre téléphone.
L'ampoule peut rejoindre le réseau domestique, ce qui signifie que vous pouvez la contacter directement via votre propre Wi-Fi lorsque vous êtes chez vous, même si votre FAI est hors ligne à ce moment-là.
Et l'ampoule peut se connecter via Internet à votre compte cloud, vous pouvez donc également lui envoyer des commandes indirectement via votre compte cloud pendant que vous êtes sur la route, par exemple pour allumer et éteindre les lumières si vous rentrez en retard. pour donner l'impression qu'il y a quelqu'un à la maison.
Attention aux imposteurs
Vous pouvez probablement deviner où cela se passe.
Si l'application sur votre téléphone ne dispose d'aucun moyen cryptographiquement efficace pour déterminer qu'elle est réellement connectée à une véritable ampoule lorsque vous suivez le processus de configuration…
… puis un attaquant à proximité qui, par hasard, lance un faux Tapo Bulb XXXX
Un point d'accès au bon moment pourrait vous inciter à envoyer ces secrets de configuration importants à leur appareil « ampoule imposteur » plutôt qu'à l'appareil réel, capturant ainsi à la fois votre mot de passe Wi-Fi et les détails de votre compte TP-Link.
La bonne nouvelle est que les chercheurs ont remarqué que l'application Tapo et le micrologiciel du L530E incluaient un contrôle de sécurité de base pour aider l'application et vos ampoules à se retrouver de manière fiable, réduisant ainsi le risque que l'application laisse échapper vos mots de passe alors qu'elle le devrait. 't.
Mais la mauvaise nouvelle est que le protocole utilisé pour cela es-tu vraiment une ampoule ? L'échange était clairement conçu pour éviter les erreurs plutôt que pour prévenir les attaques.
En gros, l'application localise toutes les ampoules sur son réseau en diffusant des paquets UDP spéciaux sur le port 20002 et en voyant quels appareils répondent, le cas échéant.
Pour aider les ampoules qui écoutent à décider qu'un êtes-vous là? La demande provient de l'application Tapo, plutôt que d'un autre produit ou service inconnu qui utilise également le port 20002, la demande inclut ce que l'on appelle dans le jargon un hachage à clé.
La Je suis là! La réponse de l'ampoule inclut le même type de somme de contrôle saisie pour aider l'application à filtrer les réponses UDP inattendues et indésirables.
En termes simples, le hachage à clé est une somme de contrôle basée non seulement sur les données du paquet UDP, mais également sur certains octets de clé supplémentaires qui sont également intégrés dans la somme de contrôle.
Malheureusement, le protocole Tapo utilise des octets de clé fixes pour sa somme de contrôle, avec la même « clé » câblée dans l'application et dans le micrologiciel de chaque ampoule Tapo.
En d’autres termes, une fois que quelqu’un a décompilé soit l’application, soit le micrologiciel de l’ampoule, ou les deux, et récupéré cette « clé », vous devez supposer que tout le monde saura de quoi il s’agit, ce qui en fait un problème.es-tu là ?/Je suis là ! des messages triviaux à forger.
Pire encore, les chercheurs ont découvert qu'ils n'avaient pas besoin de décompiler quoi que ce soit, car cette « clé » pas si secrète ne fait que 32 bits de long, ce qui signifie qu'en réglant votre propre ampoule Tapo en mode configuration, puis en l'alimentant êtes-vous là? messages utilisant les 232 clés de somme de contrôle possibles, vous finirez par appuyer sur la bonne touche par ce qu'on appelle la force brute.
C'est l'équivalent cryptographique de faire tourner les cadrans pour essayer chaque combinaison sur un antivol de vélo, disons de 000
à 999
, jusqu'à ce que vous ayez de la chance et que le verrou s'ouvre. (En moyenne, vous ouvrirez la serrure après avoir essayé la moitié des combinaisons possibles, mais cela ne vous prendra jamais plus de 1000 XNUMX tentatives.)
En fait, ils n'avaient pas besoin d'en envoyer 232 messages de l'application vers une ampoule pour casser la clé.
En capturant un seul message authentique connu contenant un hachage à clé valide, ils pouvaient ensuite tester toutes les clés possibles hors ligne jusqu'à ce qu'ils produisent un message contenant le même hachage à clé que celui qu'ils avaient enregistré.
Cela signifie que l'attaque par force brute pourrait se dérouler à la vitesse du processeur, et pas seulement à la vitesse des paquets du réseau Wi-Fi, et les chercheurs déclarent que "Dans notre configuration, l'attaque par force brute réussissait toujours en 140 minutes en moyenne."
(Nous supposons qu'ils l'ont essayé à plusieurs reprises juste pour vérifier que leur code de piratage fonctionnait correctement, bien qu'avec une clé câblée partagée par toutes les ampoules Tapo, leur premier piratage aurait suffi.)
Tant que vous parlerez en toute sécurité, je m'en fiche de vous qui êtes
Le problème cryptographique suivant est apparu lors de l’étape suivante du processus de configuration de l’ampoule et constituait une erreur similaire.
Après avoir accepté une ampoule comme authentique sur la base d'un hachage de clé qui n'a pas réellement de clé, l'application se met d'accord sur une clé de session pour chiffrer son trafic avec l'ampoule « authentique »…
…mais encore une fois, il n'a aucun moyen de vérifier si l'accord clé a eu lieu avec une vraie ampoule ou avec un imposteur.
Il est important de se mettre d'accord sur une clé de session, car cela garantit que personne d'autre sur le réseau ne peut espionner les mots de passe Wi-Fi et Tapo lorsqu'ils sont ensuite envoyés depuis l'application Tapo vers ce qu'elle pense être une ampoule Tapo.
Mais ne pas avoir de processus de vérification pour l'accord de clé lui-même, c'est un peu comme se connecter à un site Web via HTTPS et ne pas prendre la peine d'effectuer la vérification la plus élémentaire sur le certificat Web qu'il renvoie : votre trafic sera sécurisé en transit, mais pourrait néanmoins tomber directement entre les mains d'un escroc.
L'application Tapo s'identifie à l'ampoule (ou à ce qu'elle pense être une ampoule) en lui envoyant une clé publique RSA, que l'autre extrémité utilise pour chiffrer une clé AES générée aléatoirement afin de sécuriser les données échangées pendant la session.
Mais le dispositif à ampoule ne fournit aucune sorte d'identification, pas même une somme de contrôle avec une clé câblée de 32 bits, vers l'application Tapo.
Ainsi, l’application n’a d’autre choix que d’accepter la clé de session sans savoir si elle provient d’une vraie ampoule ou d’un appareil imposteur.
Le résultat combiné de ces deux failles est qu'un attaquant sur votre réseau pourrait d'abord vous convaincre que son point d'accès malveillant était une véritable ampoule attendant d'être configurée, et ainsi vous attirer au mauvais endroit, puis vous convaincre de l'envoyer. une copie cryptée de vos propres mots de passe Wi-Fi et Tapo.
Ironiquement, ces mots de passe divulgués seraient réellement protégés contre tout le monde… sauf l'imposteur doté du point d'accès malveillant.
Numéro utilisé une fois qui est utilisé encore et encore
Malheureusement, il y en a plus.
Quand on a dit plus haut que "Ces mots de passe divulgués seraient vraiment sécurisés", ce n'était pas tout à fait correct.
La clé de session établie lors du processus d'accord de clé que nous avons décrit précédemment n'est pas gérée correctement, car les programmeurs ont commis une erreur dans leur utilisation d'AES.
Lorsque l'application crypte chaque requête qu'elle envoie à une ampoule, elle utilise un mode de cryptage appelé AES-128-CBC.
Nous n'expliquerons pas CBC (enchaînement de blocs de chiffrement) ici, mais nous mentionnerons simplement que le mode CBC est conçu pour que si vous cryptez le même bloc de données plus d'une fois (comme des demandes répétées à allumer la lumière ainsi que éteignez la lumière, où les données brutes de la requête sont les mêmes à chaque fois), vous n'obtenez pas le même résultat à chaque fois.
Si chaque lumière allumée ainsi que lumière éteinte la requête est sortie de manière identique, puis une fois qu'un attaquant a deviné ce qu'est un l'éteindre À quoi ressemblait le paquet, ils pourraient non seulement reconnaître ces paquets à l'avenir sans les déchiffrer, mais également rejouer ces mêmes paquets sans avoir besoin de savoir comment les chiffrer en premier lieu.
En l’occurrence, le chiffrement basé sur CBC repose effectivement sur « l’amorçage » du processus de chiffrement pour chaque bloc de données en mélangeant d’abord un bloc de données unique choisi au hasard dans le processus de chiffrement, créant ainsi une séquence unique de données chiffrées dans le reste. du morceau.
Ces données « germes » sont connues dans le jargon an IV, abréviation de vecteur d'initialisation, et bien que ce ne soit pas censé être secret, il doit être différent de manière imprévisible à chaque fois.
En termes simples : même clé + IV unique = sortie de texte chiffré unique, mais même clé + même IV = cryptage prévisible.
Malheureusement, les codeurs TP-Link ont généré un IV en même temps qu'ils ont créé leur clé de session AES, puis ont utilisé le même IV encore et encore pour chaque paquet de données ultérieur, même lorsque les données précédentes étaient répétées exactement.
C'est un non-non cryptographique.
Ai-je envoyé six paquets, ou seulement cinq ?
Le dernier problème cryptographique découvert par les chercheurs pourrait encore nuire à la sécurité même si le problème du vecteur d’initialisation était résolu, à savoir que les anciens messages, qu’un attaquant sache ou non ce qu’ils signifient, peuvent être lus plus tard comme s’ils étaient nouveaux.
Généralement, ce type de attaque de rejeu est géré dans les protocoles cryptographiques par une sorte de numéro de séquence, ou d'horodatage, ou les deux, inclus dans chaque paquet de données afin d'en limiter la validité.
Comme la date sur un billet de train qui vous trahira si vous essayez de l'utiliser deux jours de suite, même si le billet lui-même n'est jamais annulé par un distributeur de billets ni poinçonné par un contrôleur de billets, les numéros de séquence et les horodatages dans les paquets de données. servir deux objectifs importants.
Premièrement, les attaquants ne peuvent pas enregistrer le trafic aujourd'hui et le restituer facilement plus tard, ce qui pourrait potentiellement créer des ravages.
Deuxièmement, les codes bogués qui envoient des requêtes à plusieurs reprises par erreur, par exemple en raison de réponses abandonnées ou d'accusés de réception réseau manquants, peuvent être détectés et contrôlés de manière fiable.
Que faire?
Si vous êtes un utilisateur d'ampoule Tapo, gardez les yeux ouverts pour les mises à jour du micrologiciel de TP-Link qui résolvent ces problèmes.
Si vous êtes un programmeur chargé de sécuriser le trafic réseau et les configurations de produits basés sur le réseau, lire à travers le document de recherche pour vous assurer que vous n'avez pas commis d'erreurs similaires.
N'oubliez pas les règles suivantes :
- La cryptographie n'est pas seulement une question de secret. Le chiffrement n’est qu’une partie de la « sainte trinité » cryptologique de confidentialité (le chiffrer), authenticité (vérifiez qui est à l'autre bout du fil), et intégrité (assurez-vous que personne ne l'a altéré en cours de route).
- Assurez-vous que toutes les clés ou IV uniques sont vraiment uniques. Le terme du jargon courant Nonce, utilisé pour ce type de données, est l'abréviation de numéro utilisé une fois, un mot qui rappelle clairement que les IV ne doivent jamais être réutilisées.
- Protégez-vous contre les attaques par rejeu. Il s'agit d'un aspect particulier de la garantie de authenticité ainsi que intégrité nous l'avons mentionné ci-dessus. Un attaquant ne devrait pas être en mesure de capturer une demande que vous faites maintenant et de la rejouer aveuglément plus tard sans se faire repérer. N'oubliez pas qu'un attaquant n'a pas besoin d'être capable de comprendre un message s'il peut le rejouer et potentiellement créer des ravages.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Automobile / VE, Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- GraphiquePrime. Élevez votre jeu de trading avec ChartPrime. Accéder ici.
- Décalages de bloc. Modernisation de la propriété des compensations environnementales. Accéder ici.
- La source: https://nakedsecurity.sophos.com/2023/08/22/smart-light-bulbs-could-give-away-your-password-secrets/
- :possède
- :est
- :ne pas
- :où
- $UP
- 1
- 125
- 15%
- 25
- 32
- 700
- a
- Capable
- A Propos
- au dessus de
- Absolute
- Accepter
- acceptant
- accès
- accessoires
- Compte
- reconnu
- Supplémentaire
- propos
- AES
- Après
- encore
- à opposer à
- convenu
- contrat
- Tous
- Permettre
- le long de
- aussi
- Bien que
- toujours
- am
- Amazon
- an
- ainsi que
- tous
- quoi que ce soit d'artificiel
- appli
- SONT
- AS
- d'aspect
- assumer
- At
- attaquer
- Attaques
- auteur
- auteurs
- auto
- automatiquement
- moyen
- éviter
- et
- RETOUR
- image de fond
- Mal
- basé
- Essentiel
- base
- BE
- car
- était
- LES MEILLEURS
- Améliorée
- jusqu'à XNUMX fois
- Bit
- aveuglément
- Block
- frontière
- tous les deux
- Bas et Leggings
- Radiodiffusion
- la force brute
- intégré
- mais
- by
- appelé
- venu
- de CAMÉRAS de surveillance
- CAN
- capturer
- Capturer
- les soins
- les causes
- Canaux centraux
- certificat
- accusé
- vérifier
- vérification
- le choix
- choisi
- clairement
- le cloud
- code
- Couleur
- combinaison
- комбинации
- combiné
- Commun
- Société
- configuration
- configurée
- NOUS CONTACTER
- connecté
- Connecter les
- contact
- contrôlée
- convaincre
- correct
- pourriez
- Cours
- couverture
- fissure
- engendrent
- créée
- La création
- cryptographique
- données
- Date
- Dates
- jours
- décider
- décrit
- un
- détails
- détecté
- dispositif
- Compatibles
- différent
- chiffres
- directement
- divulgation
- Commande
- do
- Ne fait pas
- Ne pas
- chuté
- deux
- pendant
- chacun
- Plus tôt
- même
- de manière efficace
- non plus
- d'autre
- crypté
- chiffrement
- fin
- assez
- assurer
- Assure
- assurer
- entièrement
- Équivalent
- établies
- Pourtant, la
- faire une éventuelle
- Chaque
- exactement
- exemple
- Sauf
- échange
- échangé
- Expliquer
- Exploiter
- Yeux
- fait
- faux
- alimentation
- une fonction filtre
- Trouvez
- Prénom
- fixé
- défauts
- Abonnement
- Pour
- Force
- forger
- formulaire
- trouvé
- quatre
- De
- avenir
- généralement
- généré
- véritable
- obtenez
- obtention
- Donner
- donné
- Go
- Goes
- aller
- Bien
- deviné
- ait eu
- Half
- Mains
- arrive
- nuire
- hachage
- Vous avez
- ayant
- la taille
- vous aider
- ici
- Frappé
- Accueil
- flotter
- Comment
- How To
- HTTPS
- i
- Identification
- identifie
- if
- important
- in
- inclus
- inclut
- indirectement
- Actualités
- plutôt ;
- Internet
- développement
- ISP
- vous aider à faire face aux problèmes qui vous perturbent
- IT
- Italie
- SES
- lui-même
- jargon
- rejoindre
- juste
- juste un
- XNUMX éléments à
- ACTIVITES
- clés
- Savoir
- connaissance
- connu
- Nom de famille
- En retard
- plus tard
- au
- à gauche
- niveaux
- lumière
- ampoules
- comme
- LIMIT
- Écoute
- Location
- regardé
- recherchez-
- click
- LES PLANTES
- a prendre une
- Fabrication
- gérer
- de nombreuses
- Marge
- largeur maximale
- signifier
- veux dire
- signifiait
- mentionné
- seulement
- message
- messages
- Minutes
- manquant
- erreur
- erreurs
- Mixage audio
- Mode
- moment
- PLUS
- (en fait, presque toutes)
- must
- prénom
- à savoir
- Besoin
- besoin
- réseau et
- Nom de réseau
- trafic réseau
- basé sur le réseau
- n'allons jamais
- Néanmoins
- Nouveauté
- nouvelles
- next
- aucune
- Aucun
- Ordinaire
- maintenant
- nombre
- numéros
- of
- de rabais
- direct
- Vieux
- on
- une fois
- ONE
- uniquement
- ouvert
- or
- de commander
- Autre
- nos
- ande
- Résultat
- sortie
- plus de
- propre
- paquets
- Papier
- partie
- Mot de Passe
- mots de passe
- Patches
- paul
- Effectuer
- Téléphone
- Place
- et la planification de votre patrimoine
- Platon
- Intelligence des données Platon
- PlatonDonnées
- Jouez
- joué
- Beaucoup
- Branché
- Point
- Pops
- position
- possible
- Poteaux
- l'éventualité
- Prévisible
- empêcher
- précédent
- Probablement
- Problème
- procéder
- processus
- Produit
- Produit
- Programme
- Programmeur
- Programmeurs
- protégé
- protocole
- protocoles
- fournir
- aportando
- public
- Clé publique
- des fins
- mettre
- vite.
- généré aléatoirement
- plutôt
- raw
- solutions
- réal
- vraiment
- Les raisons
- récemment
- reconnaître
- record
- réduire
- relatif
- libérer
- rappeler
- répété
- À PLUSIEURS REPRISES
- répondre
- rapport
- Rapports
- nécessaire
- demandes
- un article
- chercheurs
- responsables
- REST
- Révélé
- bon
- Analyse
- routières
- RANGÉE
- rsa
- Sécurité
- Saïd
- même
- dire
- Deuxièmement
- secret
- sécurisé
- en toute sécurité
- sécurisation
- sécurité
- voir
- sembler
- envoyer
- envoi
- envoie
- envoyé
- Séquence
- besoin
- service
- Session
- set
- mise
- installation
- commun
- Shorts
- devrait
- similaires
- SIX
- smart
- smartphone
- Fouiner
- So
- solide
- quelques
- Quelqu'un
- Space
- parler
- spécial
- vitesse
- scission
- empiler
- Étape
- Commencer
- j'ai commencé
- Région
- Encore
- droit
- Chaîne
- STRONG
- ultérieur
- Par la suite
- tel
- sûr
- SVG
- Interrupteur
- Prenez
- Target
- dire
- temporaire
- terme
- tester
- que
- qui
- La
- au Royaume-Uni
- leur
- Les
- puis
- Là.
- donc
- Ces
- l'ont
- chose
- Pense
- this
- ceux
- pensée
- trois
- Avec
- Ainsi
- billet
- fiable
- fois
- horodatage
- à
- aujourd'hui
- a
- top
- circulation
- Train
- transit
- transition
- communication
- essayé
- trio
- vraiment
- Essai
- TOUR
- Tourné
- Tournant
- deux
- type
- Uk
- comprendre
- Inattendu
- malheureusement
- expérience unique et authentique
- inconnu
- jusqu'à
- Actualités
- URL
- us
- usb
- utilisé
- d'utiliser
- Utilisateur
- Usages
- en utilisant
- Vérification
- vérifier
- via
- vulnérabilités
- vulnérabilité
- Attendre
- Wall
- était
- Façon..
- we
- web
- Site Web
- WELL
- ont été
- Quoi
- quand
- que
- qui
- tout en
- WHO
- Wi-fi
- largeur
- sera
- comprenant
- sans
- Word
- des mots
- activités principales
- de travail
- pire
- vaut
- pourra
- faux
- X
- Vous n'avez
- Votre
- zéphyrnet