Précédent : Protection et noyaux de sécurité Remonter
: Action de recherche Suivant : Actions
industrielles
Participants : Yves Deswarte, Mohamed Kaâniche, Rodolphe Ortalo
La poursuite des travaux relatifs à l'évaluation quantitative
de la sécurité des systèmes s'est concentrée sur deux axes. D'une
part, la mise en oeuvre expérimentale de la méthode d'évaluation
sur un système informatique de taille importante a été effectuée
sur une longue période grâce au prototype existant. Ceci a permis
de rassembler une grande quantité de résultats et d'évaluer la
capacité de la méthode à fournir une évaluation pertinente de la
sécurité. D'autre part, un formalisme de spécification des
objectifs de sécurité d'un système a été défini et expérimenté
par le biais de l'implémentation d'un prototype d'éditeur de
politiques de sécurité. Un modèle des vulnérabilités du système
(par exemple un graphe des privilèges), joint à la description de
ses objectifs, fournit les éléments permettant la mise en oeuvre
de la méthode d'évaluation, et laisse penser qu'elle peut être
étendue des systèmes informatiques aux systèmes d'information et
aux organisations.
Afin de spécifier les objectifs de sécurité, ainsi que les
mécanismes contenus dans le système qui sont liés à la sécurité,
nous avons étudié la possibilité d'utiliser un formalisme
logique, la logique modale, et plus précisément une de ses
branches, la logique déontique. L'atout principal de ce
formalisme est de faire coexister dans un même langage logique
les propositions usuelles de la logique propositionnelle et la
notion plus riche de nécessité (et son dual, la possibilité)
susceptible de prendre une sémantique d'obligation (et de
permission) sans préjuger de la description d'autres propriétés
du système. Ce formalisme semble particulièrement adapté pour
l'écriture formelle d'une politique de sécurité, son expressivité
permet en effet de combiner des opérateurs exprimant des
contraintes fortes sur le système décrit (plus précisément ses
objectifs de sécurité) et la description plus traditionnelle du
fonctionnement des mécanismes de sécurité et les propriétés de
l'état de protection réel (éventuellement imparfait du point de
vue des objectifs de sécurité). L'expressivité de ce langage
laisse de plus supposer qu'il puisse être utilisé pour décrire
des systèmes d'informations plus généraux que les systèmes
informatiques et s'appliquer à des organisations. Afin
d'expérimenter ce formalisme, un prototype d'éditeur de politique
de sécurité, utilisant une représentation graphique des symboles
du langage a été développé et utilisé pour représenter des
mécanismes de sécurité, tout d'abord relatifs à des systèmes
informatiques [16]. Cette
expérimentation a permis de valider la faisabilité d'une telle
approche en montrant qu'il était relativement aisé de représenter
et de structurer à la fois les objets et les mécanismes relatifs
à la sécurité d'un système, et les propriétés que l'on désire
voir satisfaites. L'analyse des objectifs de sécurité ainsi
spécifiés permet d'identifier les sujets et les objets qui sont
plus particulièrement relatifs à la vérification d'un objectif de
sécurité précis. Par exemple dans le cas d'un système
informatique, on peut ainsi déterminer les utilisateurs dont les
données doivent être protégées, ainsi que ceux qui sont
susceptibles de les menacer. L'utilisation d'un modèle
représentant les vulnérabilités du système permet alors de savoir
quelles sont les classes de mécanismes utilisables pour mettre en
défaut un objectif de sécurité particulier.
Notre démarche repose sur une modélisation des vulnérabilités
du système informatique sous forme d'un graphe des privilèges. Le
graphe des privilèges est un modèle formel dans lequel les noeuds
représentent des ensembles de droits (ou privilèges), et les arcs
des transferts de privilèges. Ces transferts peuvent être licites
(un utilisateur ayant les privilèges B fait confiance à celui
ayant les privilèges A), ou implicites (B est un sous-ensemble de
A), ou encore illicites (le transfert est une attaque
élémentaire). Un poids peut être affecté à chaque transfert,
selon la difficulté et/ou le temps nécessaire pour un attaquant
pour exploiter la méthode correspondant au transfert élémentaire
de privilèges. Ce graphe peut être analysé pour identifier les
possibilités de mettre en défaut les objectifs de sécurité du
système. En effet, à partir de la politique de sécurité, il est
possible d'identifier les attaquants potentiels, internes ou
externes, et les cibles potentielles (ensembles de privilèges
sensibles). La politique de sécurité peut être mise en défaut
s'il existe au moins un chemin depuis l'ensemble des privilèges
d'un attaquant jusqu'à une cible. A partir de ce graphe pondéré,
il est possible d'évaluer la sécurité comme étant la difficulté
pour les attaquants potentiels d'atteindre les cibles
potentielles. L'évaluation quantitative s'appuie alors sur
l'exploitation numérique du MTFF calculable à partir de ce
réseau.
Dans le cas d'un système informatique, le graphe des privilèges peut être généré automatiquement, par exemple à l'aide d'un outil permettant d'analyser automatiquement la configuration d'un système Unix pour en déterminer les vulnérabilités. De même, une description formelle des objectifs de sécurité permet d'identifier les cibles et les attaquants potentiels. Le prototype d'outil logiciel ESOPE enchaînant les différentes phases de l'évaluation a été utilisé pour collecter des données pendant plus d'un an sur un système informatique d'une centaine de machines et de plusieurs centaines d'utilisateurs. L'évaluation quantitative effectuée sur ces données pour un certain nombre d'objectifs de sécurité simple (protection du super-utilisateur ou d'un groupe particulier d'utilisateurs au sens d'Unix) et les résultats obtenus ont montré que l'évolution de la mesure permet d'identifier un certain nombre d'événements pertinents pour la sécurité et liés à la vie opérationnelle du système [15].