Profitez de millions de livres numériques, de livres audio, de magazines et plus encore

Seulement $11.99/mois après l'essai. Annulez à tout moment.

Le guide pratique du hacker dans les tests d’intrusion IoT : Le livre indispensable pour identifiez les vulnérabilités et sécurisez vos objets intelligents

Le guide pratique du hacker dans les tests d’intrusion IoT : Le livre indispensable pour identifiez les vulnérabilités et sécurisez vos objets intelligents

Lire l'aperçu

Le guide pratique du hacker dans les tests d’intrusion IoT : Le livre indispensable pour identifiez les vulnérabilités et sécurisez vos objets intelligents

Longueur:
378 pages
3 heures
Éditeur:
Sortie:
30 déc. 2021
ISBN:
9798201846695
Format:
Livre

Description

Ce que vous allez apprendre dans ce livre :

 

  • Effectuer un test des systèmes embarqués et identifier les fonctionnalités critiques de sécurité
  • Localisez les composants et bus de sécurité critiques et apprenez à les attaquer
  • Découvrez comment vider et modifier les informations stockées
  • Comprendre et exploiter la relation entre le firmware et le matériel
  • Identifier et attaquer les fonctions de sécurité supportées par les blocs fonctionnels de l'appareil
  • Développer un laboratoire d'attaque pour prendre en charge l'analyse avancée des appareils et les attaques

A qui s'adresse ce livre :


Ce livre est destiné aux professionnels de la sécurité et aux chercheurs qui souhaitent se lancer dans l'évaluation de la sécurité matérielle mais ne savent pas par où commencer. Les ingénieurs électriciens qui souhaitent comprendre comment leurs appareils peuvent être attaqués et comment se protéger contre ces attaques trouveront également ce livre utile.

 

PS : si vous débutez dans le hacking et les tests d'intrusion, ce livre n'est pas pour vous, l'auteur a d'autres livres beaucoup plus adaptés à votre profil débutant.

Éditeur:
Sortie:
30 déc. 2021
ISBN:
9798201846695
Format:
Livre

À propos de l'auteur


Lié à Le guide pratique du hacker dans les tests d’intrusion IoT

Livres associé

Articles associés

Aperçu du livre

Le guide pratique du hacker dans les tests d’intrusion IoT - Kevin Droz

Disclaimer

Toute action ou activité liée au contenu de ce livre relève de votre entière responsabilité. L'usage abusif des informations contenues dans ce livre peut donner lieu à des poursuites pénales contre les personnes en question, donc veillez à créer un environnement propice afin de tester les connaissances que je vais vous présenter dans ce livre. Et surtout, n’hésitez pas : Virtualbox est à votre disposition.

Une autre chose importante : les connaissances fournies dans ce livre ne sont pas garanties et ce domaine est en évolution continue. Donc si vous trouvez que certaines informations ne sont plus valables, n’hésitez pas à me le signaler en me contactant. Je serais ravi de corriger ce qui est nécessaire et de vous remercier par la même occasion.

Ma chaîne YouTube : youtube.com/HackinGeeK

Notre site Web : https://hackingeek.com/

Mon adresse e-mail : kevin@hackingeek.com

Notre page Facebook : hackingeek0x/

Notre serveur Discord : https://discord.gg/aGWZ3ahjmX

Tables des matiéres

Disclaimer

Chapitre 1

Généralités sur L'Internet des objets (IoT)

La sécurité des IoT présente elle des enjeux majeurs face à ceux de la sécurité informatique classique ?

Définition de l'écosystème des IoT

Les fondements de la technologie IoT

Applications mobiles dans l'IoT

Chapitre 2

Modélisation des menaces IoT

Chapitre 3

Méthodologie du hacking des IoT

Chapitre 4

Exploitation des micrologiciels des IoT

Exploitation des applications Web embarquées

Chapitre 6

Hacking de réseaux IoT

Chapitre 7

Exploitation des réseaux sans configuration

Chapitre 8

Hardware Hacking

Chapitre 9

Hacking radio fréquence

