• Aucun résultat trouvé

Maintenance des logiciels distribués pour l’IoT

Dans le document Internet des Objets (Page 55-58)

Alors que les objets connectés sont toujours plus nombreux à être déployés, une grande partie d’entre eux n’intégre pas de mécanisme sécurisé pour la mise à jour de leurs logiciels. Et si certains embarquent un mécanisme de ce type, il reste souvent inutilisé en fin de compte, pour des raisons qui n’ont rien à voir avec la technique : par exemple un manque d’incitations de la part du fournisseur (ou parce que celui-ci a fait faillite entre temps). Des vulnérabilités critiques en matière de sécurité ne sont donc jamais corrigées, et les objets connectés deviennent une épée de Damoclès, comme l’ont montré de récentes cyberattaques réalisées à grande échelle. À titre d’exemple, de nombreux éléments du botnet IoT Mirai (ainsi que d’autres cibles potentielles de ce botnet) fonctionnent encore sans correctif à ce jour, bien que Mirai ait été découvert il y a plusieurs années, que des correctifs aient été développés depuis, et que ces machines ne soient pas parmi les plus limitées en ressources !

Sur le plan juridique, une problématique qui émerge concerne le devoir de prudence : qu’est-ce ce devoir rend obligatoire pour l’objet connecté avant sa mise en service ? Qu’en est-il pour les objets connectés déjà déployés (matériel en service, et hérités) ?

Sur le plan technique, l’enjeu important est de rendre possibles (et d’automa-tiser) les mises à jour légitimes des logiciels s’exécutant sur les objets connectés.

Sur les objets connectés de faible puissance, la difficulté est amplifiée par des contraintes de ressources strictes en termes de débit réseau, d’énergie et de budget mémoire. D’un autre côté, imposer une vérification de la légitimité des mises à jour logicielles peut conduire à ce que l’on appelle l’informatique déloyale qui, paradoxalement, empêche les mises à jour logicielles qui seraient nécessaires.

Les recherches antérieures menées dans ce domaine sur les objets connectés de faible puissance se sont principalement concentrées sur des cas d’utilisation simples où les mises à jour ciblaient des logiciels à code binaire unique et à acteur unique. Mais, étant donné que les logiciels IoT évoluent et se complexifient, cette simplification n’est plus viable : les logiciels IoT imitent de plus en plus les logiciels internet dans le sens où ils sont un amalgame de composants disparates, développés, maintenus et mis à jour par différents acteurs. Aujourd’hui, dans une entreprise de taille moyenne, moins de 5 % des logiciels utilisés sont développés en interne, plus de 95 % provenant de tiers et/ou sont des logiciels libres.

2.3_Systèmes distribués pour le continuum Cloud-Edge-Objet

Un défi à relever consiste donc à sécuriser efficacement la mise à jour des logiciels multiacteurs sur les objets connectés bas de gamme, sachant que ces différents acteurs ne jouissent que d’une confiance mutuelle limitée. Plusieurs considérations entrent en jeu, qui mènent à combiner les résultats issus de plusieurs domaines de recherche dont :

de nouveaux mécanismes de systèmes profondément embarqués pour héberger et isoler mutuellement différents modules logiciels ;

la création et la sécurisation de la chaîne d’approvisionnement des logiciels IoT ;

des mécanismes de réseaux IoT à basse consommation énergétique performants pour le transport des mises à jour.

En pratique, la maintenabilité implique également la capacité à superviser et à gérer à distance, via le réseau, les objets connectés tout au long de leur durée de vie. En conséquence, un domaine de recherche actif est le développement de protocoles à faible consommation énergétique et de modèles de données de gestion adaptés aux objets connectés par radio basse puissance. Un pan de recherche associé concerne l’instrumentation efficace d’objets connectés, pour supervision à distance via le réseau, avec des bribes de code et de débuggage bas niveau, qui sont insérées et supprimées à la demande, en parallèle de l’exécution normale. D’autres travaux sont menés dans le domaine des logiciels adaptatifs : leur but est de passer d’un logiciel simplement adaptatif à un logiciel auto-adaptatif.

En effet, une automatisation avancée pourrait permettre de mettre au point des logiciels autoréparables.

↗ L’équipe-projet SPIRALS d’Inria étudie des systèmes auto-adaptatifs visant à introduire un niveau d’automatisation accru les systèmes logiciels, en ciblant principalement les propriétés d’autoréparation et d’auto-optimisation.

Un dernier point, et non des moindres, concerne la maintenabilité des objets connectés, qui peut être fortement améliorée par une conception coévolutive des logiciels avec le matériel IoT. Du point de vue de la maintenance par exemple, l’implémentation logicielle d’une fonction cryptographique est à privilégier par rapport à une implémentation hardware (car cette dernière n’est pas modifiable par la suite pour corriger des bugs, ou pour mettre en œuvre une nouvelle règlementation). Un domaine de recherche associé vise donc conjointement à améliorer les performances d’implémentations logicielles pour certaines fonction-nalités critiques et à concevoir des accélérateurs matériels génériques en support.

QUELQUES MOTS SUR LES MODÈLES ÉCONOMIQUES.

Jusqu’à présent, la plupart des modèles économiques privilégient les gains financiers liés au déploiement et/ou à l’exploitation de l’IoT. On en sait moins sur les profits réalisables dans la maintenance des objets connectés, qui constitue pourtant un aspect crucial.

Une fois les objets connectés déployés et mis en service, il est indispen-sable d’instaurer des relations moins féodales entre utilisateurs et fournisseurs de l’IoT. Les mises à jour logicielles des objets connectés, en particulier, doivent être facilitées de manière générale, y compris dans les cas où le fabricant d’origine ne les fournit pas (parce qu’il a été racheté, a fait faillite ou a procédé à un retrait forcé du produit, par exemple). Au-delà des obstacles techniques, les barrières juridiques (comme la rupture du contrat/

de la garantie) rendent souvent les mises à jour logicielles difficiles, voire impossibles. Ce phénomène ressemble au modèle dit du « jardin clos », qui ne permet aux utilisateurs que d’ajouter des composants matériels autorisés, ou d’acheter des services de réparation auprès de revendeurs agréés.

Les fournisseurs d’objets connectés, par exemple, qui sont tenus de certifier leurs produits IoT pour des raisons de sécurité, mettent rarement à jour les logiciels présents dans ces produits. Les utilisateurs, a contrario, peuvent souhaiter mettre à jour plus fréquemment le logiciel, notamment pour obtenir plus de fonctionnalités. Des rapports ont montré comment de telles tensions ont déjà entraîné des situations regrettables, dans lesquelles les utilisateurs ont en fin de compte recours à des logiciels IoT piratés, ce qui ne fait que compliquer les choses.

2.3_Systèmes distribués pour le continuum Cloud-Edge-Objet

La cryptologie appliquée

Dans le document Internet des Objets (Page 55-58)