L’état de l’IoT
Gartner prévoit que 20,8 milliards d’appareils seront connectés dans le monde d’ici 2020. Le nombre croissant d’appareils connectés au sein de l’Internet des objets (IoT) offre aux fournisseurs de services la possibilité de développer de nouvelles sources de revenus. Pour les utilisateurs finaux, l’IoT peut apporter des solutions susceptibles d’améliorer considérablement la productivité et la qualité dans les domaines de la sécurité, de la santé, de l’éducation et dans bien d’autres secteurs. Pour tirer parti de cette opportunité, les fournisseurs de services doivent offrir une expérience client optimale tout en garantissant une protection absolue des données, le respect de la vie privée et la sécurité des utilisateurs.
Cependant, ce grand nombre d’appareils hétérogènes accroîtra également la vulnérabilité des réseaux, car beaucoup d’entre eux pourraient devenir la cible de pirates informatiques et d’attaques par déni de service. Les appareils IoT disposent souvent de ressources limitées en matière de mémoire, de stockage et de puissance de calcul. Ces contraintes compliquent la prise en charge d’algorithmes de sécurité complexes et évolutifs, qui nécessitent une puissance de traitement supérieure tout en consommant peu de cycles processeur. La durée de vie des appareils connectés pourrait également dépasser la période d’efficacité du chiffrement.
Dans une enquête et un rapport de février 2016 sur l’avenir de la fourniture de services mobiles, Jim Hodges, analyste principal chez Heavy Reading, a souligné que la principale préoccupation des fournisseurs de services en matière de sécurité concernait les interruptions provoquées par des attaques par déni de service distribué (DDoS) et par des botnets. Viennent ensuite les menaces pesant sur l’intégrité des systèmes, dans lesquelles des attaquants externes manipulent le trafic tout en usurpant l’identité d’un utilisateur.

Trois concepts sont fondamentaux pour la sécurité de l’IoT : l’identité, l’authentification et l’autorisation. L’identité consiste à nommer le client et à lui accorder des autorisations. L’authentification consiste à prouver l’identité du client, tandis que l’autorisation désigne la gestion des droits qui lui sont accordés. Afin de permettre également la collecte des données des appareils à des fins d’analyse en temps réel, il est nécessaire de convenir des protocoles de communication de l’IoT.
Les protocoles de messagerie IoT doivent inclure les fonctions générales suivantes :
- Validation du protocole de messagerie et atténuation des attaques DDoS
- Médiation de protocoles avec traduction de divers protocoles IoT
- Interopérabilité des protocoles de messagerie IoT
- Détection et prévention des tempêtes de signalisation IoT
Aujourd’hui, le protocole de messagerie privilégié pour l’IoT est MQTT (Message Queue Telemetry Transport). MQTT est utilisé comme principal protocole de transport dans différents secteurs, notamment l’industrie manufacturière, le transport et le suivi des actifs, l’énergie et les maisons connectées. Des entreprises telles qu’IBM, Microsoft, Amazon Web Services et Facebook Messenger utilisent toutes MQTT pour transmettre rapidement les messages et préserver l’autonomie des appareils.
Sécurité du protocole
Principes de base de MQTT
Les protocoles IoT tels que MQTT permettent d’assurer une communication sécurisée et fiable entre les appareils. MQTT repose sur le protocole de contrôle de transmission (TCP) et peut être sécurisé à l’aide du protocole de sécurité de la couche de transport (TLS). Le protocole MQTT a été conçu pour nécessiter peu de puissance de calcul et de mémoire, avec des paquets beaucoup plus simples et plus petits que ceux du protocole HTTP, ce qui le rend particulièrement adapté à certaines applications IoT.
MQTT a été créé à l’origine en 1999 pour les capteurs distants, mais connaît aujourd’hui un nouvel essor grâce à diverses applications IoT reposant sur un modèle de publication-abonnement. Les appareils/capteurs « publient » des données sur une plateforme IoT (courtier), puis l’application IoT « s’abonne » aux données pertinentes pour son cas d’usage. Les données publiées et suivies sont regroupées dans ce que l’on appelle des « sujets », qui peuvent être organisés selon une structure hiérarchique en fonction des cas d’usage et de la catégorie du type de données. La connectivité et les communications entre les appareils et leur plateforme déterminent la charge, le niveau de contrôle et la sécurité nécessaires à chaque cas d’usage.
Afin de préserver au maximum la légèreté du protocole pour les appareils IoT aux ressources limitées, MQTT n’offre qu’une sécurité minimale au-delà de TCP. MQTT recommande uniquement d’utiliser le protocole TLS pour les applications nécessitant des niveaux d’authentification supplémentaires. Par conséquent, les communications MQTT reposant uniquement sur TCP ne sont pas chiffrées et sont vulnérables aux attaques de l’homme du milieu.
Vulnérabilités de MQTT
Le protocole MQTT présente un certain nombre de vulnérabilités potentielles. Par exemple, les ports ouverts peuvent être utilisés pour lancer des attaques par déni de service (DoS), ainsi que des attaques par dépassement de mémoire tampon sur les réseaux et les appareils. Selon le nombre d’appareils IoT connectés et les cas d’usage pris en charge, la structure des « topics » peut devenir beaucoup plus complexe et entraîner des problèmes de mise à l’échelle. Les charges utiles des messages MQTT sont encodées en binaire, et les types d’applications et d’appareils correspondants doivent pouvoir interagir. Les noms d’utilisateur et les mots de passe des messages MQTT, qui sont envoyés en clair, constituent un autre point problématique.
Bien que cela ne fasse pas spécifiquement partie de la spécification MQTT, il est désormais courant que les courtiers de plateformes IoT prennent en charge l’authentification des clients au moyen de certificats SSL/TLS côté client. Le chiffrement des communications avec SSL et TLS peut protéger les données lorsqu’il est correctement mis en œuvre. Pour se prémunir contre les menaces, les données sensibles, notamment les identifiants utilisateur, les mots de passe et tout autre type d’informations d’authentification, doivent toujours être chiffrées.
L’inconvénient de l’utilisation de TLS, de SSL et d’autres méthodes de chiffrement est qu’ils peuvent entraîner une surcharge importante. Toutefois, des techniques telles que la reprise de session TLS peuvent compenser une partie des coûts de connexion liés à TLS. L’accélération matérielle constitue une autre méthode permettant de réduire l’impact du chiffrement sur la taille. Pour les applications complexes exécutées sur des appareils aux ressources limitées, une bibliothèque de chiffrement optimisée peut s’avérer très utile. Lorsque le code de l’application est volumineux, une telle bibliothèque peut réduire la mémoire nécessaire au traitement et améliorer les performances.
L’architecture de MQTT repose sur une haute disponibilité des brokers. L’utilisation de certificats X.509 pour l’authentification des clients permet d’économiser les ressources côté broker lorsque de nombreux clients tentent d’utiliser ses services, tels que des recherches dans une base de données ou des appels à des services web. Associer MQTT à des normes de sécurité de pointe comme TLS et utiliser des certificats X.509 peut également contribuer à améliorer la sécurité et les performances.
Sécurité de bout en bout des applications IoT
L’IoT représente une nouvelle opportunité commerciale majeure pour les fournisseurs de services. Bien que la sécurisation du protocole de messagerie MQTT à l’aide de TLS soit un aspect important de la sécurité, de nombreux autres vecteurs d’attaque peuvent également être exploités. Les fournisseurs de services doivent garantir une sécurité de bout en bout reposant sur une authentification rigoureuse des appareils, des mécanismes d’autorisation et des politiques d’accès aux canaux de communication appliquées au niveau du réseau. Le chiffrement des données à des fins de sécurité et de confidentialité est également essentiel aux sources de revenus des fournisseurs de services et à la fourniture d’une expérience client optimale.