Dernier mot.............................................

Chapitre 1

Généralités sur L'Internet des objets (IoT)

Imaginez un monde où à peu près tout ce à quoi vous pouvez penser est en ligne et communique avec d'autres choses et d'autres personnes afin de permettre à de nouveaux services d’améliorer nos vies.

Qu'il s'agisse de drones autopilotés, livrant votre commande d'épicerie ou de capteurs intégrés à vos vêtements pour surveiller votre santé, le monde que vous connaissez est sur le point de connaître une évolution technologique majeure. Cette évolution est connue sous le nom d'internet des objets (IoT).

Le principe de base et l'objectif des IoT est de connecter ce qui n'est pas connecté. Cela signifie que les objets qui ne sont pas actuellement reliés à un réseau informatique, à savoir l'internet, seront connectés afin qu'ils puissent communiquer et interagir avec des personnes et d'autres objets. Le concept IoT est une transition technologique dans laquelle des dispositifs nous permettront de détecter et de contrôler le monde physique en rendant les objets plus intelligents et en les connectant via un réseau intelligent.

Lorsque les objets et les machines peuvent être détectés et contrôlés à distance via un réseau, une intégration plus étroite entre le monde physique et les ordinateurs est possible. Cela permet des améliorations dans les domaines de l'efficacité, de la précision, de l'automatisation et de la mise en œuvre d'applications avancées.

Le monde IoT est vaste et multiforme, et vous pouvez même le trouver quelque peu compliqué au début en raison de la pléthore de composants et de protocoles qu'il englobe. Au lieu de considérer le IoT comme un domaine technologique unique, il est préférable de le voir comme un ensemble de concepts, de protocoles et de technologies, qui dépendent tous parfois d'un secteur particulier. Si le large éventail d'éléments IoT est conçu pour créer de nombreux avantages dans les domaines de la productivité et de l'automatisation, il introduit en même temps de nouveaux défis, dont la sécurité de ces dispositifs qui ont des conséquences importantes sur la vie des utilisateurs.

En réalité, notre dépendance à l'égard des technologies connectées augmente plus vite que notre capacité à les sécuriser. Les mêmes technologies que nous savons vulnérables, exposées aux hackers, nous conduisent désormais au travail, dispensent des soins aux patients et surveillent nos foyers.

Depuis le toit de votre immeuble, vous êtes probablement entouré par l'Internet des objets (IoT). Dans la rue en contrebas, des centaines d'ordinateurs mobiles passent toutes les heures, chacun d'entre eux étant composé de capteurs, de processeurs, et d'équipements de réseau. Dans la ligne d'horizon, les immeubles d'habitation sont truffés d'antennes et de paraboles qui relient à l'internet les nombreux assistants personnels, micro-ondes intelligents et thermostats intelligents. Entrez dans une usine, un hôpital ou un magasin d'électronique et vous serez tout aussi impressionné par l'omniprésence des appareils connectés.

La grande question qui se pose alors est de savoir comment concilier la confiance que nous accordons à ces appareils avec leur manque de fiabilité inhérent ?

Pour nous, hackers éthiques, l'écosystème IoT est un monde d'opportunités : des milliards d'appareils interconnectés qui transfèrent et partagent des données, créant ainsi un immense terrain de jeu pour bricoler, fabriquer, exploiter et pousser ces systèmes à leurs limites. Avant de nous plonger dans les détails techniques de la sécurisation des appareils IoT, ce chapitre va vous présenter le monde de la sécurité IoT.

1-  La sécurité des IoT présente elle des enjeux majeurs face à ceux de la sécurité informatique classique ?

La technologie IoT diffère des technologies de l'information (IT) plus familières sur des points essentiels.

Les conséquences des défaillances de la sécurité de l'IoT peuvent entraîner une perte directe de vies humaines. Elles peuvent également ébranler la crédibilité d’une entreprise ou un secteur plus large, ainsi que la confiance dans la capacité d'un gouvernement à protéger les citoyens par le biais de la surveillance et de la réglementation. Par exemple, lorsque WannaCry a frappé, des patients souffrant d'affections pour lesquelles le facteur temps était déterminant, comme des accidents vasculaires cérébraux ou des crises cardiaques, n'ont sans doute pas été traités correctement parce que l'attaque a retardé l'administration des soins pendant plusieurs jours.

Les pirates qui attaquent ce type de systèmes ont des objectifs, des motivations, des méthodes et des capacités différents. Certains adversaires peuvent essayer d'éviter de causer des dommages, tandis que d'autres peuvent rechercher des systèmes IoT spécifiquement pour causer des actes de malveillance. Par exemple, les hôpitaux sont fréquemment visés par des demandes de rançon, car le préjudice potentiel pour les patients augmente la probabilité et la rapidité du paiement par les victimes.

La composition des dispositifs IoT, y compris les systèmes de sécurité, crée des contraintes qui n'existent pas dans les environnements informatiques classiques. Par exemple, les contraintes de taille et de puissance d'un stimulateur cardiaque créent des défis pour l'application des approches de sécurité informatique classiques qui nécessitent de grandes quantités de stockage ou de puissance de calcul.

Les dispositifs IoT fonctionnent souvent dans des contextes et des environnements spécifiques, comme les maisons, où ils sont contrôlés par des personnes qui n'ont pas les connaissances ou les ressources nécessaires pour un déploiement, une exploitation et une maintenance sécurisés. Par exemple, il ne faut pas s'attendre à ce que le conducteur d'une voiture connectée installe des dispositifs de sécurité après-vente, comme une protection antivirus. Nous ne devrions pas non plus nous attendre à ce qu'il ait l'expertise ou la capacité de réagir assez rapidement lors d'un incident de sécurité. Mais c'est ce que nous attendons d'une entreprise.

L'économie de la fabrication de l'IoT réduit au minimum le coût des appareils (et donc des composants), ce qui fait que la sécurité est souvent une réflexion secondaire coûteuse. En outre, bon nombre de ces appareils sont destinés à des clients sensibles au prix qui n'ont pas l'expérience de la sélection et du déploiement d'une infrastructure en toute sécurité. Enfin, les coûts liés à l'insécurité des dispositifs sont souvent supportés par des personnes qui ne sont pas les principaux propriétaires ou exploitants de ces dispositifs. Par exemple, le botnet Mirai a profité des mots de passe codés en dur, intégrés dans le micrologiciel des puces, pour se propager. La plupart des propriétaires ne savaient pas qu'ils devaient changer leurs mots de passe ou ne savaient pas comment le faire. Mirai a coûté des milliards de dollars à l'économie américaine en ciblant un fournisseur tiers de DNS qui ne possédait aucun appareil touché.

Les délais de conception, de développement, de mise en œuvre, d'exploitation et de retrait se mesurent souvent en décennies. Le temps de réponse peut également être allongé en raison de la composition, du contexte et de l'environnement. Par exemple, les équipements connectés d'une centrale électrique sont souvent censés vivre plus de 20 ans sans être remplacés. Mais les attaques contre un fournisseur d'énergie ukrainien ont provoqué des pannes quelques secondes seulement après que les adversaires ont agi au sein de l'infrastructure de contrôle industriel.

2-  Définition de l'écosystème des IoT

Ces dernières années, les dispositifs IoT ont été sous les feux des projecteurs en raison de la quantité considérable de dispositifs déployés, des commodités qu'ils offrent, de leur facilité d'utilisation et des risques de sécurité potentiels qu'ils représentent pour notre société. Avec le boom de l'IoT qui se déroule sous nos yeux, nous, en tant que peuple, sommes plus proches d'une singularité technologique. La dépendance à l'égard de l'IoT et de l'internet, qui les alimente, suscite des inquiétudes quant à la sûreté, la vie privée et la sécurité. En raison de la propagation des dispositifs infiltrant tous les secteurs industriels tels que les le divertissement, le commerce, le médical, l'industrie, l'énergie et la fabrication, il a été prouvé que les consommateurs, ainsi que les opérateurs et propriétaires de technologies commerciales, sont incapables d'assurer correctement la sécurité de ces dispositifs. La confiance accordée aux fabricants de dispositifs pour garantir que les dispositifs sont construits avec des méthodologies telles que la sécurité par conception dépend fortement de l'industrie pour laquelle le dispositif a été conçu.

