Un cadre logiciel entièrement intégré pour l'échange sécurisé de données dans des environnements critiques pourrait résoudre ce problème. SYSGO a développé ce type de cadre pour l'industrie automobile, appelé SACoP (Secure Automotive Connectivity Platform), et cette solution peut également servir de modèle pour une solution permettant des communications sécurisées dans le matériel roulant et la signalisation en bordure de voie. La plate-forme garantit la sécurité des informations en protégeant le transfert des données par une encapsulation et une séparation stricte de tous les canaux de communication. Ce cloisonnement est complété par un processus de démarrage sécurisé, un système intégré de détection des intrusions et un pare-feu. Le partitionnement a également pour effet de minimiser la surface d'attaque et permet de restreindre l'accès des passagers aux applications et protocoles non critiques tels que HTTP. Dans ce qui suit, nous examinerons en détail le contenu de la plateforme SACoP et nous verrons si les concepts sous-jacents peuvent être réutilisés dans un environnement ferroviaire.
La plate-forme de connectivité s'appuie sur la technologie de l'hyperviseur PikeOS (système d'exploitation en temps réel) de SYSGO, qui permet aux infrastructures critiques et non critiques de fonctionner simultanément dans un seul système. Grâce à son partitionnement des ressources et du temps, PikeOS a été conçu pour répondre à toutes les exigences essentielles en matière de déterminisme et de temps réel, de sécurité, de protection et de virtualisation. En tant qu'hyperviseur de type 1, il fonctionne directement sur le matériel embarqué, ce qui rend le système global aussi puissant que possible. En outre, PikeOS prend en charge les conceptions multi-cœurs certifiables. Outre la séparation stricte des ressources mémoire et Entrées/Sorties (E/S), le système d'exploitation maîtrise également une forme de partitionnement temporel qui répond également aux exigences les plus strictes en matière de capacité temps réel. Plusieurs fenêtres temporelles sont définies à l'intérieur d'un cycle répétitif librement définissable (également appelé cadre temporel principal). Un ou plusieurs systèmes d'exploitation invités sont affectés à ces fenêtres temporelles. À l'intérieur d'une fenêtre temporelle, des priorités fixes peuvent être attribuées aux systèmes d'exploitation alloués. Pour les applications ferroviaires, le partitionnement temporel pourrait être étendu par une autre dimension et la prise en charge des processeurs multi-cœurs. Il est ainsi possible d'exécuter différents schémas de partitionnement temporel sur différents groupes de processeurs. En outre, il est possible d'effectuer des réglages étendus en ce qui concerne le comportement du cache afin de minimiser les interférences liées au matériel entre les cœurs de processeurs. Du côté logiciel, des verrous locaux (fine-grained locking) sont utilisés dans le système d'exploitation, entre autres, pour empêcher l'expiration du worst case execution time (WCET) prévu en raison de conflits entre les cœurs. Le support multiprocesseur a déjà été certifié par TÜV-SÜD conformément aux normes EN 50128 et EN 50657 SIL 4.
Le partitionnement est la clé
En utilisant la fonctionnalité d'hyperviseur de PikeOS pour exécuter des applications dans des partitions strictement séparées, les applications critiques pour la sécurité, en particulier, peuvent fonctionner sans interruption dans un laps de temps donné. La plateforme peut utiliser le noyau de séparation PikeOS pré-certifié version 4.2.3 (build S5577 pour ARMv7/8 & x86_64) selon la norme de sécurité Critères Communs EAL3+ et peut être certifiée pour la sécurité jusqu'à SIL-4. Cela signifie qu'un seul système matériel est nécessaire lors de la planification de l'architecture logicielle, ce qui réduit les coûts de développement et de production et accélère la mise sur le marché. La plate-forme offre un cadre logiciel flexible qui aide les clients à concevoir leur architecture logicielle pour sécuriser les communications et les mises à jour.
Une passerelle prenant en charge plusieurs protocoles (3G/4G/5G) permet une variété d'applications, telles que les mises à jour des applications par voie aérienne, la connectivité au back-end du cloud ou le téléchargement des données de maintenance. Les composants logiciels et micrologiciels de l'ensemble du système sont mis à jour au moyen d'une communication sécurisée via TLS (certifiée FIPS). Tous les fichiers de mise à jour sont signés numériquement pour empêcher toute falsification.
En interne, un hotspot WLAN mis en place pour les passagers est protégé par le pare-feu de la plateforme. Le réseau interne est séparé et on ne peut y accéder que par des canaux sécurisés et surveillés. La passerelle prend en charge les réseaux locaux virtuels (VLAN).
Priorité à la sécurité
La plate-forme utilise un mécanisme de démarrage sécurisé. La communication sécurisée est assurée par une bibliothèque TLS (Transport Layer Security). La cryptographie et le stockage sont pris en charge par des binaires exécutables et des fichiers de configuration qui sont signés numériquement et stockés sur un système de fichiers certifié (CFS) sécurisé. Le système de détection des intrusions (IDS) de la passerelle réside dans une partition séparée qui surveille le trafic réseau. Le fait d'isoler différentes applications dans des partitions distinctes permet non seulement de renforcer la sécurité, mais aussi de simplifier la gestion des licences.
L'un des grands avantages de la virtualisation est que de nouvelles fonctions peuvent être ajoutées à tout moment. Cela nécessite généralement la combinaison de composants logiciels existants avec des API (interfaces de programmation d'applications) totalement nouvelles et parfois incompatibles. Maintenir une base logicielle stable tout en étant capable de répondre aux demandes des utilisateurs finaux est un défi. C'est là que la virtualisation entre en jeu. Un système virtualisé en cours d'exécution est extensible en ajoutant un nombre varié de partitions avec des systèmes d'exploitation invités sans compromettre la sécurité. La plate-forme prend en charge l'intégration de différents invités avec des applications supplémentaires, notamment PikeOS natif, POSIX, Linux (générique via la virtualisation matérielle), AGL (Automotive Grade Linux) et ELinOS, la distribution Linux embarquée et robuste de SYSGO.
Le développement d'applications embarquées pour un système partitionné nécessite une chaîne d'outils croisée, des outils de configuration bien conçus et faciles à utiliser, un débogage à distance avec prise en compte du système d'exploitation (états des threads, mappages des adresses virtuelles, etc.). Avec CODEO, un IDE basé sur Eclipse, SYSGO fournit un environnement complet de systèmes embarqués qui couvre l'ensemble du cycle de développement, depuis les premiers outils de simulation/émulation jusqu'aux mécanismes de mise à jour logicielle des systèmes déployés.
Basé sur l'architecture MILS
PikeOS utilise un concept de sécurité par conception issu de l'industrie de l'avionique : MILS (Multiple Independent Levels of Security), qui vise à contrôler le flux d'informations et l'utilisation des ressources entre les applications logicielles. Le MILS réduit la complexité de la certification, favorise la réutilisation et permet des mises à jour sécurisées des systèmes cyber-physiques (CPS) tout au long de leur cycle de vie en fournissant une séparation certifiée des applications, c'est-à-dire que si une application au sein d'un CPS complexe échoue ou commence à agir de manière malveillante, les autres applications ne sont pas affectées.
En accord avec le concept MILS, les systèmes sont séparés en trois niveaux horizontaux avec différents droits et niveaux de confiance. Le niveau le plus bas est le matériel avec d'autres modules de plate-forme et de sécurité. Le niveau 2 contient le noyau de séparation, qui contrôle toute la communication dans le système et alloue le temps de calcul et l'accès à la mémoire aux différentes applications. Lui seul est privilégié pour l'accès à la gestion du matériel et est considéré comme digne de confiance en matière de sécurité. Tous les autres modules du logiciel système de deuxième niveau sont également dignes de confiance, mais ne sont pas privilégiés pour l'accès direct à la gestion du matériel. Ils sont utilisés pour configurer et organiser l'ensemble du système et surveiller sa fonctionnalité. Toutes les applications fonctionnant en mode utilisateur sont considérées comme indignes de confiance et sont affectées au troisième niveau.
Le concept MILS formule l'implémentation cohérente et uniforme de plusieurs politiques de sécurité pour le noyau de séparation afin de sécuriser et de maintenir la fiabilité du système. Le noyau de séparation est l'élément qui permet la certification de la sécurité de la composition. Le noyau de séparation lui-même doit être certifié capable d'appliquer ces politiques de sécurité avec l'assurance requise (par exemple, les niveaux d'assurance d'évaluation de l'ISO/CEI 15408). Ces politiques de sécurité du noyau de séparation sont appliquées par des fonctions de sécurité dont l'implémentation est réduite au strict minimum afin que leur évaluation et leur certification restent possibles. Elles incluent, mais ne sont pas limitées à
- le flux d'informations : Le noyau de séparation doit permettre et contrôler le flux d'informations entre le matériel, le logiciel système et les applications ;
- l'isolation des données : Le noyau de séparation isole les zones de mémoire et les ressources allouées à chaque application ;
- nettoyage des registres du CPU : Le noyau de séparation supprime toutes les entrées dans les registres de l'UC avant qu'une autre application ne soit autorisée à utiliser l'UC ;
- limitation des dommages : Le noyau de séparation limite les dysfonctionnements d'une application à sa partition. Toutes les autres applications, le logiciel système et le noyau de séparation lui-même ne sont pas affectés.
Une plate-forme MILS doit être non contournable, évaluable, toujours invoquée et inviolable (NEAT) afin de fournir le haut niveau de sécurité requis.
Le MILS dans les applications ferroviaires
Bien que développé et appliqué à l'origine dans des applications militaires et avioniques, le concept MILS est également tout à fait adapté à l'industrie ferroviaire, notamment en ce qui concerne les systèmes certifiables. Le projet certMILS, financé par l'UE et dans lequel SYSGO est activement impliqué, développe actuellement une méthodologie de certification de sécurité compositionnelle pour les systèmes complexes composables critiques en matière de sécurité fonctionnant dans des environnements hostiles en constante évolution. Dans le cadre de cette initiative, certMILS développe des pilotes de CPS industriels composables pour les systèmes ferroviaires, certifie la sécurité des composants critiques réutilisables et assure la certification de sécurité des pilotes par des laboratoires de certification dans trois pays de l'UE avec la participation des autorités. Tout en développant et en appliquant la méthodologie de certification de sécurité, certMILS respectera et complétera les processus de certification de sécurité existants.
Les principaux objectifs du projet certMILS sont de transférer le savoir-faire en matière de certification de sécurité compositionnelle à la certification de sécurité et de rendre la certification des systèmes composés abordable. Il est également spécifiquement conçu comme un projet européen afin de réduire la dépendance vis-à-vis des technologies américaines. Le but est d'accroître l'efficacité économique et la compétitivité européenne du développement des CPS, tout en démontrant l'efficacité de la certification de sécurité et de sûreté des systèmes composables.
L'un des principaux objectifs de certMILS est d'appliquer les normes de sécurité pertinentes dans le domaine ferroviaire afin de favoriser l'homogénéisation des exigences de sécurité et d'aider les clients à fournir un niveau de sécurité conforme dans leurs produits. Tout comme dans le domaine de la sécurité, l'objectif est de fournir des conseils pour les modules de sécurité, qui peuvent être intégrés dans des systèmes complexes en utilisant des passerelles de communication sécurisées. De cette manière, l'intégrité du système peut être assurée du point de vue de la sécurité. De plus, les passerelles de sécurité basées sur des plates-formes MILS certifiées démontreront une sécurité modulaire et atteindront des niveaux de sécurité élevés.
La sécurité sur une plateforme sûre
La plateforme discutée pourrait être appliquée à la plateforme SAFe-VX de SYSGO et de Kontron. La plate-forme SAFe-VX permet le développement et la certification rapides de systèmes et d'applications ferroviaires critiques pour la sécurité. SAFe-VX se compose de matériel COTS éprouvé de Kontron, de PikeOS de SYSGO et d'une bibliothèque de sécurité pour la communication. L'ensemble est complété par une chaîne d'outils complète comprenant le débogage, le traçage et la surveillance, qui est intégrée à l'environnement de développement intégré CODEO. Le système de développement possède exactement les mêmes composants que les systèmes cibles potentiels, de sorte que le code peut être transféré directement.
Le matériel est un ordinateur de sécurité critique basé sur des modules VPX dans un rack de 19 pouces. La norme VPX, également connue sous le nom de VITA46, trouve son origine dans la norme éprouvée VMEbus et se concentre sur l'amélioration des performances lors du pontage entre les bus. La configuration de base consiste en trois modules processeurs redondants interconnectés par un commutateur Gigabit Ethernet via le fond de panier. Pour éviter les pannes dues à une cause commune, entre autres, les cartes sont isolées électriquement les unes des autres. Le SAFe-VX ne présente pas de point de défaillance unique. L'architecture est certifiable jusqu'à SIL4, et un kit de certification est disponible.
Plus d'informations sur www.sysgo.com/railway