À propos de l’auteur
Articles de blog associés

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives
Découvrez comment NGINXaaS s’intègre à Google Cloud pour renforcer les performances et la sécurité, et préparer vos applications critiques à un avenir propulsé par l’IA.
L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui
En faisant appel à un partenaire de déploiement AWS WAF tel que F5, vous pouvez renforcer la sécurité de vos applications web grâce à des règles personnalisées qui bloquent les schémas d’attaque courants, comme les injections SQL ou les attaques par scripts intersites (XSS).
Appliquer le principe de Peter Parker à l’inspection TLS
« Un grand pouvoir implique de grandes responsabilités. » Si l’on en trouve des échos chez Voltaire et Churchill, cette citation est surtout connue grâce aux bandes dessinées Spider-Man, où elle est attribuée à l’oncle Ben. Bien entendu, si cette phrase est si répandue dans la culture populaire, c’est notamment parce qu’elle peut s’appliquer à une multitude de situations et de sujets, y compris à l’inspection TLS.
Le NetOps a besoin de défenseurs, pas d’adversaires
Il est important de reconnaître que les équipes NetOps ne sont pas toujours celles qui font obstacle au déploiement de la dernière nouveauté, application ou service. Les freins à la rapidité sont souvent dus au fait que les organisations n’adoptent pas tous les principes du DevOps lorsqu’elles cherchent à transformer leurs opérations informatiques.
Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects
Il est de nouveau temps de nous pencher sur les services applicatifs que les entreprises utilisent réellement pour rendre leurs applications plus rapides et plus sûres. On constate notamment une hausse du recours aux services de protection contre les bots, ainsi que la progression lente mais régulière de HTTP/2. Bien qu’il ne s’agisse pas d’une application…
Les templates prennent le contrôle du cloud
Les modèles s’imposent dans le cloud. Lisez le blog de F5 pour découvrir comment l’infrastructure en tant que code et les API déclaratives automatisent la mise à disposition des applications.