Contrairement aux PC et autres matériels informatiques, ces appareils ne sont gérés que par quelques systèmes d'exploitation normalisés. En fait, la plupart de ces appareils sont fabriqués sans aucune norme, si ce n'est qu'ils permettent la connectivité à Internet. Pour s'adapter à la petite taille des appareils auxquels ils fournissent une connectivité, de nombreux systèmes d'exploitation installés sur ces appareils réduisent la sécurité, si tant est qu'elle soit prise en compte. Et pour aggraver les choses, la plupart de ces appareils utilisent leurs propres versions propriétaires de Linux, d'Android ou, de plus en plus, d'autres systèmes d'exploitation bricolés avec un code mal écrit et des portes dérobées codées en dur.

La sécurité de l'IoT étant très différente de la sécurité informatique traditionnelle, le hacking des systèmes IoT nécessite également des techniques différentes. Un écosystème IoT est généralement composé de dispositifs et de capteurs intégrés, d'applications mobiles, d'une infrastructure cloud et de protocoles de communication réseau. Ces protocoles comprennent ceux de la pile réseau TCP/IP (par exemple, mDNS, DNS-SD, UPnP, WS-Discovery et DICOM), ainsi que les protocoles utilisés dans la radio à courte portée (comme NFC, RFID, Bluetooth et BLE), la radio à moyenne portée (comme Wi-Fi, Wi-Fi Direct et Zigbee) et la radio à longue portée (comme LoRa, LoRaWAN et Sigfox).

Contrairement aux tests de sécurité traditionnels, les tests de sécurité IoT vous obligent à inspecter et souvent à démonter le matériel de l'appareil, à travailler avec des protocoles de réseau que vous ne rencontrerez pas normalement dans d'autres environnements, à analyser les applications mobiles contrôlant les appareils et à examiner comment les appareils communiquent avec les services Web hébergés sur le cloud via des interfaces de programmation d'applications (API). Nous expliquerons toutes ces activités en détail dans les chapitres suivants.

