as « sécurité des logiciels embarqués » axe 3 : modèles pour la disponibilité et la...
TRANSCRIPT
AS « Sécurité des Logiciels Embarqués »
Axe 3 : Modèles pour la Disponibilité et la Survivabilité
Frédéric Cuppens
Directeur de recherches
Introduction
• Traditionnellement,
Sécurité Informatique = Garantir 3 propriétés
Confidentialité• Pas de divulgation non autorisée d ’information
Intégrité• Pas de modification non autorisée d ’information
Disponibilité• Pas de déni d’accès non autorisé aux informations ou aux ressources
(Définitions ITSEC)
Confidentialité
• Nombreux modèles
Bell et LaPadula Non Interférence Non Déduction Non Inférence Causalité …
• Mise en œuvre de techniques de preuve Preuve statique de code Validation de mécanismes de contrôle d ’accès
Intégrité
• Moins de modèles
Biba• Dual de Biba pour l ’intégrité
Clark-Wilson• Transactions bien formées• Séparation des tâches• Contrôle d ’accès
Cuppens-Saurel• Gestion des droits des utilisateurs • Gestion de l ’intégrité des informations
– Crédibilité des sources – Règles de propagation de l ’intégrité entre concepts– Evolution de l ’intégrité aux cours du temps
Disponibilité
• Beaucoup moins de modèles !
Yu et Gligor (1990)• Expression de propriétés de disponibilité
Millen (1992)• Modèle de disponibilité orienté allocation de ressources
Cuppens-Saurel (1999)• Expression d ’une politique de disponibilité• Expression de propriétés de disponibilité• Model checking pour analyser la disponibilité d ’un système
Disponibilité : définitions
• Deux Définitions possibles
• Définition 1 Pas de « déni de service » Déni de service = réduction des performances du système, intentionnelle ou accidentelle Disponibilité = « Safety property »
• Définition 2 Capacité du système à fournir des services aux utilisateurs autorisés dans des conditions
d ’utilisation données Disponibilité = « Liveness property »
• Remarque : Définition 2 Définition 1
Définition 1 : disponibilité = pas de déni de service
• Objectif Protéger le système contre les attaques en déni de service Une des problématiques de la détection d ’intrusion
• Dans la pratique On a des protocoles vulnérables On sait qu’ils vont subir des attaques
• Conséquences On n ’essaye pas de prouver que ces protocoles satisfont des propriétés de disponibilité On essaye plutôt de détecter des attaques contre ces protocoles
Détection des attaques en déni de service
• En général, on suppose que l ’on « connaît » les attaques en déni de service
• On spécifie la signature de l ’attaque Permet de détecter l ’attaque
• On spécifie ensuite que « Attaque Deny »
• Mais, on ne précise pas la sémantique du prédicat « Deny »
Problème ouvert
• Détection des dénis de service distribués (DDOS)
. . .
Attaque1
Attaque2
Attaquen
« Attaquei Deny »
Mais :
« Attaque1 Attaque2 … Attaquen
Deny »
Besoin de formaliser le « Deny »
Définition 2 : disponibilité = capacité de fournir des services
• Capacité du système à fournir des services aux utilisateurs autorisés dans des conditions d ’utilisation données Conditions d ’horaires, de délai et de performances Conditions sur le système et l ’utilisation des ressources
• Concept de politique de disponibilité A.P : Availability Policy
• Exemple :R1 : Le sujet S doit pouvoir commencer à réaliser la tâche TT au plus tard 6 unités de temps
après sa requêteR2 : Le sujet S doit pouvoir disposer de la ressource nécessaire à TT au plus tard 4 unités
de temps après l ’avoir demandée R3 : La durée maximale de réalisation de la tâche TT est de 9 unités de temps
Etude de la disponibilité : les problèmes
SYSTEMEREEL
FORMALISATIONSYSTEME
REEL
POLITIQUEDISPONIBILITE
Vérificationcohérence
Formalisation
PROPRIETESDISPONIBILITE
Dérivation
DéfinitionFormalisation
Validation
Langage pour représenter une politique de disponibilité
• Concepts de base à exprimer :
Ressource : type (mémoire, CPU…), attributs (taille…), état (occupé, libre),
structure (décomposition en ressources élémentaires) Tâche : ressources nécessaires, durée nécessaire d’utilisation de chaque ressource,
ordre de passage entre ressources Sujet : ressources consommées, état (attente, choisi, en cours de réalisation…)
actif ou pas (CPU) Notions temporelles : événements (réalisation d ’une tâche), intervalles (délais
d ’attente), durée, date (points temporels) Concepts déontiques : droits des sujets sur les ressources ou les tâches
• formulés en termes d ’obligations, de permissions et d ’interdictions
Langage pour représenter une politique de disponibilité
• Logique du premier ordre avec égalité
• Logique temporelle (temps discret) hold-at(p,t), hold(p, [t1,t2]) (cf Sripada, 1993)
• Modalités déontiques Op : p est obligatoire Fp : p est interdit (O¬p) Pp : p est permis (¬O¬p)
• permission implicite (hypothèse facile à lever)
• Prédicats dédiés pour représenter les concepts relatifs à la disponibilité subject(s), task(t), resource(r), use(s,r), asks(s,r), gets(s,r), release(s,r) ... task-duration(t,d), max-task-duration(t,d), resource-needs(t,rt,d,q) ...
• Droits d ’accès aux ressources
Subject s asks
for an accessto resource r
s gets anaccess toresource r
s releasesresource r
Use time of r
Constrained bypredicate
disposal-right
Constrained by
predicateuse-right
Waiting time for r
Please Thank You Bye
Spécification d’une politique de disponibilité
• Droits associés aux tâches
Spécification d’une politique de disponibilité
Time
Subject s asksfor realizing
task t
s startsrealizing
task t
s endsrealizing
task t
Waiting time for t Run time of t
Constrained bypredicate
realization-right
Constrained bypredicaterun-right
Please Thank You Bye
Spécification d’une politique de disponibilité
• Priorités entre (sujet, tâche) priority ([s1,t1],[s2,t2]) : (s1,t1) est prioritaire sur (s2,t2) expression de conditions de priorité (urgence, hiérarchie…) dans des formules du langage
• Conventions d ’utilisation (user agreements) ex : Quand un sujet a fini une tâche consommant une ressource, il doit abandonner cette
ressource.
Cohérence d’une politique de disponibilité
• Principe : si l ’ A.P. spécifie qu’un sujet a la permission / l ’obligation de faire quelque chose,
alors elle doit spécifier que ce sujet a la permission d ’avoir les moyens pour le faire
• Définition d ’un ensemble de contraintes devant être vérifiées par l ’A.P.
• Une A.P. est cohérente s ’il est possible de montrer que ces contraintes sont des théorèmes de l ’A.P.
Conformité entre un système et sa politique de disponibilité
• Principes : 1- Toute opération réalisée dans le système est autorisée dans la politique de disponibilité
2- Toute opération obligatoire dans la politique de disponibilité est réalisée dans le système
• Dérivation de contraintes de conformité entre le système et la
politique
• Hypothèse : on dispose d ’une spécification logique du système
• Un système est conforme à une A.P.
s’il est possible de montrer que ces contraintes de conformité sont
des théorèmes de cette spécification logique
Vérification d ’une propriété de disponibilité
• Contrôle de la disponibilité des ressources, et de la réalisation des tâches
• Cas particuliers : Politique de temps d ’attente maximum (Yu et Gligor) Propriétés de disponibilité
• Toute requête sur une ressource sera satisfaite en temps fini.• Tout sujet demandant la réalisation d ’une tâche la verra se réaliser en temps fini.
• Montrer que ces contraintes sont des théorèmes de la spécification logique du système
Application sur des algorithmes d’allocation de ressources
• Hypothèse : travail sur la spécification logique de l ’algorithme
• Méthodologie : spécification des « cas pires » :
• il y a toujours des processus en attente• dès qu ’un processus a fini une tâche, il en redemande une autre
choix des « tâches pires » (vis à vis de la disponibilité)• dépend de l ’algorithme analysé (exemple : la tâche la plus longue pour FIFO)
• Résultat : Vérification de la propriété recherchée, par simulation dynamique des cas pires avec les tâches pires
• Applications : FIFO, Round Robin, Shortest Job First….
Conclusion
• Définition et formalisation de la notion de politique de disponibilité
• Analyse de la cohérence d ’une politique de disponibilité
• Dérivation de propriétés de disponibilité à partir d ’une politique de disponibilité
• Modèle extensible à des types de ressources différents
Perspectives / Problèmes à étudier
• Définition 1 Modélisation de la notion de « Deny »
• Définition 2 Prise en compte de la notion de mode dégradé Cohérence d’une politique de disponibilité Méthodologie pour vérifier des propriétés de disponibilité Analyse des cas moyens (fautes accidentelles)
• Applications : analyse des mécanismes pour la survivabilité Protocoles d ’allocation de ressources critiques Gestion de trafic Mécanismes de tolérances aux fautes Redondance en cas d ’attaques malveillantes
• Redondance passive / redondance active
• Choisir une étude de cas