• Aucun résultat trouvé

3.4 Conclusion

4.1.1 Environnement d’étude

L’implémentation de l’approche nécessite trois éléments principaux : un banc de test, une station de prototypage, et une station qualifiée. De façon générale, un banc de test est composé d’une cible et d’un contrôleur. Pour notre approche, la cible est un calculateur avionique exécutant l’application à surveiller, et le contrô-leur est une machine capable d’interagir avec la cible à l’aide d’outils dédiés, qui sont développés par le fournisseur de la cible. Le contrôleur est utilisé pour capturer de façon représentative le comportement courant de l’application à surveiller. La station de prototypage permet d’effectuer des premiers tests de façon simple en s’af-franchissant des contraintes liées à l’environnement du banc de test. C’est donc sur cette station que le processus itératif de modélisation et de validation du SDA sera effectué. Enfin, la station qualifiée est spécifique au contexte avionique et contient les outils qualifiés permettant notamment de compiler une application avionique ou vérifier sa configuration. Cette dernière station est utilisée pour développer la partition HIDS qui sera ensuite embarquée sur la cible.

Dans le cadre de ces travaux, les équipements suivants ont été utilisés comme banc de test, station de prototypage, et station qualifiée :

1. Le banc de test : L’architecture du banc de test manipulé est représentée

par la Figure 4.1. Il est composé d’un contrôleur et d’une cible. Le contrôleur est un ordinateur classique sur lequel sont installés les outillages nécessaires pour interagir avec la cible. Il y a notamment un outil d’instrumentation, un client de debug GDB1, et un outil Wireshark2 de capture réseau, avec un plugin permettant de décoder les trames réseau avionique ARINC 664 part 7 (A664p7). La cible est un calculateur avionique avec une architecture PowerPC 32 bits et les composants logiciels suivants :

— Un OS temps-réel auquel est attaché un serveur GDB, permettant d’ar-rêter le temps-réel localement au calculateur via des points d’arrêt, — Une ou plusieurs partitions systèmes, dont une partition permettant une

instrumentation temps-réel et non-intrusive des partitions applicatives, et une partition de maintenance BITE (Built-In Test Equipment) qui agrège des logs destinés à la maintenance,

1. GNU Debugger : https ://www.gnu.org/software/gdb/ 2. https ://www.wireshark.org/

4.1. Implémentation de l’approche 69

Figure4.1 – Environnement banc de test

— Une ou plusieurs partitions applicatives, qui ne sont pas stimulées de fa-çon extérieure (I/O ou interaction pilote), et qui peuvent éventuellement produire une sortie vidéo.

Le contrôleur et la cible interagissent via un réseau Ethernet et/ou via un réseau A664p7, selon l’outil utilisé.

2. La station de prototypage : C’est une station bureautique utilisée pour

toutes les activités de prototypage. Au maximum, tout concept ou méthode est implémenté sur cette machine avant d’être implémenté sur la cible. Ceci a pour but de faciliter les développements et les tests de concepts ou technologies sur une machine rapide avant de passer dans un environnement embarqué plus difficile à appréhender.

3. La station qualifiée :C’est également une station bureautique, qui héberge

cette fois l’ensemble des outils de la chaîne de développement d’une application avionique. Elle héberge notamment un compilateur certifié et des outils de gestion de configuration.

La Figure 4.2 décrit le prototype réalisé afin d’implémenter les activités de l’approche d’HIDS relatives à la phase d’intégration (Analyse de sécurité statique, Modélisation du SDA, et Validation du SDA). Ce prototype permet de travailler sur des données réelles (collectées depuis la cible) pour évaluer l’efficacité de détection de l’HIDS, en utilisant la station de prototypage. L’évaluation de l’utilisation des ressources par l’HIDS est traitée plus tard dans le Chapitre 5.

La cible utilisée est un calculateur en cours de développement dont le matériel est représentatif du matériel utilisé sur le produit final. Le RTOS est une version en développement également, dont la MMU n’est pas activée et qui ne possède pas de partition système d’instrumentation ou de maintenance (BITE). Deux

applica-Figure4.2 – Prototype relatif aux activités de la phase d’intégration

tions d’affichage appelées IHM-DA (Interface Homme-Machine pour les Données de l’Aéronef) et IHM-DV (Interface Homme-Machine pour les Données de Vol), en cours de développement, sont exécutées sur ce calculateur. Ces deux applications ne sont pas exécutées simultanément, il est nécessaire de sélectionner au préalable l’application qui sera exécutée. Elles affichent respectivement des informations re-latives à l’état physique de l’aéronef, comme la pression des pneus ou la quantité de carburant disponible, et des informations relatives au vol, comme la vitesse ou l’altitude. Chacune de ces applications est développée sur une seule partition. Dans les deux cas, celle-ci procède à une phase d’initialisation au démarrage puis affiche des données relatives à un scénario codé en dur dans le code de la partition (ses entrées d’activation sont donc directement codées à l’intérieur de la partition, elles sont donc auto-suffisantes).

Deux nouveaux outils sont introduits sur le contrôleur : l’outil d’injection d’at-taque et le moniteur de SDA. Le premier permet de modifier le comportement de l’application cible, et donc générer des comportements anormaux. Il est détaillé dans la Section 4.2. Le second permet d’observer le comportement de l’application sous surveillance et de stocker les données d’observation pour un traitement ultérieur sur la station de prototypage.

Cette station de prototypage héberge quatre nouveaux composants : un outil d’analyse de ressources, un outil de prétraitement des données, un outil de modéli-sation du SDA, et un outil de vérification du SDA. L’outil d’analyse de ressources est utilisé dans la phase d’Analyse statique de sécurité. Le moniteur de SDA et le prétraitement des données sont utilisés pendant les phases de Modélisation

du SDA et de Validation du SDA. L’outil de modélisation du SDA est utilisé

pendant la phase de Modélisation du SDA, et les outils d’injection d’attaque et de vérification du SDA sont utilisés pendant la phase de Validation du SDA.

Le Tableau 4.1 résume l’utilisation de ces composants dans l’approche HIDS lors de la phase d’intégration. L’implémentation de chaque composant est détaillée

4.1. Implémentation de l’approche 71

Table 4.1 – Résumé des composants et de leur utilisation lors de la phase d’inté-gration

Analyse statique

de sécurité Modélisationdu SDA Validationdu SDA Outil d’analyse de l’utilisation

des ressources

×

Moniteur de SDA × ×

Prétraitement des données × ×

Modélisation du SDA ×

Outil d’injection d’attaques ×

Vérification du SDA ×

dans la suite de cette section.