Prenons l'exemple d'une serrure de porte intelligente. La figure suivante présente une architecture commune aux systèmes de serrure intelligente. La serrure intelligente communique avec l'application du smartphone de l'utilisateur à l'aide de la technologie Bluetooth Low Energy (BLE), et l'application communique avec les serveurs de la serrure intelligente sur le cloud (ou, comme certains le disent encore, sur l'ordinateur de quelqu'un d'autre) à l'aide d'une API sur HTTPS. Dans cette conception de réseau, la serrure intelligente dépend de l'appareil mobile de l'utilisateur pour la connectivité à Internet, dont elle a besoin pour recevoir les messages du serveur sur le cloud.

Les trois composants (le dispositif de serrure intelligente, l'application pour smartphone et le service de cloud) interagissent et se font mutuellement confiance, ce qui en fait un système IoT qui expose une large surface d'attaque. Considérez ce qui se passe lorsque vous révoquez la clé numérique de votre client Airbnb en utilisant ce système de serrure intelligente. En tant que propriétaire de l'appartement et du dispositif de verrouillage intelligent, votre application mobile est autorisée à envoyer un message au service cloud qui annule la clé de l'utilisateur invité. Bien sûr, il se peut que vous ne soyez pas à proximité de l'appartement et de la serrure lorsque vous faites cela. Après avoir reçu votre mise à jour de révocation, le serveur envoie un message spécial à la serrure intelligente pour mettre à jour sa liste de contrôle d'accès (ACL). Si un invité malveillant met simplement son téléphone en mode avion, la serrure intelligente ne pourra pas l'utiliser comme relais pour recevoir cette mise à jour d'état du serveur, et il pourra toujours accéder à votre appartement.

Une simple attaque par évasion de révocation comme celle que nous venons de décrire est révélatrice des types de vulnérabilités que vous rencontrerez lorsque vous piraterez des systèmes IoT. En outre, les contraintes imposées par l'utilisation de petits dispositifs intégrés à faible puissance et à faible coût ne font qu'accroître l'insécurité de ces systèmes. Par exemple, au lieu d'utiliser la cryptographie à clé publique, qui est gourmande en ressources, les dispositifs IoT ne s'appuient généralement que sur des clés symétriques pour chiffrer leurs canaux de communication. Ces clés cryptographiques qui se divisent en deux types : symetrique ou asymetrique, très souvent non uniques et codées en dur dans le firmware ou le matériel, ce qui signifie que les attaquants peuvent les extraire et les réutiliser ensuite dans d'autres appareils.

3-  Les fondements de la technologie IoT

Le micrologiciel

Un micrologiciel est un type de logiciel qui est intégré à un périphérique matériel afin de contrôler les applications utilisateur et diverses fonctions du système. Le micrologiciel contient un code de programmation de bas niveau qui permet au logiciel d'accéder aux fonctions matérielles. Les dispositifs qui exécutent des micrologiciels sont connus sous le nom de systèmes intégrés et disposent de ressources matérielles limitées, telles que des capacités de stockage et de mémoire. Des exemples de dispositifs intégrés qui exécutent des micrologiciels sont les smartphones, les feux de signalisation, les véhicules connectés, certains types d'ordinateurs, les drones et les décodeurs numériques.

Il est évident que la technologie embarquée et le micrologiciel qui s'exécute sur ces dispositifs contrôlent notre vie quotidienne, des infrastructures critiques sur lesquelles les villes s'appuient, aux guichets automatiques bancaires et aux maisons dans lesquelles vivent les citoyens. Il est important de comprendre en quoi consiste un micrologiciel binaire ainsi que les propriétés qui lui sont associées. Le micrologiciel est composé d'un programme de démarrage, d'un noyau, d'un système de fichiers et de diverses autres ressources. Il existe différents types de micrologiciels basés sur Linux embarqué, Windows embarqué, Windows IoT core et divers RTOS (Real Time Operating Systems). Ce livre sera orienté vers un environnement Linux embarqué, cependant, les principes resteront indépendants de la plate-forme.

Le diagramme suivant représente ce que contient un micrologiciel : le contenu de la flash, le programme de démarrage, le noyau et un système de fichiers racine :

4-  Approfondissement du micrologiciel

Examinons d'abord le programme de démarrage. La responsabilité du programme de démarrage est d'initialiser la RAM pour le stockage des données volatiles, d'initialiser le(s) port(s) série, de détecter le type de machine, de configurer la liste des balises du noyau, de charger le initramfs (initial RAM filesystem) et d'appeler l'image du noyau. Le programme de démarrage initialise les pilotes matériels via un BSP (Board Support Package), généralement développé par un tiers. Le programme de démarrage réside dans une mémoire morte programmable effaçable électriquement (EEPROM) séparée, ce qui est moins courant, ou directement sur une mémoire flash, ce qui est plus classique. Le programme de démarrage est comme le BIOS d'un PC au démarrage.

L'examen détaillé de chacune des responsabilités des programmes de démarrage dépasse le cadre de ce livre ; toutefois, nous allons mettre en évidence les cas où le programme de démarrage joue en notre faveur. Les programmes de démarrage les plus courants pour les architectures ARM et MIPS sont les suivants : Redboot, u-boot et barebox. Une fois que le programme de démarrage a lancé le noyau, le système de fichiers est chargé.

Il existe de nombreux types de systèmes de fichiers utilisés dans un micrologiciel, et parfois même des types de fichiers propriétaires sont utilisés en fonction du périphérique. Cependant, certains des types de systèmes de fichiers les plus courants sont SquashFS, cramFS, JFFS2, YAFFS2 et ext2. Le système de fichiers le plus couramment utilisé dans les périphériques (en particulier les périphériques grand public) est SquashFS. Il existe des utilitaires, tels que unsquashfs et modified unsquashfs, qui sont utilisés pour extraire les données des systèmes de fichiers compressés. Les outils Modified unsquashfs sont utilisés lorsque les fournisseurs modifient SquashFS pour utiliser des compressions non prises en charge, telles que LZMA (avant SquashFS 4.0, la seule compression officiellement prise en charge était .zlib), et auront un décalage différent de l'endroit où le système de fichiers commence par rapport aux systèmes de fichiers SquashFS ordinaires. Nous aborderons la localisation et l'identification des décalages plus tard dans ce livre.

Sasquatch est un outil pratique à utiliser pour extraire les systèmes de fichiers SquashFS modifiés. Sasquatch peut être trouvé au lien suivant : https://github.com/devttys0/sasquatch

De même, il existe de nombreux types de compression de fichiers utilisés pour les images de micrologiciel, tels que LZMA, .gzip, .zip, .zlip, et .arj, pour n'en citer que quelques-uns. Chacun présente des avantages et des inconvénients tels que la taille après compression, le temps de compression, le temps de décompression, ainsi que les besoins commerciaux de l'appareil lui-même. Pour nos besoins, nous considérerons le système de fichiers comme l'emplacement qui contient les fichiers de configuration, les services, les mots de passe des comptes, les hachages et le code des applications, ainsi que les scripts de démarrage. Dans la suite du livre, nous vous expliquerons comment trouver le système de fichiers utilisé ainsi que la compression utilisée.

5-  Chaîne de développement des micrologiciels

Dans le système de fichiers réside le code spécifique au dispositif, écrit en C, C++ ou d'autres langages de programmation, tels que Lua. Le code spécifique au dispositif, voire l'ensemble du micrologiciel lui-même, peut être le fruit d'un mélange de développeurs tiers sous contrat, connus sous le nom d'ODM (Original Design Manufacturers), et de développeurs internes travaillant avec l'OEM (Original Equipment Manufacturer). Les ODM sont un élément important de la chaîne d'approvisionnement du développement des dispositifs embarqués. Il s'agit souvent de petites entreprises situées en Asie et il y en à la pelle.

Certains OEM ont des ODM de confiance avec lesquels ils travaillent sur des lignes de produits, tandis que d'autres feront affaire avec les ODM qui ont les frais les plus bas pour un seul produit. Selon l'industrie, un ODM peut également être appelé fournisseur. Il est important de noter que les ODM sont libres de travailler avec un certain nombre d'OEM différents et peuvent même distribuer la même base de code. Vous connaissez peut-être cette notion ou vous vous demandez même pourquoi un avis public critique concerne plus de dix fabricants de dispositifs pour un bogue logiciel. Cela est dû à l'absence de processus de cycle de vie de développement sécurisé par l'ODM et de vérification par l'OEM.

Une fois qu'un ODM a achevé la livraison de son application, qui peut être un SDK (software development kit, ensemble d’outils qui permettent de développer des applications propre à un matériel) ou un micrologiciel à l'OEM, ce dernier intègre sa ou ses bases de code dans le micrologiciel, ce qui peut se résumer à des logos OEM sur des interfaces Web. La mise en œuvre varie selon la façon dont l'ODM et l'OEM fusionnent leur code ; cependant, il n'est pas rare qu'un ODM fournisse un fichier binaire à l'OEM. Les OEM sont responsables de la distribution du micrologiciel, de la gestion du micrologiciel et du support du dispositif lui-même. Cela inclut les problèmes de sécurité du micrologiciel signalés par des chercheurs tiers, ce qui met à rude épreuve les OEM si les ODM conservent le code source et

Vous avez atteint la fin de cet aperçu. Inscrivez-vous pour en savoir plus !
Page 1 sur 1

Avis

Ce que les gens pensent de Le guide pratique du hacker dans les tests d’intrusion IoT

0
0 évaluations / 0 Avis
Qu'avez-vous pensé ?
Évaluation : 0 sur 5 étoiles

Avis des lecteurs