"On a
different level though, and perhaps as a base, security professionals
would benefit through a larger understanding of basic concepts in
modeling such as levels of abstraction, logical versus physical
entities, objects attributes, and scripting." Saunders J.H., The Case for Modeling and Simulation of Information Security
La
plate-forme BridNet ("BridNet - hybBrid Network") a été conçue dans le
but de permettre l'étude de la sécurité des systèmes complexes que sont
les systèmes d'information. Se basant sur les concepts de simulation et
de simulation hybride au sens du couplage entre le réel et le virtuel,
ses objectifs sont de fournir un environnement virtuel
d'expérimentation adapté aux futurs professionnels oeuvrant dans le
domaine des systèmes d'information et de leur sécurité.
Cet outil repose sur le concept d'étude de la complexité dans un laboratoire virtuel et par l'expérimentation in virtuo.
La simulation des systèmes d'information ainsi considérée permet à
l'utilisateur spectateur-acteur-créateur d'observer, d'interrompre ou
de perturber le système étudié, mais aussi de tester l'adaptabilité du
modèle en fonctionnement et son interopérabilité avec les systèmes
environnants.
L'environnement BridNet permet la conception de systèmes d'information
virtuels, et leur interaction avec d'autres systèmes d'information
réels ou virtuels de manière transparente. En ce sens cet outil peut
être vu comme un "honeynet" [Spitzner 02] [Spitzner 03] [Stella 04]
d'un point de vue du système réel en interaction avec lui.
Mise en oeuvre technique
Afin de répondre aux objectifs d'expérimentation in virtuo,
d'immersion et d'interaction de l'apprenant dans et avec le modèle
simulé, il a été développé diverses représentations de ce modèle. C'est
ainsi que différentes IHM et vues du modèle ont été créées, dont une en
2D facilitant l'interaction et la visualisation de l'organisation
du modèle, et une en 3D permettant d'appréhender la
représentation physique des éléments du système, par immersion dans le
modèle simulé.
L'interaction avec les modèles réalisée, il restait à mettre en oeuvre
le couplage hybride réel/virtuel. Cette partie assez délicate, puisque
coeur du système, a nécessité l'écriture d'une pile réseau simplifiée.
Il aurait en effet été raisonnablement impossible et inutile de
réécrire une pile complète. L'usage du mode promiscuous permettant le transfert des flux du système
réel à cette pile réseau (reliée logiquement aux autres entités du
modèle simulé), et inversement, permet dès lors le couplage
réel/virtuel attendu. Une pile réseau virtuelle est alors disponible à
chaque élément du modèle simulé qui doit être relié au réseau réel.
Les difficultés techniques et les fonctionnalités désirées liées à la
gestion du temps au niveau du déroulement de la simulation ont donné
naissance à deux modes de fonctionnement temporel : les modes "temps
réel" et "temps virtuel". Deux ordonnanceurs ont donc été implémentés,
l'un permettant un fonctionnement "temps réel" best-effort,
dont l'objectif est d'assurer au mieux la cohérence temporelle d'un
modèle simulé avec un système réel, l'autre permettant une dilatation
du temps et ainsi l'observation des événements liés principalement au
modèle.
Fonctionnalités
La mise en oeuvre technique permet déjà d'avoir un aperçu des
fonctionnalités de la plate-forme : interaction, immersion, couplage
hybride réel/virtuel, fonctionnement ``temps réel''/``temps virtuel''.
Afin de rendre plus crédible et fonctionnel le réseau du point de vue
extérieur, des mécanismes ont été intégrés pour gérer la disponibilité
de services, simulés sur chaque entité du modèle. Il est alors possible
de rediriger des flux réseau vers des services virtuels, ou encore,
tout comme sur honeyd, de rediriger des flux vers des scripts ou applications système.
La plate-forme étant également orientée formation et étude de systèmes,
d'autres mécanismes et fonctionnalités ont été implémentés afin de
d'aider à la compréhension du modèle en fonctionnement. Un système de
détection d'intrusions basé sur Snort
a été mis en place, permettant de générer et de visualiser les alertes
en cas d'attaque circulant dans le modèle simulé. De plus, chaque
entité du modèle a la possibilité d'enregistrer les flux réseau
reçus pour analyse ultérieure. Ces flux sont alors enregistrés au format "pcap", ce qui permet l'utilisation d'outils externes tels que tcpdump ou ethereal pour étudier à postériori les flux ayant circulé dans le réseau virtuel.
Diverses autres fonctionnalités purement applicatives ont également été
développées, visant à simplifier l'utilisation de l'application, ou son
administration. Par exemple, les mécanismes de
sérialisation/désérialisation qui permettent
l'enregistrement/chargement de systèmes virtuels, ainsi que de modèles
de systèmes (appelés "templates") pré-enregistrés par les utilisateurs;
ou encore le gestionnaire d'authentification centralisé, qui permet de
restreindre l'accès à l'application ou à la base des modèles.
De nombreuses autres fonctionnalités et améliorations, telles que
l'usage des outils existant depuis le modèle simulé, sont à l'état
expérimental ou en prévision, mais ouvrent des perspectives
prometteuses.