Solutions de sécurité IoT - 1re partie – Aucun mot de passe universel par défaut

La cybersécurité n'est plus une fonctionnalité accessoire pour les grandes entreprises. Elle est essentielle, en particulier pour les produits embarqués et IoT. L'ETSI vient de publier une nouvelle réglementation pour la conception sécurisée des produits IoT et associés, et le CEPD n'a pu que saluer le caractère opportun de cette publication.

(Source de l'image : CEPD)

Avec la prévalence et la popularité des produits IoT sur le marché, il n'y a jamais eu de meilleur moment pour s'informer sur certains des problèmes de sécurité IoT courants. Cet article fait partie d'une série dédiée à la sécurité IoT et embarquée. Nous aborderons certains problèmes fréquents, ainsi que les solutions possibles. L'objectif final est que chacun ait davantage conscience de la sécurité lors de l'utilisation et de la conception de dispositifs IoT.

Mots de passe par défaut

La majorité des dispositifs IoT utilisent un mot de passe universel par défaut, comme « admin », « 1234 », « utilisateur », etc. Pire encore, de nombreux utilisateurs ne changent jamais ces mots de passe par défaut. Cela donne un accès complet à toute personne connaissant ces mots de passe. Les pirates potentiels incluent toutes les personnes qui ont également acheté le produit ou lu des informations au sujet du produit. Inutile de dire que cela représente un groupe assez important de pirates potentiels qui connaissent désormais le mot de passe de votre dispositif.

Solutions possibles

En tant que développeur, il est tentant de simplement coder en dur un mot de passe dans le code base du produit. Toutefois, il y a beaucoup plus de risques que d'avantages. Heureusement, il existe des choix de conception qui permettent de mieux sécuriser le dispositif IoT.

Génération de nombres aléatoires

À la mise sous tension initiale, le dispositif IoT peut par exemple générer un nombre aléatoire comme mot de passe. Il peut ensuite être partagé de manière sécurisée avec l'utilisateur final. Étant donné qu'il s'agit d'un mot de passe aléatoire, il y a peu de risques qu'un autre dispositif utilise le même.

La génération de nombres aléatoires est disponible grâce à des moyens matériels et logiciels. Certains dispositifs, comme le MIKROE-4090 de MikroElektronika, génèrent une séquence de nombres véritablement aléatoires. En outre, de nombreux processeurs et microcontrôleurs modernes offrent des périphériques générateurs de nombres aléatoires ou pseudo-aléatoires. Enfin, les langages C et C++ offrent des capacités pseudo-aléatoires grâce à l'utilisation de bibliothèques pré-compilées (https://www.geeksforgeeks.org/generating-random-number-range-c/).

En bref, il existe aujourd'hui de nombreuses manières de générer un nombre aléatoire. L'ajout de cette fonctionnalité à votre dispositif IoT permet d'éviter le dilemme du mot de passe universel par défaut et montre que votre produit est nettement supérieur aux autres.

Demande de modification du mot de passe

Si les nombres aléatoires s'avèrent trop complexes, demandez à l'utilisateur de modifier le mot de passe avant toute chose. Avant que le dispositif IoT puisse accomplir ses tâches, faites en sorte que l'utilisateur saisisse son propre mot de passe personnalisé. Cela ne représente pas un lourd fardeau pour l'utilisateur, et les 30 à 60 secondes prises pour finaliser cette étape permettront de garantir la sécurité de l'utilisateur et de protéger la réputation de votre produit.

Limitation du nombre de tentatives infructueuses

Certaines règles, comme le fait d'autoriser seulement cinq mots de passe incorrects dans un laps de temps de trois minutes, peuvent rendre votre produit IoT plus résistant aux attaques automatisées. Notez que la plupart des piratages qui existent sont l'œuvre de machines qui essaient de rapidement deviner un mot de passe. Si votre système IoT retarde la saisie du mot de passe, il ne sera pas le plus facile à pirater. Les tentatives de piratage seront alors déjouées et les pirates passeront probablement à autre chose. Évidemment, cette technique n'est pas suffisante à elle seule, mais associée à l'une des recommandations précédentes, elle peut s'avérer très efficace.

Les problèmes et les recommandations cités ici proviennent de travaux effectués par l'ETSI. Leur publication ETSI EN 303 645 v2.1.1 (2020 – 06) peut être référencée pour tous ces points.

D'autres articles sur la sécurité IoT seront bientôt disponibles, alors restez à l'écoute.

À propos de l'auteur

Image of Noah Madinger

Noah Madinger is a Senior Engineer at Colorado Electronic Product Design (CEPD) and has been involved in bringing novel products to market since the early 2000’s. In his role, he is responsible for developing technical solutions, which cover a vast array of disciplines in both hardware and software design. This role also includes the managing projects and technical teams, as well as engaging in business development activities. Noah is actively involved in writing articles and publications, as these provide opportunities to dive deeper into interesting topics and to engage a broader audience.

Noah’s professional interests include feedback control systems, FPGA and MCU-based embedded designs, and aerospace applications. He is an advocate of process-driven and test-driven development paradigms and has worked to implement engineering processes into team dynamics. He cherishes the reward of seeing a new product come to maturity and to have it live up to everyone’s expectations.

More posts by Noah Madinger, Colorado Electronic Product Design (CEPD)
 TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum