IoT : Ubuntu Core 20 s’aligne sur les exigences sécuritaires des industriels
Canonical a annoncé la disponibilité d’Ubuntu Core 20, une version allégée d’Ubuntu 20.04 LTS dédiée à l’IoT. L’éditeur entend multiplier les solutions de sécurité pour répondre aux exigences des spécialistes du développement embarqué.
IoT et sécurité. Voilà deux termes difficiles à concilier à l’aune des événements passés. Heureusement, les répercussions de ces incidents, les psalmodiations des organismes de cyberprotection, des agences gouvernementales, et surtout les exigences des industriels qui s’apprêtent à exploiter massivement les objets connectés, font évoluer l’attitude des éditeurs et des fabricants de semiconducteurs.
Canonical, principal contributeur d’Ubuntu, entend ajouter sa pierre à cet édifice sanctuarisé. Il a récemment présenté Ubuntu Core 20 (UC20), remplaçant d’Ubuntu Core 18, un système d’exploitation IoT compatible avec les architectures ARM et x86. Ce dérivé d’Ubuntu 20.04 repose sur le kernel Linux et n’est donc pas considéré comme un RTOS, à l’instar de son concurrent majeur FreeRTOS (soutenu par AWS).
« Ubuntu Core, c’est toujours Ubuntu que vous connaissez bien. Seulement, il s’agit d’une version minimaliste susceptible d’être déployée sur des appareils embarqués », affirme Galem Kayo, responsable produit Ubuntu Core chez Canonical. « Nous l’avons tout de même optimisé pour répondre aux critères de l’IoT en matière de sécurité. Les équipements connectés sont critiques : ils peuvent être installés dans des usines et de manière générale dans le monde physique ; donc les cybervulnérabilités peuvent avoir des conséquences très sérieuses », ajoute-t-il.
Secure boot et chiffrement des données au repos
En ce sens, Ubuntu Core 20 inclut trois nouvelles fonctionnalités conçues pour assurer cette protection. La première n’est autre que l’apport de Secure Boot. « Secure Boot vérifie l’authenticité de l’OS et des pilotes installés sur chaque appareil à chaque redémarrage. Il s’agit d’identifier s’ils ont bien été implantés par le propriétaire de l’équipement à l’aide d’un système de signature en cascade », précise Galem Kayo.
Présent dans plusieurs itérations d’Ubuntu, Secure Boot est placé au niveau d’un firmware, comme un UEFI. Chaque élément logiciel doit être certifié afin de former une chaîne de signatures qui est vérifiée au démarrage des équipements. En principe si l’un de ces éléments ne comporte pas la (bonne) signature, l’appareil ne se lance pas. « Cela complexifie fortement l’altération des logiciels installés sur les objets connectés », assure le responsable produit chez Canonical.
Seulement, l’implémentation du Secure Boot joue beaucoup dans sa fiabilité. En effet, ce système repose sur une racine de confiance qu’il convient de protéger. Pour cela, l’éditeur open source propose de s’appuyer sur deux standards cryptographiques : Trusted Platform Module (TPM) et Trust Execution Environnement (TEE).
Le premier doit embarquer la racine dans une puce TPM dédiée, tandis que le second, TEE, génère un environnement isolé exécuté en parallèle de l’OS, afin de sécuriser cette racine. Ce standard est notamment employé par ARM dans une distribution nommée Trustzone. « Nous ne supportons pas encore TrustZone, mais nous y travaillons », assure Galem Kayo.
Canonical associe une deuxième fonctionnalité à TPM et TEE : le chiffrement des espaces de stockage au repos.
« L’intégrité des données au repos peut être obtenue en stockant de manière sécurisée la clé privée utilisée pour le cryptage dans le matériel/TPM, ou en utilisant des environnements logiciels spécialisés qui utilisent un chiffrement par clé symétrique. Grâce à cette clé, les données sensibles stockées sur le disque peuvent être protégées », lit-on dans la documentation de l’éditeur.
« Le chiffrement par défaut permet d’empêcher l’extraction des données d’appareils parfois pas ou peu surveillés », vante le responsable produit. Cela réclame néanmoins d’utiliser ces deux standards et de paramétrer correctement le modèle de graduation de sécurité proposé, afin de définir quelles données sont les plus sensibles.
Par ailleurs, TPM n’est pour l’instant pris en charge que pour les équipements dotés de l’architecture x86 dont les machines Intel certifiées par Canonical, à savoir les NUC séries 7 (NUC7CJYH, NUC7PJYH, NUC7i3DNHE et NUC7i5DNHE), et le TANK-870-Q170. Ils sont largement employés en tant que gateways IoT. L’éditeur promet un support de la fonctionnalité pour les Raspberry Pi 2, 3 et 4. À noter que les Raspberry n’intègrent pas par défaut de module TPM, cela réclame d’en implanter un via le port GPIO.
La troisième capacité d’UC20 ajoute un mode de restauration des données et de réinstallation des logiciels. Comme les autres versions de l’OS IoT, UC20 profite de mises à jour pour les bugs critiques et les failles de sécurité pendant 10 ans.
Les grands groupes industriels en ligne de mire
« Après avoir déployé Ubuntu Core 18, les clients revenaient vers nous pour nous demander ces capacités-là parce qu’ils avaient beaucoup de mal à les implanter eux-mêmes. Avec leur disponibilité par défaut dans Ubuntu Core 20, les utilisateurs peuvent se concentrer sur leurs applications embarquées », s’engage Galem Kayo. Pour le moment, les premiers à réagir à ces ajouts sont les OEM et les fournisseurs de solutions IoT, en particulier Rigado.
« Rigado connecte plus de 6 millions de dispositifs pour les solutions IoT d’entreprise, notamment des bureaux et des bâtiments intelligents, des commerces de détail connectés et une logistique intelligente dans plus de 15 000 sites répartis dans 75 pays. La sécurité est d’une importance capitale pour les clients de Rigado. Notre flotte actuelle dispose de la mise en œuvre Ubuntu Core la plus sécurisée et nous sommes impatients de placer la barre encore plus haut avec Ubuntu Core 20 en partenariat avec Canonical. Le démarrage sécurisé intégré par défaut dans Ubuntu Core 20 nous permettra de déployer plus facilement de nouveaux appareils et d’offrir les niveaux de sécurité élevés que nos clients exigent », déclare Justin Rigling, directeur technique de Rigado, dans un communiqué de presse.
Comme ses prédécesseurs, UC20 supporte une fonctionnalité de mise à jour OTA (Over The Air), à distance donc. Si elle est accessible pour les utilisateurs de la version open source, Canonical propose un service payant de mises à jour du kernel, de l’OS et des applications IoT via ce que Canonical nomme des app stores. Ces app stores peuvent être déployés sur le cloud (AWS) ou sur site. La tarification dépend du volume d’objets connectés, de la périodicité des actualisations et du niveau de support associé.
Ubuntu Core, un OS rigide par nature
Là encore, Canonical assure employer les standards cryptographiques évoqués plus haut. Mais il faut surtout comprendre que ces stores dédiés à l’OTA reposent sur Snappy, le système de gestion de paquets et de déploiement d’images de Canonical s’appuyant lui-même sur l’API Rest Snapd. En outre, les snaps offriraient une isolation des applications qu’ils contiennent. « Chaque application dispose de son propre environnement isolé et les snaps permettent de rendre le système plus composable : les développeurs ne containerisent que les composants dont ils ont besoin, cela réduit la surface d’attaque », considère Galem Kayo.
Pour autant, les snaps n’ont généralement pas bonne presse auprès de la communauté open source, à cause de leur rigidité, entre autres. Les entreprises partenaires de Canonical ne sont pas du même avis : Bosch Rexroth s’appuie sur cette technologie pour bâtir son magasin d’applications ctrlX Automation et semble satisfait.
Galem kayoResponsable produit Ubuntu Core, Canonical
Précisons que Canonical cible d’abord ce type d’usagers. « Gardez à l’esprit qu’Ubuntu Core est favorable à la production, et pas nécessairement aux développeurs. Nous vous recommandons d’utiliser Ubuntu Core à des fins d’application du modèle “Fire & Forget” lorsque vous ne souhaitez pas itérer sur le logiciel », peut-on lire dans la documentation de l’éditeur.
« Les nouveaux utilisateurs se posent beaucoup de questions sur le fonctionnement des snaps. C’est pour cela que nous avons introduit un service nommé Smart Start pour accompagner les startups et les entreprises qui veulent développer une première série avec Ubuntu Core, mais qui n’ont pas la capacité en interne pour le faire », avance Galem Kayo. SMART Start est facturé à partir de 30 000 euros et comprend un an de mise à jour pour 1 000 appareils maximum. L’éditeur dispose de tout un catalogue de services similaires à coût fixe. « Il est aussi possible d’utiliser Docker et Kubernetes avec Ubuntu Core par le biais de snaps », ajoute le responsable.