AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la...

22
AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches

Transcript of AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la...

Page 1: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

AS « Sécurité des Logiciels Embarqués »

Axe 3 : Modèles pour la Disponibilité et la Survivabilité

Frédéric Cuppens

Directeur de recherches

Page 2: 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)

Page 3: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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

Page 4: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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

Page 5: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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

Page 6: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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

Page 7: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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

Page 8: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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 »

Page 9: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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 »

Page 10: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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

Page 11: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

Etude de la disponibilité : les problèmes

SYSTEMEREEL

FORMALISATIONSYSTEME

REEL

POLITIQUEDISPONIBILITE

Vérificationcohérence

Formalisation

PROPRIETESDISPONIBILITE

Dérivation

DéfinitionFormalisation

Validation

Page 12: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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

Page 13: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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) ...

Page 14: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

• 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é

Page 15: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

• 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

Page 16: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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.

Page 17: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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.

Page 18: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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

Page 19: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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

Page 20: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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….

Page 21: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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

Page 22: AS « Sécurité des Logiciels Embarqués » Axe 3 : Modèles pour la Disponibilité et la Survivabilité Frédéric Cuppens Directeur de recherches.

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