Dans cet article d'introduction, nous examinerons les principaux aspects de sécurité de l'un des sujets les plus populaires ces derniers temps - l'Internet des objets.
Si vous êtes en quelque sorte au courant des nouvelles dans le domaine de la cybersécurité, vous avez peut-être remarqué que les cas de
création de réseaux de zombies à partir de caméras IP sont devenus plus fréquents, les experts en sécurité
trouvent plus souvent
des vulnérabilités dans les contrôleurs de maison intelligente ,
brisent les verrous sans fil ouverts et bien plus encore!
Avant de passer au sujet de la sécurité, nous commencerons par comprendre ce qui est inclus dans le concept de l'Internet des objets.

Pour le moment, il existe plusieurs définitions, mais je pense que la présence d'une définition pousse la technologie IoT dans un certain cadre, ne lui permettant pas de se développer plus largement, donc je ne conseille pas de les mémoriser par cœur. Regardons un exemple de l'une des définitions les plus courantes:
L'Internet des objets est un réseau d'appareils connectés à Internet, contrôlés par lui et qui peuvent échanger des données.
Selon l'auteur, si l'appareil ne peut fonctionner que sur le réseau local, alors ce ne sera pas un IoT? Bien sûr que oui. Même sans connexion Internet, l'appareil peut être dans le groupe Internet des objets, comme par exemple un haut-parleur Bluetooth portable avec la possibilité d'enregistrer de la musique dans la mémoire de l'appareil. Et il y a beaucoup de telles définitions erronées sur Internet. Pensez plus large :)
Mais penser à l'échelle mondiale est déjà assez difficile pour commencer un article ennuyeux, alors fixez des limites. Nous convenons que sous les choses intelligentes, nous pouvons percevoir les choses autour de nous avec du rembourrage de haute technologie (la présence d'une petite carte avec un microcontrôleur) qui ont des fonctionnalités supplémentaires qui peuvent être utilisées par les utilisateurs ordinaires pour résoudre les problèmes quotidiens (à la maison, au travail, dans la rue).

Retour à la sécurité. Étant donné que ce domaine capture essentiellement un nombre indéfini de protocoles, langages de programmation, puces, quelles connaissances faut-il obtenir pour être sûr qu'il suffira de mener une analyse à part entière de la sécurité de l'IoT?
La bonne réponse: mais ce n'est pas le cas :( Vous passerez un mois à étudier en détail une technologie, car les fabricants commencent à utiliser quelque chose de nouveau. La seule bonne décision est d'étudier les tenants et aboutissants des appareils intelligents:
- La pile de protocoles réseau, qui est prise comme base pour la plupart des protocoles utilisés dans l'IoT
- Bases du microcontrôleur
- Principes de base de l'utilisation des protocoles radio
- Ingénierie inverse des micrologiciels / programmes compilés
- Rechercher des vulnérabilités Web
- Exploitation de vulnérabilités binaires
La connaissance de ces technologies (là où elles peuvent être superficielles) vous donnera un excellent début dans la sécurité IoT, mais comme cela arrive souvent, vous ne pouvez pas le faire uniquement avec la connaissance. Malheureusement, pour effectuer une analyse de sécurité, des équipements supplémentaires sont nécessaires, parmi lesquels:
- La SDR est une radio programmable fonctionnant sur une large gamme de fréquences et vous permettant de travailler, peut-être, avec n'importe quel protocole connu, ou d'étudier le fonctionnement de protocoles radio propriétaires. Cette question sera examinée plus en détail dans les articles suivants (si le sujet entre dans le public).

- Arduino Uno c - remplace plusieurs appareils à la fois, par exemple, en tant qu'adaptateur USB-UART.

- Un ensemble de tournevis avec adaptateurs - les fabricants tentent de protéger en quelque sorte leurs appareils, en liaison avec lesquels ils libèrent des vis pour lesquelles des tournevis spéciaux sont nécessaires.

