You are on page 1of 30

SŽcuritŽ informatique

et tolŽrance aux fautes

Yves Deswarte

LAAS-CNRS & INRIA


Toulouse (France)
deswarte@laas.fr
1
Deux approches possibles

¥ TolŽrance aux fautes pour la sŽcuritŽ :

tolŽrance aux malveillancesÊ: fautes malicieuses

¥ Appliquer une approche de sŽcuritŽ informatique aux


syst•mes tolŽrants aux fautes

politique dÕintŽgritŽ pour des syst•mes ˆ plusieurs


niveaux de criticitŽ

2
Vision classique de la sŽcuritŽÊ: PrŽvention
Base de confiance (TCB)Ê: incontournable, inviolable, prouvŽe correcte

Base de
confiance
Authentification
Utilitaires
Utilisateur
Matrice des
droits
d'acc•s

Sujets Moniteur de
Objets
rŽfŽrences

Fichier
d'audit

3
Qui sont les intrusÊ?

1)

Intrus externe

2) Accès autorisé
Accès
Intrus interne interdit
(extension de privilèges)

3)
Administrateur de sécurité
(abus de pouvoir)

80% des fraudes informatiques sont des abus de pouvoir


4
Effets des intrusions

Intrusions = fautes d'interaction dŽlibŽrŽes

Intrusion

Attaques sur Attaques sur


les donnŽes le service

Sans Modif Des- Sans Modif DŽni de


modif. cohŽrente truction modif. cohŽrente service

confidentialitŽ intŽgritŽ DisponibilitŽ (exclusivitŽ) intŽgritŽ DisponibilitŽ


(ou pŽrennitŽ)

TolŽrance aux intrusions ≈ TolŽrance aux fautes accidentelles


(+ confidentialitŽ + distribution non alŽatoire)
5
TolŽrance aux Fautes Intentionnelles

TolŽrance aux fautes de conception intentionnelles :

porte dŽrobŽe, bombe logique, cheval de Troie, virus, vers...

Comme pour les fautes de conception accidentelles, la


seule voie (peu explorŽe) semble •tre la diversification de la
conceptionÊ: production de N versions diffŽrentes avec vote
sur les rŽsultats)

6
TolŽrance aux intrusions

☞ Chiffrement
➤ confidentialitŽ (zone noire - zone rouge)

➤ intŽgritŽ : signature numŽrique pour dŽtection des modifications :


toute modification Žquivaut ˆ une destruction

¥ mais inefficace pour la disponibilitŽ : il faut utiliser des techniques de


redondance analogues ˆ celles de la tolŽrance aux fautes accidentelles.

☞ RŽplication
¥ la rŽplication permet de se protŽger contre les modifications et les destructions
non-autorisŽes (comme pour les fautes d'origine accidentelle)

➤ l'intrus doit modifier/dŽtruire la majoritŽ, voire l'ensemble des copies avant de


compromettre l'intŽgritŽ ou la disponibilitŽ.

¥ Cependant, la rŽplication est nŽfaste pour la confidentialitŽ.

7
☞ DŽtection et recouvrement des intrusions :
DŽtecter, ralentir, intervenir (+ enregistrer, corriger)
¥ DŽtection :
➤ par les mŽcanismes de contr™le d'acc•s : authentification et autorisation
➤ par discrimination entre les comportements normaux (utilisateurs autori-
sŽs) et les comportement anormaux (intrus)
(syst•mes experts, analyse statistique)
➤ autres dŽtections : audits de sŽcuritŽ, dŽtection d'erreurs, dŽfaillances
¥ Ralentissement :
➤ rŽsilier les droits
➤ tromper l'attaquant (intoxication)
¥ Intervention :
➤ identifier et localiser l'attaquant
➤ poursuites judiciaires
➤ restauration des informations dŽtruites

☞ Brouillage
¥ Ajouter des informations superflues (bourrage), p.ex. des messages
¥ Augmentation de l'incertitude dans les rŽponses aux requ•tes statistiques
dans les bases de donnŽes (tolŽrance aux attaques de dŽduction par
infŽrences)

8
Fragmentation-Redondance-DissŽmination (FRD)
Objectif :
Faire en sorte que l'intrusion d'une partie du syst•me ne donne acc•s qu'ˆ des
informations non significatives : confidentialitŽ, intŽgritŽ, disponibilitŽ

Principe :
➤ DŽcouper l'information en fragments de telle sorte que des fragments isolŽs
ne fournissent pas d'information significative
➤ Ajouter de la redondance aux fragments pour tolŽrer les attaques en
modification, destruction ou dŽni de service
➤ Isoler les fragments en les dissŽminant :
= DissŽmination spatiale : utiliser diffŽrents sites de stockage ou voies de
communication
= DissŽmination temporelle : mŽlanger les fragments envoyŽs avec d'autres
fragments, ou les transmettre dans un ordre
alŽatoire
= DissŽmination frŽquentielle : envoyer les fragments sur des frŽquences
diffŽrentes (communications ˆ large bande)
= DissŽmination des privil•ges : exiger l'accord de plusieurs utilisateurs ou
entitŽs avant d'exŽcuter une opŽration (secret
partagŽ, ou sŽparation des pouvoirs)

