Sécuriser les appareils de milieu de gamme contre les menaces cybernétiques
Une nouvelle architecture se concentre sur l'amélioration de la sécurité pour les appareils embarqués de milieu de gamme.
― 9 min lire
Table des matières
Ces dernières années, on trouve plein de petits appareils électroniques dans les maisons, les bureaux et les espaces publics. Ces appareils incluent des trucs comme des thermostats intelligents, du matos médical et même des voitures connectées à internet. Comme ils gèrent des tâches importantes et des infos sensibles, ces appareils risquent d'être attaqués par des hackers.
Beaucoup de ces petits appareils manquent de solides fonctionnalités de sécurité, ce qui en fait des cibles faciles pour les malwares et autres logiciels malveillants. Une méthode efficace pour protéger ces appareils est appelée Attestation à distance. Cette méthode permet à une partie de confiance de vérifier si le logiciel de l'appareil fonctionne correctement et n'a pas été trafiqué.
Défis de Sécurité
Les appareils d'entrée de gamme et de milieu de gamme n'ont souvent pas le matériel nécessaire pour des fonctionnalités de sécurité avancées. Les appareils haut de gamme peuvent utiliser du matériel spécialisé pour améliorer leur sécurité, mais les appareils moins chers utilisent généralement une combinaison de matériel et de logiciel qui n'est pas toujours aussi sécurisée ou fiable.
Pour les appareils de milieu de gamme équipés de composants standards, il y a un mouvement pour utiliser certains types de logiciels, comme un microkernel vérifié, pour améliorer la sécurité. Le microkernel peut aider à séparer les processus, rendant plus difficile pour un processus compromis d'affecter les autres.
Cependant, les tentatives passées pour y parvenir ont eu du mal à fournir de fortes garanties concernant la sécurité de l'appareil. L'idée est de créer une architecture qui isole efficacement les composants liés à l'utilisateur de la base de confiance informatique (TcB), qui est la partie du système qui doit rester sécurisée.
Attestation à Distance et Son Importance
L'Attestation à Distance est une mesure de sécurité conçue pour protéger les appareils en permettant à une entité de confiance de vérifier l'intégrité du logiciel d'un appareil distant. Cela peut être crucial pour les appareils qui occupent des positions sensibles, comme ceux qui contrôlent les feux de circulation ou surveillent des données de santé.
Les méthodes précédentes de sécurisation des appareils bas de gamme se concentraient souvent sur des applications simples et ne fonctionnaient pas bien pour les appareils capables de faire tourner des logiciels complexes. Ces appareils nécessitent généralement des solutions plus sophistiquées qui permettent de faire tourner plusieurs applications en toute sécurité.
Les systèmes d'exécution enclavée, qui permettent à certains processus de fonctionner isolément des autres, ont été développés pour des appareils haut de gamme comme les bureaux et les serveurs, mais ces solutions ne conviennent pas aux petits appareils avec des ressources limitées.
Systèmes et Architectures Proposés
L'architecture proposée vise à s'adapter aux appareils de milieu de gamme. Elle ne nécessite pas de matériel supplémentaire étendu mais tire parti de fonctionnalités minimales existantes comme une unité de gestion de mémoire (MMU) et une fonctionnalité de démarrage sécurisé. Avec un microkernel vérifié, une séparation forte entre les processus peut être atteinte.
Cette approche sépare les composants dépendants de l'utilisateur de la TCB, ce qui permet une meilleure isolation et facilite la Vérification Formelle des propriétés de sécurité.
En réexaminant les concepts de conception, certaines fonctions qui contribuent peu à la sécurité peuvent être retirées de la TCB. Cela aide à gérer les risques potentiels associés aux applications utilisateur, qui peuvent changer fréquemment et entraîner des vulnérabilités.
Caractéristiques Clés de l'Architecture
L'architecture a plusieurs caractéristiques importantes pour assurer la sécurité :
Séparation des Composants Utilisateurs : Les composants dépendants de l'utilisateur sont gardés distincts de la TCB, réduisant la complexité des composants de confiance.
Vérification Formelle : Le système subit des processus de vérification formelle pour valider des propriétés de sécurité comme la sécurité de la mémoire, la correction fonctionnelle et l'indépendance des secrets.
Établissement de Canaux Sécurisés : Le système permet d'établir des canaux de communication sécurisés entre les processus, ce qui est essentiel dans les environnements où des données sensibles sont traitées.
Mise en Œuvre Efficace : L'architecture peut fonctionner sur du matériel commercial standard, permettant des déploiements pratiques tout en maintenant de fortes mesures de sécurité.
Axé sur les Appareils de Milieu de Gamme : Cibler les appareils de milieu de gamme permet des mesures de sécurité qui ne compromettent pas la performance ou l'utilisabilité.
Phases de Démarrage et d'Exécution
L'architecture définit des phases spécifiques pendant les opérations de démarrage et d'exécution de l'appareil. Pendant le démarrage, un processus sécurisé vérifie l'intégrité de la TCB. Une fois cette vérification confirmée, le contrôle est passé au système où les processus en espace utilisateur peuvent être créés et gérés.
En opération, le système vérifie en continu l'intégrité des processus en cours d'exécution et soutient la communication entre eux par des canaux sécurisés. Cette conception permet au système de s'adapter tout en maintenant des directives de sécurité strictes.
Vérification Formelle
Le processus de vérification formelle vérifie l'implémentation par rapport à des critères spécifiques pour s'assurer qu'elle respecte les normes de sécurité requises. La vérification inclut :
- Correction Fonctionnelle : S'assurer que le système se comporte comme prévu dans toutes les conditions.
- Sécurité de la Mémoire : Protéger contre des vulnérabilités courantes liées à la mémoire comme les débordements de tampon.
- Indépendance des Secrets : Garantir que les données sensibles restent confidentielles et ne sont pas fuitées par des modèles d'accès au timing ou à la mémoire.
Ce processus est facilité par l'utilisation de méthodes de programmation avancées qui soutiennent la vérification formelle et garantissent la sécurité des composants associés.
Évaluation de Performance
Pour démontrer l'efficacité du système, des tests ont été effectués sur une plateforme disponible dans le commerce. Ces tests ont examiné à la fois le temps de démarrage et la performance d'exécution tout en évaluant comment le système gérait diverses tâches.
Les résultats ont montré que le temps nécessaire pour que le système démarre reste constant, tandis que le temps nécessaire pour créer de nouveaux processus augmente avec le nombre de processus lancés. La performance globale reste stable même à mesure que la complexité des opérations augmente.
Répondre aux Préoccupations de Sécurité
L'architecture considère aussi divers menaces potentielles qui pourraient cibler l'appareil :
Attaques à Distance : Ces attaques consistent à exploiter des vulnérabilités logicielles pour injecter des malwares via un réseau. Ce système est conçu pour se défendre contre ces menaces en validant les processus avant qu'ils ne soient autorisés à s'exécuter.
Attaques Locales : Ces menaces surviennent quand un attaquant prend le contrôle des canaux de communication locaux pour apprendre des informations sensibles. Le système minimise ces risques en respectant des mesures de contrôle d'accès strictes.
Attaques Physiques : Bien que l'architecture puisse aider à atténuer certains risques, la conception dépend toujours de mesures de sécurité physiques standard pour se protéger contre les attaques invasives.
En comprenant ces vecteurs d'attaques potentiels, le système met en place des défenses robustes pour protéger contre les menaces évolutives.
Limitations
Malgré les forces de l'architecture proposée, il y a des limites à considérer :
- Le processus de vérification se concentre surtout sur les composants d'exécution, ce qui signifie que l'intégrité des composants de démarrage dépend des processus de démarrage sécurisés.
- L'incapacité à mettre à jour les processus au niveau utilisateur sans redémarrer peut limiter la flexibilité du système dans des scénarios pratiques.
- Gérer les terminaisons inattendues et s'assurer que les processus ne s'interfèrent pas les uns avec les autres est essentiel mais difficile.
Ces contraintes soulignent la nécessité d'un développement et d'un perfectionnement continus pour répondre aux futures exigences en matière de sécurité des appareils.
Conclusion
Dans l'ensemble, l'architecture proposée représente un pas en avant significatif dans la sécurisation des appareils embarqués de milieu de gamme. Avec son accent sur l'attestation à distance, la vérification formelle et la mise en œuvre pratique, elle offre un cadre solide pour protéger des informations sensibles dans un monde de plus en plus connecté.
En s'appuyant sur des technologies existantes tout en abordant leurs lacunes, cette architecture peut contribuer à créer des environnements plus sûrs pour les appareils dont nous dépendons au quotidien. À mesure que la technologie continue d'évoluer, nos approches en matière de sécurité doivent également évoluer, garantissant ainsi que nous pouvons efficacement nous protéger contre les menaces émergentes.
L'effort continu pour améliorer la sécurité des appareils sera crucial à mesure que de plus en plus d'appareils rejoignent l'Internet des Objets. Avec la solide fondation de cette architecture, nous pouvons espérer un avenir où nos appareils sont mieux protégés et plus fiables dans leurs opérations.
Titre: PARseL: Towards a Verified Root-of-Trust over seL4
Résumé: Widespread adoption and growing popularity of embedded/IoT/CPS devices make them attractive attack targets. On low-to-mid-range devices, security features are typically few or none due to various constraints. Such devices are thus subject to malware-based compromise. One popular defensive measure is Remote Attestation (RA) which allows a trusted entity to determine the current software integrity of an untrusted remote device. For higher-end devices, RA is achievable via secure hardware components. For low-end (bare metal) devices, minimalistic hybrid (hardware/software) RA is effective, which incurs some hardware modifications. That leaves certain mid-range devices (e.g., ARM Cortex-A family) equipped with standard hardware components, e.g., a memory management unit (MMU) and perhaps a secure boot facility. In this space, seL4 (a verified microkernel with guaranteed process isolation) is a promising platform for attaining RA. HYDRA made a first step towards this, albeit without achieving any verifiability or provable guarantees. This paper picks up where HYDRA left off by constructing a PARseL architecture, that separates all user-dependent components from the TCB. This leads to much stronger isolation guarantees, based on seL4 alone, and facilitates formal verification. In PARseL, We use formal verification to obtain several security properties for the isolated RA TCB, including: memory safety, functional correctness, and secret independence. We implement PARseL in F* and specify/prove expected properties using Hoare logic. Next, we automatically translate the F* implementation to C using KaRaMeL, which preserves verified properties of PARseL C implementation (atop seL4). Finally, we instantiate and evaluate PARseL on a commodity platform -- a SabreLite embedded device.
Auteurs: Ivan De Oliveira Nunes, Seoyeon Hwang, Sashidhar Jakkamsetti, Norrathep Rattanavipanon, Gene Tsudik
Dernière mise à jour: 2023-08-23 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2308.11921
Source PDF: https://arxiv.org/pdf/2308.11921
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.