Synthèse des recommandations de la GSMA sur la sécurité de l'IoT

Filtrer par catégorie :

15 Octobre 2016 by Christophe Baland
logo_gsma
En février 2016, la GSM Association (GSMA, association qui représente 850 opérateurs de téléphonie mobile à travers 218 pays du monde) publiait dans une série de documents ses recommandations de sécurité pour l’Internet des objets, baptisées IoT Security Guidelines1. A travers ce guide, l'association espère sensibiliser les différents acteurs de l'IoT à une plus grande sécurité. Les recommandations suivantes sont extraites de la liste des recommandations critiques et de haute priorité développées dans les documents de la GSMA. Elles sont parfois complétées par les recommandations de moyenne et basse priorité.


Recommandations pour terminaux mobiles

Pour les terminaux mobiles, les recommandations sont les suivantes :
 
  • Définir un socle de confiance sur le terminal. Il est responsable de l’application des politiques de sécurité du système informatique. Un socle de confiance est un ensemble composé de matériel, des logiciels et des protocoles qui assure l'intégrité du terminal, effectue les authentifications mutuelles et gère les communications et la sécurité des applications. Le certificat de confiance permet de stocker et traiter des secrets cryptographiques tels que les Pre Shared Keys (PSK) ou les clés asymétriques. Le choix de ne pas mettre en œuvre un socle de confiance impacterait l'ensemble de l'architecture IoT.
 
  • Gérer les mots de passe des terminaux. Les appareils qui intègrent des interfaces utilisateurs doivent être capables de gérer les mots de passe efficacement. Pour ce faire, il faut veiller à ne pas utiliser de mots de passe par défaut ou codés en dur, mais obliger l’utilisateur à en choisir un. Si les mots de passe doivent être stockés, il faut qu’ils le soient de manière chiffrée. L'affichage d’information d'identification de l’utilisateur sur les interfaces de connexion doit également être évité, afin de ne pas dévoiler des éléments permettant l’authentification par un tiers.
 
  • Utiliser un certificat de confiance. Le périphérique doit être en mesure de vérifier l'intégrité de sa propre plate-forme et d'authentifier l'identité de ses pairs. Ainsi, il est recommandé que les terminaux intègrent un certificat de confiance incorporé dans une base informatique sécurisée (type Secure Element). Un certificat de confiance est un élément matériel, comme une puce physique distincte ou un noyau sécurisé à l'intérieur du CPU, qui est capable de stocker et traiter en toute sécurité les secrets cryptographiques. Ne pas utiliser de Secure Element peut permettre le clonage de l’identité des terminaux et le déploiement de mises à jour non autorisées.
 
  • Détecter les anomalies. La modélisation du comportement des terminaux est une composante essentielle de la sécurité de l’Internet des objets. Afin de détecter des terminaux compromis, les changements anormaux de comportement d'un appareil doivent être catalogués. Ces comportements déviants peuvent être des redémarrages imprévisibles, des messages mal formés envoyés à partir du terminal ou encore des connexions à des terminaux de service à des moments inappropriés.  Si le comportement normal d'un terminal est catalogué par le fournisseur de services, l'organisation sera en mesure d'identifier les comportements anormaux.
 
  • Utiliser des composants résistants aux attaques. A la différence des systèmes d’information classiques, les objets connectés peuvent être disséminés dans l’environnement et donc facilement accessibles à des attaquants potentiels. Il faut donc veiller à la robustesse de l’objet connecté, tant au niveau des puces qu’au niveau de l’accès interne à l’objet. Il faut le renforcer au maximum par l’utilisation de matériaux solides, de soudures, de silicone, etc. La mise en place de composants qui détectent une intrusion et alertent l’utilisateur (capteurs, fusibles de sécurité, etc) est recommandée. Ces procédés limitent les capacités d’un attaquant à s’attaquer physiquement à l’objet et à en retirer des informations.
 
  • Assurer la sécurité des communications des terminaux. Le moyen le plus simple de compromission d’un terminal passe par la manipulation de son canal de communication. Par conséquent, les concepteurs de terminaux doivent veiller à la sécurité des communications via l’authentification des réseaux de pairs, la confidentialité des données et l’intégrité des messages. La sécurité des communications est essentielle car elle permet notamment d’éviter l’usurpation d’identité.


Recommandations pour les services mobiles