9
Exemple : SchŽmas ˆ seuil

- Stocker K sous la forme dÕun ensemble de valeurs Ki


(images), telles que:
¥ S images permettent de reconstruire le secret (S = seuil)

¥ S-1 images nÕapportent aucune information

- Si lÕon sait gŽnŽrer N images (avec N>S), alors jusquÕˆ


(N-S) images peuvent •tre dŽtruites

10
Exemple simple : Seuil = 2
P(x) = {y = a x + b}
y4
y3
y2
y 0 = a x0 + b = b
y y 1 = a x1 + b
1
y0
y 2 = a x2 + b
¥¥¥
y m = a xm + b
0 x1 x2 x3 x4
a, b secrets
x1, x2, ¥¥¥ xm fixŽs
=> ˆ partir de deux points quelconque on sait calculer a et b
¥ avec 2 images quelconques, on reconstruit le secret
¥ avec une seule image, on nÕa rien

=> Seuil = 2
11
Prototype de syst•me basŽ sur la FRD

Carte
ˆ puce
Sites utilisateur

Fen•tre
d'application

Image
de clŽ
Réseaux
Sites de Sites de
sécurité stockage
.. ..
. .
Fragment
de fichier

Sites de
traitement

Fragment
d'application

12
FRD appliquŽe ˆ la gestion de fichiers

Fragmentation Réplication Dissémination

Fichier Fragments
Site utilisateur
RŽseau ˆ diffusion
Sites de stockage

13
Fragmentation

Pagination Chiffrement Distribution


nonce

P1 P1

sign.
Clé
P2
Page chiffrée Fragments

P3

P4
← bourrage
Fichier Pages

14
ƒcriture

Fonction ˆ sens
unique
(nom du fichier, n¡page, n¡fragment, clŽ) nom de fragment

SITE
UTILI-
SATEUR

Envoie les fragments


dans un ordre aléatoire

SITE DE SITE DE SITE DE


STOCKAGE STOCKAGE STOCKAGE

Décident quel site stocke quel

15
Lecture

Fonction ˆ sens
unique
(nom du fichier, n¡page, n¡fragment, clŽ) nom de fragment

SITE
UTILI-
SATEUR

Envoie les demandes de


lecture de fragments
dans un ordre aléatoire

Ceux qui ont un


exemplaire du
fragment le renvoient

SITE DE SITE DE SITE DE


STOCKAGE STOCKAGE STOCKAGE

16
Gestion de la sŽcuritŽ dans les syst•mes rŽpartis

Vision classiqueÊ: TNI (Livre Rouge)

S1 O1 S2 O2 S3 O3 S4 O4

TCB TCB TCB TCB

¥ une TCB par site

¥ confiance mutuelle entre les TCB (pour des niveaux de sŽcuritŽ donnŽs)

¥ confiance dans les administrateurs (ou officiers de sŽcuritŽ) de chaque site

17
Approche de Kerberos , SESAME :
STATION STATION
DE DE ESPION
TRAVAIL TRAVAIL

