RAUC : l’outil de mises à jour des systèmes embarqués, alliant fiabilité et sécurité !

Le 10/05/2022 à 8:40 par La rédaction

Répondre aux besoins du cycle de vie des produits embarqués et disposer des bons outils pour gérer et contrôler leurs mises à jour logicielles en toute sécurité : un défi et une préoccupation devenus aujourd’hui majeurs.

Dès la mise en service d’une solution ou d’un produit,  son logiciel est appelé à évoluer, en fonction des besoins, pour  proposer de nouvelles fonctionnalités, corriger des bogues et répondre à des contraintes de sécurité. Ce dernier point revêt une importance toute particulière pour prévenir ou contrer les attaques du domaine de la cybersécurité par la prise en compte des mises à jour de sécurité

Mais mettre à jour un système embarqué comporte des risques : une mise à jour peut être incompatible, une procédure se bloque, le stockage des données échoue avec une erreur d’écriture, une personne coupe accidentellement le courant, etc. Autant de circonstances susceptibles de se produire qui ne doivent pas nuire au redémarrage de votre produit !

A cela s’ajoute une contrainte d’accès au produit, les systèmes embarqués étant de plus en plus déployés dans des environnements distants où seul un accès internet est possible.

Garantir la fiabilité des mises à niveau est une chose mais assurer les conditions de sécurité est également primordial. Comment, par exemple, éviter qu’un tiers puisse charger un micrologiciel modifié sur le système ?

C’est pour répondre à ces attentes que PHYTEC, fabricant de modules à microprocesseurs, a retenu une solution de mise à jour simple, disponible désormais en standard avec ses produits SOM : la solution RAUC, directement intégrée au noyau Linux.

Cet outil de mises à jour propose également des mécanismes garantissant l’intégrité du système. Ainsi RAUC permet une mise à jour robuste de logiciel.

Pour ce faire, deux conditions sont nécessaires : la redondance et l’atomicité.
La redondance implique qu’un système ayant une exécution en cours ne doit pas être mis à jour.  Sinon, une éventuelle panne pendant la mise à jour réduirait à néant le seul système à partir duquel la mise à jour peut être réalisée.

L’atomicité, elle, impose que l’écriture de la mise à jour sur le dispositif, alors inactif, soit une opération critique. Une défaillance survenant au cours de cette installation ne doit pas bloquer le produit.

Il suffit d’une connexion réseau ou d’une interface de dispositif de stockage externe accessibles sur le produit (SD-card ou USB) pour que RAUC puisse exécuter la mise à jour du logiciel d’un système embarqué.

RAUC se présente comme un client de mise à jour d’un système et d’une suite d’utilitaires pour la préparation de ces mises à jour. Son principe est assez simple. Il consiste à définir son système de stockage avec plusieurs partitions qui serviront au fonctionnement du système et à l’accueil de mises à jour. RAUC réalise le basculement d’une partition à l’autre lors du boot par une interaction avec le bootloader du produit. Ces mécanismes, outre la copie ou la prise en compte d’une mise à jour, offrent le choix de la version active du logiciel ou des mécanismes de retour en arrière.

Il peut être intéressant d’associer à RAUC un système de serveur de mises à jour comme Eclipse HawkBit ou la solution clé en main Connagtive IoT Device Suite. Ces clients disposent de tout un panel de fonctionnalités de gestion de la maintenance et de la sécurité d’un parc de systèmes embarqués.

PHYTEC propose désormais en standard le client RAUC et hawkbit-updater dans les BSP Yocto qui accompagnent ses produits SOMs (un bridge de communication est nécessaire entre un serveur hawkbit et RAUC). Cet outil complémentaire permet la préparation du cycle de vie des solutions embarquées, la gestion et la mise à jour de leur logiciel.

Afin de mettre en œuvre une solution de manière efficace dans les meilleurs délais, un kit de développement dédié est disponible sur le site web PHYTEC.

POUR EN SAVOIR PLUS

Copy link
Powered by Social Snap