Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 

De la Théorie à la pratique





















Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Le durcissement des infrastructures IoT dans les plateformes Cloud GCP et AWS

avril 2021 par Soumaya, Consultante Sécurité IoT & OT chez Akerva

La création de nouveaux usages liés aux systèmes end-to-end ont conduit à l’introduction des objets connectés dans les entreprises et industries. Leur nombre et leurs usages se sont multipliés, ce qui augmente le champ des possibles à la constitution d’écosystèmes autour de l’industrie, l’IoT et le Cloud. Ce dernier est un enjeu important car il offre des avantages tels que l’optimisation des processus, l’analyse et le traitement en temps réel des données…

Le Cloud permet une configuration et une gestion centralisée, une scalabilité de l’infrastructure, une facilité de communication avec les services de traitement, une valorisation des données, une interopérabilité des protocoles IoT grâce aux interfaces applicatives (HTTPS, MQTT, CoAP…).

Les plateformes Cloud offrent aujourd’hui une multitude de services orientés sur l’IoT permettant aux entreprises de répondre à leurs besoins toujours grandissants. Ces nouvelles technologies et synergies ne sont pas sans risque. En effet, elles sont souvent cibles de cyber attaques ayant pour but un espionnage industriel, un détournement des appareils, un sabotage des infrastructures de production, une atteinte à l’intégrité des données impactant le fonctionnement métier, tout ceci par le biais d’attaques via malware et botnets.

Face à ces menaces, comment est-il possible de tirer profit des services Cloud tout en garantissant le déploiement d’une infrastructure IoT sécurisée ?

Pour répondre à cette problématique, faisons une synthèse des principaux points de contrôle lors du déploiement d’une solution IoT dans le Cloud :
- Pour les plateformes Google
- Pour les plateformes AWS

Voici une liste non exhaustive d’éléments à prendre en compte pour sécuriser une infrastructure Google Cloud Platform (GCP) en vue de l’intégration d’une solution IoT :
- Gestion des accès : contrôler l’utilisation des comptes de services, créer des comptes et les associer à des groupes (Cloud IAM), appliquer les droits d’accès en fonction de la hiérarchie des ressources, utiliser les comptes d’entreprise (comptes fédérés), limiter l’usage des comptes à privilèges, utiliser l’authentification multi-facteur, auditer régulièrement les droits et les maintenir à jour (entrées/sorties des personnels).
- Renforcement des chiffrements : utiliser les services KMS, HSM ou EKM pour la gestion des clés, opter pour un chiffrement des flux TLS (TLS 1.2 minimum), renforcer la signature des tokens jwt, utiliser un certificat valide délivré par une autorité de certification et dont les caractéristiques cryptographiques sont robustes, assurer une rotation régulière des clés de chiffrement, opter pour un chiffrement des données stockées si celles-ci sont sensibles, utiliser un KeyVault pour le stockage des clés et certificats (avec rotation).
- Sécurité du projet : établir une hiérarchie des ressources, limiter l’utilisation des services GCP à ceux qui sont strictement nécessaires uniquement, configurer des quotas d’utilisation des ressources, protéger l’infrastructure contre les attaques DOS par le service Armor.
- Journalisation et surveillance : activer la journalisation de chaque service et comptes utilisateur, centraliser et/ou externaliser les journaux, configurer les alertes pour les actions sensibles, mettre en place le service de gestion des vulnérabilités, utiliser des services tels que SCC, Foresti, stackdriver.
- Stockage : désactiver les accès anonymes ou publics aux buckets, établir une politique de rétention, configurer les ACL pour chaque bucket et objet.
- Base de données : utiliser TLS pour les connexions entrantes, limiter les accès root aux bases de données, chiffrer les BDD et leurs sauvegardes également, activer le chiffrement au repos et en transit des informations échangées. -Pub/Sub, MQTT : opter pour l’authentification des requêtes, accorder des droits par sujet d’abonnement (topic), ajuster les autorisations uniquement aux fonctionnalités strictement nécessaires pour un appareil donné, une solution telle que Cloud Endpoints peut être utilisée pour la gestion des API et clés, utiliser le chiffrement des données au repos et en transit. -Services Web : durcir les Web services instanciés dans les plateformes Cloud en intégrant des tests automatisés de sécurité dans une infrastructure avec pipeline CI/CD afin de déceler les vulnérabilités logicielles en amont de la mise en production (analyse statique/dynamique), utiliser les dernières spécificités de chaque langage de programmation afin d’élever le niveau de sécurité global.

Voici une liste non exhaustive d’éléments à prendre en compte pour sécuriser l’infrastructure AWS IoT lors de l’intégration d’une solution IoT :
- Gestion des identités : configurer les autorisations et les authentifications après enregistrement de chaque objet (AWS security credentials, Amazon Cognito Identity) ajuster les stratégies de plan de données pour les autorisations (IAM policies), ne pas utiliser le compte « root » autrement que pour les tâches d’administration et opter pour des comptes nominatifs pour une meilleure traçabilité, créer des utilisateurs et les associer à des groupes, utilisation de l’authentification multi-facteur, utiliser le contrôle d’accès par ACL ou par stratégie de ressources pour les accès aux ressources et services.

- Chiffrement : utiliser un chiffrement des flux avec TLS 1.2 minimum, chiffrer les communications entre les objets et le broker ainsi qu’entre le broker et le serveur MQTT, utiliser pour l’authentification des objets des certificats valides délivrés par une autorité de certification et dont les caractéristiques cryptographiques sont robustes.
- Stockage : créer des buckets privés et ajuster les droits d’accès par IAM ou ACL en appliquant le principe du moindre privilège, activer le chiffrement des données stockées, activer la gestion des versions, activer la MFA sur les opérations de suppression, limiter les accès des Cross Account.
- Journalisation et supervision : journaliser les activités utilisateurs, des API et des objets (Amazon CloudWatch et AWS CloudTrail), configurer les métriques et les alarmes.
- Iot Core : configurer les droits d’accès des objets connectés (IoT Policies), utiliser un certificat pour chaque objet, utiliser des noms d’objets non explicites pouvant donner des indications, paramétrer les autorisations sur les IDs d’objet, renforcer la sécurité grâce aux outils de sécurité AWS (AWS IoT Device Defender, Device management, AWS Config).

D’autres plateformes Cloud proposent également des services autour de l’IoT (Azure IoT, IBM Watson…). Ceux-ci intègrent également des fonctionnalités de sécurité permettant ainsi de renforcer les configurations et limiter les risques cyber, dans les mêmes principes que les technologies détaillées ci-dessus.

La sécurisation de l’environnement Cloud ne constitue qu’une brique dans la sécurisation d’une infrastructure IoT. Il est important de s’assurer de la sécurité de bout en bout, de la robustesse de l’objet connecté notamment pendant sa conception et son développement (voir article dédié), lors de son implémentation et adaptation dans un réseau d’entreprise IT (problématique de shadow IoT) et enfin tout au long de son cycle de vie.




Voir les articles précédents

    

Voir les articles suivants