Serveur d'au- TCB TCB TCB


thentification

SERVEURS

¥ Å pas de confiance dans les stations de travail

¥ confiance dans les serveurs et leurs administrateurs (ou officiers de sŽcuritŽ)

¥ Å incompatible avec les politiques "obligatoires" (Mandatory Access Control).

18
FRD appliquŽe ˆ la gestion de la sŽcuritŽ

① Authentification
et demande d'accès

② Tickets

Serveur de sécurité
Site
utili-
sateur
SITE DE SITE DE SITE DE
SÉCURITÉ SÉCURITÉ SÉCURITÉ
② Tickets

③ accès
Site
utili-
SERVEUR SERVEUR SERVEUR sateur

SERVEURS

¥ service de sŽcuritŽ rŽparti, tolŽrant les intrusions, responsable de


l'authentification et de l'autorisation
¥ Å pas de confiance dans les stations ni dans les serveurs (individuellement), ni
dans leurs administrateurs (ou officiers de sŽcuritŽ)

19
Authentification
➂ décision
globale

site de site de site de


sécurité sécurité sécurité

➁ authentification
locale

➀ requête d'au- ➃ réponse


thentification

site
utili-
CP8 sateur

20
Autorisation

serveur de sécurité
fichier1 droits i(k)
fichier2
site de site de site de
sécurité sécurité sécurité fichier3
fichier4
...

② vote
➀ requête
d'ouverture
de session
③ envoi de tickets

site
utilisateur
serveur sécurisé
④ session

21
FRD pour le traitement fiable de donnŽes confidentielles

Probl•meÊ:

Comment faire exŽcuter des traitements redondants


sur des donnŽes confidentielles
par des calculateurs non dignes de confiance ?

IdŽe :

DŽcouper l'application en activitŽs coopŽrantes telles que :

¥ les donnŽes transmises ou traitŽes soient des fragments

¥ les activitŽs puissent •tre rŽpliquŽes

Le parallŽlisme et la rŽpartition sont utilisŽs pour cacher l'information


plut™t que pour rŽduire le temps de rŽponse.

22
Traitement fragmentŽ

? Dj1
Di Dj ?
Di2
Di3 ?
DissŽmination
RŽplication ? Cj1

Fragmentation Ci
Ci2
Cj ?
D1
D1 . ?
D1 . Ci3
D D2
D: .
D D3 D2 Site j
DonnŽes D2 Site i
D3 .
D3 .
.
F R C1
C : Code C1 D
C1
C
C2 .
C C2 .
C2 C3 . Site l Site k
C3
C3 ? Dk1
. .
. . Dl Dk
. . ? Dk2
Dl3 ?

? Ck1

Cl Ck Ck2
?
Cl3 ?

23
IntŽgritŽ pour les syst•mes tolŽrant aux
fautes avec plusieurs niveaux de criticitŽ

ExemplesÊ: avions, trains, automobiles, vŽhicules spatiauxÉ

IntŽgration croissante ➟ le m•me syst•me exŽcute des t‰ches


tr•s critiques et peu critiques

➟ une t‰che peut •tre critique pendant


certaines phases, et non critiques
pendant dÕautres
2 solutions:
➤ valider lÕensemble des t‰ches au plus haut niveau de criticitŽÊ: É tr•s cožteux

➤ construire des pare-feux pour Žviter la contamination des t‰ches critiques par
des t‰ches moins critiquesÊ: É effort de validation adaptŽ au niveau de criticitŽ

24
IdŽeÊ:
¥ affecter diffŽrents niveaux dÕintŽgritŽ aux diffŽrentes t‰ches (programmes +
donnŽes), en fonction de leur criticitŽ

¥ appliquer les r•gles de la politique de BibaÊ:

¥ observation dÕun objet par un sujet : (si, oj, observer) ⇒ il(si) ² il(oj)

¥ modification dÕun objet par un sujet : (si, oj, modifier) ⇒ il(oj) ² il(si)

¥ invocation dÕun sujet par un autre sujetÊ: (si, sj, invoquer) ⇒ il(sj) ² il(si)