Pour les services mobiles, les recommandations sont les suivantes :
 
  • Développer une sécurité pour les systèmes publics. Les services avec accès public doivent être particulièrement sécurisés, de manière à garantir leur disponibilité, leur confidentialité et leur intégrité. A cette fin, il est important de veiller à la mise en place d’infrastructures résistantes aux attaques DDoS, redondantes et protégées par des pare-feux. Ces exemples de mesures doivent s’appliquer à tous les protocoles utilisés pour la communication avec le service. Par ailleurs, le filtrage doit se faire en input comme en output, de manière à éviter les attaques et les tentatives d’intrusions de même que les déplacements latéraux dans le système et les exfiltrations de données sensibles.
 
  • Définir un modèle de réponse à incident. En cas d’attaque, il n’est pas suffisant d’isoler le ou les serveurs ou objets visés, mais il est nécessaire de savoir réagir et combattre la menace. Pour cela, il faut que l’organisation sache diagnostiquer la source de l’attaque, réparer le système et déployer des correctifs sur l’ensemble de l’infrastructure. L’équipe en charge de ces tâches doit savoir récupérer des données en vue de permettre une analyse poussée des raisons de l’attaque et des éventuelles failles utilisées. Une organisation sans plan de réponse à incident mettra bien plus de temps à réagir en cas d’attaque, ce qui augmentera les risques de compromission du système dans son ensemble, et ralentira considérablement les efforts à mener pour corriger les failles de l’infrastructure.
 
  • Établir un modèle d’autorisation clair. Le modèle d’autorisation permet de définir les actions que peuvent mettre en œuvre les tiers, de même que les données qu’ils peuvent récolter, en regard de l’utilisateur. Il définit les accès des différents tiers aux appareils et aux données générées. Le contrôle de ces accès doit être clairement défini, de manière à limiter au minimum nécessaire les possibilités de modifications d’un tiers dans le système de l’utilisateur. Ce modèle doit permettre d’éviter toute intrusion non autorisée qui pourrait donner lieu à des actions malveillantes. L’absence d’une politique claire d’autorisation laisse potentiellement en libre accès les systèmes à protéger.
 
  • Gérer l’architecture cryptographique. Tous les appareils impliqués dans l’Internet des objets doivent faire usage du chiffrement, indépendamment de leurs fonctions ou de leur criticité. Afin de garantir la sécurité et la stabilité de l’architecture de chiffrement, un certain nombre de points doivent être surveillés, parmi lesquels l’utilisation d’algorithmes standards de chiffrement en lieu et place d’algorithmes « maison », le hachage de tout mot de passe, même s’il transite sur un canal sécurisé, ou encore l’utilisation d’un générateur de nombre aléatoire solide. Ces recommandations visent à éviter des failles de sécurité qui pourraient dévoiler des secrets utilisés par l’utilisateur ou le terminal dans l’écosystème des services, secrets qui pourraient servir à un vol de données ou à d’autres actions malveillantes.
 
  • Définir un modèle de communications. Avant tout, aucune plateforme ne doit être accessible à des utilisateurs anonymes. Afin de garantir l’intégrité, la confidentialité et la disponibilité des communications, il est recommandé de mettre en place une autorité de certification centralisée de façon à créer un certificat de confiance entre les différents tiers. Il est également recommandé de créer des jeux de clefs de chiffrement éphémère de manière à ne pas compromettre le chiffrement des communications en cas de compromission du certificat, même si cette compromission se fait dans le futur. L'échange des clés doit être sécurisé (de type Diffie-Hellman). Ces problématiques peuvent devenir critiques dans des systèmes intégrant des périphériques liés à la santé ou au contrôle industriel, par exemple.
 
  • Préparer les serveurs. La préparation des serveurs incluent la définition, la configuration, la personnalisation et le déploiement de serveurs en environnement de production. L’objectif de cette procédure est de déployer des serveurs sécurisés, prêt à parer d’éventuelles attaques. A cette fin, il est recommandé de correctement veiller aux services qui seront nécessaires sur la machine, avec leurs politiques d’accès, de s’assurer d’une politique de mise à jour, tant au niveau du système d’exploitation que des applications, en tenant compte des éventuels problèmes qui pourraient apparaître  à la suite d’une mise à jour. Ce processus de mise en service des serveurs doit permettre la sécurisation de l’ensemble des services IoT sur lesquels ils reposent afin d’éviter toute fuite de données ou tout dysfonctionnement des services.


Recommandations pour les réseaux

Pour la sécurité des réseaux, les recommandations sont les suivantes :
 
  • Assurer l’identification et l’authentification. Les entités impliquées dans l’IoT (passerelles, dispositifs,  terminaux, réseaux domestique, réseaux d'itinérance, plates-formes de services) doivent être clairement identifiées, car l'identité joue un rôle crucial dans le processus d'authentification. Il est donc essentiel que les identités (type IMSI, IMEI ou ICCID) émises et utilisées dans un service IoT soient bien protégées contre toute modification non autorisée, usurpation d'identité ou vol. Les opérateurs de réseau peuvent fournir des services afin que les utilisateurs, les applications, les terminaux, ou les plates-formes de services associés à un service IoT soient authentifiés en toute sécurité.
 
  • Protéger les données et les communications. Il faut garantir la sécurité et la confidentialité des informations maintenues dans le réseau pour le service IoT. Par ailleurs, il faut veiller aux processus et mécanismes qui garantissent la disponibilité des ressources du réseau et les protège contre les attaques (par exemple en déployant un pare-feu approprié, des technologies de prévention et de filtrage de données). Le cas échéant, les opérateurs de réseau peuvent fournir et gérer des connexions sécurisées aux réseaux d'entreprise via les réseaux privés virtuels (VPN) et des connexions Internet chiffrées. Les opérateurs de réseau peuvent offrir à leurs clients des réseaux privés où les canaux de communication dédiés sont fournis pour l'utilisation d'un seul client. Ces réseaux privés pourraient être créés en utilisant un protocole de tunnel tel que Layer Two Tunneling Protocol (L2TP) et en utilisant des protocoles sécurisés tels que Internet Protocol Security (IPsec), ou en créant un réseau dédié au service IoT en déployant une instance distincte du réseau central avec le réseau radio partagé.


Ces recommandations visent donc au maintien d’un haut niveau de sécurité dans l’écosystème des objets connectés, en tentant d’établir un référentiel de bonnes pratiques pour chaque objet de l’architecture IoT. Nous invitons les lecteurs à se reporter aux documents originaux pour de plus amples informations.


                          
1 http://www.gsma.com/connectedliving/future-iot-networks/iot-security-guidelines/