IoT : pourquoi le DevSecOps est important ?
Par Fred Simon, cofondateur et Chief Architect de JFrog
L’évolution des cas d’usage : de l’automatisation réactive à l’approche adaptative. Les cas d’usage de l’IoT peuvent globalement être répartis en trois groupes établis en fonction de l’« intelligence de l’appareil » et son degré d’autonomie.
- Simple : la collecte manuelle de données est automatisée, sans traitement sur les appareils. Ces derniers transmettent relativement peu de données unidimensionnelles, à des intervalles prédéfinis vers le cœur du réseau à des fins de traitement et d’analyse. Ce modèle est simple et ne nécessite que des mises à jour occasionnelles. Des contrôles à distance sont principalement requis lors de l’installation initiale, de la configuration, et en cas de problème. Les cas d’usage comprennent la surveillance environnementale, les compteurs d’eau intelligents, le suivi des actifs et les applications intelligentes de stationnement.
- Intermédiaire : ces systèmes combinent plusieurs technologies de capteurs et tirent parti de l’informatique distribuée. Les volumes de données (multidimensionnelles) générés sont plus élevés, et le traitement est susceptible d’avoir lieu sur les appareils ou à la périphérie. Cette approche permet aux appareils d’exécuter une variété de tâches de manière autonome. Par exemple, les robots industriels équipés de capacités de vision industrielle peuvent offrir des performances accrues en matière de précision, de capacité d’orientation et de compréhension. Tout ceci leur permet de manipuler des objets en faisant preuve d’une plus grande précision, et d’exécuter des tâches plus complexes, telles que des inspections de qualité en 3D. De plus, des contrôles à distance avancés sous-tendent une communication transparente entre l’opérateur et les robots qu’il contrôle. Ces contrôles à distance permettent aux opérateurs de transmettre des instructions (entrées) sur le mouvement et la vitesse d’un robot à l’aide d’interfaces intuitives, accessibles via une application mobile ou web. Les entreprises peuvent ainsi rationaliser leurs processus à distance. Les cas d’usage des systèmes de cette catégorie s’étendent à divers domaines, notamment les technologies domotiques, les accessoires connectés, les systèmes de surveillance et la robotique industrielle.
- Avancé : ces systèmes autonomes utilisent des technologies de détection à distance de manière étendue. Les appareils utilisent leurs puissants processeurs embarqués pour exécuter des applications d’IA, afin de soutenir des fonctions d’analyse et des opérations en temps réel. Ces équipements peuvent effectuer de manière autonome une variété de tâches, et s’adapter de manière dynamique à leurs environnements. Les contrôles à distance évoluent vers des conversations dynamiques passant par des interactions textuelles et vocales avec les appareils. Imaginez un scénario d’avenir dans lequel vous pourriez facilement communiquer avec votre véhicule à l’aide d’une application mobile, en lui donnant des instructions pour passer récupérer vos enfants à l’école ou les emmener à leurs activités de loisir. Parmi les cas d’usage figurent les véhicules autonomes, la robotique collaborative, l’agriculture de précision, ou encore la surveillance et la livraison de colis par drone.
À titre d’exemple de cas d’usage avancé, certains des plus grands marchands au monde testent actuellement des technologies de livraison par drone sur le dernier kilomètre, afin de transporter des colis de tailles petites et moyennes sur de courtes distances. Les avantages sont évidents : les drones ne sont pas bloqués par les embouteillages et peuvent utiliser d’itinéraires optimisés, tandis que le transporteur réduit son volume de travail humain et son impact sur l’environnement, tout en améliorant son expérience client en proposant un service plus rapide et plus fiable.
Dans un contexte de surveillance environnementale, les drones peuvent être programmés pour réaliser des missions de surveillance autonome, patrouiller des zones prédéfinies, et faire des prises de vue ou des enregistrements. Les opérateurs des centres de contrôle peuvent utiliser une application mobile ou une interface web pour surveiller les flux des caméras en direct, suivre l’emplacement de chaque drone et recevoir des données de télémétrie. Dans les situations où ces appareils rencontrent des obstacles inattendus ou dans des environnements complexes, ils peuvent en prendre le contrôle total à distance.
L’expansion rapide du marché de l’IoT a laissé des failles au niveau des postures de cybersécurité et fait de la chaîne d’approvisionnement logicielle un vecteur d’attaque critique
Tout comme n’importe quel autre équipement informatique, les objets IoT utilisent des composants logiciels pour mener à bien leurs tâches. Ces composants nécessitent des mises à jour régulières afin de corriger des bugs, d’introduire de nouvelles fonctionnalités, et surtout, de s’occuper des vulnérabilités pour prévenir les menaces de sécurité potentielles.
Toute négligence peut se traduire par des failles non corrigées et rendre les appareils exploitables par les attaquants. Dans un contexte d’IoT, cela signifie que les vulnérabilités logicielles d’un seul composant peuvent compromettre l’intégralité du système connecté. Or, les attaques sur un seul objet ont souvent pour but de compromettre le système global. Par exemple, une attaque menée sur une caméra de sécurité communiquant avec des assistants intelligents pourrait servir à déverrouiller des portes connectées.
Les objets sont également de plus en plus exposés à des attaques malveillantes lorsque les équipements sous-jacents ne sont plus compatibles avec les logiciels nécessaires à leur protection. Imaginons une situation où une vulnérabilité logicielle non corrigée pourrait potentiellement permettre à un acteur malveillant de prendre le contrôle de votre véhicule. Selon les prévisions de Gartner, 45 % des chaînes d’approvisionnement logicielles seront ciblées par des attaques d’ici 2025.
Des organisations peu préparées
Pire : un nombre important d’organisations ne sont pas sûres de leur capacité à se défendre face à des cyberattaques, principalement en raison de l’absence de réglementations standardisées et cohérentes à travers le monde. De plus, les pratiques de mise à jour d’objets IoT sont à la traîne par rapport aux méthodes de développement logiciel traditionnelles. Cette problématique est exacerbée par la nature dynamique du paysage de l’IoT et de ses applications, ainsi que par l’acharnement des acteurs malveillants, qui cherchent constamment de nouvelles façons d’attaquer des systèmes.
C’est aux organisations qu’il revient de mettre en place les meilleures pratiques et recommandations, afin de contrôler la sécurité de leur chaîne d’approvisionnement logicielle. Cela passe d’abord par une bonne gestion des logiciels et par la détection des vulnérabilités, et s’étend à l’intégralité du cycle de vie logiciel, du développement aux appareils.
La nécessité d’adopter l’approche DevSecOps
Aujourd’hui, les fournisseurs de services IoT doivent favoriser une collaboration étroite entre équipes de développement, de sécurité, de production et de science des données, afin de stimuler l’innovation tout en préservant la fiabilité, les performances et la sécurité des systèmes. Les organisations doivent mettre en place une boucle de rétroaction transparente reliant les données d’exécution des appareils au processus de développement. Par exemple, les modèles de machine learning connaissent un problème de dérive au fil du temps. Il est donc nécessaire de pouvoir les surveiller et les réentraîner en continu pour maintenir les niveaux de fiabilité et de performance souhaités. Parallèlement, les organisations doivent mettre en place un flux continu de mises à jour légères et régulières vers les appareils, tout en veillant sur la sécurité de la chaîne d’approvisionnement logicielle. En environnement IoT, la notion de protection doit être intégrée dès la phase de conception et par défaut (shif-left), pas de manière réactive, afin que les systèmes restent dépourvus de vulnérabilités exploitables.
Or tous les principes mentionnés ci-dessus correspondent avec les principes fondateurs du DevSecOps pour l’IoT.