➾ aucun flot dÕinformation fonctionnel ne devrait •tre interdit par les r•gles

➾ structuration de lÕapplication

ExceptionsÊ: capteurs non fiables, interfaces H/M,


dŽgradation de lÕinformation...
25
Politique proposŽe (GUARDS)
¥ BasŽe sur la politique de Biba, adaptŽe au mod•le ÒorientŽ-objetÓ
¥ appels de mŽthodes = messages de requ•te
¥ modes des mŽthodesÊ: read (= flot dÕinformation de lÕappelŽ vers lÕappelant),
write (= flot dÕinformation de lÕappelant vers lÕappelŽ)
read-write (= flots dans les deux sens)
¥ 2 sortes dÕobjets (pour lÕapplication comme pour lÕOS):
Ñ single-level objects (SLOs): ˆ chaque SLO est affectŽ un niveau dÕintŽgritŽ
en fonction de sa criticitŽ et le SLO doit •tre validŽ en consŽquence
Ñ multi-level objects (MLOs): un MLO peut sÕexŽcuter ˆ diffŽrents niveaux
dÕintŽgritŽ, mais il doit •tre validŽ ˆ son plus haut niveau dÕexŽcutionÊ:
+ un MLO ne peut pas provoquer de flot dÕinformation entre diffŽrentes
invocations
+ un MLO poss•de trois niveauxÊ: max, min et courant
+ le niveau courant est initialisŽ ˆ lÕinvocation, et il peut baisser en fonction
des informations lues pendant lÕexŽcution
+ le niveau min est initialisŽ ˆ lÕinvocation, en fonction du niveau de
lÕappelant (mŽthodes read ou read-write)

26
R•gles

un objet O appelle une mŽthode dÕun objet OÕ'


l(O) = il(O) si O est un SLO
l(O) = maxl(O) si O est un MLO

¥ O' est un SLO:


× mode = read: interdit si il(O') < l(O)
× mode = write: interdit si l(O) < il(O')
× mode = read/write: interdit si l(O) - il(O')

¥ O' est un MLO:


× mode = read: interdit si maxl(O') < l(O)
× mode = write: interdit si l(O) < minl(O')
× mode = read/write: interdit si maxl(O') < l(O) ou l(O) < minl(O')

27
TolŽrance aux fautes
ExempleÊ: trois capteurs de tempŽrature non fiables

98°C
Calcul de
96°C mŽdiane 98°C

223°C

Faible niveau Haut niveau


dÕintŽgritŽ dÕintŽgritŽ

Validation Objects (VO)Ê: Ñ pour lire des informations de


niveaux dÕintŽgritŽ infŽrieurs et y
appliquer des mŽcanismes de
tolŽrance aux fautes
Ñ les VO sont validŽs au niveau de
leurs sorties

28
Exemple
Integrity
TCB Objects (OS and application) levels
O1 reads
from Val
Validation ML2
object O1 Level 3

O1 writes
OS to O2
µ-kernel O2 reads
from ML2
O2 Level 2

ML1
O3 reads
Integrity from O2 Level 1
kernel

Val reads
from O3, O3’
O3 Level 0

O3 writes
to ML1
Single-level Objects Multi-level Objects

29
Conclusion
La tolŽrance aux fautes peut apporter de nouvelles solutions
aux nouveaux probl•mes de sŽcuritŽÊ:

Exemples de probl•mes:
¥ Ver de Robert T. Morris Jr. (novembre 1988)Ê: 10 % des machines dÕInternet
contaminŽes, 98 % dÕInternet bloquŽ pendant plusieurs jours

¥ dŽfaillance dÕInterNIC (juillet 97)Ê: domaines .com, .net, .eduÉ inaccessibles


pendant des durŽes de 4 ˆ 24 h.

¥ possibilitŽ dÕattaque contre des tiers de confianceÊ: commerce Žlectronique,


autoritŽs de certificationsÉ

Exemples de solutionsÊ:
¥ suppression des points durs par FRD

¥ projet ETERNITY (Ross Anderson, Cambridge, UK)

¥ sauver la civilisation face aux barbares (Yvo Desmedt, Un. Wisconsin)

30

You might also like