Un framework logique pour l’évaluation de la résilience

Nous avons décidé de vous présenter un article[1] écrit par Elie Bursztein et Jean Goubault-Larecq qui présente un framework permettant d’évaluer la résilience d’un réseau.
Comme nous l’avons déjà vu, les réseaux informatiques sont sujets aux défaillances ainsi qu’a des actions malveillantes. Les auteurs présentent donc un modèle incomplet (qui ne priend pas en compte les facteurs humains et financiers), mais qui, à sa décharge, prend en compte le facteur temps (temps d’attaque, temps pour avoir de nouveau un système opérationnel).
Les auteurs choisissent de présenter leur modèle suivant 3 axes:
Ils choisissent de présenter les dépendances entre fichiers et dépendances, ce qui rend possible la prévision des dommages collatéraux en citant l’exemple d’une défaillance sur deux serveurs redondants chez Bouygues, ces pannes avaient tout simplement empêché les utilisateurs d’utiliser leurs téléphones.
Ensuite ils nous exposent la nécessité de ne pas se limiter à la modélisation des incidents, mais également de modéliser les actions qui seront mises en place par les administrateurs pour limiter les dégâts sur le réseau.
Ils utiliseront donc une logique de jeu, les incidents/attaques sont représentés par les joueurs I tandis que les administrateurs sont représentés par les joueurs A. Le facteur temps est également présenté comme primordial pour modéliser l’évolution du réseau, en effet les joueurs I et A sont en compétition pour atteindre leurs objectifs, et le plus rapide va normalement avoir un avantage décisif.
Le modèle se veut comme une variante du TATL ( Timed Alternating-time Temporal Logic) et se présente sous la forme de deux couches. La couche la plus basse représente le graphe de dépendance des fichiers et des services à un moment donné. La couche supérieure représente l’évolution de ce graphe au cours du temps.
Les graphes d’attaque et de dépendances se repésentent de la même manière, les arcs représentent les actions tandis que les sommets représentent les états du réseau. Suivant le modèle chaque action des joueurs va modifier l’état du réseau et donc le graphe, le facteur temps révéle là toute son importance, si l’intrus réussit son attaque en 5 secondes alors qu’il faut 5 minutes à l’admnistrateur pour pallier à la défaillance (patch), le correctif sera nullifié par l’attaque.
Prenons l’exemple d’un serveur web et son graphe de redondance:

Nous allons rapidement indiquer les différents éléments constitufis du schéma, → représente la fonction de dépendance, A→ B signifie que l’élément A dépend de B. Le symbole ≡ représente l’équivalence entre deux services qui jouent le même rôle, habituellement cela représente des serveurs hébergant les même données, pour des soucis d’efficacité (load balancing) ou de sécurité (failover). Les états, eux, sont utilisés pour modéliser des informations qui évolueront au cours du temps, typiquement les états décrivent les fichiers/services disponibles, corrompus, etc..
Nous avons donc besoin de modéliser les actions qui modifient les états. Celles ci peuvent être le résultat de défaillances, d’attaques malveillantes ou d’actions de maintenance de l’administrateur. On a donc des régles d’une forme déterminée, une pré-condition démarre l’action qui se déroulera pendant un instant D , la pré-condition doit être valable pendant toute la durée D de l’action.
Cette organisation en graphes et en joueurs permet de donner naissance à des jeux d’anticipation chronométrés. Il s’agit la d’une approche originale dans la problématique de la résilience et dans nos prochains articles, nous vous en présenterons de nouvelles approches .
Références
1. http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/BGL-asian07.pdf
2. http://cc.ee.ntu.edu.tw/~farn/courses/FMV/FMV.Ref1.pdf

Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution 4.0 International.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>