- Cartes mémoire de MicroSD à Flash USB
- Station de soudure
Vous pouvez obtenir plus d'informations sur le matériel en observant
les performances d'Elvis Collado sur DEF CON 25 avec la rubrique Inverser et exploiter les périphériques intégrés .
Maintenant que nous avons l'équipement requis, nous allons considérer les principales étapes des tests.
La première étape consiste à rechercher des informations sur l'appareil sans interagir avec lui. Dans la plupart des cas, les informations proviennent de sources accessibles au public. L'appareil est également souvent identifié par la FCC ID (Federal Communications Commission), grâce à laquelle il est possible de trouver de la documentation et une liste des fréquences utilisées.

Pour vous entraîner, essayez de rechercher des informations sur un appareil intelligent que vous utilisez souvent.
Ensuite, vous devrez établir un schéma général de ce qui peut interagir avec cet appareil et par quels canaux de communication. Cela peut être une application mobile communiquant sur un réseau sans fil local, un panneau de commande avec un port infrarouge, un cloud externe accessible sur Internet, des capteurs fonctionnant via un canal radio (par exemple, ZigBee) et ainsi de suite.
Après cela, pour chacun des appareils et canaux de communication, il sera nécessaire de compiler une liste des menaces pour lesquelles elles doivent être vérifiées. Par exemple, la communication dans le réseau local peut être vérifiée pour la protection contre les attaques humaines au milieu, et l'interface de gestion basée sur le Web pour le mot de passe défini par défaut, etc.
Mais n'oubliez pas que nous devrons considérer l'appareil lui-même comme un élément distinct, en grande partie à cause de la sécurité matérielle, à savoir avoir la possibilité d'interagir directement avec la carte jusqu'à supprimer le firmware du microcontrôleur et accéder à la console.
Si vous simplifiez le schéma, pour IoT, cela se résume à
trois points :
- Sécurité du matériel
- Sécurité logicielle
- Sécurité radio
Pour chacun de ces sujets, dans la mesure du possible, il est calculé d'écrire une série d'articles et d'examiner en détail ce que vous êtes susceptible de rencontrer si vous décidez de choisir vos appareils domestiques.
Prenons l'exemple de la construction d'une «carte» de l'appareil.
Au marché Savelovsky de Moscou, un appareil photo chinois a été acheté:

Pour commencer, examinez la boîte plus en détail:

Les fabricants ont promis ce qui suit:
- Possibilité de contrôler à partir d'un appareil iOS / Android
- Gestion Web
- Enregistrement du flux vidéo sur MicroSD
- Capacité à contrôler via un logiciel informatique
Après avoir étudié la documentation plus en détail, nous constatons que la caméra fonctionne exclusivement sur le réseau local, mais elle a très probablement la possibilité de mettre à jour le firmware sur Internet.
Le schéma ressemblera donc à:

Les connexions sur les réseaux locaux et externes doivent être vérifiées pour la possibilité d'une attaque de l'homme du milieu. Pour les appareils mobiles et fixes, le protocole de communication doit être analysé, puis le schéma doit être complété. Le site Web doit être vérifié pour le cryptage forcé (https) et vérifié pour les vulnérabilités Web courantes (OWASP top-10). La caméra elle-même, comme mentionné précédemment, nous considérerons un élément distinct. Pour la plupart, la tâche consistera à extraire le firmware, après quoi nous pourrons compléter le circuit avec des données mises à jour et continuer les tests avec une «boîte blanche».
Par ailleurs, à la fin de l'article, je pense qu'il vaut la peine d'écrire que les tests d'appareils sans accord avec le fabricant ne sont pas toujours encouragés. Mais il convient également de mentionner qu'aux États-Unis, cela est devenu tout à fait légal après l'adoption du Digital Millennium Copyright Act (DMCA).
Dans le prochain article, nous considérerons le processus d'extraction du firmware des appareils intelligents.
Je conseille à toutes les personnes intéressées de lire:
- IoT Hackers Handbook, Aditya Gupta - le livre examine en détail chacune des étapes du test d'une chose intelligente, il sera utile pour les débutants ( tyk )
- IoT Penetration Testing Cookbook, Aaron Guzman & Aditya Gupta - beaucoup d'informations recoupent le premier livre, mais il y a des chapitres qui sont consacrés au développement sûr et aux tests prolongés du produit ( tyk )