Вы находитесь на странице: 1из 169

Une signature qui replace

lhomme au cur du projet,


qualiant lactivit de linstitut
et son domaine de rfrence.
UN NOUVEAU LOGO
POUR INCARNER LINSTITUT
ET EXPLIQUER SA VOCATION
Des couleurs chaudes
qui voquent lnergie
et la passion des quipes
de recherche.
Une criture manuscrite pour
rappeler la dynamique scientique,
lquation sur le tableau
du chercheur ou la griffe
de linventeur.
Un dgrad de couleurs chaudes,
qui suggre la dimension humaine
de la recherche et l'expansion
d'un domaine rcent.
Un logo complmentaire prcise le domaine
d'activit de l'institut : l'interface ( )
des sciences informatiques et des mathmatiques.
R1-30/03/11
C0
M20
J90
N0
C0
M100
J90
N0
NOIR 90%
-
-
-
-
-
-
-
-
-
-
-
INRIA Dploiement identit
INRIA CHERCHEURS FR CMJN
DRAGON 100%
61269
7
NB : Pour plus de dtails sur l'utilisation de ces logos, vous pouvez vous reporter la charte identitaire.

Ecole doctorale Informatique, Automatique,



Electronique et Mathematiques DFD Informatique
Universite Henri Poincare Nancy 1 Faculte des Sciences et Technologies
Methodes algebriques
pour la formalisation et lanalyse de
politiques de securite
TH
`
ESE
soutenue le 7 octobre 2011 pour lobtention du titre de
Docteur de lUniversite Henri Poincare Nancy 1
(specialite informatique)
par
Tony Bourdier
Composition du jury
Rapporteurs : Mme David Delahaye MdC HDR au CNAM de Paris
Mme Marie-Laure Potet PR `a lINP de Grenoble
Examinateurs : Mme Isabelle Chrisment PR `a lUniversite de Nancy 1
Mme Maribel Fernandez PR au Kings College de Londres
Mme Hel`ene Kirchner DR `a lINRIA Paris - Rocquencourt
Mme Olga Kouchnarenko PR `a lUniversite de Franche-Comte
Directeur de th`ese : Mme Horatiu Cirstea PR `a lUniversite de Nancy 1
Invite : Mme Mathieu Jaume MdC HDR `a lUniversite de Paris 6
Laboratoire Lorrain de Recherche en Informatique et ses Applications
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
ma lle Charlie
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
Table des matires
1 Introduction et positionnement 5
1.1 Les mcanismes de scurit . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1 La cryptologie . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2 Lauthentication . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.3 La gestion des autorisations : les politiques de scurit . . . . 8
1.2 Un besoin de formalisation . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 Exemple introductif . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2 valuation de la scurit . . . . . . . . . . . . . . . . . . . . . 11
1.3 Les modles de scurit, petit historique . . . . . . . . . . . . . . . . 13
1.3.1 1971 La matrice de droits daccs de Lampson . . . . . . . . 13
1.3.2 1973 Le modle de Bell et LaPadula . . . . . . . . . . . . . 14
1.3.3 1976 Le modle de Harrison, Ruzzo et Ullman . . . . . . . . 15
1.3.4 1996 Role Based Access Control . . . . . . . . . . . . . . . 15
1.4 Positionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.5 Feuille de route et contributions . . . . . . . . . . . . . . . . . . . . . 17
2 Fondements techniques 21
2.1 Notations et dnitions de base . . . . . . . . . . . . . . . . . . . . . 22
2.1.1 Ensembles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.2 Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.3 Morphismes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.4 Relations binaires . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.5 Induction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Algbre des termes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.1 Termes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.2 -algbre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.2.3 Spcication quationnelle . . . . . . . . . . . . . . . . . . . . 33
2.2.4 Problme du mot, raisonnement quationnel . . . . . . . . . . 35
2.3 Rcriture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.1 Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.3.2 Preuves de proprits . . . . . . . . . . . . . . . . . . . . . . 38
2.4 Automates nis darbres . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.4.1 Langages darbres . . . . . . . . . . . . . . . . . . . . . . . . 39
2.4.2 Langages de tuples . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5 Logique du premier ordre . . . . . . . . . . . . . . . . . . . . . . . . 45
2.5.1 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.5.2 Smantique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.5.3 Smantiques syntaxiques et constructeurs . . . . . . . . . . . 48
3 Spcication, analyse et transformation de politiques de scurit 49
3.1 Spcication des modles et des politiques . . . . . . . . . . . . . . . 50
3.1.1 Vocabulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1.2 Modles de scurit . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.3 Politiques de scurit . . . . . . . . . . . . . . . . . . . . . . . 54
3.2 Smantique et proprits . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3 Changement de modle . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.3.1 Positionnement du problme . . . . . . . . . . . . . . . . . . 60
3.3.2 Mthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.4 Travaux relis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.5 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4 Spcication et vrication de politiques dynamiques 71
4.1 Systmes scuriss et politiques dynamiques . . . . . . . . . . . . . . 72
4.1.1 Thorie de scurit . . . . . . . . . . . . . . . . . . . . . . . . 73
4.1.2 Environnements et rgles de transition . . . . . . . . . . . . . 76
4.1.3 Systme de scurit . . . . . . . . . . . . . . . . . . . . . . . . 81
4.1.4 Politiques de scurit . . . . . . . . . . . . . . . . . . . . . . . 83
4.1.5 Systme scuris . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2 Smantiques bases sur la rcriture . . . . . . . . . . . . . . . . . . 85
4.2.1 Reprsentation symbolique des environnements . . . . . . . . 86
4.2.2 valuation des contraintes . . . . . . . . . . . . . . . . . . . . 89
4.2.3 Systmes de scurit . . . . . . . . . . . . . . . . . . . . . . . 93
4.2.4 Politiques de scurit . . . . . . . . . . . . . . . . . . . . . . . 95
4.2.5 Systme scuris . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.3 Vrication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.3.1 Proprits de politiques . . . . . . . . . . . . . . . . . . . . . 97
4.3.2 Le problme de ladministration . . . . . . . . . . . . . . . . . 98
4.3.3 Comparaison de politique . . . . . . . . . . . . . . . . . . . . 99
4.3.4 Analyse par requtage . . . . . . . . . . . . . . . . . . . . . . 100
4.4 Travaux relis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.5 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5 Les politiques de scurit dans les rseaux informatiques 105
5.1 Firewalls : une introduction informelle . . . . . . . . . . . . . . . . . 107
5.2 Spcication formelle de rewalls . . . . . . . . . . . . . . . . . . . . 111
5.2.1 Vocabulaire et dnition . . . . . . . . . . . . . . . . . . . . . 111
5.2.2 Smantique base sur les automates darbres . . . . . . . . . . 113
5.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.3.1 Proprits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.3.2 Analyse structurelle . . . . . . . . . . . . . . . . . . . . . . . 120
5.3.3 Analyse par requtage . . . . . . . . . . . . . . . . . . . . . . 125
5.4 Composition de rewalls . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.4.1 Topologies de rseaux . . . . . . . . . . . . . . . . . . . . . . 126
5.4.2 Politiques de scurit rseau . . . . . . . . . . . . . . . . . . . 128
5.4.3 Stratgie de routage . . . . . . . . . . . . . . . . . . . . . . . 130
5.4.4 Smantique par rcriture . . . . . . . . . . . . . . . . . . . . 131
5.4.5 Proprits et analyse . . . . . . . . . . . . . . . . . . . . . . . 140
5.5 Travaux relis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.6 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
6 Synthse 147
6.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
6.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
1
Introduction et positionne-
ment
Sommaire
1.1 Les mcanismes de scurit . . . . . . . . . . . . . . . . . 7
1.1.1 La cryptologie . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2 Lauthentication . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.3 La gestion des autorisations : les politiques de scurit . . . 8
1.2 Un besoin de formalisation . . . . . . . . . . . . . . . . . . 10
1.2.1 Exemple introductif . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2 valuation de la scurit . . . . . . . . . . . . . . . . . . . . 11
1.3 Les modles de scurit, petit historique . . . . . . . . . 13
1.3.1 1971 La matrice de droits daccs de Lampson . . . . . . 13
1.3.2 1973 Le modle de Bell et LaPadula . . . . . . . . . . . . 14
1.3.3 1976 Le modle de Harrison, Ruzzo et Ullman . . . . . . 15
1.3.4 1996 Role Based Access Control . . . . . . . . . . . . . . 15
1.4 Positionnement . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.5 Feuille de route et contributions . . . . . . . . . . . . . . 17
L
information reprsente de nos jours lun des facteurs essentiels de la performance
des entreprises et des conomies nationales et internationales [Thpaut, 2002].
Lentrepreneur comme le politique cherche mettre la main sur toutes les in-
formations qui peuvent lui tre utiles, et ce, en employant des moyens varis, al-
lant des oprations les plus honntes lespionnage industriel voire diplomatique
[Russo, 1966]. Ce pouvoir informationnel et les bnces qui en dcoulent prennent
5
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 1. INTRODUCTION ET POSITIONNEMENT
un relief particulier lheure o le monde procde une vritable mutation num-
rique. Hier, la presse traditionnelle tait qualie de quatrime pouvoir. Aujourdhui,
les experts de linformatique sont en passe de devenir les nouveaux matres de linfor-
mation et par l mme les nouveaux arbitres de la conqute du pouvoir conomique et
politique. Par ailleurs, cette rvolution informatique cre les conditions favorables
laccroissement de la transmission des informations, certies ou non, faisant schap-
per tout contrle sur les donnes ds lors que ces dernires parviennent entre les mains
dun tiers non digne de conance. Dans ce contexte, la problmatique de gestion de
linformation devient celle de la scurit des systmes dinformation.
La ncessit de scurisation des systmes dinformation a amen la commission
europenne tablir un standard concernant les besoins de scurit correspondants
[Commission of the European Communities, 1991]. Cest ainsi quont t dnis trois
principaux objectifs servant aujourdhui de rfrentiel pour la communaut de la s-
curit informatique. Le premier objectif porte le nom de condentialit et se dnit
comme laptitude dun systme prvenir toute divulgation non autorise dune
information. Le systme (informatique) doit pouvoir empcher les utilisateurs non
autoriss lire une information condentielle. Le second objectif, appel intgrit,
consiste empcher laltration non autorise dune information. Enn, le troisime
objectif, la disponibilit, concerne lassurance pour les utilisateurs de pouvoir acc-
der aux informations qui leur sont autorises ; il sagit donc de prvenir du risque
de dni de service. Il est remarquer que les dnitions de ces trois proprits sen-
tendent relativement la notion dinformation. Car, contrairement ce que lon
pourrait penser en premire instance, la notion dinformation ne rfre pas ncessai-
rement au contenu dun chier informatique. Les connaissances relatives aux accs
aux chiers, leur cration, etc. . . . constituent galement des informations. Dans ce
contexte, la notion dinformation simpose comme un rfrentiel pour comprendre et
apprhender la smantique des trois objectifs sus-cits. Dautres proprits, comme
lanonymat (non divulgation de lidentit) ou la non rpudiation (impossibilit pour
lmetteur et le destinataire dune information de nier avoir respectivement envoy
et reu ladite information), sentendent ainsi respectivement comme des instances
des notions de condentialit et dintgrit relativement des notions dinformation
qui ne concernent pas le contenu dun chier informatique (dans ce cas, la pater-
nit dune action constitue linformation dintrt). Par ailleurs, selon les domaines
dapplication, laccent est mis sur des proprits direntes. Les considrations mili-
taires sont focalises sur les problmatiques de condentialit tandis que les enjeux
nanciers ncessitent des exigences de scurit en terme dintgrit.
Le prsent chapitre a pour mission dintroduire les direntes notions relatives
la scurit informatique. Nous y dressons un portrait gnral et relativement
succint des problmatiques sous-jacentes. Pour une description plus dtaille des
notions abordes dans ce chapitre, le lecteur est invit consulter les rfrences
suivantes qui ont trs largement inspir lcriture de ce chapitre : [Bishop, 2002,
M and Deswarte, 2006, Deswarte and M, 2002, Abrams et al., 1995, ANSSI, 2011,
Dausque, 2005].
6
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
1.1. LES MCANISMES DE SCURIT
1.1 Les mcanismes de scurit
Pour garantir les proprits de condentialit, dintgrit et de disponibilit, trois
principaux mcanismes ont t dvelopps : la cryptologie, les procdures dauthen-
tication et la gestion des autorisations.
1.1.1 La cryptologie
La cryptologie, tymologiquement la science du secret, se compose des deux dis-
ciplines que sont la cryptographie, lart dcrire des secrets pour les rendre inin-
telligibles des tiers, et la cryptanalyse, lart de retrouver des secrets cachs dans
des informations inintelligibles. Selon lobjectif de scurit cibl (condentialit ou
intgrit), les mthodes utilises sont direntes. Lorsquil sagit dassurer la con-
dentialit dun message, on a recours aux mthodes dites de chirement. La mthode
de chirement la plus clbre est sans doute celle quutilisait Jules Csar pour ses
correspondances secrtes. Lalgorithme correspondant, rudimentaire, est parfois ap-
pel chire (ou substitution) de Csar et consiste substituer dans un texte chaque
lettre par la n
me
lettre suivante o n, la cl, est un entier x (tant entendu que A
suit la lettre Z). Par exemple, en dnissant la cl 3, la phrase Cras ero Scienti
Doctor
1
, est chire en Fudv hur Vhqwldh Grfwru . La nature simpliste de
lalgorithme ncessitait de tenir secret la technique de chirement pour conserver un
intrt. Dautres algorithmes beaucoup plus volus permettent de garantir la con-
dentialit dun message mme si la mthode de chirement est publique. Cest le cas
des mthodes de chirement dites asymtriques, ncessitant que chaque utilisateur
dnisse une cl publique, destine au chirement, ainsi quune cl prive associe,
destine au dchirement. La cl publique doit tre utilise par quiconque souhaitant
envoyer un message condentiel lutilisateur qui pourra alors dchirer le message
avec la cl prive dont il est le seul disposer. Dautres techniques, comme les fonc-
tions de hachage ou les signatures, permettent de garantir lintgrit dun message.
Ces techniques ne permettent pas de reconstruire le message dorigine mais de fournir
une preuve que le message dorigine na pas t altr. Elles consistent associer
chaque message une empreinte de taille xe telle que :
lempreinte soit facilement calculable partir du message dorigine,
il ne soit pas possible de dduire le message partir de lempreinte et
la probabilit que deux messages dirents possdent la mme empreinte soit
quasi-nulle.
Les fonctions de hachage permettent par exemple lusage de mcanismes dauthen-
tication par mot de passe sans quil soit ncessaire pour le systme de conserver ce
dernier (c.f. section suivante).
1.1.2 Lauthentication
Tout utilisateur dun systme informatique agit sous une certaine identit. Lau-
thentication consiste vrier lidentit dont une entit (personne ou machine) se
rclame, cest--dire lassociation entre une entit physique et son identit virtuelle.
1. Littralement demain je serai docteur s sciences .
7
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 1. INTRODUCTION ET POSITIONNEMENT
Pour pouvoir procder une authentication, il est ncessaire davoir au pralable
fourni au systme un moyen de se faire reconnatre. Ce moyen consiste, en gnral,
vrier que lutilisateur possde une preuve de son identit sous lune des formes
suivantes :
lui poser une question dont il est le seul connatre la rponse (mot de passe,
numro didentication personnel, . . . )
lui demander de fournir un lment quil est le seul possder (carte didentit,
certicat lectronique, badge, . . . )
analyser des caractristiques de lutilisateur quil doit tre le seul possder
(caractristiques physiques, biomtrie, . . . )
vrier sa localisation (adresse IP, GPS, . . . )
La procdure dauthentication consiste donc pour le systme eectuer lune de
ces vrications, ce qui signie quil doit possder certaines informations concernant
lutilisateur. Formellement, un processus dauthentication doit tre compos des
lments suivants [Bishop, 1991] :
un ensemble A dinformations dauthentication spciques partir desquelles
les utilisateurs doivent prouver leur identit,
un ensemble C dinformations complmentaires dont le systme dispose et qui
lui servent tablir la validit de la preuve fournie par lutilisateur,
une fonction f : A C dite de complmentation qui gnre linformation
complmentaire partir de linformation dauthentication,
un ensemble V de fonctions v : AC 0, 1 vriant ladquation entre une
information dauthentication et une information complmentaire,
un ensemble de fonctions S dites de slection permettant un utilisateur de
crer ou de modier les informations dauthentication et complmentaires.
Dans les prcdentes versions dUNIX, les utilisateurs sidentiaient avec un mot
de passe comportant au maximum 8 caractres. Le systme stockait (dans le chier
/etc/passwd) limage des mots de passe par une fonction de hachage. Ainsi, en repre-
nant les notations prcdemment introduites, A comprend lensemble des chanes de
charactres de longueur infrieure ou gale 8, C comporte lensemble des chanes
de charactres de longueur 13, f est une fonction de hachage, V correspond la
fonction login et S la fonction passwd.
Le processus dauthentication est souvent une tape pralable aux autres m-
canismes de scurit, en particulier la gestion des autorisations suppose quun tel
processus est en place.
1.1.3 La gestion des autorisations : les politiques de scurit
Pour garantir une proprit de scurit, il est ncessaire de ne pas laisser les
utilisateurs libres deectuer sur le systme nimporte quelle action. En fonction de
leur statut ou du degr de conance qui leur est accord, les possibilits dactions
quun utilisateur peut entreprendre doivent tre direntes. Dans ce cadre, il est
ncessaire de mettre en place un processus de gestion des autorisations dactions,
aussi appel politique de scurit. Il est noter que pour quun tel processus ait
un intrt, le systme doit tre dot dun mcanisme dauthentication garantissant
lidentit des individus. Une politique de scurit doit ainsi exprimer lensemble des
8
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
1.1. LES MCANISMES DE SCURIT
rgles rgissant les actions de chacun an que le systme satisfasse les proprits
de scurit voulues. Par ailleurs, les dnitions de la notion de politique de scurit
dans la littrature sont trs diverses et se situent des niveaux dabstraction et de
raisonnement parfois dirents. Selon la rfrence choisie, une politique de scurit
se rfre :
un ensemble de rgles, lois et pratiques rgissant le comportement des utilisa-
teurs,
un document de rfrence permettant de dcrire les mesures lmentaires de
protection et dutilisation du systme dinformation an que tout le monde
puisse les respecter,
un document de rfrence dnissant les objectifs atteindre et les moyens
accords pour y parvenir,
aux proprits que doit vrier le systme pour tre considr comme sr.
La diversit des dnitions donnes du terme politique de scurit nous fait penser
quil sagit plus dun concept que dune entit prcise. Dans son article On the
Buzzword "Security Policy" [Sterne, 1991], Sterne tablit que toute dnition dune
politique de scurit doit pouvoir identier les lments fondamentaux suivants :
1. lobjectif de scurit,
2. la politique de scurit organisationnelle et
3. la politique de scurit automatise.
quil dnit de la faon suivante :
Dnition (Objectif de scurit). Un objectif de scurit est une expression
de lintention de protger une ressource identie dune utilisation non autorise.
Cette expression doit identier le type dactions rguler. La ressource identie
doit tre concrte ou avoir une forme concrte. Un objectif de scurit na de sens
pour une organisation seulement si lorganisation en question possde ou contrle
la ressource protger.
Cette dnition a pour but dtablir la notion de scurit partir de laquelle les
autres dnitions vont se positionner. La protection dinformations classes contre
la divulgation des tiers non autoriss est un exemple dobjectif de scurit, au
mme titre que la prvention contre la vente illicite darmes ou dactifs nanciers.
Cest donc sur la base de la dnition dun objectif de scurit que repose celle de
politique de scurit organisationnelle.
Dnition (Politique de scurit organisationnelle). Une politique de scu-
rit organisationnelle est constitue dun ensemble de lois, de rgles et de pratiques
qui rgulent la manire dont une organisation gre, protge et distribue les res-
sources pour atteindre les objectifs de scurit. Ces lois, rgles et pratiques doivent
identier des critres dattribution des droits et spcier les conditions sous les-
quelles chaque individu est autoris exercer ou dlguer ses droits. Pour avoir un
sens, ces lois, rgles et pratiques doivent permettre aux individus de dterminer
raisonnablement si leurs actions violent ou sont conformes la politique.
9
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 1. INTRODUCTION ET POSITIONNEMENT
Par opposition lobjectif de scurit qui constitue une dclaration dintention
relativement abstraite, la politique organisationnelle dcrit la faon dont lobjectif de
scurit se manifeste dans les activits quotidiennes de lorganisation. Enn, Sterne
explique que la dnition dune telle politique doit se dcliner en une politique de
scurit dite automatise.
Dnition (Politique de scurit automatise). Une politique de scurit
automatise se dnit par un ensemble de restrictions et de proprits spciant
la manire dont un systme informatique se prmunit dune utilisation des infor-
mations et des ressources informatiques ddie la violation de la politique de
scurit organisationnelle. Cet ensemble doit tre accompagn darguments din-
gnierie persuasifs dmontrant que ces restrictions jouent un rle cl dans la mise
en oeuvre de la politique organisationnelle.
Cette dernire dnition est le pendant oprationnel de la politique organisation-
nelle dans le cadre dune gestion informatise de linformation.
1.2 Un besoin de formalisation
Admettons dans notre cas que la notion de politique de scurit fait rfrence
un ensemble de rgles permettant de dterminer si un individu est autoris eectuer
une action donne. Ces rglements sont gnralement dcrits dans un langage naturel
relativement simple (pour tre comprhensible par tous) et sont la plupart du temps
sujets ambigut. Il arrive en eet que certaines notions apparaissant dans un tel
rglement soient oues voire non dnies.
1.2.1 Exemple introductif
Prenons lexemple suivant dcrivant la politique de scurit rgissant lusage de
la messagerie lectronique luniversit de ltat de lIllinois Nord.
Exemple. [Northern Illinois University, 2010] Lusage de listes de diusion est
autoris sous les conditions suivantes :
1. toute liste de diusion comprenant plus de 100 destinataires doit avoir :
laval du doyen (ou dun reprsentant) si lensemble des destinataires
comprend des tudiants qui nappartiennent pas au groupe des admi-
nistrateurs de la liste de diusion,
laval du vice-prsident de luniversit ou du service des ressources
humaines si lensemble des destinataires comprend des employs qui
nappartiennent pas au groupe des administrateurs de la liste de dif-
fusion,
2. le contenu du message doit tre inclus dans le message lui-mme et pas
en pice jointe dans la mesure du possible,
3. le message doit prfrentiellement contenir des liens plutt que des pices
jointes an dviter daugmenter la taille du message.
10
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
1.2. UN BESOIN DE FORMALISATION
Lusage des emails est interdit dans les contextes suivants (liste non exhaus-
tive) :
4. lobjectif du message envoy viole une loi fdrale,
5. le message est caractre commercial,
6. lidentit de lmetteur napparat pas,
7. lenvoi de masse congestionnant le rseau,
8. la diusion de messages inappropris des listes ou des individus,
9. attribution dune priorit leve un message envoy sur une liste
de diusion,
10. . . .
Si certaines rgles sont sans ambigut (rgles 1 et 6), certaines sont sujettes
interprtation (rgles 3 et 8). Dautres peuvent galement paratre en conit.
Par exemple, si le doyen souhaite envoyer un message tiquet comme urgent
(pour viter quil ne soit directement jet la corbeille sans tre lu par une
partie des destinataires) lensemble de luniversit pour les informer de la
fermeture temporaire de ltablissement par mesure de scurit. La premire
rgle le lui permet alors que la neuvime le lui interdit. Sans compter que la
politique prcise que la liste des interdictions nest pas exhaustive.
Vous laurez compris, ltablissement de politiques (ou rglements) de scurit
ncessite un cadre plus formel que le simple usage du langage naturel pour permettre
chacun de dterminer sans ambigut si une action lui est permise ou non.
1.2.2 valuation de la scurit
Dans un contexte de gnralisation de lusage des technologies informatiques pour
le traitement et la manipulation de linformation, il devient ncessaire dtre en me-
sure dassurer quun systme informatique donn satisfait rellement les exigences
de scurit tablies. Il semble vident que lutilisateur dun systme informatique
a besoin davoir conance en la scurit du systme quil utilise. Eectueriez-vous
des oprations bancaires en ligne si vous naviez pas conance dans le systme de
protection que votre banque vous assure avoir mis en place ? Rempliriez-vous votre
dclaration de revenus sur internet si vous ntiez pas intimement persuad que per-
sonne hormis les fonctionnaires habilits naura accs aux donnes entres ? Sans le
savoir, nous procdons intellectuellement une valuation du niveau de scurit des
systmes qui nous sont proposs. Dans le cas dun usage personnel dun systme,
Critres communs
Common Criteria (ou
Critres Communs en
franais) est un standard
international (ISO/CEI
15408) pour la scurit
des systmes dinforma-
tion. Le nom complet du
standard est Common
Criteria for Information
Technology Security
Evaluation.
cette valuation sera trs majoritairement base sur la notorit du constructeur
du systme. Mais dans un cadre plus critique, comme par exemple le systme din-
formation du ministre de la dfense ou de celui de lconomie et des nances, il
est ncessaire de disposer dun systme dvaluation bas sur des considrations ob-
jectives. Un tel systme dvaluation a t mis en place dans ce que lon nomme
les critres communs [ISO, 2009]. Ce systme dnit une chelle comportant sept
niveaux dassurance connue sous le nom dEAL (Evaluation Assurance Level). Ces
niveaux permettent dacqurir une certaine conance dans le produit relativement
11
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 1. INTRODUCTION ET POSITIONNEMENT
au besoin de scurit dni dans la cible de scurit . Une augmentation du niveau
EAL nous assure une augmentation des exigences de scurit, des vrications faites
par lvaluateur ainsi que du niveau considr des ventuels attaquants. Actuelle-
ment, les critres communs dnissent cinq niveaux de rsistance : la vulnrabilit
publique, lattaque lmentaire, lattaque lmentaire renforce, lattaque moyenne
et lattaque leve.
EAL1 : test fonctionnellement. Le niveau EAL1 peut tre attribu un sys-
tme lorsque une certaine conance est ncessaire dans le bon fonctionnement de ce
dernier mais que les menaces ne sont pas considres comme importantes. Il prsente
un intrt lorsquune assurance tablie de faon indpendante est ncessaire pour
dmontrer que lattention requise a t exerce lgard de la protection des infor-
mations personnelles ou assimiles. Ce niveau a pour but de tester un programme
excutable sur des cas limites et anormaux que lutilisateur doit lui-mme dnir.
EAL2 : test structurellement. Lattribution du niveau EAL2 signie que la
solution informatique a pass avec succs les tests au niveau de ses fonctionnalits
et de sa structure, permettant de voir la manire dont sont organises les direntes
couches de scurit. Le test de fonctionnement a pour objectif de vrier que le
programme se comporte correctement dans son ensemble et plus particulirement
dans un cas normal dutilisation. Pour eectuer ce test, des entres sont gnres de
faon alatoire et sont soumises au programme tester.
EAL3 : test et vri mthodiquement. Ce niveau permet dassurer une
abilit maximale depuis le stade de la conception avec peu de modications dans
le processus de test. Cette abilit maximale implique que le produit ait t conu
ds le dpart dans loptique de rpondre des exigences de scurit, la dirence
dune mise en oeuvre postrieure la conception du produit. Le dveloppeur doit
prouver quil a eectu les tests requis en fournissant des analyses de vulnrabilit.
Il sagit du premier niveau comporter des critres dvaluation de la gestion de la
conguration.
EAL4 : conu, test et vri mthodiquement. Ce niveau requiert une visi-
bilit complte du produit. Il impose ltablissement de spcications compltes des
fonctions de scurit, de leur conception rigoureuse et dun audit dun chantillon
du code source. Lanalyse doit tre conforte par des lments de preuve des tests
du dveloppeur bass sur des spcications fonctionnelles de la conception de haut
niveau et par une analyse de vulnrabilit dmontrant la rsistance des attaques
lmentaires renforces.
EAL5 : spci de faon semi-formelle et test. ce niveau, le dveloppeur
doit pouvoir expliquer les spcications de la conception et la manire dont celles-ci
sont mises en oeuvre au niveau fonctionnel. Il requiert le dveloppement de spci-
cations semi-formelles compltes et une conception prliminaire semi-formelle. Des
12
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
1.3. LES MODLES DE SCURIT, PETIT HISTORIQUE
tests unitaires, dintgration et de validation doivent avoir t eectus et le produit
devra avoir dmontr sa rsistance aux attaques moyennes.
EAL6 : conu de faon semi-formelle et test. Pour atteindre ce niveau de
certication, en plus des exigences du niveau EAL5, les politiques de scurit im-
plantes doivent avoir t spcies formellement et le produit doit dmontrer sa
rsistance aux attaques de niveau lev. Une modularit complte dans la concep-
tion est exige partir de ce niveau.
EAL7 : formellement spci et conception vrie formellement. Le ni-
veau EAL7 exige que le produit ait t formellement spci et quune conception
prliminaire formelle ait t eectue. Ce niveau garantit en particulier que les ap-
plications sont parfaitement isoles les unes des autres et que ce processus a t
dmontr mathmatiquement.
Pour atteindre de hauts niveaux de certication (EAL5, 6 et 7), il est donc
ncessaire de fournir une spcication formelle de la politique de scurit et des
mcanismes utiliss pour la mettre en oeuvre. Cest ce contexte dexigence croissante
pour la abilit et la sret des applications de scurit qui a favoris lmergence
dun nouveau domaine de recherche : celui de la modlisation formelle des politiques
de scurit.
1.3 Les modles de scurit, petit historique
1.3.1 1971 La matrice de droits daccs de Lampson
Papiers du Pentagone
Les papiers du Penta-
gone est une expression
dsignant un document
class secret-dfense (47
volumes, 7 000 pages)
du dpartement de la
dfense amricaine,
contenant des informa-
tions condentielles
propos de limplication
politique et militaire des
tats-Unis dans la guerre
du Vit Nam de 1945
1971.
Cest dans lobjectif de spcier de faon formelle les politiques de scurit quont
t proposs les premiers modles de scurit. Cest en 1971, alors que le New York
Times publiait des extraits de documents condentiels des papiers du Pentagone
sur la guerre du Vit Nam (photocopis et transmis par des fonctionnaires ayant accs
au dossier), que Lampson, dans son papier qui fait dsormais rfrence, Protection
[Lampson, 1971], prsentait une premire formalisation de la notion de politiques de
scurit en proposant une catgorisation des direntes entits abstraites impliques
dans le processus de scurit. Il disait en substance la chose suivante
2
. Tout sys-
tme informatique peut tre dcrit au moyen dun systme abstrait appel systme
dobjets compos des trois lments fondamentaux suivants : un ensemble dobjets,
un ensemble de sujets
3
et une matrice (ou fonction) daccs. Les objets reprsentent
les lments du systme informatique qui doivent tre protgs. Des objets typiques
sont les processus, les chiers, les segments et les terminaux. Comme tout ce qui doit
tre spci, le choix des objets est une question de convention et dpend des besoins
de protection de chaque systme. Les sujets sont les entits qui doivent accder aux
objets. Le principe fondamental relatif la notion de sujets est la possibilit den-
visager que les sujets puissent avoir des droits daccs dirents les uns des autres
2. Traduction libre et vocabulaire actualis .
3. Dans son article, Lampson parle de domaines mais dans un souci duniformisation de notre
prsentation et pour tre conforme la littrature, nous nous permettons de renommer cette notion
en sujets .
13
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 1. INTRODUCTION ET POSITIONNEMENT
sur un ensemble dobjets partags. Bien que naturelle pour le lecteur contemporain
lisant ces lignes, cette ide tait pourtant lpoque relativement novatrice en ce
sens o certains systmes taient composs de processus qui ne partageaient rien
et ne communiquaient entre eux quau moyen de messages. La notion de partage
tait alors binaire, un objet tant soit exclusif, soit entirement partag. Lampson
proposait donc une notion de partage plus ne. Laccs des sujets aux objets est
dtermin par la matrice daccs. Les lignes de cette matrice sont tiquetes par les
noms de sujets et ses colonnes sont tiquetes par les noms des objets. Llment de
la matrice situ lintersection de la ligne correspondant au sujet s et la colonne
tiquete par lobjet o spcie lensemble des modes dans lesquels le sujet s peut
accder lobjet o. Les modes daccs voqus dans le papier original sont read ,
write , call , owner , wakeup , . . . . Le premier modle de scurit tait
n. Le modle de Lampson a t an lanne suivante par Graham et Denning
[Graham and Denning, 1972].
1.3.2 1973 Le modle de Bell et LaPadula
Deux annes plus tard et deux mois avant que nclate le scandale du Water-
gate, Bell et LaPadula proposaient une formalisation de la politique de scurit
multiniveau du Dpartement de la Dfense des tats-Unis. Ils proposrent dans
[Bell and LaPadula, 1973] un modle, aujourdhui appel BLP pour Bell et LaPa-
dula, destin assurer la proprit de condentialit. Comme dans le modle propos
par Lampson, le modle propos par Bell et LaPadula est bas sur les notions de
sujets, dobjets et de modes daccs mais lobjectif de scurit sexprime en terme de
ux dinformation et non plus en terme daccs. Le systme est spci au moyen
dun systme de transitions dont chaque tat reprsente les accs courants. Formel-
lement, si S reprsente lensemble des sujets, O celui des objets et A celui des modes
daccs (A = read, write), un tat du systme est un lment M de (S OA).
Dans ce modle est galement introduite la notion de niveaux de scurit formant
un ensemble partiellement ordonn (L, ). Tous les sujets recoivent un niveau de s-
curit, appel niveau dhabilitation, pour pouvoir accder au systme dinformation.
Tous les objets grs par le systme reoivent galement un niveau de scurit, appel
niveau de classication. La fonction dhabilitation est note f
S
: S L et celle de
classication f
O
: O L. Il est admis dans le modle que lattribution des niveaux
de scurit ne peut tre modi une fois tablie (proprit de tranquilit forte). Le
calcul des autorisations repose sur la vrication des deux proprits suivantes.
La proprit de scurit simple : un sujet s ne peut lire un objet o seulement
si son niveau dhabilitation est suprieur ou gal au niveau de classication
de lobjet. Formellement : s S, o O, (s, o, read) M f
S
(s) f
O
(o).
Cette proprit est aussi connue sous le nom du principe de no read up .
La -proprit : un sujet s ne peut crire dans un objet o seulement si son
niveau dhabilitation est infrieur ou gal au niveau de classication de o.
Formellement : s S, o O, (s, o, write) M f
S
(s) f
O
(o).
Si la premire proprit formalise assez naturellement la notion de condentialit de
linformation, la seconde est motive par la volont de se prmunir des attaques par
chevaux de Troie. Rappelons quun cheval de Troie est une application conue pour
14
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
1.3. LES MODLES DE SCURIT, PETIT HISTORIQUE
excuter des actions linsu de lutilisateur ayant excut lapplication. Lobjectif
dun cheval de Troie est gnralement dutiliser les droits de lutilisateur pour dtour-
ner, diuser ou dtruire des informations. La seconde proprit est donc base sur
la remarque suivante : si on estime quune personne habilite Top-secret ne va pas
delle-mme diuser des informations classes Top-secret dans un document public,
un programme quelle aurait excut pourrait son insu eectuer ce type daction
si les droits de lutilisateur le lui permettaient. Cest la raison pour laquelle Bell et
LaPadula ont propos de ne pas accorder le droit dcriture un sujet sur un objet
qui lui est infrieurement class. Ils se sont ensuite attachs dmontrer que les
ots dinformations engendrs par les actions de lecture et dcriture prservaient la
condentialit de linformation quelle que soit la squence daction excute.
1.3.3 1976 Le modle de Harrison, Ruzzo et Ullman
Cinq annes aprs la publication du modle propos par Lampson, Harrison,
Ruzzo et Ullman se sont intresss aux problmes relatifs ladministration des
politiques bases sur les matrices de droits daccs. Ils ont dvelopp un modle, d-
sormais appel modle HRU, bas sur une description du systme par une matrice de
droits daccs et dun ensemble ni de rgles dadministration. Ces rgles dcrivent les
conditions dans lesquelles il est permis de modier le contenu de la matrice daccs et
sont dcrites au moyen de commandes dont la syntaxe est la suivante : if C then OP
o C est une conjonction de conditions dappartenance de droits dans ltat courant
de la matrice daccs et OP est une squence doprations (donner/retirer un droit
r un sujet s sur un objet o et crer/dtruire un sujet/objet). La question quils ont
investigue est la suivante : tant donne une matrice de droits daccs initiale, est-il
possible de dterminer si une squence de commandes peut engendrer lapparition
dun droit donn dans une cellule de la matrice dans laquelle il ntait pas prsent
initialement ? Ce problme, appel problme de sret, consiste dterminer si un
sujet est capable, relativement un ensemble de commandes donn, dobtenir un
droit sur un objet quil ne possdait pas sans que le propritaire de lobjet le lui ait
accord. Ils ont tabli des rsultats de dcidabilit sur la question en fonction de la
forme des commandes. En particulier, ils ont tabli que le problme de sret tait
dcidable dans le cas dun systme dans lequel toutes les commandes sont caractri-
ses par lapplication dune seule opration. Ils ont galement prouv que le problme
tait indcidable en gnral.
1.3.4 1996 Role Based Access Control
Une des limitations des modles bass sur les matrices de droits daccs est la
ncessit dexprimer de faon extensionnelle (i.e. numrer) lensemble des autori-
sations pour chaque sujet, action et objet. La politique de scurit devient donc
rapidement complexe exprimer et administrer, en particulier lorsquun nouveau
sujet ou objet est cr, ce qui ncessite de dnir les nouveaux droits associs ce
sujet ou cet objet. Pour pallier ce problme, des modles orant la possibilit de
structurer les sujets et objets autour de concepts plus abstraits et permettant dta-
blir un schma de calcul des autorisations plus complexe que la simple vrication
15
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 1. INTRODUCTION ET POSITIONNEMENT
dun droit dans une matrice ont t explors. Cest en particulier ce qua propos
Sandhu dans [Sandhu et al., 1996] lorsquil prconisait la structuration des sujets
autour du concept de rle. Le modle propos correspondant, appel RBAC (Role
Based Access Control), consiste associer les autorisations aux rles plutt quaux
sujets eux-mmes. Dans RBAC, les rles recoivent un ensemble de privilges pour
chaque objet et chaque sujet est aect un ensemble de rles. Un autre concept
introduit dans ce modle est celui de session. Pour pouvoir raliser une action sur un
objet, un sujet doit pralablement initier une session et activer ensuite un des rles
quil possde lui permettant de raliser cette action. Dans le cas gnral, un sujet
peut activer tous les rles quil souhaite au cours dune session (sous rserve que les
rles en question lui aient t aects). Le modle RBAC introduit alors la notion
de contrainte permettant de spcier les conditions de compatibilit dactivation des
rles au sein dune mme session. Dans ce modle, il est galement possible de stru-
curer les rles selon une hirarchie, permettant de simplier encore la gestion des
autorisations. Le modle RBAC est sans nul doute aujourdhui un standard parmi
tous les modles de politiques de scurit dvelopps. Il a dailleurs servi de base
de nombreuses extensions.
1.4 Positionnement
Nous venons de prsenter les premiers rsultats manant dune volont de forma-
lisation et de factorisation des eorts fournir en termes de conception de politiques
de scurit. Les modles de scurit fournissent des cadres plus ou moins gnriques
permettant de mettre en place une politique de scurit au sein dun systme. Les
modles constituent en quelque sorte le prt--porter du concepteur de politiques
de scurit. Pour autant, ils ne permettent pas ncessairement de raisonner de faon
automatique sur les politiques quils encadrent. Ceci est d au fait que les modles
sattachent surtout dnir les notions et les concepts de scurit partir desquels
les politiques peuvent tre dnies. En revanche, les modles ne sont pas ncessaire-
ment lis un formalisme ni un langage de spcication particulier. Lmergence
des modles de scurit constitue une premire tape vers une approche formelle de
la scurit mais il est ncessaire, an de pouvoir automatiser le raisonnement sur les
politiques dcrites, de proposer aux concepteurs de politiques non pas des modles
mais des langages de spcication dont la smantique sexprime au moyen dobjets
formels. Nos travaux sinscrivent dans une dmarche dlaboration dun cadre formel
dont lobjectif est de spcier des politiques de scurit dune part, et de permettre
lapplication de mthodes de vrication automatique sur ces spcications dautre
part. Un cadre formel se btit partir de deux principaux ingrdients : un lan-
gage de spcication et un systme de vrication. Ces deux composantes sont trs
ingalement dveloppes suivant les approches et les outils [Monin, 2000].
Pour distinguer les approches formelles ddies aux politiques de scurit pro-
poses dans la littrature, nous tablissons deux axes de comparaison : lchelle de
gnricit et lchelle dautomatisation. Sur le plan de la gnricit, une partie de nos
travaux sinscrit dans une dmarche gnrique, c--d non ddie ltude dune cat-
gorie de politiques, et une autre partie de nos travaux se focalise sur un domaine sp-
16
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
1.5. FEUILLE DE ROUTE ET CONTRIBUTIONS
cique (les politiques de scurit rseaux). Concernant les aspects automatisation ,
nous nous distinguons des travaux prsentant des cadres vocation purement des-
criptive ou dans lesquels le raisonnement se fait manuellement. Dans le dernier cas, les
cadres labors sont qualis de cadres smantiques en ce sens o le raisonnement
sy eectue sur des structures smantiques (automates, ensembles, relations, . . . ). Ce
qui les distinguent notablement de notre approche est labsence dun langage de sp-
cication et plus gnralement labsence de considrations syntaxiques. Parmi ces
travaux, citons [Schneider, 2000, Morisset, 2007, Habib et al., 2009, Jaume, 2010].
1.5 Feuille de route et contributions
Chapitre 2 : Fondements techniques
Le chapitre 2 prsente les notions ncessaires la comprhension des direntes
contributions prsentes dans ce manuscrit. Deux mots traversent ce chapitre de
bout en bout : syntaxe et smantique. Dans un premier temps, les notions relatives
lalgbre des termes sont prsentes. Les proprits lies aux relations binaires
(terminaison, conuence, . . . ), les systmes de rcriture puis les langages rguliers
darbres (ou de termes) sont ensuite abords. Les dnitions essentielles de la logique
des prdicats sont enn prsentes. Le chapitre se termine par une discussion sur les
liens entretenus par les systmes de rcritures et les automates darbres avec la
logique du premier ordre.
Chapitre 3 : Un cadre formel pour la spcication, lanalyse et la
transformation de politiques de scurit
Le travail prsent dans le chapitre 3 sinscrit dans une dmarche de dvelop-
pement dun cadre formel pour spcier, analyser et maintenir les politiques de
scurit. Nous y montrons en quoi les spcications des politiques de scurit en
deux parties sont particulirement attractives, notamment en terme de rutilisa-
bilit des spcications. Dans ce cadre, nous dnissons les politiques de scurit
comme des combinaisons de modles de scurit et de congurations. Les modles,
comme nous lavons voqu, ont pour objectif de formaliser les lments de scurit
en fonction desquels les autorisations vont tre dtermines ainsi que le processus
de calcul desdites autorisations. La conguration consiste, quant elle, donner
un sens aux symboles dnis par le modle. Nous nous distinguons de la plupart
des travaux existants par lutilisation de deux langages dirents pour exprimer les
modles de scurit et les congurations. Les modles de scurit sont dcrits au
moyen de contraintes du premier ordre tandis que les congurations sont spcies
au moyen de programmes logiques dits programmes 1
1
. Ainsi, nous proposons une
dmarche de spcication htrogne permettant dtre conforme aux vritables be-
soins de description de chaque composant tout en permettant la combinaison de ces
spcications des ns de vrication. Nous montrons que la spcication spare
de ces composants permet daborder la problmatique intressante et nanmoins peu
(voire pas) traite dans la littrature de la conversion de politiques dun modle vers
un autre. Ce problme consiste dterminer, tant donns un modle et une congu-
17
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 1. INTRODUCTION ET POSITIONNEMENT
ration dorigine ainsi quun modle cible, une conguration qui, combine au modle
cible, engendre exactement les mmes autorisations que le modle et la conguration
dorigine.
Chapitre 4 : Un cadre formel pour la spcication et la vrication
de politiques de scurit dynamiques
Le cadre prsent dans le chapitre 3 est bas sur une vision statique des poli-
tiques de scurit. Nous nous proposons dans ce chapitre de pallier cette limitation
en intgrant les eets de bords induits par lexcution des actions. Plus prcisment,
on envisage dans cette partie de nos travaux les politiques de scurit comme un
moyen de restreindre lvolution dun programme. Un programme est alors constitu
dun certain nombre dactions dont lapplication modie ltat courant du systme
quil dcrit. Les tats du systmes sont vus comme des interprtations logiques -
nies (ensembles nis de faits) et les transitions sont dcrites au moyen de rgles de
mises jour des interprtations. Les politiques sont exprimes au moyen de rgles
de rcriture contraintes par des formules du premier ordre. Nous dnissons ensuite
la notion de systme scuris, matrialisant le rsultat de lapplication dune poli-
tique de scurit sur un systme. Nous proposons dans un second temps de dcrire
la smantique oprationnelle des spcications dcrites dans notre cadre au moyen
de systmes de rcriture possdant des proprits particulires. Notre approche se
distingue de la plupart des approches formelles proposes pour la spcication des
politiques dans la littrature dans le sens o le formalisme de spcication est dif-
frent du formalisme de raisonnement. Ce choix nous permet notamment dimposer
des restrictions techniques de faon totalement transparente pour lutilisateur. Nous
montrons ensuite en quoi la forme particulire des systmes de rcriture manipuls
permet dutiliser les outils et techniques existants pour analyser les politiques de
scurit : tude des proprits (cohrence, terminaison, compltude), du problme de
ladministration, comparaison des politiques et analyse par requtage.
Chapitre 5 : Les politiques de scurit dans les rseaux informatiques
Nous proposons dans ce chapitre de modliser les politiques de scurit rseaux
sous la forme de systmes de rcriture et dautomates darbres. Nous montrons que
cette approche permet deectuer plusieurs types danalyse sur les rewalls isols
ainsi que sur leurs combinaisons. En particulier, nous montrons que les spcications
proposes sont adaptes la vrication des proprits smantiques des rewalls
ainsi qu leur comparaison. Nous montrons ensuite que la modlisation permet de
dtecter les anomalies de conguration et dinterroger les rewalls. Nous tablissons
une thorie dcidable du premier ordre dans laquelle les anomalies et les requtes
peuvent sexprimer, fournissant ainsi une mthode gnrant de faon automatique
une procdure de dtection des anomalies et de rsolution de requtes. Dans une
seconde partie, nous nous focalisons sur la combinaison de rewalls, vus comme des
politiques locales, introduisant les notions de topologie et de stratgie de routage.
Nous montrons quil est possible dobtenir automatiquement un systme de rcriture
simulant le trac dun rseau soumis une politique de scurit. La forme particulire
18
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
1.5. FEUILLE DE ROUTE ET CONTRIBUTIONS
des rgles obtenues est alors tudie pour eectuer des vrications de compltude,
daccessibilit, de terminaison et de cohrence.
Chapitre 6 : Synthse
Le dernier chapitre rcapitule les direntes contributions ralises dans la pr-
sente thse. Nous y discutons galement des perspectives de travaux ensivageables.
19
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 1. INTRODUCTION ET POSITIONNEMENT
20
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2
Fondements techniques
Sommaire
2.1 Notations et dnitions de base . . . . . . . . . . . . . . . 22
2.1.1 Ensembles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.2 Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.3 Morphismes . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.4 Relations binaires . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.5 Induction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Algbre des termes . . . . . . . . . . . . . . . . . . . . . . 27
2.2.1 Termes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.2 -algbre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.3 Spcication quationnelle . . . . . . . . . . . . . . . . . . . 33
2.2.4 Problme du mot, raisonnement quationnel . . . . . . . . . 35
2.3 Rcriture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.1 Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.3.2 Preuves de proprits . . . . . . . . . . . . . . . . . . . . . 38
2.4 Automates nis darbres . . . . . . . . . . . . . . . . . . . 39
2.4.1 Langages darbres . . . . . . . . . . . . . . . . . . . . . . . 39
2.4.2 Langages de tuples . . . . . . . . . . . . . . . . . . . . . . . 42
2.5 Logique du premier ordre . . . . . . . . . . . . . . . . . . 45
2.5.1 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.5.2 Smantique . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.5.3 Smantiques syntaxiques et constructeurs . . . . . . . . . . 48
21
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
C
e chapitre prsente les notions ncessaires la bonne comprhension des tra-
vaux exposs dans cette thse. Il est volontairement dtaill pour permettre
aux lecteurs appartenant des communauts diverses de pouvoir apprcier
le contenu de ce manuscrit. Lensemble des dnitions et proprits de ce chapitre
faisant dsormais partie du patrimoine scientique commun, le lecteur y trouvera
peu de rfrences. Cependant, rendons Csar ce qui lui appartient, un certain
nombre douvrages ont inspir la prsentation du prsent chapitre, les principaux
tant [Marchand, 2003, Kirchner and Kirchner, 2006, Comon and Jouannaud, 2003,
Baader and Nipkow, 1998].
2.1 Notations et dnitions de base
Cette section a pour objectif de xer le vocabulaire utilis par la suite. Nous
y prsentons les dnitions relatives la notion de relation ainsi que le principe
dinduction. Le lecteur averti peut sans encombre se dispenser de sa lecture.
2.1.1 Ensembles
Si E est un ensemble, alors on notera :
card(E) le cardinal de E, c.--d. le nombre dlments de E ;
(E) ou 2
E
lensemble des parties de E, c.--d. F [ F E ;
E
F
le complmentaire de E dans F. Lorsque F est clairement dtermin par
le contexte, alors on notera simplement E ;
Dnition 2.1. Soit E un ensemble non vide. On appelle partition de E tout
sous-ensemble P de (E) tel que pour tout lment p de P, p ,= , pour tous
lments distincts p et q de P, p q = et

pP
p = E.
Dnition 2.2. Soit E un ensemble ni. Un E-ensemble est un ensemble dont
chaque lment est associ un lment de E. Si F est un E-ensemble, alors la
famille des ensembles dlments de F associs un mme lment de E forme une
partition de F.
Si E, E
1
, . . . , E
n
sont des ensembles, alors on note :
E
1
. . . E
n
ou

n
i=1
E
i
le produit cartsien des E
i
;
E
n
le produit E E . . . E
. .
n occurences de E
;
On appelle n-uplet ou tuple (si lon ne souhaite pas prciser n) un lment dun
produit cartsien de n ensembles.
2.1.2 Relations
On rappelle quune relation dun ensemble E dans un ensemble F est un sous-
ensemble ! de E F. E et F peuvent tre des produits cartsiens densembles. Si
E = E
1
. . . E
n
et F = F
1
. . . F
m
, alors ! est dite (m+n)-aire. Par abus de
22
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.1. NOTATIONS ET DFINITIONS DE BASE
langage, on dira que ! est une relation sur E
1
. . . E
n
F
1
. . . F
m
(bien que
ce soit ambigu).
Si ! est une relation, on note indiremment x!y ou (x, y) ! pour indiquer
que x et y sont en relation par !. Dans ce cas, on dit que y est une image de x par
! ou encore que x est un antcdent de y par !. La relation rciproque est note
!
1
et se dnit par lensemble (y, x) F E [ (x, y) !.
Dnition 2.3. Soit ! une relation de E dans F. On appelle domaine de !
lensemble Tom(!) = x E [ y, (x, y) ! et on appelle codomaine ou
image de ! lensemble Jm(!) = (odom(!) = y F [ x, (x, y) !. Pour
tout sous-ensemble A de E, on appelle image de A par ! et lon note !(A)
lensemble y F [ x A, (x, y) !. Pour tout lment a de E, on notera
!(a) en lieu et place de !(a).
Si ! est une relation de E dans F et A est un sous-ensemble de E, alors la
restriction de ! A, c.--d. ! (A F), est note !
[A
. Si !
t
est une restriction
de !, alors ! est un prolongement de !
t
.
Si !
1
EF et !
2
F G sont deux relations respectivement de E dans F et
de F dans G, alors on note !
2
!
1
la composition de !
1
et !
2
, c.--d. la relation
de E dans G dnie par (x, z) E G [ y F, (x, y) !
1
et (y, z) !
2
.
Dnition 2.4. Soit ! une relation de E dans F. On dit que :
! est une relation fonctionnelle ou une fonction si tout lment de E a
au plus une image par !.
! est totale si tout lment de E possde une image par !. Elle est dite
partielle dans le cas contraire.
Une fonction totale est appele application.
Lorsquune relation ! de E dans F est une fonction, alors :
on utilise les symboles f, g, . . . prfrentiellement !;
on note f(a) = b en lieu et place de f(a) = b ;
on note f : E F prfrentiellement f E F ;
le symbole est utilis pour matrialiser la correspondance ralise par une
fonction.
Pour tout ensemble E, on note id
E
lapplication identit, c.--d. id
E
: x E x.
Lorsque E est clairement dtermin par le contexte, on notera simplement id.
Dnition 2.5. Une application f de E dans F est dite :
injective (ou est une injection) si tout lment de F admet au plus un
antcdent par f ;
surjective (ou est une surjection) si tout lment de F admet au moins
un antcdent par f ;
bijective (ou est une bijection) si tout lment de F admet au exactement
un antcdent par f.
23
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
2.1.3 Morphismes
On rappelle quune structure est un ensemble muni dun certain nombre dob-
jets mathmatiques (relations, fonctions, applications, . . . ). Par exemple, on notera
(E, !) la structure compose de lensemble E muni de la relation ! sur E E.
Dnition 2.6. Un morphisme ou homomorphisme est une application entre
deux ensembles munis dun mme type de structure qui respecte cette structure.
Par exemple, un morphisme de (E,
E
) dans (F,
F
), o
E
et
F
sont respec-
tivement des applications de E E dans E et de F F dans F, est une application
f de E dans F telle que f(a
E
b) = f(a)
F
f(b).
Dnition 2.7. Un morphisme dune structure dans elle-mme est appel endo-
morphisme.
Dnition 2.8. Un morphisme f : E F est appel isomorphisme si il existe
un morphisme g : F E tel que f

g = id
F
et g

f = id
E
.
Un isomorphisme est donc une bijection pour laquelle les relations entre les l-
ments de lensemble darrive sont les mmes que celles entre leurs antcdents res-
pectifs (la structure algbrique est prserve).
Dnition 2.9. Deux ensembles E et F munis du mme type de structure alg-
brique sont dits isomorphes sil existe un isomorphisme de E dans F.
2.1.4 Relations binaires
Dnition 2.10. Une relation binaire est une relation dquivalence ssi elle est
rexive, symtrique et transitive.
Si E est un ensemble muni dune relation dquivalence !, alors la classe dqui-
valence dun lment a de E est lensemble des images de a par !. Lensemble des
classes dquivalence de E suivant !, not E/! et appel ensemble quotient de
E par !, forme alors une partition de E.
Dnition 2.11. Une relation binaire sur E E est :
un ordre (sur E) ssi elle est rexive, antisymtrique et transitive.
un ordre strict (sur E) ssi elle est irrexive et transitive.
Les ordres seront gnralement nots par les symboles ,
E
, _, inf, . . . Une re-
lation dordre inf sur E est dite totale, si pour tous a et b de E, soit (a, b) inf,
soit (b, a) inf. Dans le cas contraire, inf est un ordre partiel. Le cas chant, on
24
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.1. NOTATIONS ET DFINITIONS DE BASE
dit que a et b sont incomparables (sous-entendu par inf ) et lon note a b si inf
ne contient ni (a, b) ni (b, a).
Les relations binaires seront parfois dnotes par des ches. Si est une relation
binaire, alors on note :
la relation inverse de (c.--d.
1
) ;
sa fermeture symtrique ;

+
sa fermeture transitive ;


sa fermeture rexive transitive.
John Barkley Rosser
John Barkley Rosser (6
dcembre 1907 5 sep-
tembre 1989) tait un
logicien amricain, tu-
diant dAlonzo Church.
Il est connu pour sa
participation au thorme
de Church-Rosser dans le
lambda calcul. Il a gale-
ment dvelopp ce qui est
dsormais appel le crible
de Rosser en thorie des
nombres.
Dnition 2.12. Une relation sur un ensemble E est dite :
conuente ssi x, x
1
, x
2
E :
x

x
1
x

x
2
y E, x
1

y x
2

y
localement conuente ssi x, x
1
, x
2
E :
x x
1
x x
2
y E, x
1

y x
2

y
fortement conuente ssi x, x
1
, x
2
E :
x x
1
x x
2
y E, x
1
y x
2
y
possde la proprit de Church-Rosser ssi x
1
, x
2
E :
x
1

x
2
y E, x
1

y x
2

y
Ces direntes proprits sillustrent par les schmas suivants :

conuence conuence locale conuence forte Church-Rosser


Les ches pleines reprsentant les hypothses et les ches en pointills les conclu-
sions.
Emmy Noether
Amalie Emmy Noether
(23 mars 1882 14
avril 1935) tait une ma-
thmaticienne allemande
connue pour ses contribu-
tions rvolutionnaires en
algbre abstraite et phy-
sique thorique. Dcrite
par Albert Einstein et
dautres comme la femme
la plus importante de
lhistoire des mathma-
tiques, elle a rvolutionn
les thories des anneaux,
des corps et des algbres.
Remarque. Les direntes proprits prcdemment nonces sont lies de la faon
suivante :
conuence forte conuence Church-Rosser conuence locale
Dnition 2.13. On dit quune relation binaire sur E est noethrienne ou
termine ssi il nexiste pas de fonction : N E telle que n N, (n)
(n + 1).
25
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
Dnition 2.14. Soit une relation binaire sur un ensemble E. Pour tout lment
x de E, on dit que :
x est rductible ssi y E, x y, irrductible sinon,
y est une forme normale de x ssi x

y et y irrductible.
Si x possde une unique forme normale, alors on la note x.
Dnition 2.15. Soit une relation sur E. Si termine, alors on a quivalence
entre la proprit de Church-Rosser, la conuence et la conuence locale. Une
relation noethrienne et conuente est dite convergente et dans ce cas, pour tous
termes t et t
t
, si t

t
t
, alors t = t
t
.
Exemple 2.16. Soit E = a, b, c, d et la relation binaire sur E reprsente
par le graphe suivante :
c a

b

d
Les lments c et d sont irrductibles et sont tous les deux une forme normale
de a et de b. La relation est localement conuente, non noethrienne (non
terminante) et non conuente.
La relation binaire sur N dnie par (n, n + 1) [ n N est quant elle
conuente mais non noethrienne tandis que la relation (n, n + 1) [ m
N, n = 2 m, qui associe tout entier pair son successeur, est conuente et
terminante.
2.1.5 Induction
Dnir inductivement (ou par rcurrence) un ensemble, cest donner un schma
rcursif de construction de ses lments. Si E est dni inductivement, alors tous ses
lments peuvent sobtenir partir de rgles de base en appliquant un nombre ni
de fois des rgles dinduction. Les dnitions inductives sont souvent introduites de
la faon suivante : Soit E le plus petit ensemble vriant . . . ou plus simplement
Soit E lensemble dni inductivement par : . . . suivi de la donne :
dun ou plusieurs cas de base ;
dune ou plusieurs rgles dinduction.
On pourra galement parler de plus petit ensemble ferm par un certain nombre
doprations.
Par exemple, la fermeture rexive transitive dune relation ! sur E E peut
tre dnie de la faon suivante : !

est la plus petite relation telle que :


id
E
est inclus dans !

;
pour tous couples dlments (a, b) !

et (b, c) !, le couple (a, c) appar-


tient !

.
!

est donc la plus petite relation contenant id


E
et ! et ferme pour lopration de
composition.
Il peut tre utile de dcrire les dnitions inductives au moyen de rgles din-
frence. Cest notamment le cas lorsque les conditions invoques dans le processus
26
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.2. ALGBRE DES TERMES
dinduction se formalise sous la forme dune conjonction de conditions dapparte-
nance.
Dnition 2.17. Une rgle dinfrence est la donne dun ensemble (ventuel-
lement vide) dhypothses H
1
, . . . , H
n
, dune conclusion C et ventuellement dune
tiquette l. On note gnralement les rgles dinfrence sous la forme dune frac-
tion :
H
1
. . . H
n
C
(l)
Un systme dinfrence est un ensemble de rgles dinfrence.
Un systme dinfrence est souvent reprsent sous la forme dun schma de
rgles, c.--d. par des rgles paramtres reprsentant lensemble des rgles obtenues
en instanciant les paramtres.
Dnition 2.18. tant donne un systme dinfrence, on peut dduire ou dri-
ver une conclusion C si et seulement si il existe une rgle ayant C pour conclusion
et dont toutes les hypothses sont drivables (ce qui est le cas en particulier si la
rgle ne possde pas dhypothse).
Les rgles dinfrences peuvent tre utilises pour dcrire un processus de d-
duction ou de construction dun ensemble. En particulier, les ensembles dnis in-
ductivement peuvent tre spcis au moyen de rgles dinfrences. Par exemple, la
dnition de la fermeture transitive rexive dune relation ! peut tre spcie par
le systme dinfrence suivant :
a E
(a, a) !

(rexivit)
(a, b) !

(b, c) !
(a, c) !

(transitivit)
2.2 Algbre des termes
Pour raisonner, dduire ou calculer, les mthodes considres dans ce manuscrit
se fondent sur la description des objets de ltude au moyen de termes algbriques. On
parle alors de reprsentation algrbrique ou symbolique. Ces termes, parfois appels
arbres, constituent la brique de base syntaxique des mthodes dites algbriques et
jouent un rle fondamental dans la mcanisation du raisonnement.
2.2.1 Termes
Pour construire les termes, on se dote dun vocabulaire contenant lensemble
des symboles que lon est autoris utiliser ainsi quun schma de composition de
ces symboles. Les symboles seront dsigns sous le nom de symboles de fonction,
ou symboles fonctionnels, et le schma de composition de ces symboles est donn
au moyen de sortes et de prols. La donne de toutes ces informations est appele
signature.
27
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
Dnition 2.19. On appelle signature tout couple = (o, T) o :
o est un ensemble non vide dont les lments sont appels sortes
T est un ensemble non vide, disjoint de o, dont les lments sont appels
symboles de fonction. tout lment f T est associe une suite non
vide (s
1
, . . . , s
n
, s) dlments de o appele prol. On note alors :
f : s
1
. . . s
n
s
Lentier n est appel arit de f et est not ar(f ). La sorte s est appele
co-arit de f . Un symbole darit nulle est appel constante.
Remarque. Lensemble des symboles de fonction darit n est not T
n
. On a natu-
rellement T =

n0
T
n
.
Exemple 2.20. Considrons un exemple dans lequel on souhaite reprsenter les
notions usuelles dentiers (naturels) et de pile dentiers. Pour dcrire un en-
semble au moyen dune signature, il est ncessaire de se donner une dnition
inductive de lensemble considr. Ici, on cherche construire deux ensembles.
chaque ensemble faisons correspondre une sorte. Choisissons Nat pour les
entiers naturels et Stack pour les piles dentiers. Une dnition inductive des
entiers est la suivante : zro est un entier et le successeur de tout entier est
galement un entier. Chaque cas dinduction induit la dnition dun sym-
bole fonctionnel ainsi que dun schma de composition. Choisissons zero pour
reprsenter symboliquement le chire zro. La caractrisation de lassertion
zro est un entier au niveau de la signature se fait par la dclaration du
symbole zero comme tant de prol (Nat). Lassertion tout successeur dun
entier est un entier va se traduire quant elle par la dnition dun sym-
bole succ associ au prol (Nat, Nat) ou Nat Nat indiquant que le symbole
fonctionnel succ sapplique un entier et reprsente un autre entier qui est
son successeur. Le raisonnement pour les listes dentiers est similaire. Une pile
dentiers est soit une pile vide, que lon peut noter nil
Nat
, soit un lment
constitu dun entier et dune pile assembls au moyen dun symbole de notre
choix, ici cons
Nat
. La description des entiers et des piles dentiers seectue
donc au moyen de la signature = (o, T) suivante :
o = Nat, Stack
T =
_

_
zero : Nat
succ : Nat Nat
nil
Nat
: Stack
cons
Nat
: Nat Stack Stack
Dnition 2.21. Soit = (o, T) une signature. On appelle ensemble de va-
riables et on note A tout o-ensemble dnombrable, disjoint de T. Pour toute
variable x de A et toute sorte s de S, la notation x : s signie que la variable x est
associe la sorte s. Dans ce cas, on dit que x est de sorte s.
28
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.2. ALGBRE DES TERMES
Dnition 2.22. Soient = (o, T) une signature et A un o-ensemble de va-
riables. On appelle ensemble des termes sur et A sort par s o et on
note T (, A)
s
le plus petit ensemble dni inductivement de la faon suivante :
tout lment x A tel que x : s appartient T (, A)
s
pour tout symbole f : s
1
. . . s
n
s T et pour tous termes t
1

T (, A)
s
1
, . . . , t
n
T (, A)
s
n
, f(t
1
, . . . , t
n
) appartient T (, A)
s
.
Lorsquun terme t appartient T (, A)
s
, on dira que t est sort par s. Enn, on
appelle ensemble des termes sur et A et lon note T (, A) le o-ensemble

sS
T (, A)
s
.
On introduit la possibilit de dnir une relation dordre sur les sortes dune
signature. Dans ce cas, s s
t
si et seulement si T ()
s
T ()
s
. On parle alors de
signature ordo-sorte. Lintrt est de pouvoir dnir des sortes plus gnriques
ou a contrario plus prcises que dautres (dans le mme esprit que la notion
dhritage en programmation oriente objet).
Dnition 2.23. Soient = (o, T) une signature et A un o-ensemble de va-
riables. On dnit lapplication 1ar : T (, A) (A) qui tout terme t associe
lensemble des variables qui ont au moins une occurence dans t :
x A, 1ar(x) = x
f (t
1
, . . . , t
n
) T (, A) =

n
i=1
1ar(t
i
)
Un terme t est dit clos si 1ar(t) = et linaire si les lments de 1ar(t) ont
exactement une occurence dans t.
Remarque. On prolonge 1ar
_
T (, A)
_
de la faon suivante :
c T (, A), 1ar(c) =
_
tc
1ar(t)
Remarque. Lensemble des termes clos sur une signature = (T, o) est not T () au
lieu de T (, ). Sa dnition peut tre obtenue en modiant la base de la dnition
inductive en remplaant les variables par les constantes.
Remarque. Comme pour tout ensemble dni inductivement, on associe chaque
lment t de T (, A) un arbre reprsentant les tapes de construction de t o chaque
feuille est un lment de la base et chaque noeud reprsente une tape inductive.
Exemple 2.24. Soient la signature dnie dans lexemple 2.20 augmente du
symbole plus : Nat Nat Nat et A = x : Nat, y : Stack un o-ensemble
de variables. cons
Nat
(plus(x, succ(zero)), y) T (, A) est reprsent par
larbre suivant :
cons
Nat
plus y
x succ
zero
29
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
Certaines sortes et certains symboles apparaissent de faon rcurrence dans les
spcications algbriques. Cest la cas notamment des constructeurs de listes .
Considrons une signature comportant une certaine sorte s. On supposera parfois
implicitement lexistence de la sorte sList ainsi que des symboles suivants :
_
nil
s
: sList
cons
s
: s sList sList
Pour faciliter lcriture des termes de sorte sList, le symbole nil
s
sera parfois remplac
par le symbole [ ] et cons
s
par ::.
Dnition 2.25. Soit N
+
lensemble des entiers naturels non nuls. Le monode
(N

+
, . ) est le plus petit ensemble contenant les lments de N
+
clos pour
lopration (appele concatnation) . dlment neutre .
Dnition 2.26. Pour tout terme t T (, A), on appelle ensemble des posi-
tions de t et on note Tos(t) le plus petit sous-ensemble de N

+
tel que :
Tos(t),
si t = f (t
1
, . . . , t
n
), alors pour tout i de [1, n] et tout de Tos(t
i
), i.
Tos(t).
Dnition 2.27. On dnit sur N

+
la relation dordre partielle
pref
par :
,
t
N

+
,
pref

t

tt
N

+
, .
tt
=
t
On dit alors que est prxe de
t
.
Remarque. On dit que :
est prxe strict de
t
et on note <
pref

t
ssi
pref

t
et ,=
t
et
t
sont incomparables et on note
t
ssi
pref

t
et
t

pref

Dnition 2.28. Tout terme t T (, A) peut tre vu comme une application de
Tos(t) dans T A dnie de la faon suivante :
sil existe une variable x A telle que t = x, alors t() = x;
sil existe un symbole f T et n termes t
1
, . . . , t
n
T (, A) tels que
t = f (t
1
, . . . , t
n
), alors
_
t() = f
i [1, n], t(i.) = t
i
()
On dit que t() est la racine ou le symbole de tte de t.
Remarque. Dans la littrature, il est parfois nonc que la dnition inductive de
lensemble des termes construits sur une signature = (o, T) est quivalente celle
de lensemble des fonctions de N

+
dans T A respectant les prols de fonction (i.e
les fonctions t telles que si t() = f : s
1
. . . s
n
s alors la co-arit du symbole
t(.i) est s
i
). La seule dirence entre ces deux dnitions est que la premire nin-
duit par construction que la dnition de termes nis (cest--dire ayant un nombre
30
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.2. ALGBRE DES TERMES
ni de positions) tandis que la seconde permet la dnition de termes innis. Nous
avons prcdemment tabli inductivement lensemble des termes construits sur une
signature donne et considrons donc dans la suite que tout terme est ni.
Dnition 2.29. Soient t T (, A) un terme et Tos(t) une position. On
appelle sous-terme de t la position et on note t
[
le terme tel que :
si = , alors t
[
= t ;
si t = f (t
1
, . . . , t
n
), pour un certain f T et certains termes t
1
, . . . , t
n

T (, A), et = i.
t
pour un certain (i,
t
) N
+
N

+
, alors t
[
= (t
i
)
[
.
On dit quun terme t
t
est un sous-terme de t et on note t
t

sub
t si il existe
Tos(t), t
t
= t
[
. On parle de sous-terme strict lorsque ,= .
Dnition 2.30. Soient t, s T (, A) et Tos(t). On dnit le terme not
t [s]

de la faon suivante :
si = , alors t [s]

= s ;
si t = f (t
1
, . . . , t
n
), pour un certain f T et certains termes t
1
, . . . , t
n

T (, A), et = i.
t
pour un certain (i,
t
) N
+
N

+
, alors t [s]

=
f (t
1
, . . . , t
i
[s]

, . . . , t
n
).
On dit alors que le sous-terme t
[
a t remplac par s.
Nous tenons introduire une notion qui napparat pas de faon systmatique
dans les diverses prsentations de lalgbre des termes puisque la plupart du temps, les
notions de remplacement et de position permettent dy faire implicitement rfrence.
Pourtant, nous le verrons un peu plus tard, cette notion est essentielle : il sagit de
la notion de contexte.
Dnition 2.31. Un contexte est une application de T (, A)
s
(pour une cer-
taine sorte s) dans T (, A) telle quil existe un terme u T () et une position
Tos(u) tels que pour tout t T (, A), C(t) = u[t]

. Un tel contexte sera re-


prsent par lunique terme

C de T ( ) tel que pour toute position
t
<
pref

et
t
,

C(
t
) = u() et

C() = . On confondra

C et C et lon notera C[t]
la place de C(t). On notera (() lensemble des contextes sur .
Remarque. Lensemble des contextes sur est isomorphe lensemble des termes
contenant exactement une variable. Cest pourquoi il nous arrivera parfois de ma-
nipuler de tels termes comme des contextes.
Exemple 2.32. Soit la signature dnie dans lexemple 2.24. Le terme C =
plus(, succ(zero)) est un contexte sur . Si t est le terme zero, alors C[t] re-
prsente le terme plus(zero, succ(zero)). Le terme plus(x, succ(zero)) sera
parfois confondu avec C.
Dnition 2.33. Soient = (o, T) une signature et A un o-ensemble de va-
riables. On appelle substitution (sous-entendu de A sur ) toute application
31
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
de A dans T (, A). On appelle domaine de lensemble Tom() = x
A [ (x) ,= x et codomaine de lensemble Jm() = (x) [ x Tom(). Si
est une bijection de A dans A, alors est appel renommage.
Remarque. On notera gnralement x (x)
xTom()
(cest--dire extensionnel-
lement) pour dsigner la substitution .
Remarque. On dit quune substitution est close si 1ar(Jm()) = .
Dnition 2.34. Soit : A T (, A) une substitution. On prolonge en un
endomorphisme

de T (, A) de la faon suivante :
pour tout x A,

(x) = (x) ;
pour tout terme t = f (t
1
, . . . , t
n
) T (, A),

_
t
_
= f
_

(t
1
), . . . ,

(t
n
)
_
.
On confondra avec

.
Exemple 2.35. Soient la signature dnie dans lexemple 2.24, t le terme
plus(x, succ(y)) et la substitution x zero ; y succ(z). Le terme
t
t
= (t) est donn par : plus(zero, succ(succ(z ))). On utilisera parfois une
notation similaire celle des contextes pour indiquer les variables contenues
dans un terme. Par exemple, t[x, y] nous informe que t a pour variables x, y
et le terme t[t
1
, t
2
] reprsente le terme (t) pour = x t
1
; y t
2
. Dans
notre exemple, t
t
= t[zero, succ(z)].
Dnition 2.36. On appelle relation de subsomption et lon note _ la relation
telle que pour tous t et s de T (, A), t _ s ssi il existe une substitution : A
T (, A) telle que (t) = s. On dit alors que t subsume s. Si est un renommage
des variables de t et de s telle que 1ar((t)) 1ar((s)) = et que (t) _ (s),
alors on dit que t ltre s et lon note t s. Une substitution est dite plus
gnrale que , ce que lon note _ sil existe une substitution
t
telle que
=
t

. On dit aussi que est une instance de .


Dnition 2.37. Deux termes t et s sur une signature sont dits uniables sil
existe une substitution telle que (t) = (s). Dans ce cas, est un unicateur
de t et s. Si t et s sont uniables, on appelle unicateur principal de t et s
et lon note mgu(t, s) lunicateur, unique un renommage prs, dont tout autre
unicateur
t
de t et s est une instance.
2.2.2 -algbre
Jusquici, les notions rencontres taient essentiellement syntaxiques. Nous avons
dni un vocabulaire permettant de dcrire des objets partir de symboles fonction-
nels. Ces symboles nont pas encore de sens proprement parler. Pour pouvoir
leur en attribuer un et noncer des proprits sur les objets ainsi dcrits, il est n-
cessaire dassocier au vocabulaire de description une smantique. Pour ce faire, lon
associe chaque symbole fonctionnel un schma de calcul appel interprtation.
32
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.2. ALGBRE DES TERMES
Dnition 2.38. Soit = (o, T) une signature, on appelle -algbre (ou inter-
prtation de ) / la donne de :
pour tout s o, un ensemble non vide [ /[
s
appel domaine dinterpr-
tation des termes sorts par s,
pour tout f : s
1
. . . s
n
s T, une application
f
,
: [ /[
s
1
. . . [ /[
s
n
[ /[
s
appele interprtation de f .
On note /lg() la classe des -algbres.
Exemple 2.39. Soit = (o, T) la signature comprenant la sorte Nat et les
trois symboles fonctionnels zero : Nat, succ : Nat Nat et plus : Nat
Nat Nat. La donne de [ /[
Nat
= N, zero
,
= 0, succ
,
: x x + 1 et
plus
,
: (x, y) x +y forme une -algbre.
Remarque. T () est une -algbre appele algbre syntaxique close et dnie
de la faon suivante :
pour tout s o, le domaine dinterprtation des termes sorts par s est len-
semble des termes clos sorts par s : T (T),
tout symbole de fonction f T est trivialement interprt par lui-mme :
f
T (T)
= f .
Cette algbre joue un rle particulier puisquelle possde la proprit dite dinitialit :
pour tout / /lg(), il existe un unique morphisme de T () dans /.
Dnition 2.40. Soient = (o, T) une signature et / une -algbre. On appelle
/-valuation toute application : A / telle que si x : s, alors (x) [ /[
s
.
Dnition 2.41. Soient = (o, T) une signature, / une -algbre et une /-
valuation. On appelle smantique dans / selon et on note .

,
le morphisme
de T (, A) vers / dni par :
pour tout x A, x

,
= (x) ;
pour tout terme t = f (t
1
, . . . , t
n
) T (, A), t

,
= f
,
_
t
1

,
, . . . , t
n

,
_
.
2.2.3 Spcication quationnelle
On introduit dans cette section la notion de spcication quationnelle. Ce type
de spcication consiste tablir un ensemble dquations permettant de restreindre
lensemble des interprtations licites des symboles fonctionnels. En dnissant
des proprits dgalit sur les termes de la signature, elles caractrisent une classe
dalgbres dans laquelle on se positionne pour raisonner et prouver des conjectures.
Dnition 2.42. Soit = (o, T) une signature. On appelle quation ou axiome
sur (et sur un ensemble de variables A) toute paire (t, t
t
) T (, A)
s
T (, A)
s
,
o s o, note t

= t
t
.
33
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
Dnition 2.43. Soient = (o, T) une signature et / une -algbre. On dit que
/ est un modle pour lquation t

= t
t
ou encore que t

= t
t
est valide dans / et
lon note
/ [= t

= t
t
ou t =
,
t
t
si pour toute valuation , t

,
= t
t

,
.
Remarque. Soit E un ensemble dquations. On dit que la -algbre / est un modle
de E et lon note
/ [= E
si / est un modle pour toutes les quations de E. Si t

= t
t
est une quation sur ,
alors on notera galement
E [= t

= t
t
si tout modle de E est modle de t

= t
t
.
Remarque. Soient = (o, T) une signature et / une -algbre. On note T h(/) len-
semble des quations valides dans / et /od(E) lensemble des -algbres modles
de E.
Dnition 2.44. On appelle spcication quationnelle ou spcication
dun type abstrait algbrique tout couple (, E) o est une signature et
E un ensemble dquations sur .
Remarque. Soient / une -algbre et ( = (o, T), E) une spcication quation-
nelle. On dit que / est un modle pour (, E) si / est un modle pour E.
George Boole
George Boole (2 no-
vembre 1815 Lincoln
8 dcembre 1864
Ballintemple) est un lo-
gicien, mathmaticien et
philosophe britannique. Il
est lorigine de la
logique fonde sur la
structure algbrique qui
porte son nom. Autodi-
dacte, il publia ses pre-
miers travaux dalgbre
tout en exerant son m-
tier dinstituteur et de di-
recteur dcole dans la r-
gion de Lincoln. Il ob-
tint la mdaille royale de
la Royal Society (acad-
mie des sciences britan-
niques) en 1844 puis une
chaire de mathmatiques
au Queens College de
Cork en 1849.
Exemple 2.45. Soient ( = (o, T), E) une spcication quationnelle et A un
o-ensemble de variables dnis par :
o = Bool
T =
_

_
True : Bool
False : Bool
: Bool Bool
: Bool Bool Bool
: Bool Bool Bool
A = a : Bool, b : Bool
E =
_

_
True

= False
False

= True
True a

= a
False a

= False
(a b)

= a b
a

= a
Lalgbre de Boole B dnie par :
[ B [
Bool
= 0, 1
True
B
= 1
False
B
= 0

B
= et : (0, 0) 0, (0, 1) 0, (1, 0) 0, (1, 1) 1
34
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.2. ALGBRE DES TERMES

B
= ou : (0, 0) 0, (0, 1) 1, (1, 0) 1, (1, 1) 1

B
= non : 0 1, 1 0
est un modle de (, E).
2.2.4 Problme du mot, raisonnement quationnel
Dnition 2.46. Soient ( = (o, T), E) une spcication quationnelle, t, t
t

T (, A), on appelle problme du mot associ t

= t
t
la recherche de la validit
de t

= t
t
dans tout modle de E, autrement dit la dmonstration de E [= t

= t
t
.
Remarque. Lobjectif du raisonnement quationnel est de ramener le problme du
mot, qui est un problme smantique, un problme syntaxique.
Dnition 2.47. Soit ( = (o, T), E) une spcication quationnelle, on appelle
thorie quationnelle et on note =
E
la plus petite congruence sur T (, A) telle
que :
: A T (, A), (t

= t
t
) E, (t) =
E
(t
t
)
Autrement dit, par dnition de la congruence sur une -algbre, =
E
est la fer-
meture symtrique rexive transitive de la relation :

_
C[(t)], C[(t
t
)]
_
[ : A T (, A), (t

= t
t
) E, C (()
Dnition 2.48. Soit ( = (o, T), E) une spcication quationnelle, on appelle
raisonnement quationnel le raisonnement bas sur les rgles dinfrences sui-
vantes :
t

= t
t
E
t

= t
t
(axiome)
t

= t
(rexivit)
t

= t
t
t
t
= t
(symtrie)
t

= t
t
t
t
= t
tt
t

= t
tt
(transitivit)
t

= t
t
(t)

= (t
t
)
: A T (, A) (substitution)
t

= t
t
C[t]

= C[t
t
]
C (() (contexte)
On note E t

= t
t
si lquation t

= t
t
peut tre obtenue partir de E en utilisant
uniquement les rgles du raisonnement quationnel.
Remarque. Les deux prcdentes dnitions sont quivalentes :
t, t
t
T (, A), t =
E
t
t
ssi E t

= t
t
Exemple 2.49. Soit (, E) la spcication quationnelle dcrite dans lexemple
2.45. On a False x =
E
x comme le montre la drivation suivante :
True

= False E
True

= False
(ax.)
True x

= False x
(cont.)
False x

= True x
(sym.)
35
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
a

= a E
a

= a
(ax.)
x

= x
(subst.)
y x

= y x
(cont.)
y x

= y x
(sym.)
(a b)

= a b E
(a b)

= a b
(ax.)
a b

= (a b)
(sym.)
y x

= (y x)
(subst.)
y x

= (y x)
(trans.)
True x

= (True x)
(subst.)
False x

= True x
True x

= (True x)
True a

= a E
True a

= a
(ax.)
.
.
.
.
(True x)

= x
True x

= x
(trans.)
False x

= x
(trans.)
Garrett Birkho
Garrett Birkho tait un
mathmaticien amricain
(19 janvier 1911 22 no-
vembre 1996), ls du ma-
thmaticien George Bir-
kho (1884 1944). Il
est entr luniversit
de Cambridge dans le
but dy tudier la phy-
sique mathmatique mais
il y tudia nalement
lalgbre abstraite. Bien
quil ne possdait au-
cun doctorat, il se consa-
cra lenseignement et
la recherche. Il fonda
notamment une nouvelle
branche des mathma-
tiques, lagbre univer-
selle, avec la publica-
tion en 1935 de son ar-
ticle On the Structure
of Abstract Algebras .
Cinq thormes portent le
nom de Thorme de Bir-
kho. Trois sont ds
George Birkho et deux
sont ds Garrett Bir-
kho.
Thorme 2.50. Soit ( = (o, T), E) une spcication quationnelle, le tho-
rme de Birkho nous assure que, pour tous termes t et t
t
:
E t

= t
t
ssi E [= t

= t
t
Autrement dit le raisonnement quationnel est correct et complet.
2.3 Rcriture
Retournons quelques instants sur le problme du mot. tant donne une quation
t

= t
t
, on se pose la question de savoir si elle est valide dans tous les modles dune
spcication quationnelle E donne. Notons que ce problme est indcidable en
gnral. Nous avons prsent dans une section prcdente un systme dinfrence
pour la logique quationnelle qui nous permet de driver lquation t

= t
t
si et
seulement si lquation est valide dans tous les modles de E. Cependant, les preuves
quationnelles (cest--dire les preuves obtenues partir du systme dinfrence de la
logique quationnelle) sont fortement non-dterministes et ne sont, par consquent,
pas adaptes au calcul. Lide de base de la rcriture est la suivante : puisque
lon souhaite eectuer un raisonnement modulo une congruence (=
E
), cest--dire
une relation dquivalence stable par contexte, il est quivalent de raisonner dans
lalgbre quotient correspondante T (, A)/=
E
, cest--dire lalgbre dont le domaine
est lensemble des classes dquivalence engendres par =
E
. Une ide pourrait alors
consister donner un reprsentant unique chaque classe dquivalence, ramenant
le problme de la validit dune quation celle de lgalit des reprsentants de
la classe dquivalence des termes en question. Il devient alors ncessaire dexhiber,
pour une spcication quationnelle donne E et un terme t, une procdure de calcul
du reprsentant de la classe dquivalence de t dans E. Cest, historiquement, ce qui a
motiv lintroduction des systmes de rcriture de termes. Par ailleurs, lattribution
36
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.3. RCRITURE
dun reprsentant unique par classe dquivalence dobjets est la base de bien des
raisonnements destins prouver lquivalence entre deux objets (minimalisation des
automates, formes normales des fonctions boolennes, . . . ).
2.3.1 Dnitions
On supposera dans la suite lexistence dune signature = (o, T) et dun en-
semble dnombrable de variables A. La notion de terme fait donc rfrence aux
lments de T (, A).
Dnition 2.51. Une rgle de rcriture (sous-entendu sur et A) est une
paire de termes (l, r) de mme sorte note l r telle que 1ar(r) 1ar(l). l est
le membre gauche de la rgle et r le membre droit. Un systme de rcriture
est un ensemble de rgles de rcriture.
Dnition 2.52. Soit ! un systme de rcriture et t un terme. La relation de
rduction engendre par !, note
1
est la plus petite relation contenant !
stable par substitution et par contexte. Autrement dit, t
1
t
t
ssi il existe :
un contexte C ;
une rgle de rcriture l r de !;
une substitution ;
tels que t = C[(l)] et t
t
= C[(r)]. On dit alors que t est rcrit (ou se rcrit ou
se rduit) en t
t
par ! (en un pas). On note =
1
la plus petite relation dquivalence
contenant
1
.
Remarque. En tant que relation binaire, les notations, dnitions et proprits de la
section prcdente sappliquent
1
. Par ailleurs, on confondra souvent un systme
de rcriture avec la relation de rduction quil engendre.
Par ailleurs, si p est une proprit sur les termes (tre linaire, tre clos, . . . ),
alors la rgle de rcriture l r vrie :
p gauche si l vrie p ;
p droite si r vrie p ;
p si l et r vrient p.
Un systme de rcriture vrie une proprit p ssi toutes les rgles qui le constituent
la vrie.
Exemple 2.53. Soit la signature dnie dans lexemple 2.39 augmente du
symbole bo : Nat Nat Nat. Le systme de rcriture ! suivant :
zero +x x
succ(x) +y succ(x +y)
bo(zero) zero
bo(succ(zero)) succ(zero)
bo(succ(succ(x))) bo(x) +bo(succ(x))
est linaire. Un exemple de rduction engendre par ! est donn par la s-
37
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
quence suivante :
bo(succ(succ(zero)) + z )
1
bo(succ(succ(zero) + z ))

1
bo(succ(succ(zero + z )))

1
bo(succ(succ(z )))

1
bo(z ) +bo(succ(z ))
La partie souligne de chaque terme (appel radical ou redex) correspond au
sous-terme ltrant la rgle de rcriture applique.
2.3.2 Preuves de proprits
Lutilisation des systmes de rcriture a pour objectif, au del de fournir un
moyen oprationnel pour eectuer des preuves quationnelles, de permettre de prou-
ver des proprits sur les calculs quils modlisent. Par exemple, lorsquun systme de
rcriture modlise le processus dvaluation dune fonction, les questions suivantes
sont dintret :
la fonction est-elle dnie pour toutes les valeurs dentre possibles ?
lvaluation de la fonction fournit-elle pour toute entre un rsultat en temps
ni ?
les calculs sont-ils non ambigu, autrement dit le systme modlise-t-il bien
une relation fonctionnelle ?
Par ailleurs, sous certaines conditions, un systme de rcriture, vu comme la spci-
cation inductive dune relation, permet deectuer des preuves par induction.
Certaines proprits dun systme de rcriture rfrent aux proprits corres-
pondantes sur les relations de rduction quelles engendrent. En particulier, on dira
quun systme de rcriture est conuent, termine, . . . ssi la relation de rduction as-
socie est conuente, termine, . . . Dautres proprits ne sexpriment pas directement
sur la relation de rduction engendre. Cest le cas de la proprit de conuence sur
les termes clos et de la compltude susante.
Dnition 2.54. Soit ! un systme de rcriture sur une signature . On dit
que ! est conuent sur les termes clos ssi la relation
1
T () T () est
conuente.
Il sagit en gnral de la proprit que lon souhaite vrier lorsque lon sintresse
la non ambiguit des calculs modliss par un systme de rcriture. Un systme
peut tre conuent sur les termes clos sans tre conuent.
Exemple 2.55. Soit une signature comportant les symboles True : Bool,
True : Bool, f : Bool Bool et g : Bool Bool. On dnit le systme de
rcriture ! suivant sur :
f (True) True
f (False) True
g(x) True
g(x) f (x)
38
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.4. AUTOMATES FINIS DARBRES
! est conuent sur les termes clos (tout terme clos se rduit en True) mais
nest pas conuent. En eet, le terme g(x) se rduit vers les deux termes
irrductibles f (x) et True.
Deux autres proprits essentielles sont appeles compltude susante et consis-
tance. Ces proprits sont relatives un partitionnement de la signature en deux
ensembles en fonction des rles tenus par les symboles dans le processus de modlisa-
tion. Par exemple, si lon considre la signature contenant les symboles zero : Nat,
succ : Nat Nat et + : Nat Nat, il semble vident que les symboles zero et
succ ont pour objectif de dcrire les lments du discours (les entiers naturels) alors
que le symbole + modlise une fonction des entiers vers les entiers. Dans ce cas, les
symboles vocation descriptive sont appels symboles constructeurs tandis que les
symboles modlisant des fonctions sont appels symboles dnis. Notons Cons la
partie de la signature contenant les symboles constructeurs et Def celle contenant
les symboles dnis. Nous reviendrons plus en dtail sur ces notions en n de cha-
pitre. Les proprits suivantes caractrisent le fait que les symboles constructeurs
et les symboles dnis tiennent bien les rles de modlisation que nous venons
dvoquer.
Dnition 2.56. Soit ! un systme de rcriture sur une signature . On dit
que ! est consistant (relativement ) ssi il nexiste pas deux termes t et t
t
de
T (Cons ) tels que t

1
t
t
.
Dnition 2.57. Soit ! un systme de rcriture sur une signature . On dit que
! est susamment complet (relativement ) ssi pour tout terme t T (),
il existe un terme t
t
T (Cons ) tel que t


1
t
t
.
Remarque. Un systme vriant les proprits de consistance et de compltude suf-
sante induit une relation dquivalence dont chaque classe contient exactement un
terme de T (Cons ).
La validit de certaines proprits (sous forme dgalits) dans lalgbre T ()/ =
1
est dmontrable par induction : il sagit des thormes inductifs [Comon, 2001].
Certains outils ([Bouhoula and Rusinowitch, 1995, Stratulat, 2011]) permettent de
prouver de tels thormes lorsque lon dispose dune prsentation consistante et suf-
samment complte dun systme de rcriture.
2.4 Automates nis darbres
2.4.1 Langages darbres
Le rle fondamental des automates (de mots) dans la thorie des langages nest
plus prsenter. Ils permettent de dcrire un moyen oprationnel pour valuer lap-
partenance dun mot un langage rgulier et sont munis dun certain nombre dal-
gorithmes ralisant les oprations pour lesquelles la classe des langages rguliers est
close. La notion dautomate darbres est lextension naturelle de celle dautomate
39
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
de mots. La relation que les automates darbres entretiennent avec les systmes de
rcriture de termes et la logique leur confre un intrt particulier justiant leur
prsence dans ce manuscrit.
Plusieurs prsentations peuvent tre donnes des automates darbres. En parti-
culier, ils peuvent tre prsents indpendamment de toute notion de systmes de
rcriture. Pour autant, nous proterons que cette notion ait t introduite pour dres-
ser une prsentation plus succincte des automates darbres base sur la rcriture de
termes.
Pour une lecture plus complte sur les automates darbres, le lecteur est invit
consulter [Comon et al., 2008].
On rappelle quun langage de termes (sous-entendu sur ) ou langage darbres
est une partie de T ().
Dnition 2.58. Soient = (o, T) une signature et Q un ensemble, disjoint
de T, de constantes sortes par des lments de o. On note [Q] la signature
(o, T Q). Un lment de T ([Q]) est appel conguration sur (sous-entendu
relativement Q). Une conguration c est dite normalise lorsque c(p) T
seulement si p = .
Dnition 2.59. On appelle automate (ni) darbres tout quadruplet A =
(, Q, F, ) tel que :
= (o, T) est une signature,
Q est un ensemble disjoint de T de constantes (sortes par des lments de
o) appels tats,
F est un sous-ensemble de Q dont les lments sont appels tats naux,
est un systme de rcriture sur [Q] normalis gauche et dont les
membres droits sont des tats. Les rgles de seront appeles rgles de
transition de A.
La relation de rcriture sur T ([Q]) induite par est note
A
. On appelle
calcul toute squence de rductions de
A
dont la source est un terme de T ().
Dnition 2.60. tout automate darbres A = (, Q, F, ) on associe un langage
de termes not /(A) et dni par : /(A) = t T () [ q
F
F, t


A
q
F
. /(A)
est appel langage reconnu ou engendr par A. Ses lments sont dits reconnus
par A.
Exemple 2.61. Soit la signature contenant les symboles + : NatNat Nat,
zero : Nat et succ : Nat Nat. On dnit lautomate reconnaissant les
entiers impairs A = (, q
odd
, q
even
, q
odd
, ) o contient les rgles :
_

_
zero q
even
succ(q
even
) q
odd
succ(q
odd
) q
even
+(q
odd
, q
odd
) q
even
+(q
even
, q
even
) q
even
+(q
odd
, q
even
) q
odd
+(q
even
, q
odd
) q
odd
40
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.4. AUTOMATES FINIS DARBRES
Le terme succ(zero)+succ(succ(zero)) appartient au langage reconnu par A.
Pour le vrier, il sut dexhiber un calcul partant de ce terme et la destination
est un tat de F :
+
succ succ
zero succ
zero

A
+
succ succ
q
even
succ
q
even

A
+
q
odd
succ
q
odd

A
+
q
odd
q
even

A
q
odd
F
Dnition 2.62. Un automate darbre est dit dterministe si toute congura-
tion normalise est le membre gauche dau plus une rgle de transition. Il est dit
complet si toute conguration normalise est le membre gauche dau moins une
rgle de transition.
Remarque. Comme tout automate peut tre associ un automate quivalent (cest-
-dire reconnaissant le mme langage) dterministe et complet, on peut supposer sans
restriction que tous les automates considrs sont dterministes et complets.
Dnition 2.63. Un langage reconnu par un automate darbres est dit rgulier.
Dans la suite, toute proprit ou opration nonce comme tant eective sur
la classe des langages rguliers signie que lon dispose dalgorithmes vriant cette
proprit ou ralisant cette opration sur les automates darbres correspondants.
Thorme 2.64. La classe des langages rguliers de termes est eectivement
close pour les oprations ensemblistes (boolennes).
Remarque. On utilisera les notations ensemblistes , et sur les automates bien
que ces derniers sappliquent stricto-sensu sur les langages quils reconnaissent. De
manire gnrale, on confondra les automates avec les langages correspondants.
Il est important de noter que quelques ensembles remarquables sont rguliers :
41
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
Proposition 2.65. Soit une signature et s une sorte de . Lensemble T ()
s
est eectivement rgulier. En consquence, lensemble T () lest galement.
Proposition 2.66. Soit une signature et t un terme linaire sur . Lensemble
des instances closes de t, (t) [ : 1ar(t) T () est eectivement rgulier.
On note !ec(t) lautomate correspondant.
Enn, il est intressant de mentionner les deux proprits de clture suivantes.
Proposition 2.67. Soit E un ensemble rgulier et C un contexte. Les ensembles
C[t] [ t E et t [ C[t] E sont eectivement rguliers.
2.4.2 Langages de tuples
Dans la suite, on parlera indiremment de langages de tuples ou de relations de
termes.
Nous distinguerons dans ce manuscrit deux classes de langages de tuples de
termes : la classe des langages fortement reconnaissables et celle des langages re-
connaissables. Une autre classe de langages de couples est considre dans la littra-
ture (celle associe la notion de GTT (ground tree transducer)) mais ne sera pas
traite ici. Les reconnaisseurs associs ces deux classes de langages de tuples sont
bass sur la notion dautomates darbres prsents dans la section prcdente mais se
formulent sur une autre signature que celle des termes reconnus. Plus prcisment,
le langage de tuples reconnu par les automates que nous allons prsenter sont des
interprtations du langage de termes rellement reconnu.
Dnition 2.68. Soit une signature. On note
n
#
la signature obtenue en ajou-
tant , pour tout n-uplet de sorte (s
1
, . . . , s
n
) o
n
,
la sorte [s
1
, . . . , s
n
] et
un symbole fonctionnel not #
s
1
,...,s
n
: s
1
. . . s
n
[s
1
, . . . , s
n
].
Pour simplier les notations, tous les symboles #
s
1
,...,s
n
seront reprsents par le
symbole #.
Dnition 2.69. Soit une signature. tout automate darbres A =
(
n
#
, Q, F, ) on associe le langage de tuples :
/
#
(A) = (t
1
, . . . , t
n
) T ()
s
1
. . . T ()
s
n
[ #(t
1
, . . . , t
n
)


A
q
F
F
Un langage de tuples L est dit fortement reconnaissable ou fortement rgu-
lier ssi il existe un automate A tel que L = /
#
(A).
42
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.4. AUTOMATES FINIS DARBRES
Nous allons maintenant prsenter une autre notion de reconnaissabilit de tuples
de termes due Dauchet et Tison [Dauchet and Tison, 1990] et fonde sur une re-
prsentation des termes par superposition des symboles.
Dnition 2.70. Soit = (o, T) une signature. On note
n
la signature conte-
nant :
la sorte [s
1
, . . . , s
n
] pour tout n-uplet (s
1
, . . . , s
n
) (o )
n
,
le symbole f
1
, . . . , f
n
de (T )
n

n
dont le prol est :
S
1
. . . S
k
[s
1
, . . . , s
n
]
o pour tout 1 j k, S
j
= [s(1, j), . . . , s(n, j)] o
s(i, j) =
_
s
i
j
si f
i
: s
i
1
. . . s
i
m
s
i
T et j m
sinon
et k = max
i[1,n]
(ar(f
i
) [ f
i
,= ).
Puisque lon dispose dune signature pour reprsenter les tuples de termes, il nous
faut nous doter dune fonction calculant pour tout tuple de termes sa reprsentation
dans cette nouvelle signature.
Dnition 2.71. Pour tout n-uplet de termes de , on note t
1
. . . t
n
le terme
t de
n
tel que pour toute position

n
i=1
Tos(t
i
), t() = t
1
[), . . . , t
n
[) o
u[) = u() si Tos(u) et sinon.
On peut donc enn dnir la nouvelle notion de reconnaissabilit.
Dnition 2.72. Soit une signature. tout automate darbres A =
(
n
, Q, F, ) on associe le langage de tuples :
/

(A) = (t
1
, . . . , t
n
) T ()
s
1
. . . T ()
s
n
[ t
1
. . . t
n


A
q
F
F
Un langage de tuple L est dit reconnaissable ou rgulier ssi il existe un automate
A tel que L = /

(A).
Exemple 2.73. Si lon considre de nouveau la signature donne dans lexemple
prcdent, on peut dnir un automate reconnaissant les couples dentiers
n
1
, n
2
tels que n
1
n
2
(si lon interprte les symboles zero et succ par
respectivement 0 et n n +1) A
inf
= (
2
, q, q
inf
, q
inf
, ) avec dni
par :
_

_
succ, succ (q
inf
) q
inf
zero, succ (q) q
inf
, succ (q) q
, zero q
Pour montrer que succ(zero), succ(succ(zero) est reconnu par A
inf
, il
sut dexhiber le calcul suivant, partant de succ(zero) succ(succ(zero) =
43
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
succ, succ ( zero, succ ( , zero)) :
succ, succ
zero, succ
, zero

A
inf
succ, succ
zero, succ
q

A
inf
succ, succ
q
inf

A
inf
q
inf
La relation entretenue par les deux classes de langages prsentes est la suivante.
Proposition 2.74. Tout langage fortement rgulier est rgulier. La rciproque
est fausse.
Terminons cette prsentation des automates darbres par les proprits qui mo-
tivent leur utilisation. Pour cela, rappelons les dnitions des oprations de projection
et de cylindrication.
Dnition 2.75. Soit ! une relation de termes n-aire. On appelle i
me
projection
de ! et lon note
i
(!) la relation dnie par :
(t
1
, . . . , t
i1
, t
i+1
, . . . , t
n
)
i
(!) t T (), (t
1
, . . . , t
i1
, t, t
i+1
, . . . , t
n
) !
On appelle i
me
cylindrication de ! et lon note .
i
(!) la relation dnie par :
(t
1
, . . . , t
i1
, t, t
i
, . . . , t
n
) .
i
(!) (t
1
, . . . , t
i1
, t
i
, . . . , t
n
) !
Thorme 2.76. La classe des langages de tuples fortement rguliers est eec-
tivement close pour les oprations ensemblistes (boolennes), la projection, le
produit cartsien, la cylindrication et la composition.
Thorme 2.77. La classe des langages de tuples rguliers est eectivement close
pour les oprations ensemblistes (boolennes), la projection, le produit cartsien,
la cylindrication et la composition.
Thorme 2.78. [Nieslon et al., 2002] La classe des langages de couples (rela-
tions binaires) fortement rguliers est eectivement close par itration (fermeture
transitive reexive).
44
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.5. LOGIQUE DU PREMIER ORDRE
Ce nest en revanche pas le cas de la classe des relations rgulires. Par ailleurs,
il est intressant de mentionner que certains ensembles remarquables sont fortement
rguliers et dautres seulement rguliers.
Proposition 2.79. tant donnes une signature et n sortes s
1
, . . . , s
n
de ,
lensemble des n-uplets de termes (t
1
, . . . , t
n
) [ t
1
T ()
s
1
, . . . , t
n
T ()
s
n
est
fortement rgulier.
En consquence, on obtient le rsultat suivant :
Proposition 2.80. Lensemble des n-uplets de termes clos construits sur une
signature donne est fortement rgulier.
En revanche, ce nest pas le cas de la relation identit qui est seulement rgulire.
Proposition 2.81. tant donne une signature , lensemble des n-uplets de
termes (t, . . . , t) [ t T () est rgulier mais nest pas fortement rgulier.
2.5 Logique du premier ordre
Les notions de syntaxe et de smantique sont centrales dans nos travaux. La
notion dalgbre prsente antrieurement donne un premier aperu de la notion
dinterprtation du premier ordre.
2.5.1 Syntaxe
On tend la notion de signature prcdemment introduite pour intgrer de nou-
veaux objets appels prdicats.
Dnition 2.82. On appelle signature logique tout triplet

= (o, T, T) o :
= (o, T) est une signature (au sens de la dnition 2.19)
T est un ensemble non vide, disjoint de o et de T, dont les lments sont
appels symboles de prdicats. tout lment p T est associe une suite
non vide (s
1
, . . . , s
n
) dlments de o appele prol. On note alors :
p : s
1
. . . s
n
Lentier n est appel arit de p et est not ar(p).
Dnition 2.83. On appelle atome de

= (o, T, T) tout objet de la forme
p(t
1
, . . . , t
n
) o p : s
1
. . . s
n
T et t
1
T (, A)
s
1
, . . . , t
n
T (, A)
s
n
.
Lensemble des atomes de

est not /t(

, A). Lensemble des atomes clos (c.--


d. sans variable), est not /t(

).
45
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
Dnition 2.84. Lensemble des formules dune signature logique

= (o, T, T)
est le plus petit ensemble not Tor(

) tel que :
et sont des formules,
tout atome de /t(

, A) appartient Tor(

),
si et sont deux formules de

et x et y deux variables : , , ,
x. et x. sont des formules.
Les symboles , , . . . sont vus comme des raccourcis dcriture. On appellera lit-
tral toute formule forme uniquement dun atome ou de la ngation dun atome.
Dnition 2.85. On tend lensemble Tor(

) des formules de

lensemble
des formules avec galit Tor
=
(

) en remplaant dans la dnition prcdente


Tor(

) par Tor
=
(

) et en ajoutant lassertion suivante : toute galit t = t


t
de
termes de mme sorte appartient Tor
=
(

).
Remarque. Toute formule possde une notation arborescente unique.
Dnition 2.86. On dit quune variable est la porte dun quanticateur si elle
apparat dans le sous-arbre dont le quanticateur est la racine. Une variable la
porte dun quanticateur est dite lie ( ce quanticateur). Une variable qui nest
pas lie est libre. On note respectivement T1ar() et B1ar() les ensembles des
variables libres et lies de la formule .
Dnition 2.87. Une formule est dite polie si elle vrie les conditions sui-
vantes :
il nexiste pas de variable dont une occurence soit libre et une autre soit lie :
B1ar() T1ar() = ,
deux occurences dune mme variable lie correspondent la mme occurence
de quanticateur.
Remarque. toute formule correspond au moins une formule polie quivalente ob-
tenue par renommage des variables.
On supposera dans la suite que toute formule est polie.
Dnition 2.88. La notion de substitution : A T (, A) est tendue aux
formules de la faon suivante :
() = , () = ,
(p(t
1
, . . . , t
n
)) = p((t
1
), . . . , (t
n
)),
( ) = () () pour tout connecteur logique ,
(Qx.) = Qx.
[Tom()\x
() pour tout quanticateur Q (o
[E
signie
restreint E).
Remarque. Le dernier point de la dnition prcdente nous assure quune substitu-
tion ne modie que les variables libres dune formule.
46
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
2.5. LOGIQUE DU PREMIER ORDRE
Dans la suite, on notera [x
1
, . . . , x
n
] pour indiquer que les variables libres de
sont x
1
, . . . , x
n
. La notation [t
1
, . . . , t
n
] rfrera alors la formule () pour
= x
1
t
1
, . . . , x
n
t
n
.
2.5.2 Smantique
Dnition 2.89. La notion de -algbre est tendue aux signatures logiques en
dnissant pour tout p : s
1
. . . s
n
T, une relation p
,
[ /[
s
1
. . . [ /[
s
n
appele interprtation de p. / est alors appele interprtation de

ou

-
interprtation.
Remarque. Une

-interprtation dont le domaine est T () est qualie dinterpr-
tation de Herbrand.
Remarque. Toutes les notions dnies dans le cadre des algbres sont naturellement
tendues celle dinterprtations de signature logique.
Dans la suite, on note B lalgbre de Boole munie de lopration unaire (non)
ainsi que des oprations binaires usuelles + (ou) et (et) respectivement gnralises
en

et

.
Jacques Herbrand
Jacques Herbrand (12 f-
vrier 1908 27 juillet
1931) tait un mathma-
ticien franais n Pa-
ris et dcd dans un
accident de montagne
La Brarde (Isre). Bien
que dcd au jeune ge
de 23 ans, il tait dj
considr comme lun des
plus grands mathmati-
ciens de la jeune gn-
ration par ses professeurs
Helmut Hasse et Richard
Courant. Il a travaill sur
la logique mathmatique
ainsi que sur la thorie
des corps de classes. Il
a notamment introduit la
notion de fonction rcur-
sive.
Dnition 2.90. Soient

une signature logique, / une

-interprtation et une
/-valuation. On tend la notion de smantique dans / selon une application
.

,
de Tor(

) vers B de la faon suivante :


,
= 1

,
= 0
p(t
1
, . . . , t
n
)

,
= 1 si
_
t
1

,
, . . . , t
n

,
_
appartient p
,
, 0 sinon,

,
=

,
=

,
=

,
+

,
x.

,
=

,-valuation

,
x.

,
=

,-valuation

,
Dnition 2.91. Soient

une signature logique, / une

-interprtation et une
formule sur

. On dit que :
est satisable dans / sil existe une valuation telle que

,
= 1 ( est
dite satisable sil existe une algbre dans laquelle est satisable) ;
est valide dans / si pour toute valuation ,

,
= 1, dans ce cas on dit
que / est un modle de et lon note / [= . On note /od() lensemble
des modles de .
Remarque. La relation [= est tendue aux ensembles de formules :
une interprtation / est modle dun ensemble de formules (ou thorie) T h si
cest un modle de toutes les formules de lensemble,
est une consquence logique de T h si /od(T h) /od(), dans ce cas, on
note T h [= .
47
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 2. FONDEMENTS TECHNIQUES
2.5.3 Smantiques syntaxiques et constructeurs
Refermons ce chapitre en voquant le lien entretenu entre les notions de sman-
tique et de symboles constructeurs. Considrons de nouveau une signature (non une
signature logique) = (o, T). Interprter la signature , cest dnir une -algbre
/ interprtant chaque terme de T () par un lment de [ /[. La plupart du temps,
pour pouvoir raisonner de faon automatique, le domaine des algbres manipules
est lui-mme un ensemble de termes clos construit sur une signature donne
t
. On
parle alors dinterprtation syntaxique. Nous voquions un peu plus tt la notion
dinterprtation de Herbrand dans laquelle chaque terme est interprt de faon tri-
viale par lui-mme. Nous tendons ici cette notion en partitionnant lensemble des
symboles fonctionnels en deux ensembles : lensemble des symboles constructeurs et
celui des symboles dits dnis. Lobjectif est le suivant. Lorsque lon dnit une si-
gnature, il existe une partie des symboles dont la mission est de dcrire les lments
du systme que lon modlise. On ne souhaite en gnral pas interprter ces sym-
boles par dautres symboles. Cest le cas par exemple des symboles zero : Nat et
succ : Nat Nat modlisant les entiers naturels. Une autre partie de la signature
est quant elle destine tre interprte par des fonctions sur les lments du
systme. Cest le cas par exemple du symbole + : Nat Nat Nat. En somme,
les symboles constructeurs construisent le domaine du discours (domaine dinterpr-
tation) et les symboles dnis les fonctions. Lorsque une signature sera tablie en
vue dtre interprte de cette faon, nous noterons TCons lensemble des symboles
constructeurs et TDef lensemble des symboles dnis. Cons rfre alors la signa-
ture constitue uniquement des symboles constructeurs et les lments de T (Cons )
seront appels termes-donnes. tant donne une signature

, on appellera inter-
prtation syntaxique base sur les constructeurs toute interprtation / de
domaine T (Cons ) telle que tout terme-donne est interprt par lui-mme.
Au regard de ces remarques, retournons sur les notions de systmes de rcriture
et dautomates darbres. Un systme de rcriture sur une signature , convergent
sur les termes clos et dont lensemble des formes normales est T (Cons ), dnit
exactement une interprtation syntaxique de . Cette interprtation interprte les
symboles constructeurs de faon triviale et les symboles dnis comme des fonctions
sur lensemble des termes constructeurs. De la mme faon, les automates darbres
dnissent des interprtations syntaxiques de prdicats ds lors quils sont construits
sur la signature des symboles constructeurs.
48
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
3
Spcication, analyse et
transformation de politiques
de scurit
Sommaire
3.1 Spcication des modles et des politiques . . . . . . . . 50
3.1.1 Vocabulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1.2 Modles de scurit . . . . . . . . . . . . . . . . . . . . . . 51
3.1.3 Politiques de scurit . . . . . . . . . . . . . . . . . . . . . . 54
3.2 Smantique et proprits . . . . . . . . . . . . . . . . . . . 57
3.3 Changement de modle . . . . . . . . . . . . . . . . . . . . 60
3.3.1 Positionnement du problme . . . . . . . . . . . . . . . . . 60
3.3.2 Mthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.4 Travaux relis . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.5 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
L
orsque lon prend la dcision de crer un logiciel, lune des principales questions
qui se posent au dveloppeur est le choix du langage de programmation quil va
utiliser. Son choix va tre tabli en fonction de larchitecture globale du projet
dans lequel le logiciel sinscrit, du paradigme de programmation qui lui permettra
de formuler le plus aisment possible les structures et les oprations ncessaires mais
galement en fonction de sa propre sensibilit. Le concepteur dune politique dauto-
risations devra faire face aux mmes interrogations. Au del du langage, le choix du
modle de scurit sur lequel il va fonder sa gestion des autorisations est dterminante
pour la bonne administration de cette dernire. Nous lavons voqu, de multiples
modles ont t dvelopps depuis les annes 70 pour faciliter la formulation dune
49
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 3. SPCIFICATION, ANALYSE ET TRANSFORMATION DE
POLITIQUES DE SCURIT
politique en fonction du contexte dans lequel elle sinscrit [Barker, 2009]. De plus, les
systmes dinformation sont rarement immuables. Ils changent au gr de lvolution
de lorganisation quils supportent (fusion, rorganisation, . . . ) ou pour amliorer la
gestion de linformation. Dans ce contexte profondment dynamique, maintenir une
politique de scurit peut engendrer la ncessit de changer le modle dans lequel
la politique se dnit. La migration dune politique dun modle vers un autre est
une tche dicile et critique. Lorsquelle est faite manuellement, elle est sujette
lintroduction derreur et peut engendrer des fuites de scurit. Cest la raison pour
laquelle, dans lobjectif de prserver la conance que lon porte en une politique de
scurit aprs sa migration, nous proposons que la traduction de la politique se fasse
dune faon automatique et base sur des algorithmes formellement vris. Dans ce
chapitre, nous nous intressons ltablissement dun cadre de spcication fond
sur une sous-classe de la logique du premier ordre ainsi que sur les techniques lies
aux automates darbres. Plus prcisment, nous proposons la spcication de poli-
tiques en deux tapes disctinctes. La premire concerne la formalisation du modle
de scurit sous la forme de rgles associant les actions des contraintes du premier
ordre. La seconde consiste, quant elle, permettre la conguration des lments
de scurit laide de programmes logiques. Nous nous attachons montrer que
cette approche prserve les avantages des spcications monoblocs et quelle permet
dinvestiguer de nouvelles possibilits. En particulier, nous montrons que de telles
spcications sont oprationnelles (en ce sens o lon en dduit un processus de cal-
cul des autorisations) et quelles peuvent tre interroges (dans le sens des requtes
dites administratives). Nous proposons galement un algorithme qui transforme une
politique exprime dans un modle vers une politique quivalente exprime dans un
autre modle.
3.1 Spcication des modles et des politiques
3.1.1 Vocabulaire
Nous allons naturellement dbuter ce chapitre en exposant le langage de sp-
cication des modles et politiques de scurit. Mais avant cela, convenons dune
mise au point sur le vocabulaire emprunt. Comme nous lavons indiqu, nous pr-
conisons, dans un objectif de rutilisabilit, la spcication des politiques en deux
phases. La partie la plus gnrique est appele modle de scurit et correspond
la dnition que nous en avons donn dans le chapitre prcdent : le modle indique
les lments de scurit prendre en compte, les relations entretenues par ces l-
ments ainsi que le schma de calcul (ou de dduction) des autorisations daction.
Par exemple, pour spcier un modle bas sur les niveaux de scurit, on peut in-
diquer que chaque sujet et objet doit tre aect un niveau de scurit et que la
lecture nest possible que lorsquun sujet possde un niveau de scurit suprieur
celui de lobjet. En revanche, la spcication du modle ne donne aucune information
sur les niveaux de scurit en question. Cest lobjet de ce que lon appelle dans ce
chapitre la conguration de la politique. La conguration consiste en la dnition
de lvaluation des fonctions et des prdicats dnis par le modle de scurit. Pour
reprendre lexemple dune politique base sur les niveaux de scurit, lobjectif de la
50
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
3.1. SPCIFICATION DES MODLES ET DES POLITIQUES
conguration est dassigner les niveaux aux sujets et objets. Pour dnir le vocabu-
laire dcrivant les direntes donnes appartenant au systme dinformation (sujets,
objets, actions, . . . ), nous introduisons la notion de signature de scurit.
Dnition 3.1. Une signature de scurit est une signature

= (o, T, T) dont
les symboles de prdicats sont appels symboles actions.
La signature
1

dcrit les lments de scurit appartenant au systme qui ne
sont pas spciques la politique qui sera dnie. Il sagit par exemple des utilisa-
teurs, des chiers mais ne spcie pas, par exemple, la notion de rle qui est spcique
aux politiques bases sur les rles. Les atomes construits sur

sont les actions du
systme. Les termes construits sur sont appels termes de donnes et deux termes
distincts dans T () reprsentent des lments dirents du systme dinformation.
La signature est donc uniquement constitue de symboles constructeurs.
Exemple 3.2. Considrons un systme contenant trois utilisateurs (par exemple
Alice, Bob et Charlie) ainsi quun ensemble dnombrable de chiers identis
par les entiers naturels. Considrons galement que les actions possibles dans
le systmes sont la lecture et lcriture dun chier par un utilisateur. Une
signature de scurit correspondante ce systme est

= (o, T, T) o o
contient les sortes Subject, Object, Nat, T contient les symboles suivants :
_

_
Alice, Bob, Charlie : Subject
le : Nat Object
zero : Nat
succ : Nat Nat
et T est compos des symboles dactions read et write de prol Subject
Object. Latome read(Alice, le(succ(zero))) dcrit laction correspondant
la lecture du chier identi par le nombre 1 (symbolis par succ(zero))
par Alice.
3.1.2 Modles de scurit
Comme nous lavons dj indiqu, les modles de scurit spcient les mca-
nismes implanter dans le systme pour garantir les proprits de scurit dsires
(condentialit, intgrit, . . . ). Dans le cadre propos, le modle de scurit dcrit les
structures qui lui sont spciques, les rgles permettant de calculer les autorisations
ainsi que la forme des congurations acceptables . La dnition suivante prcde
une explication des dirents choix qui sont exprims dans cette dernire.
Dnition 3.3. Un modle de scurit mod sur une signature de scurit

=
(o, T, T) est la donne de :
1. On rappelle (dnition 2.82) que la notation est utilise pour les signatures fonctionnelles
(c.--d. sans prdicat) tandis que

dnote une signature logique (c.--d. avec symboles de
prdicats). Lorsquune signature logique

= (S, F, P) est dnie, alors rfre (S, F).
51
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 3. SPCIFICATION, ANALYSE ET TRANSFORMATION DE
POLITIQUES DE SCURIT
une extension de note

mod
= (o o
mod
, T T
mod
, T
mod
) telle que :
1. pour tout symbole f : s
1
. . . s
n
s TCons
mod
, s o
mod
(c.--d.
on ne cre pas de nouveaux constructeurs de la signature de scurit),
2. pour tout symbole f : s
1
. . . s
n
s TDef
mod
, s est niment
constructible, c.--d. T (Cons )
s
est ni,
un ensemble de rgles de scurit
mod
de la forme :
action
o action est un atome linaire de /t(

, A) appel motif daction et est


une formule de Tor
=
(

mod
) telle que pour toute galit t = t
t
, t et t
t
sont
dune sorte niment constructible,
une thorie du premier ordre (c.--d. un ensemble de formules) T
mod

Tor
=
(

mod
) dans laquelle pour toute galit t = t
t
, t et t
t
sont dune sorte
niment constructible et
un sous-ensemble de sortes o
+
mod
de o
mod
.
Le choix de ces dirents lments se justie de la manire suivante :
Lextension de la signature de scurit dcrit les nouvelles informations propres
au modle de scurit. Par exemple, un modle bas sur des niveaux de scurit
peut dnir la nouvelle sorte Level ainsi quun ordre sur les niveaux caractris
par un prdicat inf : Level Level. La premire condition sur cette extension
indique que le modle ne doit pas crer de nouveaux termes de donne sorts
par la signature de scurit. Par exemple, dans le cas o la signature de s-
curit comporte les sortes Subject et Object, le modle ne peut pas dnir de
nouveaux sujets et objets. La seconde condition indique que les interprtations
de fonctions sont valeurs dans des ensembles nis (condition ncessaire pour
garantir des rsultats de dcidabilit ultrieurs). Cest le cas, par exemple, de
la fonction qui attribue les niveaux de scurit aux sujets et objets si lensemble
des niveaux est x par le modle.
Les rgles de scurit dnissent le schma de calcul des autorisations, c.--d.
les conditions satisfaire pour quune action soit permise.
Comme expliqu prcdemment, la smantique des informations de scurit
nest pas connue au niveau de la dnition du modle mais le modle peut
contraindre les interprtations des symboles quelle dnit. Par exemple, dans le
cas de la dnition dune relation dordre partielle inf , la thorie devra prciser
que linterprtation de inf doit respecter la contrainte x, y, z : inf (x, y)
inf (y, z) inf (x, z).
Enn, le modle peut spcier lexistence de termes dune sorte donne sans en
prciser les constructeurs. Par exemple, le modle peut indiquer la prsence de
niveaux de scurit mais ne pas les dnir. Autrement dit, le modle indique que
cest ltape de conguration que devront tre dnis les niveaux souhaits
par ladministrateur. Dans ce cas, o
+
mod
doit contenir Level.
52
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
3.1. SPCIFICATION DES MODLES ET DES POLITIQUES
Exemple 3.4. Dans cet exemple, nous nous proposons de spcier un exemple
trs simple pour illustrer la dnition prcdente. Nous nous basons sur une
description simplie du modle introduit dans [Sandhu et al., 1996] dans le-
quel les actions possibles sont la lecture et lcriture. Rappelons que lide
principale du modle RBAC est dassigner chaque utilisateur un ensemble
de rles. Le modle attribue galement des modes daccs (read et write)
sur les ressources (les chiers dans notre cas) aux rles. Enn, un utilisateur
sera habilit eectuer une action sur une ressource ssi il possde un rle dis-
posant du mode daccs correspondant sur le chier en question. Dans notre
cadre, ceci se traduit de la faon suivante. Notons

la signature de scurit
dnie dans lexemple prcdent et faisant tat dun systme compos dutili-
sateurs et de chiers. Les informations de scurit dnies par le modle sont
les rles et les modes daccs. De ce fait,
rbac
tend

avec les sortes Role
et Mode. Nous considrons dans notre exemple que lensemble des rles doit
tre dni par ladministrateur mais que les modes daccs sont xs par le
modle. Dans ce cadre,
rbac
est compos des constructeurs (en loccurence des
constantes) read_mode et write_mode de sorte Mode correspondant res-
pectivement aux modes de lecture et dcriture tandis quaucun constructeur
de sorte Role nest dni et alors o
+
rbac
= Role. Nous utiliserons le prdicat
ura : Subject Role pour reprsenter lassignation des rles aux utilisateurs
(ura pour user-role assignment) et le prdicat pra : Role Mode Object
pour laectation des privilges daccs aux rles (pra pour privilege-role
assignment). Les rgles de scurit se dnissent simplement de la faon sui-
vante :
_
read(s, o) r : ura(s, r) pra(r, read_mode, o)
write(s, o) r : ura(s, r) pra(r, write_mode, o)
Dans la suite, nous noterons rbac le modle de scurit ainsi dni.
Comme tous les exemples, ce dernier nillustre que partiellement les dirents
choix exposs dans la dnition 3.3. Lutilisation de symboles dnis et de thories
sera illustre dans lexemple 3.23.
Le lecteur attentif remarquera que la dnition donne des modles de scurit
ninduit pas une faon unique de calculer les autorisations. Par exemple, quel sens
donner un modle comportant les rgles read(s, o)
1
et read(s, o)
2
? Pour
dnir un schma unique de calcul des autorisations, il est ncessaire (et susant)
de munir les modles dune stratgie dinterprtation.
Dnition 3.5. Une stratgie dinterprtation indique la faon dont les autori-
sations daction doivent tre values en fonction des rgles de scurit du modle.
En dautres termes, elle associe chaque action une formule vrier dont le calcul
de la validit correspond lvaluation de lautorisation daction. Nous dnissons
les stratgies suivantes :
and, qui permet lexcution dune action ssi toutes les contraintes associes
53
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 3. SPCIFICATION, ANALYSE ET TRANSFORMATION DE
POLITIQUES DE SCURIT
un motif daction ltrant laction considre sont satisfaites :

and
mod
: ac

a
mod
(a)=ac
()
or : qui permet lexcution dune action ssi au moins une des contraintes
associes un motif daction ltrant laction considre est satisfaite :

or
mod
: ac

a
mod
(a)=ac
()
or_else

, qui permet lexcution dune action ssi la contrainte associe au


premier motif daction ltrant laction courante est satisfait et, dans le cas
o laction ne ltre aucun motif daction, procde la dcision par dfaut
(autorisation dans le cas = et refus dans le cas = ) :

or_else

mod
: ac
_
(
i
) si (a
i
) = ac et j < i,
t
:
t
(a
j
) = ac
sinon
o , et o les rgles de
mod
sont supposes tre ordonnes.
Notons que par dnition, lautorisation par dfaut (c.--d. lorsquaucun motif
daction ne correspond laction valuer) pour la stratgie and est et corres-
pond pour la stratgie or.
Nous supposerons dans la suite que tous les modles sont munis dune strat-
gie dinterprtation qui sera indique en exposant du modle, sauf lorsque toutes
les stratgies concident (c.--d. lorsque chaque action possible ltre exactement un
motif, ce qui est le cas dans notre prcdent exemple).
3.1.3 Politiques de scurit
Pour dnir entirement une politique de scurit, il faut tablir le modle sur
lequel la politique se fonde, les donnes qui lui sont spciques ainsi que linterpr-
tation de la signature du modle. Pour dnir de telles interprtations, nous nous
sommes orient vers une classe de programmes logiques dintrt puisquelle ore
la fois un pouvoir dexpression satisfaisant tout en possdant un certain nombre de
proprits qui seront essentielles par la suite. Cette classe est connue sous le nom
1
1
et a t introduite dans [Nieslon et al., 2002]. Pour dnir cette classe, quelques
dnitions auxiliaires sont ncessaires.
Dnition 3.6. Une clause 1
1
sur

est une formule de la forme H telle
que :
H est un atome linaire sur

appel tte de la clause,
est une conjonction datomes
1
. . .
n
sur

appele corps de la clause,
pour tout couple de variables (x, y) 1ar(H)
2
, x

y seulement si x
H
y
o
54
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
3.1. SPCIFICATION DES MODLES ET DES POLITIQUES

est la plus petite relation dquivalence contenant

n
i=1
1ar(
i
)
2
et
x
H
y ssi x et y sont frres dans H, c.--d. sil existe une position
et deux entiers k, k
t
tels que H
[.k
= x et H
[.k
= y.
tous les symboles fonctionnels apparaissant dans H et sont des construc-
teurs.
On appelle programme 1
1
tout ensemble de clauses 1
1
.
Exemple 3.7. Lexemple qui suit a pour objectif daider le lecteur dans sa
comprhension des restrictions syntaxiques caractrisant les clauses 1
1
. Il est
donc dcorrl du l conducteur liant les autres exemples de ce chapitre. Soit

une signature logique comportant une unique sorte (quelconque), les symboles
fonctionnels f et g darits respectives 2 et 1 ainsi quun symbole de prdicat
p darit 2. La clause suivante :
p(f (x
1
, x
2
), g(f (y
1
, y
2
))) p(x
1
, x
2
) p(y
1
, y
2
)
est une clause 1
1
. En eet,
dune part, x
1

x
2
(car ces deux variables apparaissent dans latome
p(x
1
, x
2
)) et y
1

y
2
(car ces deux variables apparaissent dans latome
p(y
1
, y
2
)),
dautre part, x
1

H
x
2
(car H
[1.1
= x
1
et H
[1.2
= x
2
) et y
1

H
y
2
(car
H
[2.1.1
= y
1
et H
[2.1.2
= y
2
).
En revanche, si lon ajoute latome p(x
1
, y
1
) au corps de la clause, alors il ne
sagit plus dune clause 1
1
. En eet, lajout de cet atome aggrge les deux
classes dquivalences engendres par

: x
1

x
2

y
1

y
2
alors que
H
est inchange.
La sous-classe du fragment de Horn que lon considre possde une proprit
essentielle pour la suite nonce par le thorme suivant :
Thorme 3.8 ([Nieslon et al., 2002]). Pour tout programme P de 1
1
sur

= (o, T, T), la plus petite interprtation de Herbrand / de



modle de P est
eectivement calculable. De plus, pour tout p T, p
,
est eectivement fortement
rgulier.
On tend la dnition de la classe des programmes 1
1
en autorisant certaines
galits entre termes.
Dnition 3.9. Une clause 1
=
1
sur

est une formule de la forme H telle
que :
H est un atome linaire sur

dont les sous-termes sont des termes construc-
teurs ou une galit de la forme f (t
1
, . . . , t
n
) = t avec f symbole dni, t
i
des
termes constructeurs et t un terme de donne,
est une conjonction datomes et dgalits
1
. . .
n
vriant les mmes
conditions que H,
55
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 3. SPCIFICATION, ANALYSE ET TRANSFORMATION DE
POLITIQUES DE SCURIT
pour tout couple de variables (x, y) 1ar(H)
2
, x

y seulement si x
H
y
On appelle programme 1
=
1
tout ensemble de clauses 1
=
1
.
Exemple 3.10. Reprenons lexemple 3.7 en considrant un nouveau symbole
fonctionnel dni h ainsi que les constructeurs zero et succ. La clause sui-
vante :
h(f (x
1
, x
2
), g(f (y
1
, y
2
))) = succ(zero) p(x
1
, x
2
) p(y
1
, y
2
)
est une clause 1
=
1
.
Thorme 3.11. Pour tout programme P de 1
=
1
sur

= (o, T, T), il est dci-
dable de savoir sil existe une plus petite interprtation syntaxique base sur les
constructeurs / de

modle de P. Dans ce cas, / est eectivement calculable
et pour tout p T, p
,
et =
,
sont eectivement fortement rguliers.
cDmonstration. Comme les membres droits des galits autorises sont des termes
de donne, on peut remplacer toute galit f (t
1
, . . . , t
n
) = t du programme par un
atome Eq
t
f
(t
1
, . . . , t
n
) o Eq
t
f
est un nouveau symbole de prdicat. On obtient alors
un programme 1
1
. Le programme initial possde un plus petit modle syntaxique /
bas sur les constructeurs ssi le nouveau programme possde un plus petit modle
de Herbrand /
t
tel que pour tout symbole dni f , les relations interprtant les dif-
frents Eq
t
f
sont deux deux disjointes, ce qui est dcidable. d
Disposant dune large classe de programmes logiques pour dcrire des interpr-
tations fortement rgulires, nous proposons la dnition suivante de politique de
scurit.
Dnition 3.12. Une politique de scurit pol sur une signature de scurit

consiste en la donne :
dun modle de scurit (muni dune stratgie si ncessaire) mod

sur

,
dun ensemble ni de constructeurs (constants) de sorte s o
+
mod
, tendant
ainsi

mod
en une autre signature note

mod
et
dun programme 1
=
1
sur

mod
(ventuellement tendu avec un ensemble ni
de prdicats auxiliaires) not et appel conguration de pol.
La politique compose de mod

, et est note mod

.
Exemple 3.13. Considrons le modle rbac dcrit dans lexemple prcdent
et spcions une politique sur rbac. Comme o
+
rbac
= Role, il est ncessaire
de dnir des constructeurs de sorte Role. Soit = r
1
, r
2
: Role et la
56
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
3.2. SMANTIQUE ET PROPRITS
conguration donne par le programme suivant :
_

_
ura(Alice, r
1
)
ura(Bob, r
2
)
ura(Charlie, r
1
)
ura(Charlie, r
2
)
pra(r
1
, read_mode, le(n)) even(n)
pra(r
2
, write_mode, le(n)) thd(n)
thd(zero)
thd(succ(n)) rem
3
2
(n)
rem
3
2
(succ(n)) rem
3
1
(n)
rem
3
1
(succ(n)) thd(n)
even(zero)
odd(succ(n)) even(n)
even(succ(n)) odd(n)
Les prdicats auxiliaires even, odd et thd caractrisent respectivement les
entiers pairs, impairs et multiples de trois tandis que latome rem
k
m
(n) carac-
trise le fait que le reste de la division euclidienne de n par k est m. Cette
spcication de conguration indique que Alice est aecte au rle r
1
, Bob
au rle r
2
et Charlie aux rles r
1
et r
2
. Elle caractrise galement le fait que
le rle r
1
dispose du droit daccs en lecture sur les chiers identis par un
entier pair et que le rle r
2
dispose du droit daccs en criture sur les chiers
identis par un entier multiple de trois.
3.2 Smantique et proprits
Dans cette section, nous allons montrer que notre cadre permet de montrer des
proprits sur les spcications de politiques. Nous montrerons galement que lon
peut calculer automatiquement une procdure dvaluation des autorisations (la s-
mantique de la politique). Enn, nous montrerons que nous pouvons interroger les
politiques au moyen de requtes administratives . Avant cela, il est ncessaire de
vrier que la conguration de la politique est cohrente. Il est en eet ncessaire
que le programme de conguration dnisse une interprtation des symboles du mo-
dle sur lequel est bas la politique et quil respecte les contraintes imposes par le
modle. Cest ce que nous appelons dans la suite la cohrence de la politique.
Dnition 3.14. Une politique de scurit mod

est cohrente ssi :


(i) possde un plus petit modle syntaxique bas sur les constructeurs /
min
de

mod
,
(ii) [= T
mod
(signiant /
min
[= T
mod
)
La dnition ainsi nonce peut tre vue comme une proprit de modlisation
(proprit dexistence dun modle logique dune spcication) mais peut galement
tre vue comme la dnition dune proprit sur une politique : le premier point
57
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 3. SPCIFICATION, ANALYSE ET TRANSFORMATION DE
POLITIQUES DE SCURIT
correspondant labsence de conit et le second correspondant une notion de
conformit de la conguration avec le modle de scurit.
Proposition 3.15. La cohrence dune politique de scurit est dcidable.
Pour dmontrer cette proposition ainsi que celles qui seront nonces ultrieure-
ment, nous nous basons sur le thorme suivant :
Thorme 3.16. Soit

une signature logique et / une interprtation syntaxique
base sur les constructeurs telle que pour tout prdicat p, p
,
est une relation
fortement rgulire. Pour toute formule du premier ordre telle que T1ar() =
x
1
, . . . , x
n
, lensemble ool
,
() = (t
1
, . . . , t
n
) [ / [= x
1
t
1
, . . . , x
n

t
n
() est eectivement fortement rgulier.
cDmonstration. Toute relation fortement rgulire R est quivalente une union
nie de produits cartsiens densembles rguliers R
i
j
:
R =
m
_
i=1
_
R
i
1
. . . R
i
n
_
Notons unary
,
() la formule obtenue partir de aprs remplacement de tout
atome p(t
1
, . . . , t
n
) (y compris les galits) par
_
m
p
A
i=1
_
(p
,
)
i
1
(x
1
) . . . (p
,
)
i
n
(x
n
)
_
o les (p
,
)
i
j
sont issus de la dcomposition de la relation p
,
en une union nie de
produits cartsiens densembles rguliers quivalente. Naturellement, / [= x
1

t
1
, . . . , x
n
t
n
() ssi / [= x
1
t
1
, . . . , x
n
t
n
(unary
,
()). Il faut et il sut
ensuite dappliquer les tapes suivantes :
transformer tous les quanticateurs en quanticateurs existentiels ;
mettre la formule sous la forme dune disjonction de conjonctions ;
descendre les quanticateurs le plus bas possible dans larbre de la formule ;
transformer les conjonctions datome comportant la mme variable en inter-
section : p
,
(x) p
t
,
(x) devient (p
,
p
t
,
)(x) ;
remplacer les atomes nis p
,
(x) par p
,
(x) (o linversion de p
,
seectue
relativement la sorte de x, c.--d. : p
,
= T ()
s
p
,
o s est la sorte de x) ;
remplacer les conjonctions contenant un atome quanti x:p
,
(x) conj par
conj si p
,
est non vide et par sinon ;
transformer toute conjonction non vide conj en T ()(x)
s
conj pour toute
variable x: s T1ar() 1ar(conj) ;
choisir un ordre sur les variables et ordonner les conjonctions de telle sorte
ce que lapparition des atomes dans chaque conjonction respecte cet ordre ;
remplacer toutes les conjonctions qui sont alors de la forme p
1
,
(x
1
). . .p
n
,
(x
n
)
par (p
1
,
. . . p
n
,
)(x
1
, . . . , x
n
) ;
remplacer la disjonction par une union : p
1
,
(x
1
) . . . p
n
,
(x
n
) devient
(p
1
,
. . . p
n
,
)(x
1
, . . . , x
n
).
La formule est alors transforme en une expression caractrisant les oprations
eectuer sur les ensembles p
,
, o p T, pour obtenir lautomate reconnaissant
lensemble des n-uplets de valeurs validant la formule dans /. d
58
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
3.2. SMANTIQUE ET PROPRITS
Dnition 3.17. Soit pol = mod

une politique de scurit cohrente. On


appelle smantique de pol et lon note pol lensemble des actions que pol auto-
rise, c.--d. :
pol =
_
ac /t(

) [ [=

mod
(ac)
_
Cette dnition induit une relation dquivalence sur les politiques de scurit :
pol pol
t
ssi pol =

pol
t

.
Exemple 3.18. Soit pol la politique dnie dans lexemple pr-
cdent. pol contient les atomes read(Alice, le(succ
2k
(zero))),
write(Bob, le(succ
3k
(zero))), read(Charlie, le(succ
2k
(zero))) et
write(Charlie, le(succ
3k
(zero))), pour tout k N.
Proposition 3.19. Pour toute politique de scurit pol, lensemble pol est ef-
fectivement fortement rgulier.
cDmonstration. Considrons un ensemble (ventuellement ordonn) de rgles de
scurit
mod
= (action
i

i
)
i=1,...,n
. Notons, pour tout I = i
1
, . . . , i
q
[1, n] et
i [1, n] :
rec
I
=

iI
rec(action
i
)

i[1,n]\I
rec(action
i
)
rec
fst
i
= rec(action
i
)

j<i
rec(action
j
)

i
la formule y
1
, . . . , y
k
: x
1
= t
1
. . . x
m
= t
m

i
[y
1
, . . . , y
k
] o action
i
=
act(t
1
, . . . , t
m
), act T, y
1
, . . . , y
k
= 1ar(action
i
). x
1
, . . . , x
m
sont les nou-
velles variables du motif daction.
On rednit

mod
de la faon suivante (cette nouvelle dnition regroupe les
lments ayant le mme comportement relativement la fonction

mod
pour pouvoir
en donner une caractrisation nie) :
si = and, alors

mod
est la fonction qui tout rec
I
,= associe
_
iI

i
, et
associe /ct(

n
i=1
rec(action
i
),
si = or, alors

mod
est la fonction qui tout rec
I
,= associe
_
iI

i
, et
associe /ct(

n
i=1
rec(action
i
),
si is or_else

, alors

mod
associe
i
rec
fst
i
et /ct(

n
i=1
rec(action
i
).

mod
doit se comprendre de la faon suivante : tant donne une action (atome clos)
ac = act(t
1
, . . . , t
m
) appartenant / Tom(

mod
) (un tel / existe et est unique
puisque le domaine de

mod
forme une partition de lensemble des actions), laction
ac est permise ssi (t
1
, . . . , t
m
) est une solution de

mod
(/). Formellement, lautomate
reconnaissant pol est le rsultat de lopration suivante :
_
/Tom(

mod
)
_
/ ool

mod
(/))
_
d
59
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 3. SPCIFICATION, ANALYSE ET TRANSFORMATION DE
POLITIQUES DE SCURIT
En consquence de la proposition prcdente, on obtient la facult d interroger
la politique. Interroger une politique consiste calculer le rsultat de requtes de la
forme Y a-t-il au moins un utilisateur pouvant accder au chier f ? ou Tous
les utilisateurs peuvent-ils accder au moins un chier ? . Dans la littrature, cette
technique est parfois appele what-if analysis ou administrator queries . Dans
[Kirchner et al., 2009], il est montr comment rsoudre des requtes exprimes sous
la forme dune action avec variables lorsque la politique est exprime au moyen dun
systme de rcriture. Dans ce chapitre, nous considrons une classe plus large de
requtes.
Dnition 3.20. tant donne une politique pol sur

, on appelle requte sur
pol toute formule du premier ordre sur

.
Exemple 3.21. Soit pol la politique dnie dans les exemples prcdents. La
formule suivante est une requte sur pol caractrisant les utilisateurs qui ne
peuvent eectuer aucune action.
Q(s)

=o, read(s, o) write(s, o)
Les solutions de la requte dans pol, note ool

(Q), est vide puisque tous les


utilisateurs (Alice, Bob et Charlie) peuvent lire ou crire au moins un chier.
Proposition 3.22. tant donne une politique pol, lensemble ool

(Q) est eec-


tivement fortement rgulier pour toute requte Q.
Il sagit dune consquence directe de la proposition 3.19 et du thorme 3.16.
Cette proposition, trs puissante en ce sens o elle nous arme que lon peut valuer
toute requte du premier ordre sur la smantique dune politique donne, justie le
choix du fragment 1
1
pour la spcication de congurations de scurit. De plus, le
pouvoir dexpression oert par ce fragment est susament important pour pouvoir
dcrire les cas rels de conguration.
3.3 Changement de modle
3.3.1 Positionnement du problme
Pour permettre la maintenabilit dune politique, pour simplier son administra-
tion, pour rendre moins complexe sa comprhension ou pour augmenter le degr de
granularit dans le calcul des autorisations, on peut tre amen devoir r-exprimer
une politique dans un nouveau modle de scurit. Cette tape de traduction est
dicile et dangereuse. Nous proposons ici une technique de transformation auto-
matique que lon pourrait galement appeler d auto-conguration . La mthode
propose est base sur un algorithme de construction de modles logiques rguliers
[Peltier, 2009].
Exprimons formellement le problme que nous nous proposons dtudier. tant
donns une politique pol
1
= mod

1
1
,

1
1
sur une signature

ainsi quun modle de
60
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
3.3. CHANGEMENT DE MODLE
scurit mod

2
2
et une extension de signature
2
, on cherche calculer une congura-
tion
2
telle que mod

1
1
,

1
1
mod

2
2
,

2
2
. On notera ce problme sous la forme
dune quation : mod

2
2
, X

2
mod

1
1
,

1
1
o X est la variable de lquation.
Exemple 3.23. Considrons un nouveau modle de scurit, bas sur la no-
tion de treillis de scurit, que nous noterons lbac. Lide consiste assigner
chaque sujet et chaque chier un niveau de scurit et ordonner ces ni-
veaux en treillis. Soit donc
lbac
tendant avec la sorte Level, les symboles
dnis f
S
: Subject Level (reprsentant lassignation des niveaux aux sujets),
f
O
: Object Level, (reprsentant lassignation des niveaux aux chiers) et le
prdicat inf : LevelLevel reprsentant le treillis sur ces niveaux. Puisque nous
souhaitons que le symbole inf soit interprt par un treillis, nous munissons
le modle de la thorie T
lbac
suivante :
_

_
x : inf (x, x)
x, y : inf (x, y) inf (y, z) inf (x, z)
x, y : inf (x, y) x ,= y inf (y, x)
x
max
, x
min
, x, inf (x, x
max
) inf (x
min
, x)
Le modle lbac que lon considre applique les principes que nous avons dj
voqus de no read up et no write down, ce qui consiste dnir
lbac
par
les rgles suivantes :
_
read(s, o) inf (f
O
(o), f
S
(s))
write(s, o) inf (f
S
(s), f
O
(o))
Enn, la dnition des niveaux est dfre au moment de la conguration et
donc o
+
lbac
= Level. Transformer la politique pol = rbac,

(de lexemple
3.13) vers le modle lbac consiste dterminer une conguration interprtant
les symboles inf , f
O
et f
S
engendrant avec le modle lbac exactement le mme
ensemble dautorisations que rbac,

. Il sagit donc de dterminer laecta-


tion des niveaux aux utilisateurs et aux chiers (f
O
et f
S
) et dordonner ces
chiers (inf ). Une solution, si contient huit constantes de sorte Level, est
dcrite par la gure suivante :

B
M
2,3
C = M
6
A
M
3,2

M
2,3

f
S
(Alice) = A
f
S
(Bob) = B
f
S
(Charlie) = C
f
O
(le(n)) = C rem
6
0
(n)
f
O
(le(n)) = M
3,2
rem
3
0
(n), rem
2
1
(n)
.
.
.
inf (, B)
o A (resp. B, resp. C) reprsente le niveau dAlice (resp. Bob, resp. Charlie),
les ches dcrivent lordre interprtant inf et M
n
est le niveau aect aux
chiers identis par un nombre multiple (resp. non multiple) de n si n nest
pas (resp. est) surlign.
61
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 3. SPCIFICATION, ANALYSE ET TRANSFORMATION DE
POLITIQUES DE SCURIT

1

2
M

1
1

1
M

2
2

2
Generation
de contraintes

Construction dun mod`ele


fortement regulier
A
Generation dun
programme H
1
`a partir dun
mod`ele
fortement regulier
Figure 3.1 Schma de lalgorithme de changement de modle
3.3.2 Mthode
Pour construire la politique cible, nous gnrons un ensemble de contraintes ex-
primant le fait que sa smantique doit tre celle de la politique dorigine. Par ailleurs,
sachant que les congurations dcrivent des interprtations logiques fortement rgu-
lires et que lalgorithme propos dans [Peltier, 2009] engendre des interprtations
rgulires, des contraintes supplmentaires seront ajoutes de telle sorte que toute
interprtation rgulire validant les contraintes soit fortement rgulire. Enn, une
dernire tape consistera calculer un programme 1
1
partir dune interprtation
fortement rgulire. Lalgorithme gnral est illustr par la gure 3.1.
Gnration des contraintes. Nous allons dcrire les contraintes dont les modles
logiques correspondent aux interprtations des symboles du modle cible engendrant
exactement la mme smantique que la politique dorigine. Puisque cette dernire est
fortement rgulire, il faut et il sut de savoir axiomatiser lensemble des lments
appartenant un ensemble rgulier. Plus prcisment, tant donn un automate
A = , Q, F, , on note Ax(A)[x] la formule telle que pour tout terme clos t,
Ax(A)[t] est un thorme du premier ordre (c.--d. valide dans toute interprtation)
ssi t est reconnu par A et est contradictoire (c.--d. valide dans aucune interprtation)
sinon. tant entendu que tous les automates considrs sont complets, dterministes
et minimaux, Ax(A)[x] = Ax

(A)Ax
F
(A)[x], o Ax

(A) est donne par la formule


suivante :

f (q
1
,...,q
n
)

q
_
y
1
, . . . , y
n
:
n

i=1
q
i
(y
i
) q(f (y
1
, . . . , y
n
))
_

q,=q

Q
2
_
x : q(x) q
t
(x)
_
62
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
3.3. CHANGEMENT DE MODLE
et Ax
F
(A)[x] =

q
F
F
q
F
(x).
Intuitivement, chaque tat q de lautomate on associe un prdicat q dont lin-
terprtation doit tre lensemble des termes clos se rduisant (pour la relation de
transition de lautomate) q. Autrement dit, q(t) est vrai ssi t

q.
Exemple 3.24. Si lon considre lautomate reconnaissant lensemble des entiers
pairs A
even
= (q
odd
, q
even
, zero : Nat, succ : Nat Nat, q
even
, )
avec :
=
_
_
_
zero q
even
succ(q
even
) q
odd
succ(q
odd
) q
even
alors Ax

(A
even
) est donne par :
q
even
(zero)
x : q
even
(x) q
odd
(succ(x))
x : q
odd
(x) q
even
(succ(x))
x : q
even
(x) q
odd
(x)
x : q
odd
(x) q
even
(x)
et Ax
F
(A
even
)[x] = q
even
(x). La premire (resp. deuxime, resp. troisime)
sous-formule de Ax

(A
even
) est produite partir de la premire (resp.
deuxime, resp. troisime) rgle de lautomate A
even
.
Considrons dsormais une politique de scurit cohrente mod

1
1
,

1
1
sur

ainsi quun modle de scurit mod

2
2
, sur cette mme signature, munie dune ex-
tension
2
de
mod
2
. Rappelons que pour tout modle mod

, le domaine de

mod
forme une partition /
1
, . . . , /
m
de lensemble des actions /t(

) (c.f. dmonstra-
tion de la proposition 3.19). Autrement dit, pour toute action act = act(t
1
, . . . , t
n
),
il existe exactement un i tel que act /
i
. La contrainte permettant dvaluer lau-
torisation de laction act est alors donne par [x
1
, . . . , x
n
] =

mod
(/
i
). Plus prci-
sment, laction act est permise relativement la conguration si et seulement si
[= [t
1
, . . . , t
n
]. A fortiori, lensemble des langages /
1
/
2
tels que (/
1
/
2
)
Tom(

1
mod
1
)Tom(

2
mod
2
) et /
1
/
2
,= forment galement une partition de /t(

).
noter que tous les lments de /
1
/
2
possdent ncessairement le mme symbole
daction de tte. Dans ce cadre, la formule Ax(/
1
/
2
)[act(x
1
, . . . , x
n
)] caract-
rise lensemble des valeurs de x
1
, . . . , x
n
pour lesquelles act(x
1
, . . . , x
n
) appartient
/
1
/
2
. Ax
_
ool

1
_

1
mod
1
(/
1
)
__
[#(x
1
, . . . , x
n
)] caractrise quant elle lensemble
des valeurs de x
1
, . . . , x
n
pour lesquelles #(x
1
, . . . , x
n
) est une solution dans
1
des
contraintes associes /
1
donc telles que act(x
1
, . . . , x
n
) est une action permise par
la politique mod

1
1
,

1
1
. Il est ncessaire de bien comprendre que quels que soient les
termes clos t
1
, . . . , t
n
, la validit de la formule Ax
_
ool

1
_

1
mod
1
(/
1
)
__
[#(t
1
, . . . , t
n
)]
ne dpend pas de linterprtation dans laquelle elle est value. Autrement dit,
[= Ax
_
ool

1
_

1
mod
1
(/
1
)
__
[#(t
1
, . . . , t
n
)] si laction act(t
1
, . . . , t
n
) est autori-
se par la politique mod

1
1
,

1
1
et [= Ax
_
ool

1
_

1
mod
1
(/
1
)
__
[#(t
1
, . . . , t
n
)]
63
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 3. SPCIFICATION, ANALYSE ET TRANSFORMATION DE
POLITIQUES DE SCURIT
sinon. Enn,

2
mod
2
(/
2
)[x
1
, . . . , x
n
] est la contrainte satisfaire pour que laction
act(x
1
, . . . , x
n
) soit permise selon le modle mod
2

2
relativement linterprtation
des prdicats de

mod
2
.
En notant act le symbole de tte des actions de /
1
et /
2
, on note Cons(/
1
, /
2
)
la formule suivante :
Ax

_
ool

1
_

1
mod
1
(/
1
)
__
Ax

(/
1
/
2
)

_
x
1
, . . . , x
n
: Ax
F
(/
1
/
2
)[act(x
1
, . . . , x
n
)]

_
Ax
F
_
ool

1
_

1
mod
1
(/
1
)
__
[#(x
1
, . . . , x
n
)]

2
mod
2
(/
2
)[x
1
, . . . , x
n
]
_
_
Cons(/
1
, /
2
) est donc une thorie caractrisant lquivalence entre la satisabilit
de la contrainte associe chaque action par mod
2
(relativement linterprtation
des prdicats de

mod
2
) avec la satisabilit de la contrainte associe cette mme
action par mod
1
relativement
1
.
Enn, on note Cons
_
mod

2
2
, X

2
mod

1
1
,

1
1

_
la formule suivante :
T
mod
2

(/
1
,/
2
)Tom(

1
mod
1
)Tom(

2
mod
2
)
Cons(/
1
, /
2
)
Cette formule est une thorie dont les modles logiques interprtent les sym-
boles de prdicats de

mod
2
de telle sorte que les autorisations calcules partir de
mod
2
et de ces modles logiques correspondent lensemble des autorisations tablies
par la politique dorigine. chaque modle logique fortement rgulier (c.--d. inter-
prtant les prdicats par des ensembles et relations fortement rguliers) correspond
exactement une conguration. Cependant, la recherche dinterprtations rgulires
de cette thorie peut engendrer des modles logiques non fortement rguliers, donc
ne correspondant pas une conguration. Cest pourquoi nous allons transformer
cette thorie de telle sorte que toutes les interprtations rgulires de la thorie soit
fortement rgulires.
Construction dun modle logique. Dans [Peltier, 2009], Peltier propose une
mthode pour utiliser les outils de construction automatiques de modles (logiques)
nis dans lobjectif de construire des modles innis dune formule donne. Les mo-
dles ainsi construits sont des interprtations de Herbrand dans lesquelles les sym-
boles de prdicats sont interprts par des relations rgulires (spcies par des
automates darbres). Son approche est fonde sur une transformation de la formule
dont on recherche un modle logique : une formule est transforme en une formule
() telle que possde un modle reprsentable par des automates de tuples
de termes si et seulement si () possde un modle ni J. Il tablit ensuite une
application permettant dobtenir partir de J. Il a montr la correction et la
compltude de son algorithme dans le sens suivant : un modle rgulier de Herbrand
de existe si et seulement si il existe un modle ni J de () (et alors = J

).
Le principe gnral de son algorithme est illustr par le schma suivant :
64
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
3.3. CHANGEMENT DE MODLE

Outils de construction
automatique de mod`eles nis
MACE, SEM, FINDER . . .
I
mod`ele ni
de

mod`ele regulier
de
Dans le contexte qui est le ntre, il est ncessaire de construire partir dune
formule sur

une interprtation syntaxique de domaine T (Cons ) associant
chaque prdicat une relation fortement rgulire. En eet, nous avons vu que len-
semble des congurations dun modle donn mod sur une signature de scurit

est isomorphe lensemble des interprtations syntaxiques fortement rgulires de

mod
de domaine Cons
mod
= Cons (daprs le thorme 3.11 et sa rciproque qui
est triviale). Il nous faut donc tendre la mthode de [Peltier, 2009]. Nous nous pro-
posons, suivant lide de Peltier, de transformer notre formule dorigine en une
formule () telle que / est une interprtation fortement rgulire de

de domaine
T (Cons ) modle de si et seulement si il existe un modle de Herbrand rgulier
de () (et alors / =

pour une certaine application ).


Le principe de la mthode est alors illustr par le schma suivant :

Outils de construction
automatique de mod`eles nis
MACE, SEM, FINDER . . .
I
mod`ele ni
de

mod`ele regulier
de
A
mod`ele fortement
regulier de
Tout dabord, remarquons que les relations unaires rgulires sont fortement rgu-
lires. Puisque pour toute relation n-aire fortement rgulire R, il existe un ensemble
(relation unaire) rgulier R
#
contenant les termes #(t
1
, . . . , t
n
) [ (t
1
, . . . , t
n
) R
et rciproquement, alors il faut et il sut de transformer tous les prdicats n-aires
en prdicats unaire pour que lensemble des interprtations rgulires de ce prdi-
cat soit exactement lensemble des interprtations fortement rgulires du prdicat.
65
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 3. SPCIFICATION, ANALYSE ET TRANSFORMATION DE
POLITIQUES DE SCURIT
Par ailleurs, comme la mthode de [Peltier, 2009] ne considre que des interprta-
tions de Herbrand, il est ncessaire de considrer les symboles dnis comme des
symboles de prdicats particuliers. Ce processus est standard et est souvent appel
attening . Chaque symbole dni f est donc remplac par un nouveau symbole
de prdicat f
t
tel que f
t
(#(t
1
, . . . , t
n
, u)) est vrai si et seulement si f (t
1
, . . . , t
n
) = u
lest. Pour que f
t
soit toujours interprt par une fonction, il est ncessaire dajouter
un axiome tablissant que pour tout n-uplet de valeurs x
1
, . . . , x
n
, il existe exac-
tement une valeur y telle que f
t
(#(x
1
, . . . , x
n
, y)). Notez bien que lutilisation du
symbole # est un abus de notation et quil faut en ralit considrer un symbole #
n
pour tout n (#
n
tant le symbole de tte des n-uplets). Par ailleurs, les signatures
considres dans [Peltier, 2009] sont mono-sortes. En consquence, il est ncessaire
dajouter une axiomatisation des prols des prdicats et symboles de fonction dnis.
En rsum, tant donne une formule sur

, () est obtenue en appliquant les
transformations suivantes :
chaque atome p(t
1
, . . . , t
n
) est remplac par latome p(#(t
1
, . . . , t
n
)),
tout terme t comportant au moins un symbole dni et apparaissant dans
un atome (ou une galit) est remplac par une variable x existentiellement
quantie et lgalit t = x est ajoute,
toute galit de la forme f (t
1
, . . . , t
n
) = x est remplace par f
t
(#(t
1
, . . . , t
n
, x)),
pour toute sorte s, on ajoute (sous la forme dune conjonction) Ax

(T (Cons )
s
)
(o T (Cons )
s
vu comme lautomate reconnaissant les termes de donne de
sorte s),
pour tout prdicat p : s
1
. . . s
n
, on ajoute (sous la forme dune conjonction)
la formule :
x
1
, . . . , x
n
, p(#(x
1
, . . . , x
n
))
n

i=1
Ax
F
(T (Cons )
s
i
)[x
i
]
(on fait de mme pour les symboles dnis vus comme des prdicats),
pour tout symbole deni f : s
1
. . . s
n
s, on ajoute (sous la forme dune
conjonction) les formules :
x
1
, . . . , x
n
, y
1
, y
2
, f
t
(#(x
1
, . . . , x
n
, y
1
)) f
t
(#(x
1
, . . . , x
n
, y
2
)) y
1
= y
2
indiquant que f
t
doit tre interprt par une relation fonctionnelle et
x
1
, . . . , x
n
,
n

i=1
Ax
F
(T (Cons )
s
i
)[x
i
]

_
y, Ax
F
(T (Cons )
s
)[y] f
t
(#(x
1
, . . . , x
n
, y))
_
indiquant que f
t
doit tre interprte par une application (fonction totale).
La formule obtenue est donc exprime sur une signature dont les prdicats sont
les prdicats de

et les symboles fonctionnels de Def ainsi que quelques prdi-
cats auxiliaires (correspondant notamment aux tats de tous les automates darbres
impliqus) et dont les termes sont construits sur Cons . Une interprtation de Her-
brand de cette signature induit donc une unique interprtation syntaxique de

base sur les constructeurs. Pour obtenir linteprtation fortement rgulire dune
66
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
3.4. TRAVAUX RELIS
formule partir de linterprtation rgulire modle de (), il sut de modi-
er chaque automate associ un symbole dni f reconnaissant des lments de la
forme #(t
1
, . . . , t
n
, t) par un automate reconnaissant les termes correspondant sous
la forme #(f (t
1
, . . . , t
n
), t). Lunion de ces automates dcrira linterprtation du pr-
dicat dgalit. Les automates obtenus pour dcrire les interprtations des prdicats
de

restent inchangs.
Si lon retourne notre problme initial, notre objectif est de calculer, tant
donns deux modles mod

1
1
et mod

2
2
sur une mme signature de scurit

ainsi
quune conguration
1
, une interprtation syntaxique fortement rgulire (base
sur les constructeurs) de

mod
2
modle de Cons
_
mod

2
2
, X

2
mod

1
1
,

1
1

_
.
Linterprtation obtenue correspond une conguration
2
solution de lquation
mod

2
2
, X

2
mod

1
1
,

1
1
. Pour tre prcis, la solution est un programme 1
1
dont la smantique est linteprtation obtenue (la construction dun programme 1
1
partir des automates dcrivant les interprtations des prdicats est triviale et est
dcrite dans [Nieslon et al., 2002]).
3.4 Travaux relis
De nombreux cadres ont t dnis pour permettre lanalyse des politiques de
scurit. Le lecteur pourra consulter [Damianou et al., 2002] pour obtenir un premier
aperu des mthodes proposes dans la littrature. Notre approche sinscrit dans la
ligne de lutilisation des mthodes algbriques dclaratives, regroupant notamment
les formalismes fonds sur des fragments de la logique du premier ordre et ceux fonds
sur les systmes de rcriture.
Approches fondes sur la logique. Les logiques utilises pour la spcication de
politiques de scurit sont souvent non-monotones, c.--d. sont telles que lensemble
des consquences logiques dune thorie ne crot pas avec le nombre daxiomes de cette
dernire. Lutilisation de telles logiques est motive par la ncessit de prendre une
dcision en labsence dinformation. La premire utilisation dune logique non mo-
notone pour la spcication de politiques a t propose dans [Woo and Lam, 1993].
Dans cet article, les auteurs montrent que la logique des dfauts permet dexprimer fa-
cilement un certain nombre de politiques de scurit. Ils illustrent leur propos en pr-
sentant une axiomatisation du modle de Bell et Lapadula dans leur formalisme. Les
autorisations sont exprimes par les atomes de la forme auth(user, action, object)
et, en notant latome toujours vrai, les rgles de scurit exprimant le compor-
tement par dfaut dune politique dite ouverte (resp. ferme) sont spcies de la
faon suivante :
: auth(x, y, z)
auth(x, y, z)
: auth(x, y, z)
auth(x, y, z)
o
P : Q
1
, . . . , Q
n
Q
signie si P est drivable et les Q
i
satisables, alors on drive
Q . Dans notre approche, le calcul de lautorisation par dfaut est donn au moyen
dune stratgie dinterprtation.
67
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 3. SPCIFICATION, ANALYSE ET TRANSFORMATION DE
POLITIQUES DE SCURIT
Dans [Halpern and Weissman, 2008], les auteurs proposent de spcier un modle
de scurit au moyen dune (unique) rgle se prsentant sous lune des deux formes
suivantes :
x
1
, . . . , x
n
,
_
permitted(t
subject
, t
action
)
_
ou x
1
, . . . , x
n
,
_
permitted(t
subject
, t
action
)
_
o est une formule du premier ordre quelconque, t
subject
un terme de sorte Subject
et t
action
un terme de sorte Action. La notion de conguration apparat galement
(sous la terminologie denvironnement
2
). Les auteurs proposent de dcrire une con-
guration sous la forme dune formule du premier ordre ferme (au sens o toutes
ses variables sont lies) ne contenant pas le prdicat permitted. Lvaluation dune
requte daction dans le modle M relativement la conguration C est alors donne
par la rsolution du problme :
M C [= permitted(t
subject
, t
action
)
ou M C [= permitted(t
subject
, t
action
)
Dans cet article, laccent est mis sur lexpressivit, lvaluation et la vrication de
la cohrence. En revanche, les autres proprits ainsi que lanalyse par requtage ne
sont pas mentionnes.
Un autre cadre de spcication est propos dans [Bertino et al., 2003]. Ce der-
nier impose un certain nombre de notions (sujets, objets, privilges, sessions) ren-
dant plus spcique lapproche propose. Les rgles dautorisations, spciant si un
sujet possde un privilge donn sur un objet, sont exprimes au moyen de pro-
grammes C-Datalog [Greco et al., 1992] (une extension oriente objet de Datalog
[Abiteboul et al., 1995]). Des rgles de contraintes, spciant des invariants portant
sur les entits du cadre (sujets, objets, privilges et sessions), sont galement dcrites
par des programmes C-Datalog. Dans ces travaux, la distinction est galement faite
entre modle et politique de scurit (vue comme une instance dun modle). Le
cadre prsent met laccent sur les problmatiques de comparaison de modles et de
vrication de la cohrence. La conversion dune politique dun modle vers un autre
nest pas aborde.
Approches fondes sur la rcriture. Depuis 2006, un certain nombre de tra-
vaux a t eectu dans lobjectif de montrer ladquation des formalismes bass sur
la rcriture avec les problmatiques lies aux politiques de scurit. Les premiers
travaux publis en ce sens ont t prsents dans [Barker and Fernndez, 2006]. Dans
cet article, les auteurs cherchent dmontrer que les systmes de rcriture consti-
tuent un formalisme adapts lcriture des politiques et des modles de scurit.
Ils illustrent leur propos en proposant une spcication des modles RBAC et ACL
(Access Control List) sous la forme de rgles de rcriture. Les requtes daccs sont
reprsentes par des termes du premier ordre et leur valuation par le processus de
normalisation induit par le systme de rcriture dcrivant la politique.
Dans [Bertolissi et al., 2007], un modle baptis DEBAC (Dynamic Event-Based
Access Control) est propos et spci sous la forme dun systme de rcriture sur
2. Terme que lon reprendra dans le chapitre suivant pour souligner son caractre dynamique.
68
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
3.5. SYNTHSE
des termes du premier ordre ainsi que des termes dordre suprieur du -calcul. La
mme approche est suivie dans [Barker and Fernndez, 2007] pour la spcication du
modle ASAC (Action-Status Access Control). Le modle est spci laide de rgles
de rcriture et les proprits fondamentales du modle (terminaison, cohrence, com-
pltude) sont dmontres laide des techniques de rcriture. Dans la continuit de
ces travaux, [Bertolissi and Fernndez, 2008] formalise une thorie dans laquelle les
politiques de contrle daccs sont combines au moyen doprateurs dordre sup-
rieur. Cette approche permet de bncier des proprits de modularit de la thorie
pour driver la correction de la politique globale. [Bertolissi and Fernandez, 2009a]
tend ces travaux en tenant compte des aspects distribus et dynamiques des envi-
ronnements (distributed DBAC). Ces travaux sinscrivent dans une approche rela-
tivement dirente de la notre puisquils sont ddis la spcication et lanalyse
dun modle particulier.
Dautres initiatives bases sur la rcriture ont paralllement t dveloppes dans
[Santana de Oliveira, 2007, Dougherty et al., 2007]. Ces travaux sattachent, comme
dans [Barker and Fernndez, 2006], montrer la faon dont les techniques lies la
rcriture de terme (vrication de la terminaison, de la conuence, et de la com-
pltude susante) sont adaptes la vrication de proprits lies aux politiques
de scurit. Des extensions de la rcriture basique sont considres (stratgies,
rcriture modulo) pour faciliter lcriture et la composition des politiques. Dans
[Kirchner et al., 2009], une mthode est prsente pour eectuer des analyses par
requtage lorsque la politique de scurit est exprime sous la forme dun systme
de rcriture stratgique. La procdure de vrication est base sur le principe de
narrowing, tendu par les auteurs pour tenir compte des stratgies. La mthode est
illustre par lanalyse de politiques dcrivant la conguration dun rewall.
3.5 Synthse
Le travail prsent dans ce chapitre sinscrit dans une dmarche de dveloppe-
ment dun cadre formel pour spcier, analyser et maintenir les politiques de s-
curit. Nous y avons montr en quoi les spcications des politiques de scurit en
deux parties sont particulirement attractives, notamment en terme de rutilisabilit
des spcications. Nous avons tabli plusieurs rsultats et algorithmes tirant prot
des avances rcentes dans les domaines des automates darbres et de la logique du
premier ordre. Les travaux exposs dans ce chapitre correspondent une amliora-
tion des rsultats prsents dans [Bourdier, 2011a]. Nous nous distinguons fortement
de la plupart des travaux existants dans notre dmarche consistant utiliser deux
langages dirents pour exprimer les modles de scurit et les congurations. Ceci
nous a permis dadapter le pouvoir dexpression aux rels besoins de description de
chaque composant de notre tude. Cette dmarche rend possible la reprsentation
de modles complexes tout en assurant de bons rsultats de dcidabilit (valuation,
analyse, . . . ). Pour ce faire, nous avons prconis la description des congurations de
scurit laide dun fragment plus limit de la logique du premier ordre. Ce frag-
ment, baptis 1
1
, est de faon gnrale plus restrictif que les programmes Datalog
comportant des ngations. Cependant, lusage de la ngation nest, notre avis, pas
69
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 3. SPCIFICATION, ANALYSE ET TRANSFORMATION DE
POLITIQUES DE SCURIT
ncessaire pour dcrire les congurations. En revanche, le langage que nous avons re-
tenu pour la description des modles de scurit est beaucoup plus expressif que ceux
proposs dans la littrature. En somme, nous avons prconis une dmarche de spci-
cation htrogne permettant dtre conforme aux vritables besoins de description
de chaque composant tout en permettant la combinaison de ces spcications des
ns de vrication. De surcrot, la spcication spare de ces composants a permis
daborder la problmatique intressante et nanmoins peu (voire pas) traite dans la
littrature de la conversion de politiques dun modle vers un autre.
Une des limitations de lapproche propose dans ces travaux est la supposition
de lexistence dun adminitrateur qui aurait tout pouvoir sur la conguration de la
politique et qui ne serait pas lui-mme soumis une politique lorsquil eectue des
actions administratives. Les politiques considres sont alors statiques en ce sens
que lexcution dune action autorise par la politique naltre pas les droits des utili-
sateurs. Si les tches administratives sont vues comme des actions eectues au sein
du systme dinformation, alors les politiques considres deviennent dynamiques.
Une action eectue par un utilisateur peut alors modier lensemble des autorisa-
tions dactions. Le chapitre suivant a pour objet de passer outre cette limitation.
70
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4
Spcication et vrication
de politiques dynamiques
Sommaire
4.1 Systmes scuriss et politiques dynamiques . . . . . . . 72
4.1.1 Thorie de scurit . . . . . . . . . . . . . . . . . . . . . . . 73
4.1.2 Environnements et rgles de transition . . . . . . . . . . . . 76
4.1.3 Systme de scurit . . . . . . . . . . . . . . . . . . . . . . 81
4.1.4 Politiques de scurit . . . . . . . . . . . . . . . . . . . . . . 83
4.1.5 Systme scuris . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2 Smantiques bases sur la rcriture . . . . . . . . . . . . 85
4.2.1 Reprsentation symbolique des environnements . . . . . . . 86
4.2.2 valuation des contraintes . . . . . . . . . . . . . . . . . . . 89
4.2.3 Systmes de scurit . . . . . . . . . . . . . . . . . . . . . . 93
4.2.4 Politiques de scurit . . . . . . . . . . . . . . . . . . . . . . 95
4.2.5 Systme scuris . . . . . . . . . . . . . . . . . . . . . . . . 96
4.3 Vrication . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.3.1 Proprits de politiques . . . . . . . . . . . . . . . . . . . . 97
4.3.2 Le problme de ladministration . . . . . . . . . . . . . . . 98
4.3.3 Comparaison de politique . . . . . . . . . . . . . . . . . . . 99
4.3.4 Analyse par requtage . . . . . . . . . . . . . . . . . . . . . 100
4.4 Travaux relis . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.5 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
71
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
N
ous lavons dj voqu, le cadre prsent dans le chapitre prcdent est bas
sur une vision statique des politiques de scurit. Il peut tre intressant de
considrer quune action a un impact sur la politique, ou, plus prcisment,
sur les informations servant de base au calcul des autorisations (la conguration de la
politique). Plus gnralement, on peut envisager les politiques de scurit comme un
moyen de restreindre lvolution dun programme. Un programme est alors constitu
dun certain nombre dactions dont lapplication modie ltat courant du systme
quil dcrit. Les politiques de scurit dlivrent les autorisations permettant au pro-
gramme deectuer ces actions en tenant possiblement compte des informations rela-
tives ltat courant du systme, de lhistorique des actions prcdemment eectues
ou encore de considrations de priorit entre les actions. Par exemple, lautorisation
dun retrait dargent peut dpendre du montant total disponible sur le compte cor-
respondant mais galement du montant retir au cours des trois derniers jours. La
gure suivante illustre les interactions entre les dirents composants de notre tude.
Politique
Actions
Environnements
(faits)
controle contraignent
modifient
^
Dans ce chapitre, nous proposons un cadre permettant de spcier sparment les
politiques de scurit et les systmes sur lesquels elles sont appliques. Cette spara-
tion permet non seulement danalyser la politique indpendamment dun quelconque
systme cible mais permet galement danalyser lapplication dune mme politique
sur des systmes dirents. Nous montrerons en quoi les systmes de rcriture nous
permettent dobtenir de faon automatique non seulement une spcication excu-
table dun systme contraint par une politique mais galement des spcications
adaptes lanalyse des politiques de scurit et des systmes scuriss par une po-
litique. Les travaux dcrits dans ce chapitre ont partiellement t prsents dans
[Bourdier et al., 2010b, Bourdier et al., 2010c, Bourdier et al., 2011].
4.1 Systmes scuriss et politiques dynamiques
Nous proposons ici un cadre dans lequel les politiques de scurit et les systmes
sur lesquels elles sont appliques sont spcies sparment. Nous nous intressons
aux systmes dont les tats voluent en fonction de certaines actions. Puisque les
notions dtat et de transition (restreinte) sont centrales, rappelons la dnition
classique des systmes de transitions tiquetes.
72
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.1. SYSTMES SCURISS ET POLITIQUES DYNAMIQUES
Dnition 4.1. Un systme de transitions tiquetes S est un quadruplet
(L, Q, Q
0
, ) o :
L est lensemble des tiquettes,
Q est lensemble des tats,
Q
0
Q est lensemble des tats initiaux,
QL Q est lensemble des transitions.
On note


S
la relation de transition induite par S.
Dans la prsente section, nous prciserons la faon dont doivent tre spcis
les dirents lments constituant les systmes scuriss par des politiques. Dans la
mesure o nous sommes intress par le comportement dun systme soumis une po-
litique de scurit, nous nous focalisons sur les actions du systme qui sont concernes
par la politique. Lorsquune requte dexcution dune action est eectue au sein
dun systme dans un tat donn, le nouvel tat peut dpendre de la dcision prise
par la politique pour laction en question. Par ailleurs, les rponses donnes par une
politique une requte daction ne sont pas ncessairement binaires (accord/refus).
Les actions que nous considrons sont alors des paires requtes-dcisions que nous
appelerons dans la suite vnement.
Une politique de scurit dpend partiellement des informations qui caractrisent
les tats dun systme mais ne dpend pas de la faon dont volue le systme. Nous
nous focalisons sur les informations qui sont pertinentes du point de vue de lvolu-
tion du systme rgi par une politique de scurit et nous regroupons ces informations
sous la notion denvironnement, correspondant la partie dintrt (pour les consi-
drations de scurit) des tats dun systme. Les systmes sont alors caractriss
par des transitions entre environnements et les politiques de scurit sont spcies
comme des processus de dcision pour les requtes dexcution dactions eectues
dans un environnement. Dans cette section, nous proposons dans un premier temps
dtablir les dnitions formelles denvironnement et dvnements et, partant de
ces dnitions, prsentons les notions de systmes et de politique de scurit puis
formalisons celle de lapplication dune politique un systme.
4.1.1 Thorie de scurit
Pour pouvoir appliquer une politique sur un systme, il est ncessaire que ces deux
lments sexpriment en fonction dun vocabulaire commun permettant didentier
les lments auxquels ils font rfrence. Ce vocabulaire doit permettre de dcrire
les informations contenues dans chaque tat ainsi que les vnements (actions et
dcisions). La donne dun tel vocabulaire et de contraintes smantiques sur les
lments de ce vocabulaire est appele thorie de scurit et se dnit comme suit :
Dnition 4.2. Une thorie de scurit teo est la donne :
dune signature
teo
= o, T ;
dune extension de
teo
, note

Env
teo
= (o, T T
Env
, T
Env
) ;
dune seconde extension de
teo
, note

Act
teo
= (o, T, T
Act
) dont les lments
de T
Act
sont appels symboles dactions,
73
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
un ensemble ni T
teo
de dcisions,
une application (
teo
de T
Env
dans empty, totalorder, partialorder telle
que si (
teo
(p) ,= empty, alors p : s s pour une certaine sorte s o telle
quil nexiste aucun symbole fonctionnel de coarit s ni de prdicat, hormis
p, dont le prol contient s (dans ce cas, s est dite abstraite).
Tous les symboles fonctionnels dnis dans une thorie de scurit sont considrs
comme des constructeurs : ils ont donc une vocation descriptive et ne doivent pas
modliser de processus dvaluation.
La signication intuitive de ces lments est la suivante : la signature
teo
dnit
les lments communs aux tats et aux transitions du systme de scurit que lon
modlise ; la signature

Env
teo
dcrit le langage des tats tandis que

Act
teo
dnit le
langage des tiquettes (c.--d. des actions).
Deux faits notables doivent tre souligns :
1. labsence de symbole fonctionnel dni et
2. la prsence de prdicats associs des contraintes dordres et dnis sur des
sortes sans constructeur.
Ces deux aspects sont motivs par les techniques que nous utiliserons dans la sec-
tion 4.3 pour permettre la vrication des systmes et des politiques modliss. Ces
techniques reposent sur lexistence dun isomorphisme entre lensemble des envi-
ronnements construits sur une thorie de scurit donne et lensemble des termes
construits sur une signature particulire (dtermine partir de la thorie en ques-
tion). Un environnement correspond une interprtation de la signature

Env
teo
. Pour
permettre le raisonnement automatique sur les environnements, les relations seront
symboliquement reprsentes (c.f. dtails dans la section 4.2) par des listes de tuples
de termes. Ce type de modlisation ne permet pas dassurer syntaxiquement le ca-
ractre fonctionnel dune relation. Par exemple, si lon considre un symbole dni
f : s s
t
, alors une interprtation de f sera reprsente par un terme de la forme
n
1
, n
t
1
:: n
2
, n
t
2
:: . . . indiquant que f est interprt par la fonction associant n
t
1
n
1
, n
t
2
n
2
, . . . Cependant, le terme n
1
, n
t
1
:: n
1
, n
tt
1
:: . . . ne correspondra
aucune interprtation de f puisquil reprsente une relation non fonctionnelle. On
ne peut en eet pas assurer syntaxiquement (c.--d. par la seule donne dune si-
gnature) que tous les couples possdent une premire composante distincte. Pour
autant, cela ne signie pas que lon ne peut pas eectuer dassociation fonctionnelle
entre un lment et un attribut. Il est vident que le cadre de spcication doit per-
mettre dassocier, par exemple, un niveau de scurit tout utilisateur. La vision
que lon adopte dans notre cadre est fonde sur une reprsentation des lments du
systme par lensemble des attributs qui le caractrisent. Un terme nidentie pas un
lment mais le dcrit. La mthode propose se distingue de la mthode de mod-
lisation usuelle consistant associer tout lment un objet qui lidentie (le plus
souvent un entier ou une chane de caractres) et dassocier cet objet, au moyen
de fonctions, aux attributs qui caractrisent llment quil reprsente. Suivant cette
mthode, un individu pourrait tre reprsent par une chane correspondant son
nom. Pour lui associer une couleur de cheveux et une taille, on dnirait alors deux
fonctions hair_color et height valeurs respectivement dans un ensemble ni de
74
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.1. SYSTMES SCURISS ET POLITIQUES DYNAMIQUES
couleurs et dans lensemble des entiers. Dans notre cadre, les lments ne sont pas
identis mais entirement dnis par les attributs qui leur sont associs. Ainsi, un
individu au cheveux noirs mesurant 170cm pourrait tre reprsent par un terme de
la forme user(black, succ
170
(zero)). Il est alors important de noter quune telle
modlisation implique que deux lments possdant les mmes caractristiques sont
indistinguables. En consquence, lors du raisonnement, sont faites les hypothses
dexistence et dunicit dun lment correspondant chaque terme. Si lon souhaite
modliser le fait quil existe plusieurs lments possdant les mmes caractristiques,
il est alors ncessaire dajouter une composante au terme dcrivant llment en ques-
tion. Par exemple, si lon souhaite indiquer quil existe plusieurs individus ayant une
mme couleur de cheveux et une mme taille, alors ces derniers peuvent tre mod-
liss par un terme de la forme user(n, black, succ
170
(zero)) o n est un entier.
Le deuxime aspect remarquable de notre dnition est la prsence de prdicats
associs des contraintes dordres et dnis sur des sortes sans constructeur. Nous
lavons voqu prcdemment, la reprsentation symbolique des relations ne permet
pas de contraindre ces dernires par une thorie particulire. Toutefois, comme nous
le verrons dans la section 4.2.1, il est possible de raisonner modulo lexistence dun
ordre total ou partiel sur les lments du systme. Ceci requiert en particulier de ne
pas connatre la reprsentation explicite des lments comparer. Ceci peut paratre
suprenant de prime abord et pourtant, si lon analyse les principales politiques (et
principaux modles) dans la littrature, on saperoit que les lments qui sont or-
donns (comme par exemple les niveaux) nont pas dintrt autre que de permettre
de comparer les lments qui sont associs ces niveaux. Par exemple, lorsque lon
attribue des niveaux de scurit aux utilisateurs et aux objets, la question dint-
rt nest pas de connatre le niveau dun utilisateur particulier, mais de pouvoir le
comparer avec le niveau dun autre utilisateur ou dun objet. Il est donc, dans ce
contexte, inutile de donner un nom aux dirents niveaux. Le raisonnement eec-
tu sur les spcications tablies dans notre cadre est alors gnrique en ce sens o
il nest pas attach une instance particulire de certains lments du systme.
En eet, dans la plupart des travaux existants, le raisonnement seectue aprs avoir
x un ensemble de noms reprsentant les utilisateurs ou encore un ensemble de ni-
veaux ainsi que lordre associ. Les questions que lon se pose sont alors de la forme
tant donns ces ensembles dutilisateurs et de niveaux ainsi que cet ordre sur les
niveaux, la politique vrie-t-elle la proprit p ? . Dans notre cadre, les questions
dintrt sont de la forme existe-t-il un ensemble dutilisateurs et un ensemble de
niveaux partiellement (ou totalement) ordonn pour lesquels la politique ne vrie
pas la proprit p ? .
Pour faciliter lcriture et la lecture des spcications, nous nous munissons dun
langage dont la syntaxe est illustre par lexemple suivant.
Exemple 4.3. Nous considrons dans cet exemple une thorie teo permettant
de dcrire un systme de scurit bas sur la notion de niveaux. Cette
thorie dcrit un systme dans lequel les sujets (Subject) accdent aux
objets (Object) selon un mode daccs (Mode). Chaque sujet et objet est
partiellement caractris par un niveau de scurit mais le mode de repr-
sentation des sujets et des objets nimporte pas (user : Nat Level User
75
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
et object : Nat Level Object). Les modes daccs sont quant eux
xs (read, write : Mode). Les niveaux sont partiellement ordonns
(inf : Level Level T
Env
et (
teo
(inf ) = partialorder). Un tat du
systme se caractrise par lordre partiel que nous venons dvoquer ainsi
que par lensemble des accs courants (accesses : Subject Object Mode),
lensemble des sujets appartenant au groupe des super-utilisateurs
(sudo : Subject) ainsi que les ensembles des utilisateurs sur listes rouge et
noire (redlist, blacklist : Subject). Les actions possibles dans le systme sont
la prise et le relchement dun accs (take, release : SubjectObjectMode).
Enn, les deux dcisions considres ici sont la permission et le refus
(T
teo
= permit, deny).
SECURITY THEORY
Level_Based_Theory
Signature
sorts

=
_
Mode, Subject, Object, Level
_
constructors

=
_
read : Mode
write : Mode
_
States
constructors

=
_

_
user : Nat Level Subject
object : Nat Level Object
zero : Nat
succ : Nat Nat
_

_
predicates

=
_

_
sudo : Subject
blacklist : Subject
redlist : Subject
inf
p.o.
: Level Level
accesses : Subject Object Mode
_

_
Events
actions

=
_
take : Subject Object Mode
release : Subject Object Mode
_
decisions

=
_
permit, deny
_
Les contraintes dnies par (
teo
sont matrialises par la mise en exposant de
p.o. pour partialorder et t.o. pour totalorder.
4.1.2 Environnements et rgles de transition
Un systme de scurit est un systme de transitions dcrivant la faon dont les
informations de scurit voluent. Les tats du systme correspondent ainsi une
interprtation des prdicats xs par la thorie sur laquelle il repose. Pour permettre
une automatisation du raisonnement sur les politiques et les systmes que lon d-
nit, nous considrerons une classe particulire dinterprtations, faute de quoi il serait
impossible dexploiter les spcications pour eectuer des vrications de faon auto-
matique. Dans ce cadre, nous proposons de restreindre lensemble des interprtations
considres celles interprtant les prdicats par des relations nies. Nous pensons
que ceci ne limite en aucun cas lintrt de notre cadre dans la mesure o, de faon
eective, les systmes informatiques sont caractriss par un ensemble ni de faits
76
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.1. SYSTMES SCURISS ET POLITIQUES DYNAMIQUES
(la mmoire dun ordinateur tant, de facto, nie). En pratique, on saperoit que les
informations concernant le systme sont stockes sous la forme dune base de donnes
nie (les bases de donnes tant composes de chiers stockant les enregistrements).
En revanche, si lon considre que les ensembles de faits et dinformations sont nis,
on considre galement quils peuvent tre arbitrairement grands, autrement dit non
borns.
Dnition 4.4. Soit teo une thorie de scurit. On appelle environnement sur
teo toute interprtation de

Env
teo
telle que :
pour tout prdicat p de

Env
teo
tel que (
teo
(p) = empty, p

est un ensemble
ni,
pour tout prdicat p : s s tel que (
teo
(p) = partialorder,
[=
_
_
_
x: s, p(x, x)
x, y : s, p(x, y) p(y, x) x = y
x, y, z : s, p(x, y) p(y, z) p(x, z)
pour tout prdicat p : s s tel que (
teo
(p) = totalorder,
[=
_

_
x: s, p(x, x)
x, y : s, p(x, y) p(y, x) x = y
x, y, z : s, p(x, y) p(y, z) p(x, z)
x, y : s, p(x, y) p(y, x)
On note cnv(teo) lensemble des environnements sur teo.
Exemple 4.5. Si lon considre la thorie de scurit dnie dans lexemple
prcdent, on peut dnir un environnement de la faon suivante (seules
les informations dintrt sont donnes, les autres pouvant tre arbitraires ou
entirement dtermines par les informations prsentes).
[ [
Mode
= read, write ;
[ [
Subject
= Alice, Bob, Charlie ;
[ [
Object
= f
1
, f
2
, f
3
, f
4
;
[ [
Level
= public, defense, admin ;
read

= read, write

= write
user

(1, admin) = Alice, user

(1, defense) = Bob,


user

(2, defense) = Charlie


object

(1, admin) = f
1
, object

(1, defense) = f
2
,
object

(1, public) = f
3
, object

(2, public) = f
4
sudo

= Alice
inf

= (public, defense), (public, admin)


accesses

=
_
(Alice, f
1
, read), (Alice, f
2
, write)
(Bob, f
1
, read), (Charlie, f
4
, write)
redlist

= blacklist

=
Rappelons que le rle des environnements est dtablir la validit des faits un
instant donn de lexcution du programme modlis par le systme. Lvolution
77
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
du systme en fonction de lxecution dune action, tout comme lvaluation dune
requte daction par une politique de scurit, se dnit en fonction de la validit
de certaines contraintes dans lenvironnement courant. On comprend alors que les
environnements ont vocation tre interrogs par le systme et les politiques
dnir. Lun des principaux intrts de considrer les interprtations de la forme
voque est la possibilit de calculer les solutions dune large de classe de formules
dans un environnement donn (par solution on entend lensemble des valuations des
variables libres rendant vraie la formule dans linterprtation dcrite par lenvironne-
ment). La famille de formules en question est bien connue de la communaut des bases
de donnes, car, dun point de vue thorique, une base de donnes est exactement
une interprtation nie dune signature particulire. Les formules considres sont
quivalentes aux requtes de lalgbre relationnelle [Abiteboul et al., 1995] et sont
qualies de formules sres. La dnition usuelle des formules sres [Ullman, 1988]
est adapte pour tre compatible avec la notion de thorie de scurit.
Dnition 4.6. Soit teo une thorie de scurit. On appelle formule sre sur teo
toute formule de Tor
=
(

Env
teo
) vriant les conditions suivantes :
(i) elle ne comporte aucun quanticateur universel (cette contrainte naecte
pas lexpressivit de la classe de formules considre puisque toute formule
possde une forme quivalente vriant cette contrainte) ;
(ii) pour toute disjonction
1

2
apparaissant dans , T1ar(
1
) = T1ar(
2
) ;
(iii) pour toute conjonction maximale (c.--d. ntant pas en conjonction avec une
autre sous-formule)
1
. . .
n
, les variables libres de chaque formule
i
sont bornes dans le sens suivant :
une variable est borne si elle apparat dans un atome dont la racine est
un prdicat p tel que (
teo
(p) = empty ou
si elle a une occurence dans un terme t apparassant dans une galit de
la forme t = t
t
o t
t
est clos ou ne contient que des variables bornes ;
(iv) toute sous-formule
t
est en conjonction avec une formule respectant les
contraintes voques en (iii) et telle que T1ar(
t
) T1ar().
Par extension, nous appelerons formule sre toute formule quivalente une for-
mule vriant les conditions cites.
Exemple 4.7. Soit teo la thorie dcrite dans lexemple 4.3. La formule suivante :
s, o, a,
_
(accesses(s, o, a) o = object(i
o
, l
o
) s = user(i
s
, l
s
))
inf (l
o
, l
s
)
_
est une formule sre sur teo. Elle est quivalente la formule , satisfaisant
les conditions nonces dans la dnition 4.6, suivante :

_
s, o, a,
_
accesses(s, o, a) o = object(i
o
, l
o
) s = user(i
s
, l
s
)
inf (l
o
, l
s
)
__
En eet, latome accesses(s, o, a) borne les variables s, o et a pour la sous-
formule
t
:
accesses(s, o, a) o = object(i
o
, l
o
) s = user(i
s
, l
s
) inf (l
o
, l
s
)
78
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.1. SYSTMES SCURISS ET POLITIQUES DYNAMIQUES
Les variables i
o
, l
o
, i
s
et l
s
sont bornes par les galites o = object(i
o
, l
o
) et
s = user(i
s
, l
s
). Latome inf (l
o
, l
s
) est donc sr et par voie de consquence le
littral inf (l
o
, l
s
) lest galement (car en conjonction avec des sous-formules
sres). La formule peut tre considre comme tant en conjonction avec
. Comme T1ar() = T1ar(),
t
est sre et respecte les contraintes
nonces par le point (iii) de la dnition, est une formule sre sur teo.
Les rgles de transition dun systme de scurit dcrivent lvolution des envi-
ronnements en fonction dune action donne. Plusieurs approches ont t proposes
dans la littrature pour spcier des modications de modles logiques : un lan-
gage dactions est prsent dans [Gelfond and Lifschitz, 1998] tandis que la notion
de rgles de mise jour est propose dans [Alferes et al., 2002]. Lapproche que nous
retenons est semblable, dans lide, celle propose par [Alferes et al., 2002].
Dnition 4.8. Une rgle de mise jour sur une thorie de scurit teo est une
rgle de la forme H ou H [ o
H est un littral de

Env
teo
dont le symbole de tte est un prdicat p tel que
(
teo
(p) = empty,
est une formule sre de

Env
teo
,
est une conjonction datomes de la forme p(x, y), pour un certain p tel
que (
teo
(p) ,= empty, dont exactement une variable (c.--d. soit x, soit y)
apparat dans .
La signication dune rgle de mise jour est la suivante. Si la rgle est de la forme
H , alors elle indique lajout (si H est un littral positif) ou le retrait (si H est
un littral ngatif) des faits construits partir de H partir de toutes les valuations
rendant vraie la formule dans lenvironnement courant. Si la rgle est de la forme
H [ , alors les conditions de dcrivent la mise jour dun ordre (total ou
partiel) par lajout dun nouvel lment dont les contraintes indiquent sa position
dans lordre. Plus prcisment, si lon considre un ensemble totalement ordonn
(E, ), deux lments e
before
, e
after
E et e / E, alors la contrainte e
before
e
e
after
indique la mise jour de (E, ) par (Ee,
t
) telle que : e
1
, e
2
E, e
1

t
e
2
ssi e
1
e
2
et e
1
, e
2
E, e
1

t
e ssi e
1
e
before
et e
t
e
2
ssi e
after
e
2
(ceci
requiert que e
1
e
2
et quil nexiste pas de e
t
tel que e
before
e
t
e
after
). De
la mme faon si lon considre un ensemble partiellement ordonn (E, ), deux
ensembles nis e
1
before
, . . . e
n
before
et e
1
after
, . . . e
m
after
dlments de E et e / E,
alors la contrainte e
1
before
, . . . e
n
before
e e
1
after
, . . . , e
m
after
indique la mise jour
de (E, ) par (E e,
t
) telle que : e
1
, e
2
E, e
1

t
e
2
ssi e
1
e
2
et e
1
, e
2

E, e
1

t
e ssi i, e
1
e
i
before
et e
t
e
2
ssi j, e
j
after
e
2
(ceci requiert que pour tout
i, j, e
i
before
e
j
after
). Pour quune contrainte ait un sens, il faut que chaque atome
la composant associe un lment insrer dans lordre (donc napparaissant pas
dans ) un lment dj existant dans lordre (c.--d. apparaissant dans ).
Exemple 4.9. Nous considrons de nouveau la thorie dcrite dans
lexemple 4.3. La rgle :
accesses(s, o, a)
_
accesses(s, o, a) o = object(i
o
, l
o
)
s = user(i
s
, l
s
) inf (l
o
, l
s
)
79
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
dcrit la mise jour consistant supprimer tous les atomes reprsentant lac-
cs dun objet par un sujet dont le niveau de scurit est suprieur celui de
lobjet. Remarquez que dans la mthode de modlisation adopte, la dtermi-
nation du niveau de scurit dun sujet (ou objet) seectue par ltrage ,
c.--d. en tablissant une galit entre la variable (qui sera instancie au mo-
ment de lapplication de la rgle) et un motif dont les variables correspondent
aux attributs que lon souhaite dterminer. La rgle :
sudo(user(succ(id
3
), l))
_
_
_
t
1
= object(id
1
, l
1
)
t
2
= object(id
2
, l
2
)
t
3
= user(id
3
, l
3
)
[
_
_
_
inf (l
1
, l)
inf (l
2
, l)
inf (l, l
2
)
(les t
i
sont des termes clos) dcrit la mise jour consistant crer un
nouvel utilisateur associ au groupe des super-utilisateurs et dont le niveau
est un nouveau niveau situ entre les niveaux des objets dcrits par t
1
et t
2
et
le niveau de scurit du sujet dcrit par t
3
.
Lapplication dune mise jour u = H sur un environnement , note u,
correspond lajout ou la suppression des faits correspondant aux instances de H
pour toute valuation valide de . Formellement, ceci se dcrit de la faon suivante,
si lon note
t
lenvironnement rsultant de lopration u :
cas (i) p

= p

[=()
((t
1
), . . . , (t
n
))
_
cas (ii) p

= p

[=()
((t
1
), . . . , (t
n
))
_
selon que (i) H = p(t
1
, . . . , t
n
) ou (ii) H = p(t
1
, . . . , t
n
) et q

= q

pour tout
q ,= p. Lapplication dune mise jour u = H [ sur un environnement
seectue de la mme faon que prcdemment mais en considrant que la variable
apparassant dans H et mais napparaissant pas dans est un nouvel lment
ajouter selon les remarques prcises antrieurement (remarques sur la mise jour
dun ensemble ordonn).
Lapplication dune squence de mises jour U = (u
1
, . . . , u
n
) sur un environne-
ment est lenvironnement U = (. . . ( u
1
) u
2
) . . .) u
n
).
Les transitions dun systme de scurit dcrivant lvolution des tats corres-
pondent des squences de mises jour tiquetes par des actions qui les d-
clenchent .
Dnition 4.10. Soit teo une thorie de scurit. Une rgle de transition sur
teo est une paire event = (action, decision), appele motif dvnement, associe
une squence de mises jour U sur teo (dont les variables apparaissant dans
action sont considres comme des constantes) et telle que action est un atome de
la forme p(x
1
, . . . , x
n
) avec p symbole de prdicat de

Act
teo
et decision une dcision
de teo. Une rgle de transition sera note (event) : U. Toute rgle de transition
r = (event) : U engendre une relation
r
dnie de la faon suivante :
evt

r

t
ssi evt = (event) et
t
= (U). De plus, pour tout ensemble de rgles ,

evt


t
ssi il existe une rgle r telle que
evt

r

t
.
80
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.1. SYSTMES SCURISS ET POLITIQUES DYNAMIQUES
Exemple 4.11. Nous dnissons les rgles de transition suivantes sur la thorie
dcrite dans lexemple 4.3.
(i) (take(s, o, a), permit) :
_
_
_
accesses(s, o, a) accesses(s, o, a)
redlist(s)
blacklist(s)
(ii) (take(s, o, a), deny) :
_
_
_
blacklist(s) redlist(s)
accesses(s, o
t
, a
t
) blacklist(s) accesses(s, o
t
, a
t
)
redlist(s)
(iii) (release(s, o, a), permit) :
_
accesses(s, o, a)
Les rgles (i) et (iii) indiquent que lorsquun accs est autoris, les faits cor-
respondant sont ajouts et lorsquun accs est relch, le fait est supprim.
La rgle (ii) exprime le fait quun sujet est inscrit sur une liste rouge lorsquil
tente deectuer un accs qui lui est interdit et quil est inscrit sur une liste
noire lorsquil eectue deux tentatives successives. Lorsquun sujet est mis sur
liste noire, tous ses accs courants sont supprims.
Lorsque les vnements des rgles de transition ne sont pas uniables, on obtient
trivialement la proprit suivante :
Proposition 4.12. Pour tout ensemble de rgles de transition disjointes (cest-
-dire dont les motifs dvnements ne se superposent pas) sur une thorie teo, la
relation

est dterministe.
4.1.3 Systme de scurit
partir des dnitions denvironnements et de rgles de transition on peut dsor-
mais dnir la notion de systme de scurit. La caractrisation des environnements
ainsi que les transitions du systme seectuent modulo une relation dquivalence
entre ces derniers.
Dnition 4.13. Soit teo une thorie de scurit. On dnit la relation dquiva-
lence
teo
sur cnv(teo) de la faon suivante :
teo

t
ssi il existe deux ensembles
E [ [ et E
t
[
t
[ en bijection par un certain isomorphisme tels que pour
tout prdicat p = de

Env
teo
, (t
1
, . . . , t
n
) p

ssi ((t
1
), . . . , (t
n
)) p

.
On saperoit que si de tels E et E
t
existent, alors ils contiennent ncessairement
lensemble des lments du domaine dinterprtation (respectivement [ [ et [
t
[)
ayant au moins une occurence dans une interprtation dun prdicat. Si lon note
E
min
et E
t
min
les ensembles correspondants (les domaines dinterprtation eec-
tifs ), alors
teo

t
ssi il existe un isomorphisme entre E
min
et E
t
min
tels que
pour tout prdicat p = de

Env
teo
, (t
1
, . . . , t
n
) p

ssi ((t
1
), . . . , (t
n
)) p

.
81
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
Dnition 4.14. Un systme de scurit S sur une thorie teo est la donne
dun ensemble de rgles de transition sur teo ainsi que dune formule
init
sans
variable libre de la forme x
1
, . . . , x
n
, o est une conjonction datomes et
x
1
, . . . , x
n
sont des variables dune sorte abstraite. Un systme de scurit S =
(
init
, ) engendre un ensemble de systmes de transitions isomorphes dont les
tats sont des environnements, ltat initial est un environnement correspondant
un modle minimal de
init
et les transitions sont des vnements dont les actions
sont construites sur T
Act
et [ [, c.--d. des termes de la forme act(e
1
, . . . , e
n
) o
act : s
1
. . . s
n
T
Act
et e
i
[ [
s
i
pour tout i.
Exemple 4.15. En reprenant la thorie de scurit dnie dans les exemples
prcdents, on dnit le systme de scurit suivant :
SECURITY SYSTEM
Level_Based_System
Theory
Level_Based_Theory
Events
(take(s, o, a), permit) :
_
_
_
accesses(s, o, a) accesses(s, o, a)
redlist(s)
blacklist(s)
(take(s, o, a), deny) :
_

_
blacklist(s) redlist(s)
accesses(s, o

, a

)
_
blacklist(s)
accesses(s, o

, a

)
redlist(s)
(release(s, o, a), permit) :
_
accesses(s, o, a)
Initial environnement
l:Level, sudo(user(zero, l))
La formule dcrivant la situation initiale du systme indique, dans cet exemple,
lexistence dun individu appartenant au groupe des super-utilisateurs.
Lenvironnement dcrit dans lexemple 4.5 est un environnement initial du
systme. De plus, pour act = take(Alice, f
1
, write), on a
(act,permit)

S

t
avec [
t
[ = [ [, p

= p

pour tout p ,= accesses et accesses

=
accesses

(Alice, f
1
, write).
Il est important de noter que le choix du reprsentant dune classe dquivalence
(selon
teo
) denvironnements naecte pas le calcul des tats obtenus aprs transi-
tion. La relation dquivalence
teo
est en eet caractrise par la proprit essentielle
suivante :
Proposition 4.16. Soient teo une thorie de scurit et et
t
deux environne-
ments sur teo quivalent pour
teo
. On a la proprit suivante : [= ssi
t
[=
82
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.1. SYSTMES SCURISS ET POLITIQUES DYNAMIQUES
pour toute formule sre de

Env
teo
.
cDmonstration. Puisque
teo

t
, il existe un isomorphisme entre les domaines
eectifs de et
t
. En consquence, toute -valuation correspond exactement une

t
-valuation et rciproquement. On obtient alors lquivalence de la validit dune
formule indpendante des domaines dinterprtations pour et
t
. La smantique
dune formule sre ne dpendant pas du domaine dinterprtation considr mais
uniquement de linterprtation des prdicats, [= ssi
t
[= pour toute formule
sre de

Env
teo
. d
4.1.4 Politiques de scurit
Comme nous lavons dj voqu, une politique est un processus valuant les re-
qutes dactions en une dcision compte-tenu de ltat courant du systme (lenviron-
nement courant). Nous nous proposons de dcrire ce processus au moyen de rgles de
rcriture contraintes. Lide consistant utiliser des rgles de rcriture contraintes
pour spcier des politiques de scurit a t initie dans [Bourdier et al., 2010b,
Bourdier et al., 2011]. Lutilisation combine des rgles de rcriture, des contraintes
du premier ordre et dune stratgie dvaluation nous permet dcrire des spci-
cations de faon extrmement naturelle et aise. Le pouvoir dexpression oert par
le formalisme propos permet de dcrire des politiques complexes dans un langage
simple.
Dnition 4.17. Soit teo une thorie de scurit. Une politique de scurit pol
sur teo est un ensemble de rgles de rcriture de la forme suivante :
lhs

rhs (aussi crite lhs rhs | )
o est une formule sre de

Env
teo
et lhs et rhs sont des atomes de

Act
teo
(vus comme
des termes), ou (pour rhs seulement) une dcision (vue comme une constante) ainsi
quune stratgie de choix de rgles exprime sous la forme dun ordre partiel sur
les rgles not <
pol
. toute politique pol est associe la relation de rduction
suivante (dnie relativement un environnement ) : t

pol
t
t
si et seulement
si il existe une rgle de rcriture r = lhs

rhs et une substitution close
telle que t = (lhs), t
t
= (rhs) et [= () et telle quil nexiste aucune rgle
r
t
= lhs
t

rhs
t
<
pol
r telle que t =
t
(lhs
t
) et [=
t
(
t
) pour une certaine
substitution close
t
.
Exemple 4.18. La spcication suivante :
SECURITY POLICY
Level_Based_Policy
Theory
Level_Based_Theory
83
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
Rules
[1] take(s, o, a) deny | blacklist(s)
[2] take(s, o, a) permit | sudo(s)
[3] take(s, o, read) permit |
_

_
s = user(i
s
, l
s
)
o = object(i
o
, l
o
)
inf (l
o
, l
s
)
(o

, accesses(s, o

, write)
o

= object(i
o
, l
o
)
inf (l
o
, l
o
))
[4] take(s, o, write) permit |
_

_
s = user(i
o
, l
o
)
(o

, accesses(s, o

, read)
o

= object(i
o
, l
o
)
inf (l
o
, l
o
))
[5] take(s, o, a) deny
[6] release(s, o, a) permit
Strategy
1 < 2
2 < 3, 4
3 < 5
4 < 5
dcrit une politique indiquant que :
un sujet sur liste noire ne peut obtenir aucun accs,
un sujet appartenant au groupe des super-utilisateurs, sil nest pas sur
liste noire, peut obtenir nimporte quel accs,
un sujet peut lire un objet dont le niveau de scurit est plus petit
que son niveau sil na pas daccs en criture sur un object de niveau
infrieur,
un sujet peut obtenir un accs en criture sur un objet sil na pas accs
en lecture un objet dont de niveau suprieur,
un accs peut tre relch sans condition.
Enn, on dnit les proprits suivantes sur les politiques de scurit.
Dnition 4.19. Soit teo une thorie de scurit. Une politique de scurit pol
sur teo est dite :
cohrente ssi pour tout environnement et toute action act, il existe au
plus une dcision d telle que act

pol
d ;
terminante ssi pour tout environnement , la relation

pol
termine ;
complte ssi pour tout environnement et toute action act, il existe au
moins une dcision d telle que act

pol
d.
Comme voqu dans le chapitre prcdent, la notion de cohrence est un pro-
blme rcurrent dans les approches base de rgles. En eet, les spcications de
politiques partir de rgles peuvent facilement engendrer des calculs ambigus. La
notion de stratgie a t introduite dans notre cadre pour permettre de rduire ai-
sment lindterminisme des rductions, facilitant ainsi la description de politiques
84
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.2. SMANTIQUES BASES SUR LA RCRITURE
cohrentes.
La terminaison est galement une question essentielle dans les langages de sp-
cication qui permettent de dnir des appels rcursifs. Certains langages, comme
Datalog, permettent seulement la dnition de politiques terminantes, mais au prix
dune restriction importante du pouvoir dexpression.
La compltude est quant elle un sujet symptomatique des approches eectuant
un raisonnement par cas . On appelle parfois cette proprit totalit car si-
milaire la notion du mme nom en thorie des relations. Certains formalismes
forcent cette proprit en permettant la dnition de cas par dfaut . Nous
proposons dans notre cadre dutiliser une combinaison des stratgies et de rgles par
dfaut pour faciliter lcriture de politiques compltes.
4.1.5 Systme scuris
Lobjectif global dans lequel sinscrivent les dnitions de politiques et de sys-
tmes de scurit est llaboration dun systme scuris, cest--dire un systme r-
pondant aux exigences de scurit dcrites par une politique. Nous dnissons ainsi
lobjet rsultant de la combinaison dun systme de scurit et dune politique, ou,
plus prcisment, de lapplication dune politique de scurit sur un systme. Lobjet
obtenu est appel systme scuris.
Dnition 4.20. Soient teo une thorie de scurit, S un systme de scurit
sur teo et pol une politique de scurit terminante, cohrente et complte sur teo.
Lapplication de pol sur S induit une famille de systmes de transitions, appels
systmes pol-scuriss obtenus partir de S, quivalents un isomorphisme
prs, dont les tats initiaux sont ceux des systmes de transitions correspondants
engendrs par S et dont les transitions sont donnes par :
act

S
pol

t
si et
seulement si
(act,d)

S

t
et act

pol
d.
Dans la mesure o les systmes scuriss sont dnis sous lhypothse de coh-
rence, compltude et de terminaison, la relation engendre par un systme scuris
est calculable.
4.2 Smantiques bases sur la rcriture
Nous avons propos dans la section prcdente des langages bass sur dirents
formalismes permettant de faciliter la spcication des direntes parties qui com-
posent la modlisation dun systme scuris (rgles de mises jour, formules du pre-
mier ordre, rgles de rcriture contraintes). Nous nous proposons dans cette section
de donner une smantique unie chacun de ces composants (systme et politique)
ainsi qu leur combinaison (application dune politique sur un systme) base sur
des systmes de rcriture particuliers an den permettre une analyse automatique.
85
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
4.2.1 Reprsentation symbolique des environnements
Pour permettre une exploitation des spcications exprimes dans notre cadre
par des outils de vrication automatique, nous proposons de reprsenter chacun des
objets de notre tude au moyen de termes algbriques et de systmes de rcriture.
La premire notion dont nous allons discuter de la reprsentation symbolique est
celle denrivonnement. Nous avons dans la prcdente section propos une dnition
des environnements sous la forme de modles logiques du premier ordre interprtant
les prdicats nitairement et validant des contraintes imposant linterprtation de
certains prdicats par des ordres (totaux ou partiels). Les contraintes imposes per-
mettent de construire une correspondance entre lensemble des environnements dune
thorie de scurit donne et lensemble des termes clos dune signature particulire.
On pourrait penser de premier abord que les contraintes imposes sont articielles
et que lon peut naturellement reprsenter nimporte quel modle ni par un terme
sur une signature approprie. Pourtant, sil est possible dassocier toute interpr-
tation nie un terme algbrique, il se peut quun terme ne reprsente pas un modle
dune thorie donne. En eet, considrons une signature munie dune thorie T h
et admettons que lon construise une application qui toute interprtation I nie
de associe un terme t
I
T (
sym
) (pour une certaine signature
sym
) et une
autre application qui une proprit sur /od(T h) associe une proprit p

sur
les termes T (
sym
). Si lon souhaite eectuer une preuve de la forme pour tout
I /od(T h), (I) en vriant que pour tout t
I
T (
sym
), p

(t
I
) et quil
existe des termes de T (
sym
) reprsentant des interprtations de qui ne sont pas
modles de T h, alors la preuve de pour tout t
I
T (
sym
), p

(t
I
) peut chouer
alors que la proprit est vrie pour tous les modles de /od(T h).
Dterminer une reprsentation symbolique de lensemble des environnements
dune thorie donne, cest dterminer une signature dont chaque terme reprsente
un environnement. Cest lobjet de la proposition suivante.
Proposition 4.21. Pour toute thorie de scurit teo, il existe :
une signature
sym
teo
,
une surjection
teo
de T (
sym
teo
) sur cnv(teo)
/
teo
et
une injection
teo
de cnv(teo)
/
teo
dans T (
sym
teo
)
telles que pour tout environnement cnv(teo),
teo
()
teo
.
La construction de la signature
sym
teo
est assez intuitive. On se base sur lide trs
classique selon laquelle toute classe dquivalence de cnv(teo)
/
teo
peut tre associ
un reprsentant sous la forme dune interprtation de Herbrand (sous lhypothse
que le domaine dinterprtation des sortes abstraites est donn par un ensemble
dnombrable de constantes quelconques). De plus, le caractre ni des interprtations
des prdicats nous permet de reprsenter naturellement lensemble des atomes clos
valides dans lenvironnement considr sous la forme dune liste, les atomes clos
construits sur la base de Herbrand de

Env
teo
tant vus comme des termes. On dispose
alors dune reprsentation naturelle des interprtations nies de

Env
teo
. Ds lors, la
question qui se pose est de savoir comment matrialiser des contraintes smantiques.
Les contraintes spcient que linterprtation de chaque prdicat est soit arbitraire
86
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.2. SMANTIQUES BASES SUR LA RCRITURE
(ensemble vide de contraintes), soit correspond un ordre total, soit correspond
un ordre partiel. Dans le premier cas, la reprsentation sous la forme dune liste de
faits convient. Dans les deux autres cas, il est ncessaire de modliser autrement
linterprtation des prdicats concerns.
Considrons dans un premier temps un prdicat dont linterprtation doit tre
un ordre total. Notons inf : s s le symbole correspondant. Pour matrialiser le fait
que inf

est un ordre total sur [ [


s
, nous nous fondons sur le thorme suivant :
Thorme 4.22. Tout ensemble ni totalement ordonn est isomorphe pour
lordre un segment initial de N.
En consquence, il sut de reprsenter symboliquement les termes de sorte s par
des termes construits sur :
_
zero : Nat
succ : Nat Nat
pour pouvoir dterminer de faon unique linterprtation de inf

. De la mme faon,
la proprit suivante nous permet de reprsenter symboliquement les ordres partiels :
Thorme 4.23. Tout ensemble ni partiellement ordonn est isomorphe pour
lordre un sous-ensemble de B
n
, pour un certain n N, muni de lordre produit
(not <

).
Exemple 4.24. Considrons un ensemble E = , l
1
, . . . , l
6
, partiellement
ordonn dont lordre
E
est dcrit par la gure suivante :

l
1
l
2
l
3
l
5
l
6

l
4
On peut construire un isomorphisme de (E,
E
) sur un sous-ensemble de
(B
5
,

). Limage de (E,
E
) est illustr par la gure suivante :
(0, 0, 0, 0, 0)
(1, 0, 0, 0, 0) (0, 1, 0, 0, 0)
(1, 1, 0, 0, 0)
(1, 1, 1, 0, 0) (1, 1, 0, 1, 0)
(1, 1, 1, 1, 1)
(0, 0, 0, 0, 1)
87
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
Il sut donc dans ce cas de reprsenter symboliquement les lments de sorte s
par un terme dcrivant une liste de boolens :
_
_
_
0 : BoolList BoolList
1 : BoolList BoolList
nil : BoolList
partir de ces remarques, nous pouvons montrer la proposition 4.21.
cDmonstration. Soit teo une thorie de scurit. La signature
Sym
teo
= (o, T) est
dnie comme suit :
o contient toutes les sortes s de
teo
ainsi que les sortes Nat, BoolList, Environment
et Fact
p
< Fact et Facts
p
< Facts pour tout prdicat p de

Env
teo
.
T contient tous les symboles suivants :
pour tout f : s
1
. . . s
n
s de

Env
teo
, le symbole f : (s
1
) . . . (s
n
) s
de

Env
teo
, o (s
i
) correspond :
s
i
si s
i
nest pas abstraite ;
BoolList si s
i
est abstraite et sil existe un prdicat p : ss tel que (
teo
(p) =
partialorder ;
Nat si s
i
est abstraite et sil existe un prdicat p : s s tel que (
teo
(p) =
totalorder ;
pour tout prdicat p : s
1
. . . s
n
tel que (
teo
(p) = empty, les symboles :
p : s
1
. . . s
n
Fact
p
,
nil
p
: Facts
p
cons
p
: Fact
p
Facts
p
Facts
p
le symbole _, . . . , _ : Facts
p
1
. . .Facts
p
n
Environment o p
1
, . . . , p
n

est lensemble des prdicats de


Env
teo
tels que (
teo
(p) = empty.
Soit un environnement cnv(teo). Notons lenvironnement quivalent
correspondant une interprtation de Herbrand de

Env
teo
. Pour tout p tel que
(
teo
(p) = empty, on construit le terme
teo
(p)

comme tant la liste (construite


avec les constructeurs cons
p
et nil
p
des termes p((t
1
), . . . , (t
n
)), pour tout fait
p(t
1
, . . . , t
n
) valide dans , o (t
i
) est construit partir de t
i
en remplaant les
sous-termes de sorte abstraite par un lment de Nat ou de BoolList (selon que le
terme modlise un ensemble totalement ou partiellement ordonn) de telle sorte que
les ordres (et les galits) sur les (t
i
) respectent les ordres (et les galits) de . Le
terme
teo
() est alors gal
teo
(p
1
)

, . . . ,
teo
(p
n
)

(on ordonne arbitrairement


les prdicats). Enn, lapplication
teo
sobtient simplement en eectuant le raison-
nement inverse. d
Exemple 4.25. Soit lenvironnement dni dans lexemple 4.5.
teo
() est
gal au terme t
sudo
, t
accesses
, t
redlist
, t
blacklist
o t
sudo
est donn par (pour
plus de lisibilit, les termes spciant les entiers seront reprsents par les
entiers correspondants)
cons
sudo
(sudo(user(1, level(0(1(nil))))), nil
sudo
)
88
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.2. SMANTIQUES BASES SUR LA RCRITURE
t
accesses
par (les symboles cons
accesses
et nil
accesses
sont omis pour des ques-
tions de lisibilits) :
_

_
accesses(user(1, level(0(1(nil)))), object(1, level(0(1(nil)))), read),
accesses(user(1, level(0(1(nil)))), object(1, level(1(0(nil)))), write),
accesses(user(1, level(1(0(nil)))), object(1, level(0(1(nil)))), read),
accesses(user(2, level(1(0(nil)))), object(2, level(0(0(nil)))), write)
t
redlist
= nil
redlist
et t
blacklist
= nil
blacklist
.
4.2.2 valuation des contraintes
Pour permettre la spcication des rgles de transition et de politiques de scu-
rit, il est ncessaire de pouvoir valuer les formules sres dans un environnement
donn partir de sa reprsentation symbolique. La mthode retenue doit permettre
de vrier les proprits prcdemment voques sur les systmes de rcriture ainsi
que lanalyse des systmes scuriss obtenus. Les dveloppements rcents concer-
nant la vrication de proprits de systmes dcrits par des systmes de rcriture
([Rusu, 2010, Rocha and Meseguer, 2011, Rocha, 2011]) ncessitent lintroduction de
la notion de systmes de rcriture topmost ou systme de rcriture la ra-
cine .
Dnition 4.26. Soit une signature. On appelle systme de rcriture
la racine sur tout systme de rcriture ! tel quil existe une sorte s
top
de
vriant les proprits suivantes :
pour tout symbole f : s
1
. . . s
n
s, s
i
,= s
top
,
pour toute rgle lhs rhs de !, lhs et rhs sont des termes de sorte s
top
.
Les travaux voqus prsentent des mthodes de vrication de proprits pour les
systmes de rcriture la racine. Cest la raison pour laquelle nous nous attachons
dans la suite montrer que les dirents processus (valuation des requtes, relations
de transition, politiques de scurit, . . . ) peuvent tre modliss au moyen de tels
systmes.
Proposition 4.27. Soit teo une thorie de scurit, il existe :
une extension de
sym
teo
note
AR
teo
,
un systme de rcriture la racine !
AR
sur
AR
teo
, convergent,
tels que pour toute formule sre de

Env
teo
= (o, T, T), il existe :
un terme
teo
() de T (
AR
teo
, A),
une application

: 1ar(
teo
()) T
tels que pour tout environnement cnv(teo) :

(
teo
())


1
AR
done(

t
1
1
, . . . , t
1
n
_
:: . . . :: t
m
1
, . . . , t
m
n
:: [ ])
si et seulement si [= x
1
t
k
1
, . . . , x
n
t
k
n
() pour tout k ( lordre des
lments de la liste prs) o

associe x 1ar(
teo
()) le terme
teo
(

(x))

89
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
(done est un symbole de
AR
teo
et :: et [ ] sont utiliss en remplacement de cons
et nil pour des raisons de lisibilit).
cDmonstration. Soit une formule sre sur

= (o, T, T). Alors, le thorme
de Codd nous assure que lon peut construire une expression base sur les opra-
teurs de lalgbre relationnelle valuant dans nimporte quelle interprtation dans
laquelle les prdicats sont interprts par des relations nies [Codd, 1972] (lalgo-
rithme correspondant est connu sous le nom dalgorithme de rduction de Codd).
En consquence, tant donne une formule sre , on peut calculer une expression
de lalgbre relationnelle exprime en fonction des prdicats de T. Par exemple, la
formule = x, q(x) y, p(x, y) peut se traduire par lexpression de lalgbre
relationnelle suivante : q(
1/2
(p)) = . Pour modliser les expressions de lalgbre
relationnelle et lvaluation de ces dernires par un systme de rcriture la racine,
nous introduisons les symboles suivants :
_ _ : OperationsList ArgumentsList Computation
symbolisant lapplication de lopration en-tte de la pile doprations en partie
gauche du symbole aux arguments en tte de la pile des arguments en partie
droite du symbole . Les termes de sorte OperationsList sont des listes de termes
de sorte Operation et les termes de sorte ArgumentsList sont des listes de termes de
sorte Argument. Pour des raisons de lisibilit, nous utiliserons les mmes symboles de
constructeurs de listes ( :: et [ ]). Ainsi,
AR
teo
contient les symboles suivants de sorte
Operation :
union dcrivant lunion de deux listes,
di dcrivant la dirences entre deux listes,
prod
k
1
,k
2
dcrivant le produit cartsien entre une liste de k
1
-uplets et une liste
de k
2
-uplets,
proj
k
1
,...,k
m
/k
dcrivant la projection des k-uplets dune liste sur les compo-
santes k
1
, . . . , k
m
,
join
k
1
,k
2
/k,k
dcrivant la jointure dune liste de k-uplets et dune liste de k
t
-
uplets lorsque la k
1
me
composante des tuples de la premire liste concide avec
la k
2
me
composante des tuples de la seconde,
empty, modlisant le test du caractre vide dune liste,
isIn, modlisant le test dappartenance dun lment une liste,
rst, min, max rfrant respectivement au premier, plus petit et plus grand
lment dune liste,
inf
Nat
, inf
BoolList
, reprsentant respectivement les tests dinfriorit pour les
ordres voques dans la section prcdente,
eq
s
, dcrivant le test dgalit entre deux termes de sorte s,
select
k
1
,k
2
/k
dcrivant la slection (restriction) des k-uplets dune liste ceux
dont la comparaison entre les k
1
me
et k
2
me
composantes correspond au com-
parateur pass en paramtre (faisant rfrence eq, inf
Nat
ou inf
BoolList
),
select
k

/k
dcrivant la slection (restriction) des k-uplets dune liste ceux
dont la comparaison de la k
me
composante avec le tuple en argument corres-
pond au comparateur pass en paramtre,
90
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.2. SMANTIQUES BASES SUR LA RCRITURE
swap
k/k
dcrit linversion des k
me
et k
tme
arguments dans la liste des argu-
ments.
Le terme
teo
() scrit alors : proj
1/2
:: swap
1/2
:: di :: empty :: [ ] x
p
:: x
q
:: [ ].
Pour permettre au lecteur de se faire une ide prcise du systme de rcriture !
AR
sans toutefois en numrer toutes les rgles, les rgles de rcriture associes aux
principales oprations sont donnes par la gure 4.1. Elles ne prsentent aucune dif-
cult particulire et sont construites partir des algorithmes fonctionnels eectuant
les oprations usuelles sur les listes. Pour obtenir un systme de rcriture la ra-
cine, les oprations eectuer sont regroupes sous la forme dune liste doprations
et les oprandes sous regroups sous la forme dune liste darguments. Le systme
de rcriture obtenu fournit un processus dvaluation de toute formule sre sur un
environnement donn partir du terme

(
teo
()).
d
Exemple 4.28. Pour bien comprendre le principe de fonctionnement du sys-
tme !
AR
, tudions la rduction du terme

(
teo
()) o = x, q(x)
y, p(x, y) lorsque p

= (a, b) et q

= a.
proj
1/2
:: swap
1/2
:: di :: empty :: [ ] cons( a, b
2
, nil) :: cons( a
1
, nil) :: [ ]

proj
aux
1/2
:: swap
1/2
:: di :: empty :: [ ] cons( a, b
2
, nil) :: nil :: cons( a
1
, nil) :: [ ]

proj
aux
1/2
:: swap
1/2
:: di :: empty :: [ ] nil :: cons( a
1
, nil) :: cons( a
1
, nil) :: [ ]

swap
1/2
:: di :: empty :: [ ] cons( a
1
, nil) :: cons( a
1
, nil) :: [ ]

di :: empty :: [ ] cons( a
1
, nil) :: cons( a
1
, nil) :: [ ]

di
aux
:: empty :: [ ] cons( a
1
, nil) :: cons( a
1
, nil) :: nil :: [ ]

isIn:: di
if
:: empty :: [ ] a
1
:: cons( a
1
, nil) :: a
1
:: nil :: cons( a
1
, nil) :: nil :: [ ]

eq:: or :: isIn:: di
if
:: empty :: [ ] a
1
:: a
1
:: a
1
:: nil :: a
1
:: nil :: cons( a
1
, nil) :: nil :: [ ]

eq:: or :: isIn:: di
if
:: empty :: [ ] a :: a :: a
1
:: nil :: a
1
:: nil :: cons( a
1
, nil) :: nil :: [ ]

or :: isIn:: di
if
:: empty :: [ ] :: a
1
:: nil :: a
1
:: nil :: cons( a
1
, nil) :: nil :: [ ]

di
if
:: empty :: [ ] :: a
1
:: nil :: cons( a
1
, nil) :: nil :: [ ]

di
aux
:: empty :: [ ] nil :: cons( a
1
, nil) :: nil :: [ ]

empty :: [ ] nil :: [ ]

[ ] :: [ ]

done()
(Les lments souligns correspondent aux symboles permettant de dterminer
la rgle de rcriture appliquer).
91
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
[ ] x:: q done(x)
and:: q :: q
t
q q
t
and:: h:: q :: x:: q
t
q :: q
t
or :: q :: q
t
q q
t
or :: op:: q :: x
1
:: . . . :: x
m
:: q
t
q :: q
t
pour tout oprateur op darit m
eq:: q f (x
1
, . . . , x
n
) :: g(y
1
, . . . , y
m
) :: q
t
q :: q
t
pour tous symboles f ,= g
eq:: q f () :: f () :: q
t
q :: q
t
pour tout symbole f darit 0
eq:: q f (x
1
, . . . , x
n
) :: f (y
1
, . . . , y
n
) :: q
t
eq:: and:: eq:: . . . :: and:: eq:: q x
1
:: y
1
:: . . . :: x
n
:: y
n
:: q
t
pour tout symbole f darit n ,= 0
proj
k
1
,...,k
m
/k
:: q l :: q
t
proj
aux
k
1
,...,k
m
/k
:: q l :: nil :: q
t
proj
aux
k
1
,...,k
m
/k
:: q nil :: q
t
q q
t
proj
aux
k
1
,...,k
m
/k
:: q cons( x
1
, . . . , x
k

k
, z) :: u:: q
t
proj
aux
k
1
,...,k
m
/k
:: q z :: cons( x
k
1
, . . . , x
k
m

m
, u) :: q
t
isIn:: q x:: nil :: q
t
q :: q
t
isIn:: q x:: cons(y, z) :: q
t
eq_s :: or :: isIn:: q x:: y :: x:: z :: q
t
di :: q l :: l
t
:: q
t
di
aux
:: q l :: l
t
:: nil :: q
t
di
aux
:: q nil :: l :: q
t
q q
t
di
aux
:: q cons(x, y) :: z :: u:: q
t
isIn:: di
if
:: q x:: z :: x:: y :: z :: u:: q
t
di
if
:: q :: x:: y :: z :: u:: q
t
di
aux
:: q y :: z :: cons(x, u) :: q
t
di
if
:: q :: x:: y :: z :: u:: q
t
di
aux
:: q y :: z :: u:: q
t
prod
k,k
:: q l :: l
t
:: q
t
prod
aux
k,k

:: q l :: l
t
:: nil :: q
t
prod
aux
k,k

:: q nil :: l :: q
t
q q
t
prod
aux
k,k

:: q cons(x, y) :: z :: u:: q
t
dist
aux
k,k

:: prod
aux
k,k

:: q x:: z :: y :: z :: u:: q
t
dist
aux
k,k

:: q x:: nil :: y :: z :: u:: q


t
q y :: z :: u:: q
t
dist
aux
k,k

:: q x
1
, . . . , x
k

k
:: cons( v
1
, . . . , v
k

k
, v) :: y :: z :: u:: q
t
dist
aux
k,k

:: q x
1
, . . . , x
k

k
:: v :: y :: z :: cons( x
1
, . . . , x
k
, v
1
, . . . , v
k

k+k
, u) :: q
t
rst :: q cons(x, l) :: q
t
q x:: q
t
empty :: q cons(x, l) :: q
t
q :: q
t
empty :: q nil :: q
t
q :: q
t
Figure 4.1 Rgles associes aux principales oprations de lalgbre relationnelle
92
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.2. SMANTIQUES BASES SUR LA RCRITURE
noter que lintrt du systme de rcriture obtenu nest pas lecacit de lva-
luation mais sa spcication particulire permettant de tirer prot des techniques de
vrication prcdemment voques ainsi que des techniques de preuves inductives
(ce point sera discut dans la section 4.3).
4.2.3 Systmes de scurit
Nous pouvons dsormais montrer que nous pouvons construire, grce la propo-
sition 4.21, un systme de rcriture la racine, bas sur les constructeurs (c.--d. tel
que les termes composs uniquement de constructeurs sont irrductibles), simulant
la relation de transition dun systme de scurit donn.
Proposition 4.29. Soit teo une thorie de scurit et S un systme de s-
curit sur teo. Il existe un systme de rcriture !
S
la racine convergent
tel que pour tout environnement et toute squence dvnements evts =
(act
1
, d
1
), . . . , (act
n
, d
n
) ,
evts

S

t
si et seulement si

teo
() (act
1
, d
1
) :: . . . :: (act
n
, d
n
) :: [ ]


1
S

teo
(
t
) [ ]
(o est un nouveau symbole binaire modlisant lapplication dune squence
dvnements sur un environnement).
Pour dmontrer cette proprit, nous avons recours aux deux lemmes suivants :
Lemme 4.30. Soient (E,
E
) un ensemble totalement ordonn et un isomor-
phisme dordre de (E,
E
) dans (F N,
N
). Pour tout lment e / E associ
la contrainte e
before
e e
after
, (pour e
before
et e
after
dans E) lapplication
t
dnie par :
_
_
_

t
(e) = (e
after
)
e
t
E, e
t
e
before
,
t
(e
t
) = (e
t
)
e
t
E, e
after
e
t
,
t
(e
t
) = (e
t
) + 1
est un isomorphisme de la mise jour de (E,
E
) pour la contrainte e
before

e e
after
dans (F
t
N,
N
).
Lemme 4.31. Soient (E,
E
) un ensemble partiellement ordonn et un isomor-
phisme dordre de (E,
E
) dans (F B
n
,

). Pour tout lment e / E associ


la contrainte e
1
before
, . . . , e
m
before
e e
1
after
, . . . , e
k
after
, (on suppose que les
e
i
before
sont sont deux deux incomparables pour
E
, de mme que les e
j
after
et
que e
i
before
<
E
e
j
after
quels que soient i et j) lapplication
t
dnie par :
_

t
(e) = ((e
max
), 0) si m > 1 et
t
(e) = ((e
max
), 1) sinon
e
t
E, e
t

E
e
max
,
t
(e
t
) = ((e
t
), 0)
e
t
E, e
min

E
e
t
,
t
(e
t
) = ((e
t
), 1)
e
t
E, e
min

E
e
t
,
t
(e
t
) = ((e
t
), 0)
93
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
avec (e
max
) = (max
i=1...m
(b
i
1
), . . . , max
i=1...m
(b
i
n
)) o (b
i
1
, . . . , b
i
n
) = (e
i
before
)
et (e
min
) = (max
j=1...k
(b
j
1
), . . . , max
i=j...k
(b
j
n
)) o (b
j
1
, . . . , b
j
n
) = (e
j
after
),
est un isomorphisme de la mise jour de (E,
E
) pour la contrainte
e
1
before
, . . . , e
m
before
e e
1
after
, . . . , e
k
after
, dans (F
t
B
n+1
,

).
cDmonstration (Lemmes). Le lemme 4.30 est trivial. Le lemme 4.31 est quant
lui bas sur les constats suivants :
si m > 1, alors (e
max
) >

(e
i
before
) pour tout i,
si k > 1, alors (e
min
) <

(e
j
after
) pour tout j,
pour tous , B
n
, les trois ingalits suivantes sont quivalentes :
_
_
_
<


(, 0) <

(, 1) <

(, 1)
(, 0) <

(, 0) <

(, 1)
d
cDmonstration (Proposition 4.29). Dans la suite, tant donns une signature =
(o, T), deux o-ensembles de variables disjoints A
1
et A
2
, un systme de rcriture
! sur (et A
1
) ainsi quun contexte C sur
t
= (o, T A
2
) (o les variables de
A
2
sont vus comme des constantes), on note C[!] le systme de rcriture contenant
les rgles C[lhs] C[rhs] pour toute rgle lhs rhs de !. On modie la signature

AR
teo
en considrant les symboles suivants :
__ : Environment Events State
check
r
: Environment Computation Events State
map
r
: Environment TupleList Facts Events State
replace
p
: Facts
p
Computation Events State
pour tout prdicat p de

Env
teo
et toute rgle de transition r de S. Le systme !
S
contient, pour toute rgle de transition r,
C
r
[!
AR
] o C
r
= check
r
(x, ),
si r = (act, d) : p(t
1
, . . . , t
n
)
. .
C
:
x (act, d) :: q
events
check
r
(x,
teo
(), q
events
)
check
r
(x, [ ] r :: q, q
events
) map
r
(x, r, [ ], q
events
)
map
r
(x, x
1
, . . . , x
n
:: q, l, q
events
) map
r
(x, q, C[x
1
, . . . , x
n
] :: l, q
events
)
map
r
( x
p
1
, . . . , x
p
n
, [ ], l)
replace
p
( x
p
1
, . . . , x
p
n
, union:: [ ] x
p
:: l, q
events
)
Un terme de la forme x l
events
reprsente le calcul de ltat rsultant de
lapplication de la squence dvnements dcrite par la liste l
events
. Pour eec-
tuer ce calcul, la premire tape consiste dterminer les solutions de dans
lenvironnement courant. Cest lobjet de la rduction des termes de la forme
check
r
(x,
teo
(), _) vers un terme de la forme check
r
(_, [ ] r :: _, _) dont
le sous-terme caractris par r contient la liste des solutions. partir de ces
94
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.2. SMANTIQUES BASES SUR LA RCRITURE
solutions, on peut construire lensemble des atomes clos ajouter lenvironne-
ment, cest dire lensemble des
i
(p(t
1
, . . . , t
n
)) o chaque lment de la liste
des solutions correspond un
i
(les atomes
i
(p(t
1
, . . . , t
n
)) sont construits par
la rgle map
r
(_, x
1
, . . . , x
n
:: _, _, _) map
r
(_, _, C[x
1
, . . . , x
n
] :: _, _)).
si r = (act, d) : p(t
1
, . . . , t
n
)
. .
C
:
x (act, d) :: q
events
check
r
(x,
teo
(), q
events
)
check
r
(x, [ ] r :: q, q
events
) map
r
(x, r, [ ], q
events
)
map
r
(x, x
1
, . . . , x
n
:: q, l, q
events
) map
r
(x, q, C[x
1
, . . . , x
n
] :: l, q
events
)
map
r
( x
p
1
, . . . , x
p
n
, [ ], l, q
events
)
replace
p
( x
p
1
, . . . , x
p
n
, di :: [ ] x
p
:: l, q
events
)
si r = (act, d) : p(t
1
, . . . , t
n
) [
_

_
inf (e
1
before
, e)
.
.
.
inf (e
m
before
, e)

_
inf (e, e
1
after
)
.
.
.
inf (e, e
k
after
)
,
les rgles devenant plus techniques et plus nombreuses, nous nous contente-
rons dexpliquer le principe de ces dernires. Les rgles voques pour le cas
r = (act, d) : p(t
1
, . . . , t
n
) sont adaptes pour permettre une tape sup-
plmentaire entre la vrication de la contrainte (rduction des termes dont la
racine est check
r
) et le calcul des atomes ajouter (rduction des termes dont
la racine est map
r
). Chaque tuple solution de la contrainte (cest--dire chaque
lment de la liste r dans check
r
(x, [ ] r :: q, q
events
)), contient les valeurs
des (e
i
before
) et des (e
j
after
) ( des positions dterminables statiquement).
partir de ces informations, une tape de mise jour de tous les termes re-
prsentant un lment appartenant lensemble ordonn considr, suivant les
lemmes 4.30 et 4.31, est eectue. Cette tape ajoute galement une compo-
sante aux tuples rsultats de la contrainte qui ne contenaient jusqualors pas les
valeurs des variables libres de (cest--dire les nouveaux lments insrer
dans lordre). lissue de cette tape, les tuples solutions sont complets
(ils contiennent les valeurs de toutes les variables libres) et le calcul des atomes
clos ajouter peut tre entam (rduction vers un terme de racine map
r
).
ainsi que, pour tout symbole de prdicat p de

Env
teo
tel que (
teo
(p) = empty, C
p
[!
AR
]
o C
p
= replace
p
(x, ) et :
replace
p
(x, done( x
p
1
, . . . , x
p
n
), q
events
)

x
p
1
, . . . , x
p
i1
, x, x
p
i+1
, . . . , x
p
n
_
q
events
(o i est lindice correspondant p). d
4.2.4 Politiques de scurit
De la mme faon que nous avons propos une smantique de la relation de
transition dun systme de scurit sous la forme dun systme de rcriture la
racine, nous nous attachons dsormais prsenter un tel systme pour dcrire une
politique de scurit dcrite dans notre formalisme.
95
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
Proposition 4.32. Soit teo une thorie de scurit et pol une politique de scurit
sur teo. Il existe un systme de rcriture !
pol
la racine tel que :

teo
() action

1
pol
decision ssi action

pol

decision,

1
pol
termine (resp. est conuent sur les termes clos, resp. susamment
complet) ssi pol termine (resp. est cohrente, resp. complte).
cDmonstration. On ajoute la signature
AR
teo
les symboles suivants :
_ _ : Environment Action Request
_
aux
_ , _ : Environment Action Trace Request
check
r
: Environment Computation Trace Request
undened : Request
_, . . . , _ : Bool . . . Bool Trace
pour toute rgle r de pol. !
pol
contient le systme C[!
AR
] avec C = check
r
(, x, y, z)
ainsi que les rgles suivantes :
x y x
aux
y , , . . . ,
x
aux
y , t
1
, . . . , t
m
check
r
(x,
teo
(y = action ), t
t
1
, . . . , t
t
m
)
check
r
(x, [ ] y
1
, . . . , y
n
:: [ ], z)
_
x rhs[y
1
, . . . , y
n
] si rhs / T
teo
rhs si rhs T
teo
check
r
(x, [ ] [ ], z) x
aux
y , z
x
aux
y , , . . . , undened
pour toute rgle r = action[y
1
, . . . , y
n
]

rhs[y
1
, . . . , y
n
] et o t
1
, . . . , t
m
est le
terme de sorte Trace tel que t
i
est gal si i est lindice de la rgle r, si i est
lindice dune rgle r
t
<
pol
r, et une variable sinon tandis que t
t
i
est gal t
i
sauf si i
est lindice de r auquel cas t
t
i
= . Intuitivement, le terme t
1
, . . . , t
m
signie que la
rgle correspondant lindice i a t teste (et nest pas applicable) ssi t
i
= . La
prsence dun terme de sorte Trace est ncessaire pour que le systme de rcriture
soit conuent si la spcication initiale de la politique est cohrente. noter que
les variables libres de la formule y = action[y
1
, . . . , y
n
] dans la seconde rgle (y
est instanci) correspondent aux variables du motif action, cest--dire y
1
, . . . , y
n
.
En consquence, le rsultat de lvaluation de cette formule est soit la liste vide (si
linstance de y ne ltre pas le motif action ou si nest pas vrie) soit le tuple
t
1
, . . . , t
n
tel que action[t
1
, . . . , t
n
] soit gal linstanciation de y. Lquivalence de
la terminaison des systmes de rcriture
1
pol
et
pol

est vidente dans la mesure


o le systme !
AR
termine et que les systmes sont des systmes de rcriture la
racine. La non-terminaison de
1
pol
ne peut provenir que dune boucle provoque
par la rcriture dune action en une autre action, de mme pour
pol

. d
4.2.5 Systme scuris
Le systme de rcriture simulant la relation de transition dun systme scuris
sobtient aisment partir de la smantique du systme de scurit et de la politique
de scurit partir desquels il est construit.
96
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.3. VRIFICATION
Proposition 4.33. Soient teo une thorie de scurit, S un systme de scu-
rit sur teo et pol une politique de scurit. Il existe un systme de rcriture
!
S,pol
la racine convergent tel que pour tout environnement et toute s-
quence dactions act
1
, . . . , act
n
,
act
1

S
pol
. . .
act
n

S
pol

t
si et seulement si

teo
()

act


1
S,pol

teo
(
t
) [ ] (o

est un nouveau symbole caractrisant
lapplication dune squence dactions partir dun environnement donn).
cDmonstration. Pour simplier, on ne considre dans la preuve quune seule action
(au lieu dune squence dactions). !
S,pol
contient alors la rgle
x

act x (act, x act) :: [ ]
ainsi que C[!
pol
] avec C = x (y, ) :: q et !
S
. Pour obtenir le systme simulant
la relation de transition pour des squences dactions, il sut dadapter les rgles
comme dans !
S
pour conserver la queue de la squence dactions. d
4.3 Vrication
Le but de donner une smantique base sur la rcriture des spcications de sys-
tmes et de politiques est de permettre lanalyse automatique de ces spcications
par des outils prouvs. Dans cette section, nous allons montrer comment les pro-
prits des systmes et des politiques de scurit sexpriment au moyen de proprits
sur les systmes de rcriture correspondants.
Les systmes de rcriture obtenus possdent deux proprits particulires : dune
part, ils sont bass sur la notion de constructeurs et orent une dnition inductive
des objets quils spcient, permettant de tirer prot des techniques de preuve par in-
duction implicite [Huet and Hullot, 1982, Bouhoula, 1996, Falke and Kapur, 2006],
[Bouhoula, 1998] et des outils correspondants [Bouhoula and Rusinowitch, 1995],
[Stratulat, 2011]. Dautre part, les systmes sont des systmes de rcriture la
racine et permettent donc dappliquer les techniques rcemment dveloppes dans
[Rusu, 2010, Rocha and Meseguer, 2011, Rocha, 2011].
4.3.1 Proprits de politiques
Nous avons voqu dans la prcdente section les proprits fondamentales des
politiques de scurit. Il sagit des proprits de terminaison, de cohrence et de
compltude. La proposition suivante rappelle une proprit dj voque mais quil
est pertinent de mentionner ici :
Proposition 4.34. Soit teo une thorie de scurit et pol une politique de scurit
sur teo. pol termine (resp. est cohrente, resp. complte) si et seulement si
1
pol
termine (resp. est conuent sur les termes clos, resp. susamment complet).
97
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
La compltude susante et la conuence sur les termes clos peuvent tre vri-
es laide des techniques voques dans [Bouhoula, 2009] et implantes dans loutil
SPIKE [Bouhoula and Rusinowitch, 1995]. La mthode prsente dans ces travaux
sapplique aux spcications prsentes sous la forme de systmes de rcriture bass
sur les constructeurs donc, en particulier, au systme !
pol
. Un des intrts de notre
modlisation est dorir une dnition inductive des modles nis dune formule
donne (via le systme de rcriture !
AR
), permettant de tirer prot des techniques
de preuve par induction implicite. Sans cette traduction, il aurait t ncessaire
de combiner une mthode pour dterminer lexistence dun modle ni satisfaisant
la conjonction de deux formules (pour dterminer les rgles qui peuvent sappli-
quer simultanment) avec une mthode montrant que lapplication des deux rgles
concernes pour le modle trouv engendre le mme rsultat (conuence sman-
tique ). Dans ce contexte, notre cadre nous semble tre particulirement attractif.
La terminaison peut quant elle tre automatiquement vrie par une trs large
panoplie doutils : CiME [Contejean et al., 2010], AProVE [Giesl et al., 2006], TTT
[Hirokawa and Middeldorp, 2005] ou encore MTT [Durn et al., 2008].
4.3.2 Le problme de ladministration
Une question importante lors de lanalyse dune politique de scurit est ce que
nous appelerons le problme de ladministration . Il consiste dterminer si un
ensemble dutilisateurs en administre un autre (ventuellement identique). Par ad-
ministrer on entend la facult de modier les droits. Formellement, le problme peut
tre exprim de la faon suivante :
Dnition 4.35. Soit teo une thorie de scurit, S un systme de scurit et pol
une politique de scurit sur teo. On suppose que teo contient une sorte s apparais-
sant dans le prol de toutes les actions (notons la position du sous-terme de sorte
s dans chaque action). On dit que lensemble A T (
teo
)
s
administre lensemble
U T (
teo
)
s
ssi il existe une action act telle que act
[
U, un environnement
et une squence dactions adm
1
, . . . , adm
n
telle que pour tout i, adm
i[
A et
act

pol
decision ,= decision
t

pol

act
o
adm
1
,...,adm
n

S
pol

t
. Le problme de ladministration dans S et pol de U par
A consiste dterminer si A administre U (relativement S et pol).
Cest un problme souvent tudi dans le cadre de lanalyse des politiques ba-
ses sur les rles [Sasturkar et al., 2006]. Un sous-problme connu du problme de
ladministration est celui de la sret dans le modle HRU.
Notre cadre est particulirement adapt ltude de ce problme puisque ce der-
nier peut sexprimer sur un systme de rcriture la racine obtenu partir des
systmes prsents dans la section prcdente sous la forme dun problme dac-
cessibilit dont la rsolution est trait dans [Rusu, 2010, Rocha and Meseguer, 2011,
Rocha, 2011] pour la classe de systmes de rcriture qui nous concerne. La dnition
dun problme daccessibilit est donn par la dnition suivante :
98
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.3. VRIFICATION
Dnition 4.36. Soit une signature, ! un systme de rcriture sur , t
0
un
terme de T (, A) et t un terme de T (), on appelle problme daccessibilit
dans ! relativement t
0
et t le problme de lexistence dune substitution close
telle que (t
0
)


1
t.
Pour cela, pour tout systme de scurit S, toute politique pol sur une thorie de
scurit teo, et tous motifs t
A
et t
U
de la sorte considre par le problme, on tablit
le systme de rcriture !
adm
S,pol
constitu des rgles :
u
adm
(x, y, z) (u

y) x ; u z
d ; d
t
changed
pour tout couple de dcisions d ,= d
t
, ainsi que
_
_
_
C[!
pol
] avec C = x ;
C
t
[!
S

pol
] avec C
t
= x ; y
C
tt
[!
pol
] avec C
tt
= ; z
o
!
S

pol
correspond au systme de rcriture !
S
pol
dans lequel les actions dont le sous-
terme de position ne ltre pas t
A
sont supprimes. Le problme de ladministration
de U par A sexprime par lunion des problmes daccessibilit suivants : existe-t-il
une substitution close telle que
(u
adm
(act(x
1
, . . . , t
U
, . . . , x
n
), y, act(x
1
, . . . , t
U
, . . . , x
n
)))


1
adm
S,pol
changed
pour tout symbole daction act. Le systme !
adm
S,pol
tant un systme de rcriture
la racine, la rsolution de ce problme peut tre trait par les mthodes dcrites
dans [Rusu, 2010, Rocha and Meseguer, 2011, Rocha, 2011].
4.3.3 Comparaison de politique
La comparaison de politiques a dj t voque dans le chapitre prcdent.
Rappelons la dnition de lquivalence entre deux politiques dans notre cadre.
Dnition 4.37. Soient pol
1
et pol
2
deux politiques terminantes, compltes et
cohrentes sur une thorie de scurit teo. On dit que pol
1
et pol
2
sont quivalentes
et lon note pol
1

teo
pol
2
si et seulement si pour tout environnement sur teo,
pour toute action act et pour toute dcision d, act

pol
1
d ssi act

pol
2
d.
Notons !
pol
1
,pol
2
le systme de rcriture obtenu partir de !
pol
1
et !
pol
2
en
remplaant la rgle x y x
aux
y , , . . . , par les rgles x
1
y
x
aux
y , , . . . , et x
2
y x
aux
y , , . . . , respectivement. On a
la proposition suivante :
Proposition 4.38. Soient pol
1
et pol
2
deux politiques terminantes, compltes
et cohrentes sur une thorie de scurit teo. pol
1

teo
pol
2
si et seulement si
x
1
y = x
2
y est un thorme inductif de !
pol
1
,pol
2
.
99
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
Cette proposition nous indique que lon peut vrier lquivalence entre deux po-
litiques de scurit dynamiques en utilisant les techniques de preuves par induction
implicite [Stratulat, 2005] implante dans loutil SPIKE-Prover [Stratulat, 2011].
Ceci est rendu possible par la forme du systme de rcriture !
pol
1
,pol
2
(bas sur
les constructeurs, terminant, susamment complet et conuent sur les termes clos).
4.3.4 Analyse par requtage
Comme nous lavons voqu dans le chapitre prcdent, il est souvent utile de
pouvoir interroger une politique de scurit en formulant des requtes spciant
partiellement les lments partir desquels la politique est dnie. Ce type danalyse
a t prsent sous le nom danalyse par requtage ou encore danalyse administra-
tive. Dans le cas des politiques dynamiques, ce type danalyse dire lgrement de la
prsentation qui en a t faite dans le chapitre 3. En eet, dans le cas prsent lana-
lyse peut correspondre lvaluation dune requte contenant des inconnues dans
un environnement compltement spci ou bien lvaluation dune requte sous
un certain nombre de contraintes spciant partiellement un environnement. Pour
permettre ce type danalyse dans notre cadre, il est ncessaire que les contraintes
possdent une forme particulire. Nous baptisons de teo-dnissables les contraintes
ligibles relativement la thorie teo et les dnissons comme suit :
Dnition 4.39. Soient teo une thorie de scurit et p
1
, . . . , p
n
lensemble
des prdicats de

Env
teo
= (o, T, T) tels que (
teo
(p
i
) = empty. Une contrainte
teo-dnissable est une formule du second ordre de la forme
q
1
, . . . , q
m
,
_
n

i=i
x
1
, . . . , x
n
i
, (p
i
(x
1
, . . . , x
n
i
)
i
)
_
o pour tout i,
i
est une formule sans quanticateur (contenant ventuellement
des galits) sur la signature

def
teo
= (o, T, p T [ (
teo
(p) ,= empty) et len-
semble de variables du second ordre A
1
= q
1
, . . . , q
m
. Par extension, on dsigne
par teo-dnissable toute formule (ventuellement du premier ordre) quivalente
une contrainte de la forme prsente.
Exemple 4.40. Considrons par exemple une thorie de scurit teo contenant
deux prdicats p
1
: s et p
2
: s tels que (
teo
(p
1
) = (
teo
(p
2
) = empty. La
contrainte = x, p
1
(x) p
2
(x) est teo-dnissable car peut scrire sous
la forme suivante :
q
1
: s, q
2
: s,
_
x : s, (p
1
(x) q
1
(x) q
2
(x))
x : s, (p
2
(x) q
2
(x))
Dnition 4.41. Soit teo une thorie de scurit. Une requte administrative
sur teo est une paire req | o est une contrainte teo-dnissable et req un terme
de T (
Act
teo
, A). Lensemble des solutions de la requte req | dans une politique
100
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.3. VRIFICATION
de scurit pol (suppose terminante, cohrente et complte), not ool
pol
(req | )
est donn par :
_
(, , d) [ cnv(teo), [= , d T
teo
, (req)


pol
d
_
Les solutions indiquent la dcision (d) prise par la politique en fonction des valeurs
des variables de la requte () et de conditions supplmentaires ().
Exemple 4.42. Considrons la politique prsente dans lexemple 4.18. On se
pose la question de lvaluation de la requte req = take(s, o, read) dans les
environnements vriant :
= s
t
:Subject, o
t
:Object,
_
_
_
s
t
= user(i
s
, l
s
)
o
t
= object(i
o
, l
o
)
accesses(s
t
, o
t
, write)
inf (l
s
, l
o
)
en fonction des valeurs de s et de o. (, req) est une requte administrative
sur teo car est teo-dnissable :

_
q
sudo
: Subject
q
acc
: Subject Object Mode
q
blacklist
: Subject
q
redlist
: Subject
,
_

_
x, sudo(x) q
sudo
(x)
x, y, z, accesses(x, y, z)
acc
x, blacklist(x) q
blacklist
(x)
x, redlist(x) q
redlist
(x)
o
acc
est la formule :
q
acc
(x, y, z) i
s
, l
s
, i
o
, l
o
,
_
_
x = user(i
s
, l
s
)
y = object(i
o
, l
o
)
z = write
_
_
inf (l
s
, l
o
)
Lensemble des solutions de req | est donn par :
(, blacklist(s), permit), (, blacklist(s), deny)
Il indique que lorsque est vrie, laccs en lecture un objet est accorde
un utilisateur si et seulement si il nest pas sur liste noire.
La question qui nous intresse dsormais est de savoir comment le cadre propos
permet de calculer les solutions dune requte administrative. Tout dabord, remar-
quons que la caractrisation des formules teo-dnissables correspond aux contraintes
qui peuvent tre reprsentes sous la forme dun terme avec variables sur la signature

AR
teo
.
Proposition 4.43. Soit teo une thorie de scurit et une contrainte teo-
dnissable. Il existe un systme de rcriture la racine !
def
AR
sur une extension

def
teo
de
AR
teo
et un terme
teo
() T (
def
teo
, A) tels que : [= ssi il existe une
101
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
substitution close telle que (
teo
())


1
def
AR

teo
().
cDmonstration. Soit une contrainte teo-dnissable exprime sous la forme ex-
pose dans la dnition 4.39, c.--d. sous la forme :
q
1
, . . . , q
m
,
_
n

i=i
x
1
, . . . , x
n
i
, (p
i
(x
1
, . . . , x
n
i
)
i
)
_
On associe chaque prdicat q quanti existentiellement une variable x
q
de sorte
Facts
q
< Facts et lon augmente la signature
AR
teo
des symboles suivants :
q : s
1
. . . s
n
Fact
q
,
nil
q
: Facts
q
cons
q
: Fact
q
Facts
q
Facts
q
Le systme !
def
AR
est compos des rgles C
i
[!
AR
] pour tout C
i
= x
1
, . . . , map
p
i
(),
. . . , x
n
ainsi que des rgles C
t
i
[map
p
i
] o C
t
i
= x
1
, . . . , , . . . , x
n
et map
p
i
est
lensemble de rgles :
map
p
i
(done(x)) map
aux
p
i
(done(x), [ ])
map
aux
p
i
(done( x
1
, . . . , x
n
:: q), l) map
aux
p
i
(done(q), p
i
(x
1
, . . . , x
n
) :: l)
map
aux
p
i
(done([ ]), l) l
Le terme map
p
1
(
teo
(
1
)), . . . , map
p
n
(
teo
(
n
)) correspond alors
teo
(). d
En consquence, la recherche des solutions dune requte administrative peut tre
rduite une union nie de problmes daccessibilit.
Proposition 4.44. Soit teo une thorie de scurit et req | une requte adminis-
trative sur teo. toute solution (, , d) de ool
pol
(req | ) correspond exactement
une solution du problme daccessibilit
teo
() req


1
pol
1
AR
teo
d.
Toute solution du problme daccessibilit
teo
() req


1
pol
1
AR
teo
d peut tre
partitionne en deux substitutions =
1

2
telles que Tom(
1
) 1ar(
teo
()) et
Tom(
2
) 1ar(req).
1
caractrise les conditions supplmentaires sous lesquelles

2
(req) est valu en d.
4.4 Travaux relis
Depuis une dizaines dannes, de nombreux travaux se sont attachs tablir des
cadres formels de spcication pour lanalyse de politiques dynamiques.
Le premier article paru en ce sens est [Jajodia et al., 2001]. Dans ce papier,
les auteurs prsentent un cadre logique baptis Flexible Authorization Framework
(FAF) permettant dexprimer et de mettre en oeuvre des politiques de contrle
daccs multiples. Dans FAF, les rgles sont spcies dans un style la Prolog
102
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
4.5. SYNTHSE
[Sterling and Shapiro, 1994]. Le cadre inclus notamment la notion dhistorique m-
morisant les accs eectus. En ce sens, ce travail constitue une premire tape vers
une dnition plus gnrique de la notion de politiques dynamiques. Dans la mme
veine, les travaux prsents dans [Becker and Sewell, 2004] proposent un langage et
un systme bas sur les rles pour exprimer les politiques. Le langage, Cassandra,
supporte le contrle daccs bas sur les certicats et se fonde sur une extension
de Datalog intgrant la notion de contraintes. Les faits voluent pour modliser les
eets de bords induits par lexcution des actions. Les politiques sont vues comme
des dclarations sur les donnes des requtes et sur les relations capturant les infor-
mations recueillies par lapplication. Une des principales limitations de ces travaux
est le caractre spcique de la dmarche aux politiques bass sur la notion de rles.
Dans [Dougherty et al., 2006], les auteurs prconisent galement une sparation
de la politique de scurit, dnie statiquement, du comportement dynamique du
programme et proposent une reprsentation de la politique dynamique induite par
ces deux lments (rgles statiques et programme). La notion denvironnement est
introduite sous la forme dun ensemble de faits caractrisant le systme. Lexcution
dune action est associe lajout ou la suppression de faits partir de lenviron-
nement duquel laction a t invoque. Les politiques de scurit sont modlises par
des programmes logiques Datalog de la forme suivante :
permit(x
1
, . . . , x
n
) p
1
(x
1
1
, . . . , x
1
n
1
) . . . p
k
(x
k
1
, . . . , x
k
n
k
)
deny(x
1
, . . . , x
n
) p
1
(x
1
1
, . . . , x
1
n
1
) . . . p
k
(x
k
1
, . . . , x
k
n
k
)
Les auteurs sattachent montrer que ce cadre permet danalyser formellement les
proprits de sret et de disponibilit. Cependant, lusage de Datalog limite le pou-
voir dexpression du cadre propos.
Dans [Becker, 2009], Becker propose un langage de spcication appel DynPAL
permettant de vrier les proprits de sret sur des politiques dynamiques poss-
dant un nombre non born dobjets. Le papier propose deux mthodes pour raisonner
sur laccessibilit et les invariants des politiques. Pour traiter le problme de lacces-
sibilit, la politique est traduite dans le langage PDDL [McDermott et al., 1998]. Les
proprits de sret sont vries en utilisant un prouveur de thormes du premier
ordre et rduit la vrication de lhypothse dinvariance un problme de validit
dune formule du premier ordre.
Dans [Becker and Nanz, 2010], un langage baptis SMP est prsent. Destin
dcrire les politiques avec eets de bords, le langage est fond sur la logique transac-
tionnelle. Cette logique est une extension de la logique des prdicats comportant
la fois une smantique dclarative et procdurale dcrivant les changements dtats
dune base de donnes dynamique. Le fragment retenu pour la description des poli-
tiques est bas sur Datalog. Il soure donc dune expressivit limite.
4.5 Synthse
Nous avons prsent dans ce chapitre un cadre permettant de spcier sparment
les rgles dune politique de scurit du systme sur lequel elle sapplique.
Les tats du systmes sont vus comme des interprtations logiques nies (en-
sembles nis de faits) et les transitions sont dcrites au moyen de rgles de mises
103
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 4. SPCIFICATION ET VRIFICATION DE POLITIQUES DYNAMIQUES
jour des interprtations. Les politiques sont exprimes au moyen de rgles de r-
criture contraintes par des formules du premier ordre. Nous avons ensuite dni la
notion de systme scuris, matrialisant le rsultat de lapplication dune politique
de scurit sur un systme.
Nous avons propos un langage dont la smantique oprationnelle des spcica-
tions est donne au moyen de systmes de rcriture. La mise en place dun langage
ddi permet dimposer des restrictions syntaxiques complexes sur la logique sous-
jacente (les systmes de rcriture) de faon transparente pour lutilisateur. En ce
sens, notre approche se distingue fortement de la plupart des approches formelles
proposes pour la spcication des politiques dans la littrature. La forme particu-
lire des systmes obtenus permet dutiliser les outils et techniques existants pour
analyser les politiques ainsi spcies : tude des proprits (cohrence, terminaison,
compltude), du problme de ladministration, comparaison des politiques et analyse
par requtage.
Une partie des travaux prsents dans ce chapitre ont t prsents dans
[Bourdier et al., 2010b, Bourdier et al., 2010c, Bourdier et al., 2011].
104
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5
Les politiques de scurit
dans les rseaux informa-
tiques
Sommaire
5.1 Firewalls : une introduction informelle . . . . . . . . . . . 107
5.2 Spcication formelle de rewalls . . . . . . . . . . . . . . 111
5.2.1 Vocabulaire et dnition . . . . . . . . . . . . . . . . . . . . 111
5.2.2 Smantique base sur les automates darbres . . . . . . . . 113
5.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.3.1 Proprits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.3.2 Analyse structurelle . . . . . . . . . . . . . . . . . . . . . . 120
5.3.3 Analyse par requtage . . . . . . . . . . . . . . . . . . . . . 125
5.4 Composition de rewalls . . . . . . . . . . . . . . . . . . . 126
5.4.1 Topologies de rseaux . . . . . . . . . . . . . . . . . . . . . 126
5.4.2 Politiques de scurit rseau . . . . . . . . . . . . . . . . . . 128
5.4.3 Stratgie de routage . . . . . . . . . . . . . . . . . . . . . . 130
5.4.4 Smantique par rcriture . . . . . . . . . . . . . . . . . . . 131
5.4.5 Proprits et analyse . . . . . . . . . . . . . . . . . . . . . . 140
5.5 Travaux relis . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.6 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
A
prs la seconde guerre mondiale, linformatique restait lapanage de grandes
entreprises qui pouvaient se permettre lacquisition de quelques ordinateurs.
La communication de station station seectuait alors au moyen de supports
amovibles. La taille et la complexit des organisations ayant cr signicativement,
105
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
la volont de faciliter la communication au sein dune mme structure sest vite res-
sentie, entranant la ncessit denvisager un autre moyen de communication plus
ecace. Cest ainsi que le premier mode de communication dit de poste--poste
vit le jour dans les annes soixante grce aux recherches menes par le consortium
DIX (Digital, Intel, Xerox). Il devenait alors possible de communiquer directement
avec un ordinateur central (mainframe) partir de sa station de travail. Ce nest que
vers la n de la dcnnie et laube des annes soixante-dix que le dveloppement
des vritables rseaux locaux (ou LAN
1
) a commenc, avec lide de ne plus nces-
sairement passer par un ordinateur principal. La dcentralisation de linformation
samorait alors, tandis que lide dune communication directe vers le monde ext-
rieur faisait son chemin. Cest en 1969 que le projet ARPA initi par le dpartement
de la dfense des Etats-Unis sest donn pour objectif de relier quatre centres univer-
sitaires (luniversit de Californie Los Angeles, linstitut de recherche de Stanford,
luniversit de Californie Santa Barbara et luniversit de lUtah). Le rseau ainsi
cr volua jusqu intgrer vingt-trois centres universitaires en 1971 puis plus de
cent en 1977. Les rseaux taient ns, les possibilits de communications dcuples
et par la mme la ncessit de protger les accs des machines (et des informations)
dsormais vulnrables.
Cest le 2 novembre 1988, onze annes plus tard, que se produisit linvitable.
Dans un communiqu de Peter Yee, chercheur la NASA, adress la commu-
naut scientique travaillant sur lInternet, on pouvait lire : Nous sommes actuel-
lement victimes dune attaque dun virus internet ! Il a frapp Berkeley, UC San
Diego, Lawrence Livermore, Stanford, ainsi que le centre de recherche de la NASA
[Avolio, 1999]. La communaut scientique et technique linitiative de cette for-
midable avance technologique quest lInternet ralisa alors quen permettant des
individus de communiquer librement, ils permettaient aussi des individus malinten-
tionns de sintroduire dans leurs systmes. On avait troqu un environnement sr et
conn pour un environnement ouvert et potentiellement hostile. Dautres attaques
se succdrent, faisant les choux gras de la presse et annonant la ncessit absolue
de scuriser les rseaux de communication. Les politiques de scurit simposrent
alors et les mcanismes pour les mettre en oeuvre, les fameux rewalls, apparurent.
Dvelopper une politique de scurit, nous lavons vu, nest pas chose aise mais
est une tape indispendable pour se prmunir des attaques dindividus malintention-
ns. Mettre en oeuvre une politique de scurit consiste garantir lapplication des
rgles de la politique par les mcanismes oprationnels fournis par le systme. Les
rewalls (ou pare-feux) sont prsents depuis toujours comme le principal moyen de
mettre en application une politique de scurit dans un rseau informatique. Nous
proposons dans ce chapitre un cadre pour analyser formellement la mise en oeuvre de
politiques de scurit rseau exprimes comme des combinaisons de rewalls. Dans
un premier temps, nous prsenterons informellement le fonctionnement des rewalls.
Nous poursuivrons ensuite en caractrisant formellement chacun des lments consti-
tutifs de ces derniers. Nous montrerons en quoi cette caractrisation permet de d-
montrer la dcidabilit dune large classe de problmes. Nous analyserons ensuite
la composition de rewalls. Une partie des travaux prsents dans ce chapitre a t
publie dans [Bourdier, 2011b] et [Bourdier and Cirstea, 2011].
1. Local Area Network
106
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.1. FIREWALLS : UNE INTRODUCTION INFORMELLE
5.1 Firewalls : une introduction informelle
Dans cette section, nous proposons denvisager les notions ncessaires la com-
prhension de ce chapitre en dehors de considrations trop techniques, garantissant
ainsi une prsentation simple et comprhensible des non spcialistes. Si lexpos de
ces lments est ralis dans un souci de simplication mais aussi de dlit la
ralit, il nchappera pas aux spcialistes de la question quun certain nombre de
subtilits sont passes sous silence an dviter toute digression nuisant au dvelop-
pement qui nous intresse.
Dans la suite, nous dsignerons par hte toute entit connecte au rseau. Les
notions de sujets, dobjets et daction nauront pas cours dans un premier temps. Une
interprtation de ces concepts sera donne dans la dernire section de ce chapitre.
Dans un rseau de communication, lorsquun hte souhaite transmettre un message
un autre hte, les donnes du message sont dcoupes et encapsules dans une
squence de paquets. Chaque paquet contient les donnes transmettre ainsi que
les informations ncessaires pour acheminer le paquet jusqu son destinataire. Len-
semble de ces informations supplmentaires est appel en-tte.
Lobjectif des rewalls est de contrler et de ltrer le trac transitant entre
dirents sous-rseaux. Rappelons quun sous-rseau est une subdivision logique du
rseau caractris par un ensemble dadresses IP. Les adresses (IP) sont un moyen
didentier les lments connects au rseau et ne peuvent possder au maximum
quune occurence au sein dun mme sous-rseau. Les adresses (IPv4
2
) sont des
squences de 32 bits scindes en deux parties : un prxe identiant le sous-rseau
auquel appartient lhte et un suxe, ou numro dhte , permettant didentier
un hte au sein de son sous-rseau.
Un rewall est donc une application qui contrle la transmission des paquets qui
le traverse partir des deux fonctionnalits suivantes :
le ltrage de paquet, qui consiste inspecter len-tte de chaque paquet pour
soit le laisser poursuivre son chemin, soit le dtruire et
la traduction dadresse rseau, qui consiste modier dans len-tte les infor-
mations relatives aux adresses de lmetteur et du destinataire du paquet.
Ainsi, les rewalls inspectent les paquets entrants et acceptent ou refusent de
les transmettre en basant leur dcision sur une liste de rgles. Chaque rgle associe
un motif dcrivant un ensemble de paquets une dcision particulire. Les critres les
plus souvent utiliss lors de linspection des paquets sont [Conoboy and Fictner, 2002,
Russell, 2002] ladresse de lmetteur du paquet (appele adresse source), celle de son
destinataire (appele adresse de destination), le protocole utilis et, lorsque le pro-
tocole est TCP ou UDP, un numro de port. Le processus de traduction dadresses,
ou NAT (pour network address translation), eectue une rcriture de ladresse
source du paquet avant le processus de ltrage (cette partie du processus est ap-
pele DNAT
3
, ou pr-routage) et, lissue du ltrage, rcrit ladresse de destina-
tion du paquet (cette partie du processus est appelle SNAT
4
, ou post-routage). Le
2. IPv4 est la version dInternet Protocol actuellement utilise dont un des objectifs est de fournir
un service dadressage unique pour lensemble des lments connects en rseau.
3. DNAT : Destination Network Address Translation
4. SNAT : Source Network Address Translation
107
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
diagramme suivant rsume le fonctionnement gnral dun rewall :
chaque tape (1, 2 and 3), le paquet entrant est compar une liste de rgles
et laction (traduire ladresse rseau de destination, accepter ou refuser la transmis-
sion et traduire ladresse rseau source) associe la premire rgle reconnaissant le
paquet est eectue. Il existe plusieurs types de traduction dadresses rseau. Nous
nous focalisons sur les types de traductions suivantes :
Le processus de traduction le plus simple est de type one-to-one (un pour un)
aussi appel NAT basique [Srisuresh and Holdrege, 1999] et consiste associer
statiquement une adresse IP avec une autre adresse IP :
_

_
ip
1
ip
t
1
ip
2
ip
t
2
.
.
.
ip
n
ip
t
n
Une autre mthode (masquerading) consiste associer un ensemble dadresses
IP avec une seule autre adresse IP. Dans ce cas, ce sont les numros de ports
qui permettent didentier la traduction en place : le numro du port source va
tre modi dynamiquement et servira identier ladresse IP dorigine. On
ne connat donc pas statiquement les associations qui seront eectues, le port
tant choisi dynamiquement dans un intervalle donn.
(ip
?
[ip
1
, ip
n
], port
?
) (ip
t
, port
t?
)
ip
?
[ip
1
, ip
n
] signie que ip
?
est une adresse IP quelconque appartenant
lintervalle [ip
1
, ip
n
].
Les techniques appeles port forwarding et port mapping, galement de type
one-to-one, consistent rediriger un paquet vers une machine prcise en fonc-
tion du port de destination de ce paquet. Toutes les informations sont connues
108
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.1. FIREWALLS : UNE INTRODUCTION INFORMELLE
statiquement :
(ip, port) (ip
t
, port
t
)
(dans le cas du port forwarding, port = port
t
)
Notation CIDR
La notation CIDR
[Fuller and Li, 2006] est
une forme dcriture des
adresses de sous-rseau
sous la forme dun couple
spar par un slash
dont le premier lment
indique ladresse en no-
tation dcimale pointe
de la plus petite adresse
IP appartenant au sous-
rseau et le second
indique le nombre de bits
de ladresse ddis au
prxe du sous-rseau.
Ainsi, 192.168.1.1/25
signie que les 25 pre-
miers bits de ladresse
correspondent ladresse
du sous-rseau, et que
les 32-25=7 bits restant
identient ladresse de
lordinateur hte lin-
trieur du sous-rseau.
On utilisera galement
la notation ip:pt pour
reprsenter le couple
compos de ladresse IP
ip et du port pt.
Dans la suite, nous supposerons que seul le protocole TCP est utilis et ne consid-
rerons que les champs relatifs aux adresses et aux ports. TCP est un protocole dit
orient connection . Cela signie que lorsquun paquet est envoy, il comporte une
information indiquant sil est le premier paquet dune communication donne ou sil
fait suite un paquet pralablement reu. Exemple :
192.168.1.1 1.2.3.4
src : 192.168.1.1:200
dest : 1.2.3.4:80
flag : SYN
src : 1.2.3.4:80
dest : 192.168.1.1:200
flag : ACK
1
2
Lhte dont ladresse est 192.168.1.1 a initi une communication avec lhte dont
ladresse est 1.2.3.4. Le paquet correspondant contient alors le ag SYN (pour SYN-
chronisation). Les paquets faisant suite ce premier change contiendront tous le
ag ACK (ACKnowledgment). Dans la suite, nous ne prciserons pas les drapeaux
de connection (SYN et ACK) et considrerons que dans le cas des rgles de ltrage ne
sont spcies que les autorisations correspondant des initialisations de connection.
Les paquets rponses correspondants seront implicitement accepts. Dans le cas
de la traduction dadresse, les rgles de masquerading dterminent linitialisation
de la connection le port qui sera utilis pour identier lhte dont ladresse est ca-
che et les paquets faisant suite cette initialisation utiliseront la correspondance
ainsi tablie. Nous considrerons galement que lintervalle de ports utilis pour le
masquerading correpond aux ports dont lcriture binaire commence par 11 (puisque
les ports sont dnis par 16 bits, il sagit de lintervalle [49152, 65535], parfois ap-
pel intervalle des ports dynamiques). En somme, les rgles de ltrage sont supposes
sappliquer aux paquets contenant le drapeau SYN et est suppose prsente une rgle
par dfaut pour les paquets contenant le drapeau ACK. Les rgles SNAT correspon-
dant une tape de masquerading seront supposes tre associes au drapeau SYN et
leurs homologues DNAT seront implicitement spcis et associs au drapeau ACK
(et ne sappliquent donc pas pour un paquet initialisant une connection).
Exemple 5.1. Considrons une architecture de rseau simple comportant
uniquement un rseau interne spar dInternet par un rewall. La plage
dadresses IP attribue au rseau interne est 192.168.1.1/25 (notation CIDR).
Les adresses des htes du rseau interne ne doivent pas tre visibles sur In-
ternet, cest pourquoi lon dote le rewall de rgles de traduction dadresses
faisant la correspondance entre les adresses internes 192.168.1.1/25 et leur
adresse publique 152.81.13.1 (masquerading). La politique de ltrage choisie
consiste permettre aux paquets provenant dInternet daccder au serveur
109
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
WEB uniquement. Pour cela, on redirige les requtes destination du port 80
du rewall (152.81.13.1) sur le port 80 du serveur (192.168.1.15). Les autres pa-
quets provenant dInternet sont jets. Les htes du rseau interne sont, quant
eux, uniquement autoriss consulter leurs emails avec le protocole SMTP
(le protocole de communication SMTP est ralis par lutilisation du port 25
du protocole de transport TCP).
Internet
Rseau interne : 192.168.1.1/25
Firewall
...
Serveur web
192.168.1.15
Les rgles de ltrage du rewall sont donc les suivantes :
IP address src IP address dest Port src Port dst Decision
192.168.1.15 80 accept
192.168.1.15 80 accept
192.168.1.1/25 25 accept
drop
et celles de traduction dadresses sont les suivantes :
SNAT/DNAT IP Address Port new IP Address New Port
SNAT 192.168.1.15 80 152.81.13.1 80
SNAT 192.168.1.1/25 152.81.13.1 dyn.
DNAT 152.81.13.1 80 192.168.1.15 80
Ainsi, un paquet en provenance dun hte identi sur internet par ladresse
IP 252.45.32.114 destination du port 80 de ladresse 152.81.13.1 sera traduit
(DNAT) en paquet destination de 192.168.1.15 (port 80) et sera ainsi dlivr
son destinataire (premire rgle de ltrage). En revanche, si ce mme paquet
110
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.2. SPCIFICATION FORMELLE DE FIREWALLS
tait destination de ladresse 152.81.13.1 sur le port 49153, deux cas de gure
se prsentent. Soit ce paquet fait rponse un paquet prcdent mis par un
hte et dans ce cas ladresse de destination (152.81.13.1 :3021) est traduite par
ladresse et le port utiliss par lhte lors de linitialisation de la connection.
Soit ce paquet est une initialisation de connection et dans ce cas, aucune rgle
DNAT ne sapplique et alors le paquet est jet (dernire rgle de ltrage).
5.2 Spcication formelle de rewalls
5.2.1 Vocabulaire et dnition
Paquets et sous-rseaux
Dans lobjectif de donner une smantique formelle chaque composant dun
rewall, nous avons besoin de dnir le vocabulaire partir duquel nous dcrirons
chacun des objets de notre tude (IP, paquets, . . . ). Comme dans le reste de ce
manuscrit, nous fondons notre travail sur une reprsentation symbolique de chacun
des lments tudis. Pour conserver un maximum de lisibilit, nous considrerons par
la suite que les lments ltrs par les rewalls sont rduits aux adresses et au ports.
Les autres informations, telles que les protocoles, les ags TCP, les tats,. . . peuvent
tre considres sans dicult majeure. La reprsentation symbolique retenue des
lments prcdemment dcrits est base sur la signature suivante :
0, 1 : Binary Binary
# : Binary
ip : Binary IP
port : Binary Port
packet : IP Port IP Port Packet
Les adresses IP sont dcrites par des termes clos de sorte IP correspondant
leur reprsentation binaire. Par exemple, ladresse IP 192.168.1.1 est symbolique-
ment reprsente par le terme ip(11000000101010000000000100000001(#))
(nous utiliserons la notation prxe pour les symboles de fonction 0 et 1) tant en-
tendu que la notation binaire de 192 est 11000000 et que celle de 168 est 10101000.
Nous procdons de la mme faon pour les ports (modulo le remplacement de ip
par port). Enn, les paquets sont reprsents par des termes de sorte Packet. Pour
des raisons de lisibilit, nous utiliserons dans ce papier la notation dcimale poin-
te pour reprsenter les adresses et la notation dcimale pour les ports. Par exemple,
packet(ip(192.168.1.1), port(80), ip(172.20.3.1), port(80)) doit sentendre comme
le terme packet(ip(t
s
), port(t
p
), ip(t
d
), port(t
p
)) o
_
_
_
t
s
= 10000000 10000000 00010101 00000011(#)
t
d
= 10000000 11000000 00101000 00110101(#)
et t
p
= 0000101000000000(#)
Par convenance, nous supposerons que tout terme de sorte IP (quelle que soit sa
taille) reprsente une adresse IP. Il reprsentera une adresse IPv4 (resp. IPv6) ssi il
contient exactement 32 (resp. 128) symboles 0 et 1.
111
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
Une autre notion quil est important de pouvoir caractriser symboliquement est
celle de sous-rseau. Rappelons quun sous-rseau est une subdivision logique dun
rseau IP caractrise par lensemble des adresses IP des htes quil contient. Les
adresses IPv4 sont composes de deux parties : un prxe caractrisant le sous-
rseau auquel ladresse appartient et un suxe correspondant au numro de lhte
dans le sous-rseau. Plus prcisment, lorsque lon dnit un sous-rseau, on dnit
un nombre n < max de bits (o max est 32 dans le cas des adresses IPv4 et 128
dans le cas IPv6) ainsi quune squence de n bits qui caractrise le prxe du sous-
rseau. Les max n bits restant servent identier lhte dans le sous-rseau. Par
exemple, le rseau (notation CIDR) 192.168.5.64/26 reprsente lensemble des htes
dont la reprsentation binaire des adresses IP possde les 26 mmes premiers bits
que la reprsentation binaire de 192.168.5.64. Puisque la seule relation dont nous
disposons pour comparer les termes est la relation de subsomption, la relation
dinclusion entre sous-rseaux (et dappartenance dune adresse un sous-rseau)
doit se caractriser par une relation de subsomption (et de ltrage) entre leurs re-
prsentations symboliques. La reprsentation symbolique des sous-rseaux devient
alors naturelle compte-tenu du fait que les adresses IP appartenant un sous-rseau
sont caractrises par un prxe commun. Tout sous-rseau sera donc reprsent par
un terme linaire de sorte IP (et rciproquement tout terme linaire de sorte IP re-
prsente un sous-rseau). Par exemple, le sous-rseau 192.128.0.1/10, caractris par
le prxe 1100000010, sera reprsent par le terme ip(1100000010(x)). Ainsi, len-
semble des adresses des htes de ce sous-rseau correspond lensemble des instances
closes de ce terme. Pour des raisons de lisibilit, nous emploierons la notation CIDR
pour reprsenter les sous-rseaux, mme symboliquement. Par exemple, la notation
ip(192.128.0.1/10[x]) sera utilise en lieu et place du terme ip(1100000010(x)).
Spcication des rgles
Pour spcier les rgles de rewalls, nous ajoutons la signature les deux
symboles suivants :
accept, drop : Decision
La dnition formelle dun rewall peut alors sexprimer de la faon suivante :
Dnition 5.2. Un rewall fw est la donne :
dun ensemble ordonn (ordre not <
fw
) Filter
fw
de rgles de la forme lhs
rhs o lhs est un terme linaire de sorte Packet et rhs un terme clos de sorte
Decision ;
de deux ensembles ordonns (ordre galement not <
fw
) Pre
fw
et Post
fw
de
rgles lhs rhs de lune des formes suivantes :
(i) lhs et rhs sont deux termes clos de sorte IP,
(ii) lhs et rhs sont deux termes clos de sorte Port,
(iii) lhs et rhs sont deux couples de termes clos de sorte IP Port,
(iv) lhs est un terme de sorte IP contenant une variable et rhs est un terme
clos de sorte IP (dans le cas de Post
fw
uniquement).
112
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.2. SPCIFICATION FORMELLE DE FIREWALLS
(i), (ii), (iii) correspondent aux rgles NAT de type one-to-one et le cas (iv)
correspond au masquerading (many-to-one).
Exemple 5.3. Le rewall dcrit dans lexemple 5.1 peut tre spci de la faon
suivante :
Filter
fw
contient les rgles (ordonnes) :
_

_
packet(x, y, ip(192.168.1.15), port(80)) accept
packet(ip(192.168.1.15), port(80), x, y) accept
packet(ip(192.168.1.1/25[x]), y, z, port(25)) accept
packet(x, y, z, u) drop
Pre
fw
contient la rgle :
_
ip(152.81.13.1), port(80) ip(192.168.1.15), port(80)
et Post
fw
contient les rgles :
_
ip(192.168.1.15), port(80) ip(152.81.13.1), port(80)
ip(192.168.1.1/25[y]) ip(152.81.13.1)
5.2.2 Smantique base sur les automates darbres
Dans cette section nous allons montrer que les analyses usuelles peuvent tre
eectues de faon automatique en munissant les rewalls dune smantique base
sur les automates darbres. Pour cela, il est ncessaire de montrer que lensemble des
paquets caractriss par les rgles des rewalls sont des ensembles rguliers puis de
montrer que la combinaison des rgles (dans le cas du ltrage et de la traduction
dadresse) prservent la rgularit.
Proposition 5.4. Lensemble des reprsentations symboliques des adresses IP
appartenant un sous-rseau donn est un ensemble rgulier.
Comme nous lavons dj voqu, lensemble des adresses IP dun sous-rseau
donn correspond lensemble des instances closes du terme linaire reprsentant
ce sous-rseau. De ce fait, cet ensemble est eectivement rgulier. Dans un soucis
decacit, nous nous proposons de ne pas reprsenter lensemble des adresses IP
dun sous-rseau par un automate reconnaissant les instances closes du terme cor-
respondant, et optons pour une reprsentation lgrement dirente. Pour rduire
la taille des automates considrs, les adresses IP seront reprsentes par le terme
correspondant la reprsentation inverse de leur notation binaire. Lautomate cor-
respondant est non seulement plus simple construire de faon automatique mais
possde galement des proprits particulires permettant deectuer les oprations
booleennes avec une complexit linaire. titre dexemple, considrons le sous-
rseau 128.0.0.1/2 caractris par le prxe 10. Lautomate dterministe minimal re-
connaissant lensemble des adresses de ce sous-rseau est le suivant (pour permettre
113
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
au lecteur dapprhender plus facilement les automates manipuls, ces derniers sont
reprsents par un graphe sagittal, ce qui est rendu possible par lusage de symboles
darit au plus 1) :
q
F
q
2
ip

q
1
1

q
0
0

o q
F
est lunique tat nal. Lautomate dterministe minimal reprsentant les no-
tations inverses des mmes adresses est le suivant :
q
F
q
2
ip

0,1

q
1
0

q
0
1

Cela vient du fait que les automates darbres que nous utilisons sont de type bottom-
up et quun automate de mots correspond un automate de type top-down .
tant entendu que les reprsentations des adresses IP sont dsormais inverses, don-
nons la procdure gnrale pour construire lautomate darbres reconnaissant les
adresses dun sous-rseau. Soit un sous-rseau caractris par le prxe b
1
, . . . , b
n
.
Lautomate minimal dterministe reconnaissant lensemble des adresses IP apparte-
nant ce sous-rseau est donn par :
_
_
_
ip(q
n
) q
F
0(q
n
) q
n
1(q
n
) q
n
_
_
_
b
i
(q
i1
) q
i
[ i = 1, . . . , n # q
0

Notons par ailleurs que si lon note E[n] le sous-ensemble de termes dun ensemble
quelconque de termes E qui sont de longueurs n, alors, pour toute opration boo-
lenne , on a E[n] F[n] = (E F)[n]. Autrement dit, il nest pas ncessaire
de restreindre les ensembles de termes aux termes valides avant deectuer des
calculs, la restriction pouvant se faire a posteriori. Nous pouvons donc considrer
dans la suite les automates reconnaissant des adresses IP de longueur arbitraire.
Rgles de ltrage
Commenons par donner la smantique des rgles de ltrage. Puisque T ()
Packet
reprsente lensemble de tous les paquets, alors toute rgle de ltrage r = lhs
rhs Filter
fw
est associ un sous-ensemble de T ()
Packet
correspondant lensemble
des paquets vriant toutes les conditions spcies par lhs. Pour tout paquet p
T ()
Packet
et toute rgle de ltrage r, on notera r
Filter
p pour indiquer que le
paquet p ltre la rgle r (i.e. vrie toutes les conditions de r). Puisque lhs est un
terme linaire, cet ensemble est lensemble des instances closes de lhs (modulo la
reprsentation inverse des adresses). On obtient donc le rsultat suivant :
Proposition 5.5. Pour toute rgle de ltrage r, lensemble
Filter
(r) = p
T ()
Packet
[ r
Filter
p est eectivement rgulier.
114
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.2. SPCIFICATION FORMELLE DE FIREWALLS
Ceci tant, puisque les rgles de ltrages sont values en fonction de lordre <
fw
(seule la premire rgle ltre est applique), alors, lensemble des paquets qui ltrent
eectivement une rgle dpend de lensemble des rgles plus prioritaires. Pour tout
rewall fw et pour toute rgle de ltrage r de fw, nous dnissons la relation
fw
Filter
de la faon suivante : r
fw
Filter
p ssi r
Filter
p et sil nexiste aucune rgle plus
prioritaire r
t
<
fw
r dans Filter
fw
telle que r
t

Filter
p.
Proposition 5.6. Pour tout rewall fw et pour toute rgle de ltrage r Filter
fw
,
lensemble
fw
Filter
(r) = p T ()
Packet
[ r
fw
Filter
p est eectivement rgulier.
Nous avons vu que lobjectif dune rgle de ltrage est dassocier un certain
ensemble de paquets une dcision (accept ou drop). On peut ainsi voir toute
rgle de ltrage r comme une fonction partielle
r

Filter
associant tout paquet p tel
que r
Filter
p un lment de accept, drop. De plus, comme prcdemment,
nous dnissons une fonction partielle
r

fw
Filter
associant chaque paquet p tel que
r
fw
Filter
p la dcision (accept ou drop) associe r.
Proposition 5.7. Pour tout rewall fw et pour toute rgle de ltrage r Filter
fw
,
les fonctions partielles
r

Filter
et
r

fw
Filter
sont eectivement fortement rgulires
(en tant que relations, puisquune fonction est une relation particulire).
Enn, on fait correspondre tout rewall fw une smantique de ltrage sous
la forme dune fonction associant tout paquet une dcision. Cette fonction est, par
dnition :

fw
Filter
=
_
rFilter
fw
r

fw
Filter
(o les fonctions
r

fw
Filter
sont vues comme des relations dont les domaines sont deux
deux disjoints). On obtient la proposition suivante :
Proposition 5.8. Pour tout rewall fw,
fw
Filter
est eectivement fortement
rgulire.
Rgles de traduction dadresses
Lobjectif des rgles de traduction dadresse est de transformer un paquet en un
autre paquet (possiblement identique). Chaque rgle r de Post
fw
peut donc tre vue
comme une relation partielle
r

Post
de T ()
Packet
dans T ()
Packet
.
Un raisonnement similaire au cas des rgles de ltrage nous conduit dnir pour
chaque rgle r Post
fw
les relations r
Post
p et r
fw
Post
p signiant respectivement
que :
p ltre les conditions de la rgle r
p ltre les conditions de la rgle r et ne rpond aux conditions daucune rgle
plus prioritaire r
t
<
fw
r.
115
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
Proposition 5.9. Pour toute rgle de post-routage r,
r

Post
est eectivement
rgulire.
Pour montrer cette proposition, nous avons besoin dune proprit de fermeture
particulire sur les relations rgulires.
Lemme 5.10. Soit R une relation rgulire et C un contexte. La relation
(C[t
1
], . . . , C[t
n
]) [ (t
1
, . . . , t
n
) R est rgulire (mais non fortement rgulire).
cDmonstration. Notons A = (
n
, Q, F, ) lautomate reconnaissant R. Soit q

[
Tos(C) un ensemble dtats disjoint de Q. Pour toute position de Tos(C) telle
que C() ,= , on dnit lensemble de rgles rec

(C) suivant :
C(), . . . , C() (q
1
, . . . , q
m
) q

o m est larit du symbole C(), et pour tout 1 i m, q


i
est soit q
.i
si
C(.i) ,= , soit un lment de F sinon. Lautomate
A
t
=
_
_

n
, Q q

[ Tos(C), C() ,= , q

,
_
1os(C),C(),=
rec

(C)
_
_
reconnat la relation (C[t
1
], . . . , C[t
n
]) [ (t
1
, . . . , t
n
) R. d
La dmonstration prcdente peut tre adapte en considrant des contextes com-
portant plusieurs trous ( remplir avec plusieurs relations rgulires). On obtient
alors la proposition suivante :
Proposition 5.11. Soit R
1
, . . . , R
m
des relations n-aires rgulires et t un terme
linaire contenant exactement m variables x
1
, . . . , x
m
(vu comme un contexte
m trous). La relation
t[R
1
, . . . , R
m
] = (
1
(t), . . . ,
n
(t)) [ i [1, m], (
1
(x
i
), . . . ,
n
(x
i
)) R
i

est rgulire.
Dmontrons maintenant la proposition 5.9.
cDmonstration. Soit r = lhs rhs une rgle de traduction dadresse. Quatre cas
sont possibles :
(i) lhs et rhs sont deux termes clos de sorte IP.
Dans ce cas, soient t = packet(x
1
, x
2
, x
3
, x
4
) un terme linaire, Id
s
la rela-
tion binaire rgulire (t, t) [ t T ()
s
et rec(lhs, rhs) la relation rgulire
(lhs, rhs). La relation
r

Post
est alors gale :
t[Id
IP
, Id
Port
, rec(lhs, rhs), Id
port
]
116
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.2. SPCIFICATION FORMELLE DE FIREWALLS
(ii) lhs et rhs sont deux termes clos de sorte Port, dans ce cas, la relation
r

Post
est gale :
t[Id
IP
, Id
Port
, Id
IP
, rec(lhs, rhs)]
(iii) lhs et rhs sont deux couples de termes clos (lhs
ip
, lhs
port
) et (rhs
ip
, rhs
port
)
de sorte IP Port. Dans ce cas, la relation
r

Post
est gale :
t[Id
IP
, Id
Port
, rec(lhs
ip
, rhs
ip
), rec(lhs
port
, rhs
port
)]
(iv) lhs est un terme de sorte IP contenant une variable et rhs est un terme clos
de sorte IP. Nous avons vu que de telles rgles expriment lassociation entre
lensemble de toutes les destinations dont ladresse IP est caractrise par le
terme clos rhs et dont le port peut tre nimporte quel port dont lcriture
binaire commence par 11 avec lensemble des adresses dnotes par lhs. No-
tons rec(lhs) lensemble rgulier des instances closes de lhs. rec(lhs) rhs
est un ensemble fortement rgulier donc rgulier. Lensemble des ports dyna-
miques correspond lensemble rgulier rec(port(11(x))) des instances closes
de port(11(x)). La relation
r

Post
peut donc sexprimer de la faon suivante :
t[rec(lhs) rhs, rec(port(y)) rec(port(11(x))), Id
IP
, Id
Port
]
d
Comme dans le cas des rgles de ltrage, la smantique dune rgle de traduc-
tion dadresse dpend de lensemble des autres rgles de traduction plus prioritaires.
Notons
r

fw
Post
la smantique dune rgle r compte-tenu des autres rgles prsentes
dans Pre
fw
. Il sagit dune relation de T ()
Packet
dans T ()
Packet
.
Proposition 5.12. Pour tout rewall fw et pour toute rgle r Post
fw
, la relation
r

fw
Post
est eectivement rgulire.
Lorsquaucune rgle ne ltre un paquet donn, alors ce dernier nest pas trans-
form. En dautres termes, la rgle sappliquant par dfaut est lidentit. On peut
donc obtenir la smantique de lensemble des rgles SNAT dun rewall partir du
calcul suivant :

fw
Post
=
_
_
_
rPost
fw
r

fw
Post
_
_
id
[Packet\

rPost
fw
_
Post
(r)

Packet
On obtient ainsi le rsultat suivant :
Proposition 5.13. Pour tout rewall fw,
fw
Post
est eectivement rgulier.
Toutes les dnitions et proprits nonces pour SNAT sont valables pour DNAT.
La smantique des rgles DNAT dire cependant de celles de SNAT dans la mesure
117
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
o lensemble DNAT doit tre augment dune rgle implicite eectuant la traduc-
tion inverse des rgles de masquerading de DNAT. En notant Post
masq
fw
lensemble
des rgles de masquerading, la smantique des rgles DNAT est obtenue par le calcul
suivant :

fw
Pre
=
_
_
_
_
rPost
masq
fw
_
r

fw
Post
_
1
_
_
_

_
_
_
rPre
fw
r

fw
Pre
_
_
[Packet\

rPost
masq
fw
_
Post
(r)

Packet
id
[Packet\

rPre
fw
_
Pre
(r)

Packet
On rappelle que si R est une relation binaire (fortement) rgulire, alors R
1
lest
aussi.
Smantique dun rewall
Nous avons vu dans la section 5.1 que lorsquun paquet p passe travers un
rewall fw, les tapes suivantes sont appliques successivement :
p est rcrit en un autre paquet p
t
par les rgles de prroutage (DNAT),
p
t
est soit jet soit accept,
si le paquet p
t
est accept, alors il est rcrit en un autre paquet p
tt
par les
rgles de postroutage (SNAT).
On peut ainsi voir un rewall fw comme une relation associant tout paquet p
T ()
Packet
soit un autre paquet soit drop. Notons
fw
cette relation.
Proposition 5.14. Pour tout rewall fw, la relation
fw
est eectivement rgu-
lire.
cDmonstration.
fw
=

2
_
.
3
(
fw
Pre
) .
1,3
(
fw
Filter
)
1
(accept) .
1
(
fw
Post
)
_

2
_

fw
Pre
.
1
(
fw
Filter
)
1
(drop)
_
drop
d
5.3 Applications
Nous allons montrer dans cette section que les analyses usuelles peuvent sexpri-
mer au moyen doprations (prservant la rgularit) sur des ensembles et des rela-
tions dont nous avons montr la rgularit. Nous montrerons galement que notre
approche nous permet denvisager daller plus loin dans ces analyses.
118
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.3. APPLICATIONS
5.3.1 Proprits
Si lon considre les rewalls comme des processus de dcision associant chaque
paquet entrant une dcision qui est soit drop soit un autre paquet, alors les proprits
suivantes sont pertinentes analyser : la cohrence, indiquant quau plus une dcision
est prise pour un paquet donn, la terminaison, assurant quun rewall dtermine
les dcisions en temps ni et la compltude, signiant que pour tout paquet entrant,
le rewall retourne une dcision. Un autre problme quil est important de savoir
traiter est la possibilit de comparer dirents rewalls.
Par construction, chaque rewall caractrise un processus de dcision qui termine
(nombre xe dtapes de calcul) et est cohrent. Remarquons toutefois que la notion
de cohrence mrite dtre prcise. En eet, les rgles de masquerading permettent
au rewall de traduire diremment un paquet entrant en fonction des ports dyna-
miques disponibles. Pour autant, nous considrons que les rewalls engendrent des
processus de dcision cohrents dans le sens o il nest pas possible dobtenir une
dcision positive et une dcision ngative pour un mme paquet entrant. Bien que
cohrents, les rewalls sont indterministes lorsque des rgles de masquerading sont
prsentes. Nous reviendrons sur les consquences de lindterminisme lors de ltude
de la composition des rewalls. Le caractre dterministe des rewalls ninue pas
sur lanalyse dun rewall indpendant. Ceci tant, focalisons nous sur la notion de
compltude et sur la comparaison des rewalls. Pour cela, introduisons la notion de
domaine de dcision.
Dnition 5.15. On appelle domaine de dcision dun rewall fw lensemble
des paquets auxquels fw associe une dcision, autrement dit Tom(
fw
).
Proposition 5.16. Pour tout rewall fw, Tom(
fw
) est un ensemble eective-
ment rgulier.
Il sagit de la projection sur la premire composante de
fw
:
1
(
fw
).
Dnition 5.17. Un rewall fw est dit complet ssi Tom(
fw
) = T ()
Packet
.
Dans la mesure o Tom(
fw
) et T ()
Packet
sont deux ensembles rguliers, on
obtient la proprit suivante :
Proposition 5.18. La compltude est dcidable.
Dans le cas de rewalls complets, il peut tre important de dterminer si un
rewall est plus ou moins permissif quun autre. Par plus permissif on entend
autorise au moins le mme trac . Un tel ordre nest videmment pas total.
119
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
Dnition 5.19. On dnit lordre partiel _ sur lensemble des rewalls com-
plets de la faon suivante : pour tous rewalls complets fw et fw
t
, fw _ fw
t
(fw
t
est
plus permissif que fw) ssi pour tous p, p
t
T ()
Packet
, si p
fw
p
t
alors p
fw
p
t
.
On crira fw fw
t
ssi fw _ fw
t
et fw
t
_ fw. Notez que est une relation
dquivalence et que fw fw
t
ssi
fw
=
fw
.
Proposition 5.20. La relation dordre _ (et en consquence la relation dqui-
valence ) est dcidable.
cDmonstration. Il sut de calculer les automates reconnaissant les restrictions de
fw
et
fw
lensemble des paquets qui ne sont pas associs drop et de tester
linclusion entre ces deux relations (vues comme des ensembles). d
5.3.2 Analyse structurelle
Le principe de lanalyse structurelle consiste dtecter les erreurs de congura-
tions (aussi appeles anomalies) dans les rgles dun rewall. La notion derreur de
congurations correspond la prsence de relations suspicieuses entre les rgles dun
rewall. Si certaines de ces relations manifestent sans aucun doute des anomalies de
conception (par exemple lorsquune rgle ltre un ensemble de paquets dj ltrs
par dautres rgles plus prioritaires), certaines relations nindiquent que de poten-
tielles erreurs. Cest le cas notamment des rgles ltrant un ensemble de paquets dont
une partie seulement a dj t ltre par une rgle plus prioritaire. Si la prsence
de telles rgles peut dnoter une potentielle erreur, cela peut galement traduire une
simple prfrence de ladministrateur dans sa faon de congurer les rgles. Notre ob-
jectif nest pas de discuter de la pertinence des anomalies traites dans la littrature
ni mme den proposer de nouvelles. Nous souhaitons en revanche montrer que notre
approche est particulirement adapte ltude de ces dernires. Pour un aperu
complet des anomalies, nous conseillons au lecteur de consulter les articles suivants :
[Cuppens et al., 2006, Hamed and Al-Shaer, 2006]. La gure 5.1 rappelle lensemble
des relations que nous avons montr rgulires (les relations ternaires comportent un
point indiquant lemplacement du second argument).
Il est bien connu que le calcul du premier ordre est intimement li lalgbre
relationnelle [Codd, 1972] et que lensemble des solutions dune formule du premier
ordre dans une interprtation donne peut tre calcul au moyen doprations de
lalgbre relationnelle sur les interprtations des relations. Par ailleurs, nous avons
voqu dans un prcdent chapitre que les oprations fondamentales de lalgbre
relationnelle (oprations boolennes, projections, cylindrication, produit cartsien)
prservent de faon eective la rgularit des relations et que les relations et en-
sembles de bases (ensemble des termes dune sorte donne et relation identit) sont
rguliers. Ceci nous permet denvisager la dnition de proprits sous la forme de
formules du premier ordre et, en considrant les rewalls comme des interprtations
des symboles de prdicats utiliss, lobtention automatique de lalgorithme de vri-
cation correspondant. Nous dnissons dans ce but la thorie suivante :
120
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.3. APPLICATIONS
(i)
Filter
(ii)
Post
(iii)
Pre
(iv)
fw
Filter
(v)
fw
Post
(vi)
fw
Pre
(vii)

Filter
(viii)

Post
(ix)

Pre
(x)

fw
Filter
(xi)

fw
Post
(xii)

fw
Pre
(xiii)
fw
Filter
(xiv)
fw
Post
(xv)
fw
Pre
(xvi)
fw

Figure 5.1 Relations associes la thorie dun rewall fw


Dnition 5.21. Pour tout rewall fw, on dnit T
fw
comme tant la thorie du
premier ordre base sur la syntaxe suivante :
Constantes : rgles de fw, termes clos de sorte Packet, dcisions (accept et
drop)
Symboles de prdicats : symboles donns par la gure 5.1 et <
fw
Quanticateurs : et
Variables : tout ensemble dnombrable
Connecteurs : , , ,
et dont la smantique est la suivante :
les termes sont interprts trivialement par eux-mmes,
les prdicats sont interprts par les relations prsentes dans la section pr-
cdente.
Les ensembles et relations de la thorie sont soit nis (ensembles des rgles, <
fw
),
soit rguliers. En consquence, on obtient la proposition suivante :
Proposition 5.22. Pour tout rewall fw, la thorie T
fw
est dcidable (ce qui
signie que lon peut dterminer la validit de toute formule de la thorie). De plus,
pour toute formule de T
fw
, on peut calculer un automate darbres reconnaissant
lensemble des solutions de la formule (i.e. lensemble des valuations des variables
libres rendant la formule vraie).
Un algorithme possible pour calculer lautomate associ une formule de T
fw
peut tre tabli en suivant lapproche dcrite dans [Dauchet and Tison, 1990]. En
substance, il sagit deectuer les oprations suivantes :
mettre la formule sous forme polie ;
linariser les atomes
(p(. . . , x, . . . , x, . . .) tant quivalent y, p(. . . , x, . . . , y, . . .) x = y) ;
sortir les termes clos des atomes
(p(. . . , t, . . .) tant quivalent y, p(. . . , y, . . .) y = t) ;
transformer tous les quanticateurs universels en quanticateurs existentiels ;
mettre la formule obtenue en forme normale disjonctive (i.e. sous la forme de
disjonctions de conjonctions) ;
121
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
descendre les quanticateurs existentiels le plus bas possible dans larbre de la
formule ;
remplacer toute galit entre variables x = y par latome Id(x, y) (Id tant
interprt par la relation rgulire identit) ;
remplacer toute galit entre une variable et un terme clos x = t par latome
rec
t
(x) o rec
t
est interprt par lensemble (rgulier) t ;
remplacer les ngations par loprateur de complmentarit (p(. . .) devient
p(. . .)) ;
cylindrier les atomes en conjonction (ou disjonction) de telle sorte ce quils
aient exactement les mmes variables (p(x, . . .)q(y, . . .) devient (.
2
p)(x, y, . . .)
(.
1
q)(x, y, . . .)) ;
intervertir les composantes des atomes en conjonction (ou disjonction) de telle
sorte ce que leurs variables apparaissent dans le mme ordre (lopration
dinversion des composantes prserve la rgularit) ;
remplacer les conjonctions par des intersections (p(x
1
, . . . , x
n
) q(x
1
, . . . , x
n
)
devient (p q)(x
1
, . . . , x
n
)) ;
remplacer les quanticateurs existentiels par des projections (x
k
, p(x
1
, . . . , x
n
)
devient (
k
p)(x
1
, . . . , x
k1
, x
k+1
, . . . , x
n
)) ;
remplacer les disjonctions par des unions.
Lapplication de ces rgles jusqu lobtention dun seul atome permet dobtenir le
calcul eectuer sur les automates correspondant aux interprtations des prdicats
pour obtenir lautomate reconnaissant les valeurs des variables libres validant la
formule.
Exemple 5.23. Soient p un prdicat binaire interprt par une relation bi-
naire rgulire, t un terme clos et la formule p(y, t) z.(p(z, t) (z =
y p(z, y))). Lapplication des rgles prcdentes transforme cette formule
en lexpression suivante :
_

2
(p .
1
rec
t
)
1
__
.
2
(
2
(p .
1
rec
t
)) Id p
__
_
. .

(y)
Lvaluation de lexpression retourne un automate darbres reconnaissant
lensemble des valeurs t telles que y t() soit vrai (dans linterprtation
de Herbrand dans laquelle p est interprt par un automate darbres du mme
nom).
Par ailleurs, nous pouvons aisment montrer que les anomalies prsentes dans
la littrature peuvent sexprimer comme des formules de T
fw
. Il serait bien entendu
fastidieux et peu pertinent de procder cet exercice pour toutes les anomalies
usuelles, cest pourquoi nous nous contenterons de traiter un exemple derreur de
conguration particulier : le shadowing. Rappelons en premier lieu sa dnition :
Dnition 5.24. Un rewall possde la proprit de shadowing (ou de masquage)
ssi il contient une rgle de ltrage telle que tous les paquets accepts (resp. refuss)
par cette rgle sont refuss (resp. accepts) par une rgle plus prioritaire. Dans ce
122
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.3. APPLICATIONS
cas, la rgle concerne est dite masque.
Proposition 5.25. La proprit de masquage peut tre exprime par une formule
de T
fw
.
En eet, si lon note Shadowed
fw
(r) la proprit indiquant que la rgle r est
masque, alors Shadowed
fw
(r) peut tre dni par la formule suivante :
p: p
r

fw
Filter
accept (r
t
: r
t
<
fw
r p
r

fw
Filter
drop)
p: p
r

fw
Filter
drop (r
t
: r
t
<
fw
r p
r

fw
Filter
accept)
Dans ce cadre, la question qui se pose ensuite est de savoir si la dmarche pro-
pose est raisonnablement ecace. Il est en eet connu que les oprations sur les
automates darbres sont dune complexit leve en gnral. On peut cependant re-
marquer que dans notre cas la complexit des oprations est principalement lie
la reprsentation des adresses. Focalisons donc notre discussion sur les adresses et
leur reprsentation. Nous avons fait le choix de dcrire les adresses comme des mots
0, 1 (ou de faon quivalente des termes construits sur les symboles monadiques
0 et 1 et sur la constante #). Pour simplier les explications, nous considerons les
automates de mots (la correspondance avec les automates darbres sobtient, comme
voqu dans la section prcdente, en inversant lordre de lecture des symboles). Une
bonne proprit des ensembles dadresses manipuls est que lautomate dterministe
minimal correspondant possde une forme particulire : il ne comporte aucune boucle
lexception de son unique tat nal bouclant sur tous les symboles de lalphabet.
Qualions un langage de n-prxe (ou simplement prxe) lorsquil est de la forme

1
.A

. . .
n
.A

o A est un alphabet et
i
sont des mots sur A. On utilise ici
la notation usuelle des expressions rgulires de mots. A

reprsente lensemble des


mots de taille quelconque sur A. Notons Tref
n
A
la classe des langages n-prxes sur
lalphabet A et Tref
A
=

n0
Tref
n
A
.
Proposition 5.26. La classe Tref
A
est stable pour les oprations boolennes.
De plus, ces oprations peuvent tre eectues en complexit linaire.
Proposition 5.27. Soient L
1
et L
2
deux langages prxes. Alors, lautomate
minimal dterministe reconnaissant L
1
L
2
(resp. L
1
), o est une opration
boolenne, peut tre calcul en O(n
1
+ n
2
) (resp. O(n
1
)) o n
i
est le nombre de
transitions de lautomate minimal dterministe reconnaissant L
i
.
cDmonstration. Nous eectuons la dmonstration en utilisant les notations relatives
aux automates darbres. Soit A = (, Q
A
, F
A
,
A
) et B = (, Q
B
, F
B
,
B
) deux auto-
mates darbres nis minimaux dterministes reconnaissant deux langages prxes sur
les symboles 0 et 1 et la constante #. La construction de C = AB = (, Q
C
, F
C
,
C
)
123
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
sobtient par lapplication des rgles suivantes (c--d la construction des plus petits
ensembles Q
C
, F
C
et
C
tels que le dnominateur de chaque rgle est vri pour
toute valeur rendant vrai le numrateur correspondant) :
(i)
#
A
q ; #
B
q
t
(q, q
t
) Q
C
; #
C
(q, q
t
)
(ii)
(q, q
t
) Q
C
; a 0, 1 ; a(q)
A
p ; a(q
t
)
B
p
t
(p, p
t
) Q
C
; a(q, q
t
)
C
(p, p
t
)
(iii)
(q, q
t
) Q
C
; a 0, 1 ; a(q)
A
p ; q
t
F
B
(p, q
t
) Q
C
; a(q, q
t
)
C
(p, q
t
)
(iv)
(q, q
t
) Q
C
; a 0, 1 ; q F
A
; a(q
t
)
B
p
t
(q, p
t
) Q
C
; a(q, p
t
)
C
(q, p
t
)
(v)
(q, q
t
) Q
C
; q F
A
; q
t
F
B
(q, q
t
) F
C
; 0(q, q
t
)
C
(q, q
t
) ; 1(q, q
t
)
C
(q, q
t
)
La construction de C = A B sobtient par lapplication des rgles suivantes :
(i)
#
A
q ; #
B
q
t
(q, q
t
) Q
C
; #
C
(q, q
t
)
(ii)
(q, q
t
) Q
C
; a 0, 1 ; a(q)
A
p ; a(q
t
)
B
p
t
(p, p
t
) Q
C
; a(q, q
t
)
C
(p, p
t
)
(iii)
(q, q
t
) Q
C
; a 0, 1 ; a(q)
A
p ; p
t
, a(q
t
)
B
p
t
(p, p
fresh
) Q
C
; a(q, q
t
)
C
(p, p
fresh
)
(iv)
(q, q
t
) Q
C
; a 0, 1 ; p, a(q)
A
p ; a(q
t
)
B
p
t
(p
fresh
, p
t
) Q
C
; a(q, q
t
)
C
(p
fresh
, p)
(v)
(q, q
t
) Q
C
; q F
A
(q, q
t
) F
C
; 0(q, q
t
)
C
(q, q
t
) ; 1(q, q
t
)
C
(q, q
t
)
(v)
(q, q
t
) Q
C
; q
t
F
B
(q, q
t
) F
C
; 0(q, q
t
)
C
(q, q
t
) ; 1(q, q
t
)
C
(q, q
t
)
Dans les deux cas, il sagit deectuer un parcours parallle des deux automates
A et B et dappliquer la rgle qui correspond la description des tats courants.
124
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.3. APPLICATIONS
Enn, la construction de C = A sobtient par lapplication des rgles suivantes :
(i)
#
A
q ; q / F
A
q Q
C
; #
C
q
(ii)
q Q
C
; a 0, 1 ; a(q)
A
q
t
; q
t
/ F
A
q
t
Q
C
; a(q)
C
q
t
(iii)
q Q
C
; a 0, 1 ; q
t
, a(q)
A
q
t
q
fresh
Q
C
et F
C
; 0(q
fresh
)
C
q
fresh
; 1(q
fresh
)
C
q
fresh
Les automates obtenus sont dterministes mais pas minimaux. Pour les rendres mi-
nimaux, il sut deectuer un parcours invers de lautomate obtenu en fusionnant
les transitions similaires : il sagit dune sorte de dterminisation de lautomate
invers, cest dire dans lequel les tats naux sont considrs comme initiaux mais
qui ne ncessite que n [ Q
C
[ pas puisque chaque transition est implique dans
exactement une tape de dterminisation. Il sut ensuite dappliquer la rgle sui-
vante :
0(q) q
t
; 1(q) q
t
; F = q
t

F
min
= q ; q
t
/ Q
min
qui ne ncessite quun seul parcours des transitions de lautomate considr. d
5.3.3 Analyse par requtage
Le second principal type danalyse trait dans la littrature est lanalyse par re-
qutage. Nous avons dj voqu ce type danalyse dans les chapitres prcdents.
Comme prcdemment, ce type danalyse a pour objectif dassister ladministrateur
dun rewall dans sa matrise du comportement de ce dernier en lui permettant dva-
luer des requtes de son choix du type quels htes du sous-rseau 192.168.1.1/22
peuvent recevoir des paquets de la part dun hte du sous-rseau 172.20.1.1/24 ? . De
nombreux travaux se sont attachs laborer des algorithmes ddis lanalyse par
requtage dans le cas des rewalls [Marmorstein and Kearns, 2005],
[Liu and Gouda, 2009]. Pour capturer la classe de requtes prsente par exemple
dans [Liu and Gouda, 2009], il est susant dtendre lgrement lensemble des for-
mules de la thorie T
fw
. En ltat, T
fw
ne permet pas de raisonner sur les dirents
champs des paquets (adresses source et destination, . . . ). Nous ajoutons donc les
lments syntaxiques suivants T
fw
:
les termes linaires de sorte Packet dont les variables sont de sorte IP ou Port,
les sous-rseaux (vus comme des constantes),
un prdicat binaire entre les termes de sorte Packet et les sous-rseaux.
Cette extension de T
fw
prserve la proposition 5.22.
Exemple 5.28. Considrons un rewall fw sparant un rseau priv dInternet.
Nous souhaitons dterminer partir de quelle adresse IP du rseau interne et
de quel port il est possible daccder la page web de lINRIA. tant entendu
que ladresse IP du site de lINRIA est 193.51.193.149 et que celle du rseau
125
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
interne est 192.168.1.1/22, notre requte peut sexprimer de la faon suivante :
(ip
1
, p
1
) =
_
ip
1
192.168.1.1/22 ip
2
, p
2
:
packet(ip
1
, p
1
, ip
2
, 80)
fw
packet(ip
2
, p
2
, 193.51.193.149, 80)
5.4 Composition de rewalls
Une politique de scurit rseau est gnralement dploye en utilisant plusieurs
rewalls. Nous avons tudi dans la section prcdente les mthodes danalyse de
rewalls lorsquils sont considrs isolemment. La composition de rewalls va gn-
ralement au del de la simple juxtaposition et fait intervenir des mcanismes com-
plexes comme le routage. Les consquences de lapplication de ces mcanismes sont
par ailleurs dpendantes du fonctionnement des rgles de traduction dadresses (ce
qui explique que lon parle de pr- et de post-routage). On comprend alors quil
nest en gnral pas susant danalyser des rewalls dans leur individualit pour
sassurer que leur composition satisfasse les proprits exiges. Bien que le routage
puisse engendrer des problmes de scurit majeurs, il sagit dun lment souvent
nglig dans les processus danalyse de politiques de scurit rseau. Ils peuvent par
exemple engendrer des boucles dans le processus dacheminement des paquets et
provoquer en consquence des problmes de congestion voire de dni de service. De
plus, linteraction entre les rgles de routage et les rgles des rewalls peut aboutir
un acheminement dirent des paquets en fonction du chemin quils empruntent,
rendant ainsi la politique de scurit ambige.
Les eets induits par linteraction entre le processus de routage et les rewalls
rend la smantique de la politique de scurit globale dicile apprhender et ce,
particulirement dans les rseaux importants dont la topologie est complexe. Nous
nous proposons dans cette section de spcier la topologie du rseau ainsi que les
rgles de routage an de pouvoir analyser la politique de scurit globale du rseau.
5.4.1 Topologies de rseaux
Dans loptique de spcier la topologie du rseau ainsi que la composition des
rewalls, il est ncessaire de modliser de nouveaux lments : lidentication des
sous-rseaux, la localisation des htes de scurit (cest dire les noeuds du rseau
dans lesquels sont dploys les rewalls en tant quentits logiques) ainsi que les
connections entre les sous-rseaux et les htes de scurit.
Nous lavons dj voqu, un sous-rseau peut tre vu comme une unit logique
consistant en un ensemble dhtes qui peuvent communiquer mutuellement sans pas-
ser par lintermdiaire dun hte de scurit. Il correspond gnralement une section
particulire dune organisation et est usuellement identi par un nom symbolique
ainsi quun intervalle dadresses (son domaine). Les htes de scurit sont des noeuds
dinterconnection du rseau qui peuvent tre connects des sous-rseaux (auquel
cas lhte de scurit sera appele la passerelle
5
du sous-rseau en question) ou
5. Notons que sans perte de gnralit, on peut considrer que tout sous-rseau possde exac-
tement une passerelle. Dans le cas o nous souhaiterions modliser une topologie ne vriant pas
cette proprit, il serait susant dajouter un hte de scurit intermdiaire.
126
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.4. COMPOSITION DE FIREWALLS
Figure 5.2 Exemple de topologie rseau
dautres htes de scurit.
La gure 5.2 donne un exemple de topologie de rseau.
Pour des raisons de lisibilit, nous considrons dans cette gure ainsi que dans
les exemples qui lui sont associs que les adresses IP sont construits sur un seul octet
(cest dire ne comporte que 8 bits) et que le domaine dInternet est 129/2.
Dans loptique de spcier formellement une telle topologie, nous ajoutons la
signature la sorte Net pour reprsenter les noms de sous-rseaux ainsi que la sorte
SH pour reprsenter les noms des htes de scurit.
Dnition 5.29. Une topologie rseau est donne par une extension de la
signature , note

comprenant :
un ensemble ni de constantes net
1
, . . . , net
n
: Net de noms de sous-
rseau ;
un ensemble ni de constantes s
1
, . . . , s
m
: SH de noms dhtes de scu-
rit ;
ainsi que
une application : T (

)
Net
T (

, A)
IP
associant chaque nom de
sous-rseau net
i
un terme linaire de T (

, A)
IP
(son domaine) ;
une application (J : T (

)
Net
T (

)
SH
associant tout nom de sous-
rseau net
i
un hte de scurit (sa passerelle) telle que pour tout hte de
scurit s et tous sous-rseaux distincts net
1
, net
2
(J
1
(s), les termes
(net
1
) et (net
2
) ne sont pas uniables (autrement dit, les intervalles
127
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
dadresses de dirents sous-rseaux connects au mme hte de scurit
sont ncessairement disjoints) ;
une relation irrexive, transitive et symtrique (OA sur T (

)
SH
T (

)
SH
dcrivant la connection entre les htes de scurit.
Exemple 5.30. La topologie dcrite dans la gure 5.2 est formellement dnie
de la faon suivante :
printers, servers, secretariat, dptinfo : Net ;
sh
1
, sh
2
, sh
3
: SH;
=
_

_
printers ip(57/4[x])
servers ip(49/4[x])
secretariat ip(193/3[x])
dptinfo ip(193/2[x])
_

_
;
(J =
_

_
printers sh
3
servers sh
3
secretariat sh
2
dptinfo sh
1
_

_
;
(OA = (sh
1
, sh
2
), (sh
2
, sh
1
), (sh
2
, sh
3
), (sh
3
, sh
2
).
5.4.2 Politiques de scurit rseau
tant donne une topologie rseau, dnir une politique de scurit rseau consiste
dnir pour chaque hte de scurit un ensemble de rgles de ltrages et de tra-
duction dadresses (autrement dit un rewall). Les rewalls associs aux htes de
scurit dcrivent un ensemble de politiques de scurit locales qui sont combi-
nes par la topologie. Par ailleurs, nous considrions implicitement, dans les sections
prcdentes, que les rewalls sparaient exactement deux sous-rseaux. Dans la suite,
nous ajoutons aux rewalls la notion dinterface permettant un rewall de sparer
un nombre arbitraire de rseaux. (Notez bien que si cela simplie la suite de la pr-
sentation, cela naugmente pas le pouvoir dexpression : un rewall avec n interfaces
pouvant tre simul avec
n(n1)
2
rewalls binaires ). La dnition dun rewall
est alors rane comme suit :
Dnition 5.31. Un rewall fw est la donne :
dun ensemble ordonn (ordre not <
fw
) Filter
fw
de rgles vriant les mmes
conditions que celles dcrites dans la dnition 5.2 ;
dun ensemble ni If
fw
dont les lments sont appels interfaces ;
pour toute interface if If
fw
, de deux ensembles ordonns (ordre galement
not <
fw
) Pre
fw
(if) et Post
fw
(if) de rgles vriant les mmes conditions
que celles dcrites dans la dnition 5.2.
Une politique de scurit rseau sobtient donc en associant chaque hte de
scurit un rewall dont chaque interface correspond une connection de lhte de
scurit.
128
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.4. COMPOSITION DE FIREWALLS
Dnition 5.32. Une politique de scurit rseau pol sur une topologie
est une application associant tout hte de scurit sh de un rewall fw =
pol(sh) ainsi quune bijection
sh
fw
entre (OA(sh) (J
1
(sh) et If
fw
(
sh
fw
(sh
t
)
est linterface de fw associe la connection de sh sh
t
).
Exemple 5.33. Soit la topologie dnie dans lexemple 5.30. Nous dnissons
la politique de scurit pol sur de la faon suivante :
lobjectif de lhte de scurit sh
1
est de cacher lespace des adresses IP
prive du sous-rseau dptinfo ainsi que les htes de ce sous-rseaux
lexception de limprimante identie printer 2 et du serveur server
1 . Pour atteindre cet objectif, sh
1
est associ au rewall fw
1
= pol(sh
1
)
constitu des rgles suivantes :
Pre
fw
1
(
sh
1
fw
1
(sh
2
)) =
_
ip(19), port(515) ip(197), port(515)
ip(17), port(8080) ip(195), port(32)
Post
fw
1
(
sh
1
fw
1
(sh
2
)) = Pre
fw
1
(
sh
1
fw
1
(sh
2
))
1
ip(193/2[x]) ip(18)
Post
fw
1
(
sh
1
fw
1
(dptinfo)) = Pre
fw
1
(
sh
1
fw
1
(dptinfo)) =
Filter
fw
1
=
_

_
packet(ip(197), port(515), x, y) accept
packet(ip(195), port(32), x, y) accept
packet(x, y, ip(197), ip(515)) accept
packet(x, y, ip(195), port(32)) accept
packet(ip(197), x, y, z ) drop
packet(ip(195), x, y, z ) drop
packet(x, y, ip(197), z ) drop
packet(x, y, ip(195), z ) drop
packet(ip(193/2[x]), 80, y, z ) accept
packet(x, y, z , u) drop
Limprimante du dpartement informatique (printer 2) est accessible
sous ladresse 19 et uniquement sur le port 515 (port associ au pro-
tocole dimpression Line Printer Daemon) tandis que le serveur de ce
dpartement (server 1) est accessible sous ladresse IP 17 sur le port
32 mais visible sous le port 8080. Les autres htes de ce sous-rseau
peuvent communiquer avec le protocole HTTP (port 80).
sh
2
est associ au rewall pol(sh
2
) contenant les rgles de ltrage sui-
vantes :
_
_
_
(i) packet(ip(193/3[x]), x
t
, ip(129/2[y]), y
t
) drop
(ii) packet(ip(129/2[x]), x
t
, y, z ) drop
(iii) packet(x, y, z , u) accept
dcrivant le fait que : (i) les htes du sous-rseau secrtariat ne peuvent
pas initier de communication internet ; (ii) aucune communication ne
peut tre initie dInternet destination dun hte du rseau interne ;
(iii) tous les autres paquets peuvent tre transmis.
Le troisime hte de scurit sh
3
se focalise sur le trac envoy ou
reu par les sous-rseaux printers et servers. Il est associ au rewall
129
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
pol(sh
3
) contenant les rgles de ltrage suivantes :
_

_
(i) packet(ip(193/3[x]), x
t
, ip(57/4[x]), x
t
) accept
(ii) packet(ip(97/3[x]), x
t
, y, z ) accept
(iii) packet(ip(17/4[x]), x
t
, y
t
, z ) accept
(iv) packet(x, x
t
, z , u) drop
signiant que : (i) les htes du sous-rseau secretariat peuvent at-
teindre le sous-rseaux des imprimantes mais pas celui des serveurs ; (ii)
lhte de scurit ne bloque pas le trac mis des imprimantes et des
serveurs (97/3 = 57/4 49/4) ; (iii) les paquets mis de dptinfo (vus
par sh
3
comme le sous-rseau de domaine 17/4) est autoris et (iv) tout
autre trac est interdit.
5.4.3 Stratgie de routage
Pour entirement caractriser le trac rseau rgi par une politique de scurit
donne, il est ncessaire de munir la politique dune stratgie de routage pour dter-
miner les chemins que les paquets doivent emprunter pour atteindre leur destination.
Il sagit donc dune stratgie de composition des rewalls.
Dnition 5.34. tant donne une topologie rseau , une stratgie de routage
est une application : T (

)
SH
T (

, A)
IP
T (

)
SH
telle que :
i) pour tous (sh, t
1
, sh
t
1
) et (sh, t
2
, sh
t
2
) , il nexiste aucune substitution
telle que (t
1
) = (t
2
) et
ii) pour tout (sh, t, sh
t
) , il nexiste aucun net (J
1
(sh) ni substitution
tels que ((net)) = (t).
Une stratgie de routage associe tout hte de scurit une table de routage
indiquant le prochain hte de scurit auquel transmettre un paquet en fonction de
sa destination. Pour modliser raisonnablement les processus de routage prsents
dans la ralit, nous imposons que (i) le routage soit dterministe, c.--d. tous les
htes de scurit associent tout paquet entrant au plus un autre hte de scurit
et (ii) que les paquets dont la destination appartient un rseau directement acces-
sible doit tre dlivr (et ne doit donc pas tre rout vers un autre hte de scurit).
Par ailleurs, lobjectif dune stratgie de routage consiste transmettre tout paquet
dun hte (de scurit) un autre hte (de scurit) jusqu ce quil atteigne un
hte capable de prendre une dcision nale, cest--dire dlivrer le message ou le
jeter. Conformment cette vision, une stratgie de routage doit satisfaire certaines
conditions. Tout dabord, elle ne doit pas crer de boucle lors de la transmission
dun paquet. Ensuite, elle doit ncessairement transmettre tout paquet vers un hte
pouvant prendre une dcision (si aucune dcision ne peut tre prise, le paquet est
perdu). Ainsi, nous dirons dans la suite quune stratgie de routage est correcte
relativement une topologie si elle satisfait les conditions prcdemment mention-
nes. Formellement, est correcte relativement = (Net, SH, , (J, (OA) ssi
pour tout t

netT (

)
Net
rec((net)) et sh T (

)
SH
:
130
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.4. COMPOSITION DE FIREWALLS
il existe une squence nie (sh
i
, t
i
, sh
i+1
)
i=1...n
de tuples de ainsi quune
squence de substitutions (
i
)
i=1...n+1
telle que sh
1
= sh et pour tout 1 i
n : (sh
i
, sh
i+1
) (OA, t =
i
(t
i
) et t =
n+1
((net)) pour un certain net
tel que (J(net) = sh
n+1
et
il nexiste pas de squences (sh
i
, t
i
, sh
i+1
)
i=1...n
et (
i
)
i=1...n
telles que sh
1
=
sh
n+1
= sh et pour tout 1 i n : (sh
i
, sh
i+1
) (OA and t =
i
(t
i
).
Dans ce qui suit, nous considrerons que toutes les stratgies de routage considres
sont correctes relativement aux topologies par rapport auxquelles elles sont dnies.
Exemple 5.35. Suivant le prcdent exemple, nous dnissons la stratgie de
routage ci-dessous :
(sh
1
) =
_
ip(125/1[x]) sh
2
; ip(64/2[x]) sh
2
ip(32/3[x]) sh
2
; ip(1/4[x]) sh
2
et
(sh
3
) =
_
ip(128/1[x]) sh
2
; ip(1/2[x]) sh
2
ip(64/3[x]) sh
2
spciant que tous les paquets envoys une adresse qui nest pas di-
rectement atteignable de sh
1
(resp. sh
3
) est redirige vers sh
2
et
(sh
2
) =
_
97/3[x] sh
3
; 17/4[x] sh
1
5.4.4 Smantique par rcriture
Les questions dintrt sont les mmes que celles qui ont t souleves lors de
ltude des rewalls seuls. Quels paquets atteignent leur destination nale ? Les-
quel sont jets au cours de leur acheminement ? Cependant, lanalyse de ce type de
questions est plus complexe dans le cas prsent. En eet, par opposition au cas des
rewalls simples o la dcision daccepter ou de jeter un paquet est value locale-
ment, dans le cas dune combinaison de rewalls dans une topologie rseau, il existe
potentiellement un certain nombre dtapes intermdiaires entre le moment o un
paquet est envoy et celui o il est reu par son destinataire (ou jet).
En dautres termes, un paquet peut revtir dirents tats : mis, reu, sur le
point dtre ltr par un hte de scurit, . . . La gure 5.3 reprsente un exemple
dtats successifs dans lesquels peut se trouver un paquet p.
Pour analyser le trac sous une politique de scurit donne, notre approche
consiste tiqueter les paquets pour indiquer ltat courant dans lequel ils se trouvent
et de dcrire lvolution de leur tat sous la forme dun processus de rcriture. Pour
reprsenter les tats, nous introduisons les nouveaux symboles suivants :
sent : Net IP Port IP Port State
received : Net IP Port IP Port State
dropped : State
pre : SH Net SH IP Port IP Port State
post : SH SH Net IP Port IP Port State
forward : SH SH Net IP Port IP Port State
lter : SH IP Port IP Port State
route : SH IP Port IP Port State
o SH Net est vue comme une sorte telle que SH SH Net et Net SH Net
indiquant que tout terme de sorte SH ou de sorte Net est de sorte SHNet. Pour tre
131
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
p envoy
de dptinfo
Forward

p sur le point dtre


pr-rout par sh
1
DNAT

p
t
sur le point dtre
ltr par sh
1
Filter

p
t
sur le point dtre
rout par sh
1
Route

p
t
sur le point dtre
post-rout par sh
1
SNAT

p
tt
reu dans le
sous-rseau servers

Forward
p
tt
sur le point dtre
transmis par sh
1
Figure 5.3 Exemple du processus dacheminement dun paquet p
conforme lide classique selon laquelle une politique de scurit value une requte
daccs en une dcision, nous utilisons, pour toute topologie rseau, le vocabulaire
suivant :
une requte daccs rseau fait rfrence un terme clos de la forme
sent(net, t
1
, t
2
, t
3
, t
4
)
o net T (

)
Net
et o les termes clos t
1
, t
2
, t
3
et t
4
sont tels que t
1
= (t)
pour t = (net) et pour une certaine substitution close ;
une dcision fait rfrence dropped ou un terme clos dont le symbole de
tte est received.
Nous noterons !equest lensemble des requtes daccs rseau et Tecision lensemble
des dcisions. (En toute rigueur, la dsignation de ces ensembles devrait tre para-
mtre par la topologie considre mais dans la suite la dtermination de cette
dernire sera non ambige.) Dans ce contexte, chaque politique de scurit rseau
pol induit une relation associant chaque requte zro, une ou plusieurs dcisions.
Pour pouvoir analyser cette relation, nous nous proposons de la dcrire au moyen
dun systme de rcriture possdant des caractristiques particulires. Commenons
par introduire la classe de systmes de rcriture que nous allons considrer.
Dnition 5.36. Une rgle de rcriture l r est dite croissante si elle est
linaire et si lorsque l() = r(
t
) A pour deux positions ,
t
, alors [ [ 1.
Un systme de rcriture croissant est un ensemble de rgles de rcriture
croissantes.
132
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.4. COMPOSITION DE FIREWALLS
Dnition 5.37. Un systme de rcriture contraint contraintes forte-
ment rgulires (SRC-RS) est un systme de rcriture dont chaque rgle l r
est associe un ensemble de contraintes dappartenances x A o x est une
variable de 1ar(l) et A est un ensemble rgulier. Lorsque l r est associ
x
1
A
1
, . . . , x
n
A
n
, on note l r | x
1
A
1
, . . . , x
n
A
n
.
La relation de rduction
R
engendre par un SRC-RS R est dnie de la faon
suivante : pour tous termes t, t
t
, t
R
t
t
ssi il existe une rgle l r | x
1

A
1
, . . . , x
n
A
n
de R, un contexte C ainsi quune substitution tels que t = C[(l)],
t
t
= C[(r)] et (x
i
) A
i
pour tout i. Notez que de faon strictement quivalente,
on peut considrer des contraintes du type #(x
1
, . . . , x
n
) A o A est une relation
fortement rgulire (une rgle de cette forme est quivalente un ensemble ni de
rgles de la forme prsente dans la dnition 5.37).
Nous nous intressons dans la suite la classe des systmes de rcriture contraints
croissants contraintes fortement rgulires que nous noterons SRC-GRS. Nous nous
proposons de modliser la smantique dune politique de scurit rseau sous la forme
dun tel systme de rcriture an den permettre lanalyse. Comme nous lavons
dj voqu, chaque tape de lvaluation dune requte daccs (ltrage, traduction
dadresse, routage, . . . ) transforme un paquet tiquet en un autre paquet tiquet
jusqu lobtention dune forme normale (paquet reu ou jet). Chacune de ses tapes
peut alors tre vue comme une relation de T (

)
State
dans T (

)
State
. On suppose
donnes une topologie , une politique de scurit rseau pol sur ainsi quune stra-
tgie de routage . La premire tape du processus dvaluation dune requte daccs
est lmission dun paquet packet(t
1
, t
2
, t
3
, t
4
) partir dun sous-rseau net. Lorsque
le paquet est mis, il est modlis sous la forme du terme sent(net, t
1
, t
2
, t
3
, t
4
). Ds
lors, deux cas sont possibles. Soit la destination appartient au mme sous-rseau que
celui duquel le paquet a t mis et dans ce cas le processus dmission transforme
sent(net, t
1
, t
2
, t
3
, t
4
) en received(net, t
1
, t
2
, t
3
, t
4
), indiquant que le paquet a t
reu, soit la destination nappartient pas net et alors le paquet doit tre transmis
la passerelle du sous-rseau dmission. Dans ce cas, sent(net, t
1
, t
2
, t
3
, t
4
) devient
pre(net, sh, t
1
, t
2
, t
3
, t
4
), indiquant que le paquet provient de net et doit procder
ltape de pr-routing de lhte de scurit sh. Cette tape peut tre spcie
par le schma de rgles de rcriture (contraintes croissantes contraintes fortement
rgulires) suivant :
Broadcast
(B) sent(net, x, y, z, u) received(net, x, y, z, u) | z rec((net))
pour tout net Net
Gateway
(G) sent(net, x, y, z, u) pre(net, sh, x, y, z, u) | z rec((net))
pour tout net Net et sh = (J(net)
Le processus de pr-routage, ou DNAT, transforme les paquets de la forme
pre(net, sh, t
1
, t
2
, t
3
, t
4
) ou pre(sh
t
, sh, t
1
, t
2
, t
3
, t
4
) en un terme dont le symbole
de tte est lter indiquant que le paquet doit tre ltr par lhte sh. Deux cas sont
133
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
possibles : soit il existe une rgle de traduction et alors ltat obtenu aprs traduction
est un terme de la forme lter(sh, t
1
, t
2
, t
t
3
, t
t
4
) avec t
t
3
,= t
3
ou t
t
4
,= t
4
(t
3
et/ou t
4
ont t transforms), soit il nexiste aucune rgle de traduction applicable au paquet
et alors pre(net, sh, t
1
, t
2
, t
3
, t
4
) devient lter(sh, t
1
, t
2
, t
3
, t
4
). Dans le premier cas,
pour obtenir un SRC-GRS, il est ncessaire de modliser diremment le processus
de traduction en fonction de la rgle DNAT applique. Pour cela, il est ncessaire
dintroduire quelques ensembles et relations (fortement rguliers) auxiliaires. Notons
Tom
fw
NAT
(r) lensemble rgulier des couples (ip, port) impacts par la rgle de tra-
duction r. Dans le cas o r Post
fw
, cet ensemble est dni par :
Tom
NAT
(r)
_
r

<
fw
rPost
fw
Tom
NAT
(r
t
)
et, si r Pre
fw
, par :
Tom
NAT
(r)
_
_
_
_
_
r

<
fw
rPre
fw
Tom
NAT
(r
t
)
Tom
fw
masq
..
_
ip[x]ip

Post
fw
rec(ip
t
) rec(11(x))
_
_
_
_
o
Tom
NAT
(r) =
_

_
ip T ()
Port
si r = ip ip
t
T ()
IP
port si r = port port
t
ip port si r = ip, port ip
t
, port
t
rec(ip[x]) T ()
Port
si r = ip[x] ip
t
Tom
fw
masq
reprsentant lensemble des paquets impacts par les rgles implicites cor-
respondant aux rgles de masquerading du post-routage.
Le processus de pr-routage peut tre modlis de la faon suivante :
Destination NAT
(D
1
) pre(sn, sh, x, y, z, u) lter(sh, x, y, ip
t
, u) | (z, u) Tom
fw
NAT
(r)
pour tout sn Net SH, sh SH, fw = pol(sh)
r = ip ip

Pre
fw
(
sh
fw
(sn))
(D
2
) pre(sn, sh, x, y, z, u) lter(sh, x, y, z, port
t
) | (z, u) Tom
fw
NAT
(r)
pour tout sn Net SH, sh SH, fw = pol(sh)
r = port port

Pre
fw
(
sh
fw
(sn))
(D
3
) pre(sn, sh, x, y, z, u) lter(sh, x, y, ip
t
, port
t
) | (z, u) Tom
fw
NAT
(r)
pour tout sn Net SH, sh SH, fw = pol(sh)
r = ip, port ip

, port

Pre
fw
(
sh
fw
(sn))
(D
4
) pre(sn, sh, x, y, z, u) lter(sh, x, y, z, u)
| (z, u)

rPre
fw
Tom
fw
NAT
(r) Tom
fw
masq
pour tout sn Net SH, sh SH, fw = pol(sh)
134
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.4. COMPOSITION DE FIREWALLS
Aprs la traduction des adresses de destination, le paquet doit subir ltape de
ltrage. Cette tape se modlise naturellement par les rgles suivantes :
Filter
(F
1
) lter(sh, x, y, z, u) dropped
| packet(x, y, z, u) (
fw
Filter
)
1
(dropped)
pour tout sh SH o fw = pol(sh)
(F
2
) lter(sh, x, y, z, u) route(sh, x, y, z, u)
| packet(x, y, z, u) (
fw
Filter
)
1
(accept)
pour tout sh SH o fw = pol(sh)
La relation
fw
Filter
tant fortement rgulire, il est en de mme pour (
fw
Filter
)
1
et en consquence, les contraintes packet(x, y, z, u) (
fw
Filter
)
1
(dropped)
et packet(x, y, z, u) (
fw
Filter
)
1
(accept) sont quivalentes un ensemble ni de
conjonctions de contraintes de la forme x A
1
, y A
2
, z A
3
, u A
4
. la suite
du ltrage lhte de scurit doit dterminer le prochain hte auquel transmettre le
paquet. Il sagit de ltape de routage.
Route
(R
1
) route(sh, x, y, z, u) post(sh, sh
t
, x, y, z, u) | z rec(t)
pour tout (sh, t, sh

)
(R
2
) route(sh, x, y, z, u) post(sh, net, x, y, z, u) | z rec((net))
pour tout net Net et sh = (J(net)
Dans le premier cas, le routage indique le prochain hte qui transmettre le pa-
quet en fonction de la stratgie de routage. La seconde rgle modlise le cas o lhte
de scurit courant est la passerelle du rseau destinataire du paquet. Aprs la d-
termination du prochain hte, le paquet doit subir ltape de post-routage (SNAT)
correspondant linterface du rewall connecte lhte en question. Si dans le
cas des rgles de traduction de type one-to-one, la modlisation du processus de
traduction sous la forme dun systme de rcriture SRC-GRS ne pose pas de pro-
blme particulier, la modlisation des rgles de masquerading soulvent quant elles
quelques dicults. Comme nous lavons dj voqu, un paquet traduit par ce type
de rgle peut tre transform en une innit de paquets (ladresse IP tant xe mais
le port de traduction tant indtermin). Si lon eectuait une modlisation sous la
forme dun systme de rcriture, la variable correspondant au port de destination
dans le membre droit des rgles napparatrait pas en partie gauche (le port ntant
pas dtermin par le membre gauche). Pour pallier ce problme, il est ncessaire de
xer le port de traduction et de vrier que cela naecte pas le comportement de
la politique globale. De faon plus gnrale, il est ncessaire que tous les paquets,
issus dune tape de masquerading et pouvant reprsenter un mme paquet initial,
soient traits exactement de la mme faon par les rewalls suivants. Par exemple, si
un rewall contient la rgle de masquerading suivante : 192.168.1.1/25 172.1.1.1,
135
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
un mme paquet en provenance de 192.168.1.1 : 80 pourra tre traduit en un pa-
quet dont la source est 172.1.1.1 : 49152, 172.1.1.1 : 49153,. . . , ou 172.1.1.1 : 65535.
Pour assurer la cohrence de la politique globale, cest--dire le fait quune mme
requte daccs aboutisse toujours la mme dcision, il est ncessaire (mais pas
susant), que les rewalls suivants traitent exactement de la mme faon tous ces
paquets modlisant potentiellement le mme paquet initial. Nous appellerons cette
condition proprit de cohrence faible . Pour dnir formellement cette proprit,
il est ncessaire dintroduire quelques notions auxiliaires. La premire est la notion
de stabilit dune classe dquivalence par rapport une relation.
Dnition 5.38. Soit E une relation dquivalence sur un ensemble et R une
relation binaire sur . On dit que E est stable par R ssi :
(x, y) E, R(x) = R(y)
Cette proprit indique que tous les lments quivalents dans E ont la mme
image par R.
Lorquun mme paquet peut tre transmis sous plusieurs formes direntes par
une interface donne dun rewall, alors ces direntes formes forment une classe
dquivalence pour le trac mis partir de cette interface. La question que lon se
pose est de savoir si cette classe dquivalence est stable pour les relations induites
par les rewalls suivants. Rvisons la dnition de cette relation (
fw
) prsente
pour lanalyse des rewalls simples pour tenir compte de la notion dinterface : on
note
fw

if,if
la relation induite par la traverse dun paquet de linterface if du
rewall fw son interface if
t
(cest--dire la relation dnie dans la section 5.2.2 en
considrant Pre
fw
(if) et Post
fw
(if
t
)). Sont quivalents la sortie dune interface if
dun rewall fw les paquets qui sont limage dun mme paquet initial, autrement
dit, les paquets p
i
T ()
Packet
tels quil existe une interface if
t
de fw et un paquet
p T ()
Packet
tels que i, p
fw

if

,if
p
i
. Plus prcisment, on tablit la dnition
suivante :
Dnition 5.39. Soit pol une politique sur une topologie . Pour tout rewall fw =
pol(sh) et toutes interfaces if, if
t
de fw, on dnit les relations dquivalence
suivantes :
(i) p, p
t
T ()
Packet
, p
if

/if
p
t
ssi il existe q, q
t
T ()
Packet
tels que
q
in
if
q
t
et q
fw

if,if
p et q
t
fw

if,if
p
t
;
(ii) p, p
t
T ()
Packet
, p
out
if

p
t
ssi il existe une interface if telle que p
if

/if
p
t
.
(iii) sil existe net Net tel que
sh
fw
(net) = if, alors
in
if
est lidentit, cest--
dire Id = (t, t) T ()
2
Packet
.
(iv) sil existe sh
t
SH tel que
sh
fw
(sh
t
) = if, et
sh

fw
(sh) = if
t
, alors p
in
if
p
t
ssi p
out
if

p
t
.
136
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.4. COMPOSITION DE FIREWALLS
La proprit de cohrence faible peut alors sexprimer de la faon suivante :
Dnition 5.40. Soit pol une politique sur une topologie . pol est dite faible-
ment cohrente si pour tout hte de scurit sh et pour toutes interfaces if, if
t
de fw = pol(sh),
in
if
est stable par
fw

if,if
.
On remarque que dans notre cas, seules les rgles de masquerading engendrent
des classes dquivalences non triviales (cest--dire comportant plus dun lment),
les classes dquivalence se formulent donc entre paquets dont ladresse source est
une adresse issue dune tape de masquerading et dont le port source varie dans lin-
tervalle des ports dynamiques. Les transformations des informations concernant les
destinations de paquets naltrent donc pas les classes dquivalences. Par consquent,
seules les informations relatives aux sources des packets sont dintrt. Considrons
donc que toutes les relations dnies prcdemment sont restreintes aux informations
relatives aux sources des paquets. Notons
fw-src
la relation engendre par la succes-
sion du processus de ltrage sur les champs sources et du processus de post-routage
SNAT. Pour tout couple dinterfaces if, if
t
,
fw-src

if,if
est une relation fortement
rgulire. Notons galement que tout ensemble ni densembles rguliers disjoints
E = E
1
, . . . , E
n
engendre une relation dquivalence
E
dnie par t
E
t
t
ssi
t = t
t
ou sil existe un E
i
E tel que t, t
t
E
i
.
Proposition 5.41. Pour tout rewall fw et toute interface if de fw, la relation
dquivalence
in
if
est engendre par un ensemble ni densembles rguliers.
Pour le montrer, il faut et il sut de montrer que lidentit vrie cette proprit,
que lagrgation de relations dquivalence (au sens du point (iv) de la dnition 5.39)
prserve la proprit et que la proprit est stable par composition avec une relation
fortement rgulire.
cDmonstration.
La relation identit est engendre par lensemble vide ;
Soit
1
, . . . ,
n
n relations engendres par E
1
= E
1
1
, . . . , E
1
m
1
, . . . , E
n
=
E
n
1
, . . . , E
n
m
n
. La plus petite relation dquivalence contenant
1
, . . . ,
n
est engendre par lensemble ni densemble rguliers constitu de lensemble
E
1
. . . E
n
dans lequel les ensembles non disjoints sont fusionns (cest--dire
en rptant lopration E E
i
, E
j
E E
i
E
j
si E
i
E
j
,= ).
Soit une relation engendre par E = E
1
, . . . , E
n
et R une relation binaire
fortement rgulire. La relation dquivalence
t
telle que p
t
p
t
ssi il existe
q q
t
tels que R(q, p) et R(q
t
, p
t
) est engendre par R(E
1
), . . . , R(E
n
) dans
lequel les ensembles non disjoints sont fusionns.
d
Par ailleurs, nous avons le rsultat suivant :
137
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
Proposition 5.42. Soit E une relation dquivalence sur un ensemble et R une
relation binaire sur . Le problme de la stabilit de E par R est dcidable
si E, R et sont des ensembles et relations rguliers.
cDmonstration. La proprit (x, y) E, R(x) = R(y) est quivalente
(puisque E est une relation dquivalence) x, y, z, (E(x, y) R(x, z)) R(y, z). Il
faut et il sut alors de vrier que lensemble
_
.
3
E .
2
R .
1
R
_
est vide. d
En remarquant que toute relation dquivalence engendre par un ensemble ni
densembles rguliers est elle-mme rgulire et que
fw-src

if,if
est une relation rgu-
lire, on obtient la dcidabilit de la proprit de cohrence faible.
La condition suivante est une condition susante, simple et raisonnable de la
proprit de cohrence faible : pour tout rewall fw de pol, aucune rgle de fw ne
contient de condition impliquant un sous-ensemble strict de lensemble des ports
dynamiques.
Dans la suite, nous considrons une politique pol faiblement cohrente. Dans ce
contexte, le port utilis par les rgles de masquerading peut tre considr comme
xe. Notons p
masq
le terme reprsentant le port xe choisi parmi les ports dyna-
miques.
Source NAT
(S
1
) post(sh, sn, x, y, z, u) forward(sh, sn, x, y, ip
t
, u)
| (z, u) Tom
fw
NAT
(r)
pour tout sn Net SH, sh SH, fw = pol(sh)
r = ip ip

Post
fw
(
sh
fw
(sn))
(S
2
) post(sh, sn, x, y, z, u) forward(sh, sn, x, y, z, port
t
)
| (z, u) Tom
fw
NAT
(r)
pour tout sn Net SH, sh SH, fw = pol(sh)
r = port port

Post
fw
(
sh
fw
(sn))
(S
3
) post(sh, sn, x, y, z, u) forward(sh, sn, x, y, ip
t
, port
t
)
| (z, u) Tom
fw
NAT
(r)
pour tout sn Net SH, sh SH, fw = pol(sh)
r = ip, port ip

, port

Post
fw
(
sh
fw
(sn))
(S
4
) post(sh, sn, x, y, z, u) forward(sh, sn, x, y, ip
t
, p
masq
)
| (z, u) Tom
fw
NAT
(r)
pour tout sn Net SH, sh SH, fw = pol(sh)
r = ip[x] ip

Post
fw
(
sh
fw
(sn))
(S
5
) post(sh, sn, x, y, z, u) forward(sh, sn, x, y, z, u)
| (z, u)

rPost
fw
Tom
fw
NAT
(r)
pour tout sn Net SH, sh SH, fw = pol(sh)
138
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.4. COMPOSITION DE FIREWALLS
Enn, lorsque lhte de scurit a eectu sur le packet entrant toutes les tapes
qui lui incombent, le packet doit tre transmis (sil na pas t jet) lhte suivant
(quil sagisse dun hte de scurit ou de lhte destinataire).
Forward
(FW
1
) forward(sh, net, x, y, z, u) received(net, x, y, z, u)
pour tout net Net et sh = (J(net)
(FW
2
) forward(sh, sh
t
, x, y, z, u) pre(sh, sh
t
, x, y, z, u)
pour tout (sh, sh

) (OA
Exemple 5.43. Soit pol la politique dnie dans lexemple 5.33 ainsi que
la stratgie de routage dnie dans lexemple 5.35. La rduction du
terme sent(secretariat, ip(193), port(10), ip(19), port(515)) par Flow
pol,
est donne par la gure suivante :
sent(secretariat, ip(193), port(10), ip(19), port(515))

pre(secretariat, sh
2
, ip(193), port(10), ip(19), port(515))

lter(sh
2
, ip(193), port(10), ip(19), port(515))

route(sh
2
, ip(193), port(10), ip(19), port(515))

post(sh
2
, sh
1
, ip(193), port(10), ip(19), port(515))

forward(sh
2
, sh
1
, ip(193), port(10), ip(19), port(515))

pre(sh
2
, sh
1
, ip(193), port(10), ip(19), port(515))

lter(sh
1
, ip(193), port(10), ip(197), port(515))

route(sh
1
, ip(193), port(10), ip(197), port(515))

post(sh
1
, ip(193), port(10), ip(197), port(515))

forward(sh
1
, dptinfo, ip(193), port(10), ip(197), port(515))

received(dptinfo, ip(193), port(10), ip(197), port(515))


Toutes les tapes se produisant durant lacheminement dun paquet depuis son
metteur jusqu son destinataire ont t modlises au moyen de rgles de rcriture.
On peut alors dnir la smantique dune politique de scurit partir de ces rgles.
139
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
Dnition 5.44. tant donnes une politique de scurit rseau pol faiblement
cohrente sur une topologie et une stratgie de routage correcte pour , on appelle
smantique de pol relativement et lon note pol

la relation (partielle ou
totale) associant tout r !equest la ou les dcisions d Tecision, lorsquelles
existent, telles que r


Flow
pol,
d o Flow
pol,
est le systme de rcriture dni
par les rgles (B), (G), (D
1
), (D
2
), (D
3
), (D
4
), (F
1
), (F
2
), (R
1
), (R
2
), (S
1
), (S
2
),
(S
3
), (S
4
), (S
5
), (FW
1
), (FW
2
).
Notons que par construction (ce qui est conforme la ralit) et eu gard les
conditions imposes sur , le systme de rcriture Flow
pol,
est dterministe en ce
sens o pour tout terme clos t, il existe au plus un terme t
t
tel que t
Flow
pol,
t
t
.
5.4.5 Proprits et analyse
Dans cette section, nous nous intressons quelques proprits essentielles et
proposons de montrer comment la spcication des politiques au moyen dun systme
de rcriture nous permet de raisonner sur ces proprits.
Comme nous lavons dj mentionn, la compltude est laptitude prendre une
dcision quelle que soit la requte daccs formule. Dans le cas dun rewall isol,
la vrication de cette proprit seectue simplement en vriant que la premire
composante de la smantique de ce dernier (en tant que relation rgulire) couvre
tous les paquets possibles. Pour autant, le cas des politiques de scurit rseau est
plus complexe. Ceci est d au fait que lincompltude peut tre engendre par diverses
raisons. Un rewall incomplet peut en tre la cause mais le fait quun paquet ne soit
jamais jet ni dlivr peut galement se produire (auquel cas on dit que le paquet
est perdu).
Dnition 5.45. Une politique de scurit pol sur une topologie est dite com-
plte relativement la stratgie de routage , ou encore -complte, si pour toute
requte r !equest, il existe une dcision d Tecision telle que pol

(r) = d.
La forme particulire du systme de rcriture nous permet dnoncer la proprit
suivante :
Proposition 5.46. Pour tout politique de scurit pol et toute stratgie de rou-
tage , la proprit de -compltude de pol est dcidable.
Plus prcisment, nous avons la proprit suivante :
Proposition 5.47. tant donne une politique de scurit rseau pol sur une
topologie ainsi quune stratgie de routage , les ensembles :
i) (

Flow
pol,
)
1
(dropped) et
ii) (

Flow
pol,
)
1
(Tecision dropped)
sont eectivement rguliers.
140
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.4. COMPOSITION DE FIREWALLS
cDmonstration. Les preuves des propositions 5.46 et 5.47 sont bases sur le fait que
Flow
pol,
est un systme de rcriture contraints croissant contraintes rgulires. Il
est propos dans [Jacquemard, 1996b] une mthode pour calculer lautomate darbre
reconnaissant lensemble (

R
)
1
(L) pour tout ensemble rgulier L et tout systme
de rcriture croissant R. Montrons que lajout de contraintes rgulires naltre pas
ce rsultat. Sans perte de gnralit, nous pouvons considrer que tout SRC-GRS est
un ensemble de rgles de lune des formes suivantes :
x r[x] | x A (5.1)
f(x
1
, . . . , x
n
) r[x
1
, . . . , x
n
] | x
1
A
1
, . . . , x
n
A
n
(5.2)
sachant que toute variable non contrainte x peut tre vue comme une variable
contrainte par x A o A est lautomate reconnaissant tous les termes clos de
la sorte de x. En consquence, nous pouvons considrer que toutes les variables sont
contraintes. Soit L un langage rgulier reconnu par A
L
et R un SRC-GRS. Lauto-
mate reconnaissant (

R
)
1
(L) peut tre construit de la faon suivante :
!each
0
= (Q, Q
0
,
0
) :=

(lr|C)R
_
_

(xA)C
A
_
_
A
L
o la somme disjointe () de deux automates sur une mme signature est lautomate
dont lensemble des tats, des tats naux et des rgles sont respectivement lunion
des ensembles correspondants des deux automates, tant entendu que ces derniers
sont tous disjoints. Ainsi, lensemble de rgle
k
(k 0) est transform en lensemble

k+1
en appliquant les rgles suivantes :
(i)
_
(f(x
1
, . . . , x
n
) g(r
1
, . . . , r
m
)|
_
i
x
i
A
i
) R
g(q
1
, . . . , q
m
) q
k
f(q
t
1
, . . . , q
t
n
) q
k+1
sous les conditions :
1. pour tout 1 i n, q
t
i
est un tat nal de A
i
,
2. pour tout 1 j m, il existe une substitution : A Q telle que (r
j
)

k
q
j
et pour chaque x
i
apparaissant dans g(r
1
, . . . , r
m
), on ait (x
i
) = q
t
i
.
(ii)
(f(x
1
, . . . , x
n
) x|
_
i
x
i
A
i
) R ; q Q
f(q
t
1
, . . . , q
t
n
) q
k+1
sous les conditions :
1. x est une variable,
2. pour tout 1 i n, si x
i
= x alors q
t
i
= q, sinon q
t
i
est un tat nal de A
i
.
Lautomate dsir est (Q, Q
L
, ) o Q
L
est lensemble des tats naux de A
L
.
Ainsi, et puisque dropped et Tecisiondropped sont des ensembles rgu-
liers, il est possible de construire lautomate reconnaissant les ensembles
(

Flow
pol,
)
1
(dropped) et (

Flow
pol,
)
1
(Tecision dropped). La compl-
tude dune politique de scurit peut ainsi tre vrie en testant que lunion de ces
deux automates est gal lensemble rgulier !equest de toutes les requtes. d
141
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
Mme si une stratgie de routage est correcte, la prsence de rgles de traduction
dadresses peut engendrer des boucles dans lacheminement dun paquet. En eet,
certains paquets peuvent tre pigs dans une boucle impliquant plusieurs tapes
NAT contradictoires . Par exemple, un hte sh peut transformer un paquet p
en p
t
et le transmettre sh
t
qui peut ventuellement traduire p
t
en p avant de le
re-transmettre sh. De telles boucles peuvent impacter signicativement la qualit
du trac voire engendrer un dni de service. Nous dirons quune stratgie de routage
est sre sous une politique de scurit donne si la smantique de la politique relati-
vement cette stratgie nengendre aucune boucle. On saperoit par ailleurs que la
taille dun terme donn est borne au cours du processus de rcriture par Flow
pol,
.
En consquence, seules les boucles peuvent tre lorigine de la non-terminaison du
systme de rcriture. Ainsi, on obtient la proposition suivante :
Proposition 5.48 (Routage sr). tant donne une politique de scurit pol
sur une topologie , une stratgie de routage est sre sous la politique pol ssi
Flow
pol,
termine.
Nous considrions jusquici des politiques de scurit relativement des stratgies
de routage statiques. Cependant, en pratique, seuls les petits rseaux congurent
manuellement les tables de routage. La plupart du temps la topologie des rseaux
est trop complexe ou trop muable, rendant la dnition dune stratgie de routage
statique impossible. De surcrot, avec la complexit grandissante des rseaux, les
notions de performance et decacit du processus de routage mergent et dans ce
cadre, il est prfrable de calculer dynamiquement le chemin dun paquet en fonction
de la situation du trac et de dterminer le meilleur chemin, savoir le plus court,
le plus sr ou encore celui qui quilibre le mieux la charge du rseau. Cest pourquoi
le routage adaptatif, ou routage dynamique, est largement utilis.
Dans ce contexte, il est crucial que le sort rserv chaque paquet ne dpende
pas de la route quil emprunte. Autrement dit, un paquet doit soit tre jet, soit
tre dlivr au mme destinataire dans tous les cas de gure. En dautres termes, le
routage doit tre une stratgie pour atteindre un certain but mais ne doit pas altrer
ce but. On appelle, comme prcdemment, cohrence la proprit assurant que
la smantique dune politique de scurit est la mme quelle que soit la stratgie de
routage (correcte) considre.
Dnition 5.49. Une politique de scurit pol sur une topologie est dite co-
hrente ssi pour toutes stratgies de routage et
t
correcte relativement ,
pol

= pol

.
Nous exprimons la cohrence dune politique comme une proprit sur un nou-
veau systme de rcriture. tant donne une politique pol, nous dnissons Flow
pol
comme tant le systme de rcriture linaire gauche dcrivant tous les scna-
rios dacheminement possibles relativement aux stratgies de routage correctes, ou,
autrement dit, comme le systme transformant toute requte r en une dcision
d Tecision ssi il existe une stratgie de routage correcte telle que pol

(r) = d.
142
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.4. COMPOSITION DE FIREWALLS
Pour construire le systme de rcriture Flow
pol
, nous ajoutons la signature

les
symboles suivants :
, : Bool
_, . . . , _
_
:
m occurences
..
Bool . . . Bool SH Context
:: : Context Trace Trace
# : Trace
o m est le nombre dhtes de scurit et modions les autres symboles en remplaant
dans chaque prol la sorte SH par la sorte Trace. Un terme de la forme t
1
, . . . , t
n

sh
(un contexte) signie que dans ltat courant, lhte de scurit sh
i
a t transers par
le paquet (dans sa forme courante) ssi t
i
= . Un terme de sorte Trace reprsente
la pile de parcours du paquet. tant donne une politique de scurit pol, nous
dnissons Flow
pol
en modiant le systme Flow
pol,
de la faon suivante : pour
toutes les rgles suivantes, les contraintes sont inchanges et nous nillustrons que le
sous-terme correspondant la sorte Trace des membres des rgles :
(G) : sh est remplac dans le membre droit par , . . . ,
..
indice de sh
, . . . ,
sh
::#
indiquant qu linitialisation, seule la passerelle a inspect le paquet ;
(D
4
), (S
5
), (F
j
), (R
i
), (FW
1
) : sh est remplac par x
1
, . . . , x
n

sh
;
(D
1
), (D
2
), (D
3
), (S
1
), (S
2
), (S
3
), (S
4
) : sh est remplac dans le membre gauche
par x
1
, . . . , x
m

sh
::q et dans le membre droit par , . . . ,
..
indice de sh
, . . . ,
sh
::#,
indiquant que la trace du parcours est rinitialise lorsquun paquet est modi
(puisque du point de vue du rseau, il ne sagit plus du mme paquet) ;
(FW
2
) : sh est remplac dans le membre gauche par
x
1
, . . . ,
..
indice de sh

, . . . , x
m

sh
::q
et dans le membre droit par
x
1
, . . . ,
..
indice de sh

, . . . ,
..
indice de sh
, . . . , x
m

sh
:: x
1
, . . . ,
..
indice de sh

, . . . , x
m

sh
::q
indiquant que si un retour-arrire est eectu sur sh, alors sh
t
ne devra plus
faire parti des choix de routage ;
et la rgle suivante est ajoute :
(R
back
) route( x
1
, . . . , x
m
. .
x
i
= pour tout (sh,sh
i
)(CA

sh
::q, x, y, z, u) route(q, x, y, z, u)
Grossirement, la pile sert simuler le choix non dterministe de toutes les routes
possibles pour essayer datteindre une dcision. Si un chemin en cours dexploration
ne conduit pas une dcision, alors le terme eectue un retour-arrire :
p

p
t
= pol

for some p
tt
,= pol

for all

143
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
Pour ne pas engendrer de cycle dans le processus dexploration, les paquets sont
tiquets par lensemble des branches dj explores. De cette faon, lon obtient un
systme de rcriture transformant toute requte en toutes les dcisions possibles
correspondant une stratgie correcte de routage. Plus prcisment, on obtient un
systme vriant la proposition suivante :
Proposition 5.50. Soit pol une politique de scurit rseau sur une topologie .
Flow
pol
termine ssi toute stratgie de routage correcte est sre pour la politique
pol. Dans ce cas, pol est cohrent ssi Flow
pol
est conuent sur les termes clos.
cDmonstration. On peut facilement montrer que r


Flow
pol
d Tecision ssi il
existe une stratgie telle que pol

(r) = d. Partant de cela, lquivalence entre


la cohrence de pol et la conuence sur les termes clos de Flow
pol
est tablie ssi
pour toutes stratgies de routage et
t
, Tom(pol

) = Tom(pol

). Puisque lon
considre uniquement des stratgies correctes, lorsquune requte ne peut pas tre
value, deux cas seulement sont possibles : soit la requte implique une adresse non-
routable, soit la stratgie nest pas sre. Dans le premier cas, la requte ne peut pas
tre rsolue quelle que soit la stratgie. Ainsi, si toutes les stratgies sont sres, elles
ont ncessairement le mme domaine. d
Exemple 5.51. Considrons la politique dcrite dans lexemple 5.33. Nous avons
montr de faon automatique (en utilisant CiME [Contejean et al., 2010] et
AProVE [Giesl et al., 2006]) que Flow
pol
est un systme terminant et en cons-
quence que toute stratgie correcte est sre pour pol. Nous avons galement
tent de montrer la cohrence de pol mais la preuve a chou : la drivation
suivante prouvant que pol nest pas cohrent :
sent(secretariat, ip(195), port(32), ip(49), port(25))

fwd( , ,
sh
2
::#, sh
3
, ip(195), port(32), ip(49), port(25))

lter( , ,
sh
3
:: . . . , ip(195), port(32), ip(49), port(25))

dropped
post( , ,
sh
1
:: . . . , sh
2
, ip(195), port(32), ip(49), port(25))

fwd( , ,
sh
1
:: . . . , sh
2
, ip(17), port(8080), ip(49), port(25))

fwd( , ,
sh
2
:: . . . , sh
3
, ip(17), port(8080), ip(49), port(25))

lter( , ,
sh
3
:: . . . , ip(17), port(8080), ip(49), port(25))

received(servers, ip(17), port(8080), ip(49), port(25))


Cette drivation montre que, sous une stratgie de routage spcique, les htes
144
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
5.5. TRAVAUX RELIS
du rseau secretariat peuvent exploiter une faille de la politique de lhte de
scurit sh
1
pour attaquer le serveur servers.
5.5 Travaux relis
La littrature concernant le dveloppement de mthodes et outils pour analyser
et tester les politiques de scurit dans les rseaux est relativement abondante. Les
mthodes existantes sont partitionnes en deux catgories : les mthodes dites ac-
tives et celles dites passives. Les premires consistent envoyer des paquets dans le
rseau pour eectuer un diagnostic la lumire des paquets reus. Lavantage in-
contestable de cette classe de mthode est quelle ne ncessite aucune reprsentation
abstraite des rewalls, en consquence de quoi aucune erreur de modlisation ni sim-
plication ne peut tre introduite, validant de faon certaine le rsultat de lanalyse
eectue. Cependant, il est vident que ces mthodes possdent linconvnient ma-
jeur de consommer de la bande passante, dinterfrer avec le trac et de ne permettre
quune analyse trs partielle de la situation. Cest la raison pour laquelle ont mer-
ges depuis quelques annes les mthodes dites passives. Ces mthodes consistent
eectuer une analyse hors ligne de la politique de scurit. Cest dans cette
dmarche que sinscrivent les travaux relats dans ce chapitre.
Parmi les mthodes passives, deux principales approches ont t investigues
dans la littrature : les analyses structurelles et les analyses par requtage. Un
certain nombre de travaux (notamment [Cuppens et al., 2006, Abbes et al., 2008,
Benelbahri and Bouhoula, 2007, Gouda and Liu, 2004, Cuppens et al., 2005]
[Liu, 2008, Al-Shaer et al., 2005]) se sont attachs dvelopper les mthodes dana-
lyse structurelles en se focalisant notamment sur la dnition, la dtection et la dis-
cussion danomalies tandis que dautres (particulirement [Hazelhurst, 2000]
[Eronen and Zitting, 2001, Liu and Gouda, 2009]) se sont concentrs sur les mthodes
permettant deectuer des analyses par requtage. La plupart de ces travaux abs-
traient les rgles de ltrage par des rgles comportant une ou deux dimensions din-
tervalles dentiers, ce qui limite lintrt des rsultats obtenus. Dautres mettent
lhypothse que les paquets ne sont pas modifs durant leur traverse du rseau et,
en consquence, ne prennent pas en compte les rgles de traduction dadresse pour-
tant omniprsentes dans les rseaux contemporains. De plus, les approches proposes
se focalisent principalement sur ltude des rewalls isols. Les approches proposes
traitent divers aspects (une comparaison dtaille entre les direntes techniques a
t tablie dans [Nelson et al., 2010]) mais les aspects relatifs la topologie et au
routage ne sont pas tudis en profondeur. En somme, les analyses sont restreintes
aux politiques locales et leur combinaison est peu ou pas tudie. Parmi les mthodes
bases sur une spcication algbrique des rewalls, on compte principalement les
travaux initis dans [Kirchner et al., 2009]. Dans cet article, les rewalls sont sp-
cis par des systmes de rcriture et lanalyse par requtage des rewalls isols
est eectue via les techniques de narrowing. Cette approche constitue une premire
tape vers ltablissement dune mthode plus complte et plus ddie pour lanalyse
des politiques de scurit dans les rseaux via les systmes de rcriture. En ce sens,
les travaux prsents dans ce chapitre sinscrivent dans une dmarche similaire.
145
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 5. LES POLITIQUES DE SCURIT DANS LES RSEAUX
INFORMATIQUES
5.6 Synthse
Nous avons propos dans ce chapitre une approche pour dcrire les politiques
de scurit rseaux sous la forme de systmes de rcriture et dautomates darbres.
Nous avons montr que cette approche peut tre utilise pour eectuer plusieurs
types danalyse sur les rewalls isols ainsi que sur les combinaisons complexes de
rewalls. Dans ces travaux, nous nous sommes attach mettre des hypothses
de modlisation conformes la ralit (sur les processus de ltrage et de traduction
dadresses). Nous avons montr que les spcications des politiques de scurit rseau
proposes sont adaptes pour vrier les proprits usuelles lies la smantique des
rewalls et pour les comparer entre eux. Elles permettent galement de spcier et
de dtecter automatiquement les anomalies de conguration et deectuer des ana-
lyses par requtage. De plus, toutes ces analyses sont eectues dans un formalisme
commun. La mme approche a t utilise pour spcier les politiques de scurit
des rseaux, tenant compte de leurs topologies et des stratgies de routage utilises.
Le systme de rcriture obtenu fournit une spcication excutable du trac rseau
soumis la politique de scurit considre et, grce la forme particulire de ses
rgles, peut tre utilise pour eectuer des vrications de compltude, daccessibi-
lit, de terminaison et de cohrence. Certaines de ces proprits, comme la cohrence,
sont considres relativement une stratgie de routage donne ou pour toutes les
stratgies possibles.
Les principaux rsultats prsents dans ce chapitre ont fait lobjet de deux pu-
blications : [Bourdier, 2011b, Bourdier and Cirstea, 2011].
146
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
6
Synthse
L
analyse formelle des politiques de scurit et des mcanismes les mettant en
oeuvre permet daccrotre la qualit et la sret de la scurit des systmes
dinformation et des rseaux. Les travaux de thse dcrits dans ce manuscrit
sinscrivent dans une dmarche gnrale dtablissement dun cadre permettant la
dnition de politiques de scurit et la vrication de leurs proprits.
6.1 Contributions
Un cadre formel pour la spcication, lanalyse et la transformation
de politiques de scurit statiques
Dans une premire partie, nous avons propos un cadre pour la spcication de
politiques de scurit bas sur une approche modulaire dans laquelle une politique
est vue comme la composition dun modle de scurit et dune conguration. Nous
avons investigu les possibilits oertes par de telles spcications lorsque les modles
sont exprims au moyen de contraintes du premier ordre et les congurations au
moyen de programmes logiques 1
1
. Nous avons dmontr ladquation dun tel cadre
pour analyser les proprits des politiques ainsi dnies. En particulier, nous avons
propos un algorithme permettant de transformer une politique exprime dans un
modle donn vers une autre politique quivalente (au sens o elle engendre les
mmes autorisations) exprime dans un autre modle. Une prcdente version de ces
travaux a t prsente dans [Bourdier, 2011a].
147
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 6. SYNTHSE
Un cadre formel pour la spcication et lanalyse de politiques de
scurit dynamiques
Dans un second temps, nous nous sommes propos de tenir compte des aspects
dynamiques de la conguration dune politique vue comme un tat du systme sur
lequel la politique est mise en oeuvre et o chaque action est associe une proc-
dure de modication des tats. Nous avons propos un langage simple pour spcier
sparment les systmes et les politiques de scurit. La mise en place dun langage
ddi a permis dimposer des restrictions syntaxiques complexes sur la logique
sous-jacente (les systmes de rcriture) de faon transparente pour lutilisateur. En
ce sens, notre approche se distingue fortement de la plupart des approches formelles
proposes pour la spcication des politiques dans la littrature, ncessitant la ma-
trise du formalisme utilis par ladministrateur de scurit. Nous avons ensuite donn
une smantique des spcications exprimes dans ce cadre sous la forme de systmes
de rcriture. Nous nous sommes ensuite attach montrer que les systmes de r-
criture obtenus permettent ltude de proprits de scurit. En somme, nous avons
propos une dmarche reposant sur des langages dirents combins puis traduits
dans un formalisme de raisonnement commun. Une partie de ces travaux a t pr-
sente dans [Bourdier et al., 2010b, Bourdier et al., 2010c, Bourdier et al., 2011].
Formalisation et analyse des politiques de scurit dans les rseaux
informatiques
Dans une troisime partie, nous nous sommes focalis sur les mcanismes permet-
tant la mise en oeuvre de politiques de scurit dans les rseaux. Dans ce cadre, nous
avons propos une spcication des rewalls et de leurs compositions base sur les
automates darbres et les systmes de rcriture puis avons montr en quoi ces spci-
cations nous permettent danalyser de faon automatique les politiques de scurit
sous-jacentes. Nous avons notamment tendu les travaux existants en proposant un
cadre uni pour eectuer des analyses usuelles traites dans dirents formalismes
et en intgrant les notions, souvent ngliges, de routage et de topologie. Les prin-
cipaux rsultats prsents dans ce chapitre ont fait lobjet de deux publications :
[Bourdier, 2011b, Bourdier and Cirstea, 2011].
Autres contributions
Une partie du travail men durant cette thse na pas t prsente dans ce
manuscrit car issue dinvestigations non abouties au regard des problmatiques de
scurit. Ce travail est relatif ltude des stratgies de rcriture. Ltude mene
dans le chapitre 4 a prsent les politiques de scurit comme un moyen de contrler
lvolution dun systme de transitions. Cette vision des politiques est similaire une
interprtation possible de la notion de stratgie de rcriture. Nous avons donc inves-
tigu la formalisation dun cadre dans lequel les systmes sont dcrits au moyen de
rgles de rcriture et les politiques au moyen de stratgies. La formalisation usuelle
des stratgies permettait assez mal lanalyse des problmes lis leur utilisation dans
ce cadre. Nous avons donc propos une reformulation de la dnition des stratgies
[Bourdier et al., 2010a], dun point de vue abstrait comme concret (constructif) te-
148
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
6.2. PERSPECTIVES
nant compte de la diversit des types de stratgies rvls par lanalyse des politiques
de scurit ; les stratgies habituellement tudies tant principalement structurelles,
il a fallu permettre la formalisation de stratgies tenant compte dautres variables
environnementales, engendrant un changement radical dans lapproche de ces der-
nires. cet eet, un langage permettant la construction de stratgies a t propos
et un prototype de compilateur ralis, permettant une premire analyse des strat-
gies nouvellement dnies.
6.2 Perspectives
Dcidabilit de la transformation des politiques statiques
La prochaine tape faisant suite aux travaux dcrits dans le chapitre 3 consiste
dterminer la classe de modles pour lesquelles lexistence dune politique qui-
valente est dcidable. En eet, dans ltat actuel de nos travaux, le processus de
transformation que nous avons tabli peut retourner, pour une entre donne, soit
une conguration rpondant aux exigences formules, soit linformation indiquant
quaucune conguration rpondant aux contraintes nexiste, soit ne pas terminer. Il
est donc pertinent dtudier les conditions sous lesquelles le processus de transfor-
mation termine toujours.
Politique abstraite
Il arrive souvent que les besoins de scurit sexpriment en fonction dlments
qui ne sont pas directement prsents dans le systme que lon tudie. Cest notam-
ment le cas lorsque lon tablit une politique sur les ots dinformation alors que
seule la notion daccs est prsente dans le systme. Cette dirence de vocabu-
laire entre le domaine de discours de la politique de scurit et celui du systme
entraine la ncessit de mettre en oeuvre une passerelle entre ces deux univers. Dans
[Bourdier et al., 2011], nous avons entrevu la notion de transformation denvironne-
ments permettant de spcier les besoins de scurit dans un langage dirent de
celui du systme. Si le cadre propos permet dexprimer tous les ingrdients nces-
saire au raisonnement, il nen permet pas lautomatisation. Il sagirait alors dtablir
un langage permettant lexpression de linterprtation des lments de la politique en
fonction des donnes du systme et de permettre, soit de driver automatiquement
une politique de scurit sexprimant sur le vocabulaire du systme, soit den vrier
la conformit.
Composition de politiques
La plupart des techniques de vrication sont connues pour leur dicile passage
lchelle ds lors que la taille des systmes tudis devient importante ; savoir com-
poser et dcomposer preuves et systmes semble donc ncessaire pour appliquer avec
succs les mthodes de vrication formelles. Ce besoin de modularit est dautant
plus essentiel dans un contexte o les systmes sont de plus en plus htrognes ou
distribus. Il sagit donc, selon nous, dun axe de recherche dterminant pour la com-
munaut des mthodes formelles. Ce besoin de modularit dans la spcication et
149
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 6. SYNTHSE
la vrication est lune des conclusions de ces travaux de thse. Il sagit par ailleurs
dun tat de fait bien connu de la communaut de rcriture : de nombreux tra-
vaux se sont attachs dterminer des approches modulaires dans les preuves de
terminaison et de conuence des systmes de rcriture de termes. Dans ce contexte,
il semble pertinent de poursuivre les eorts de modularit eectus dans nos travaux
pour proposer, terme, un cadre permettant la composition de politiques. La notion
de composition peut, par ailleurs, tre envisage de multiples faons. Une composi-
tion, que lon pourrait qualier dhorizontale, senvisage comme la combinaison de
politiques agissant sur le mme systme au moyen doprateurs. Une seconde com-
position, que nous qualierions de verticale, senvisage comme lapplication dune
politique dite administrative sur une autre politique. Ce type de composition sap-
parenterait une notion de politique dordre suprieur .
Extension des possibilits danalyses des politiques de scurit r-
seaux
Plusieurs directions de prolongement des travaux prsents dans le chapitre 5
sont envisageables. Il pourrait, par exemple, tre intressant dutiliser les techniques
de (ds)unication [Jouannaud and Kirchner, 1991] pour eectuer sur une politique
de scurit rseau des analyses similaires celles eectues pour les rewalls isols.
Ceci permettrait, par exemple, de dtecter les canaux cachs en rsolvant, modulo
le systme de rcriture Flow
pol
, des quations de la forme :
sent(n, from(x, x
t
), dest(y, y
t
)) = dropped
sent(n, from(x
1
, x
2
), dest(y
1
, y
2
))
= received(n
t
, from(x, x
t
), dest(y, y
t
))
Bien videment, pour utiliser les techniques et outils spciques aux systmes de
rcriture, il est ncessaire de pouvoir reprsenter le systme Flow
pol
sous la forme
dun systme non contraint. La forme particulire des contraintes nous permet de
le faire sans augmenter la signature ni mme altrer les proprits de linarit du
systme contraint. Ceci est d au fait que les ensembles rguliers des contraintes des
rgles de rcriture sont bass sur des langages prxes. Chacun des automates des
contraintes considrs reconnat lensemble des instances closes dun ensemble ni
de termes linaires. On peut donc aisment transformer chaque rgle contrainte en
rgle non contrainte. On obtient alors un systme de rcriture linaire contenant
seulement des superpositions triviales (en revanche, on perd le caractre croissant du
systme).
Proxy
Un proxy, aussi appel
serveur mandataire ,
est un hte destin ser-
vir dintermdiaire entre
deux htes (un client
et un serveur) en re-
layant les connections.
Lorsquun proxy reoit un
paquet, il met un nou-
veau paquet au regard
des informations conte-
nues dans le paquet en-
trant.
Modlisation dautres mcanismes de scurit pour la mise en oeuvre
des politiques dans les rseaux
Une autre perspective envisageable est dtendre notre approche pour prendre en
compte les rewalls tats et de modliser le principe de proxy. Plus prcisment,
pour modliser compltement le principe des connections TCP, nous devrons consi-
drer les requtes daccs non plus comme des paquets mais comme des squences
de paquets. Ceci nous permettra de capturer de nouvelles vulnrabilits comme par
exemple les dnis de services, provoques par une non-synchronisation de rewalls.
150
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
6.2. PERSPECTIVES
court terme, nous envisageons dintgrer la modlisation des proxies. Dans la
mesure o le principe de leur fonctionnement rside essentiellement en la rcriture de
squences de paquets, notre approche semble parfaitement adapte la modlisation
de ces derniers.
Enn, il semble pertinent dor une vision plus haut niveau des politiques de
scurit rseaux en intgrant la notion de services. Les politiques pourraient alors tre
formules en terme daccs des utilisateurs des services. Ltude de la conformit
dune politique de scurit ainsi dnie avec sa mise en oeuvre sous la forme dune
combinaison de rewalls constituerait une suite logique de ces travaux.
151
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
CHAPITRE 6. SYNTHSE
152
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
Bibliographie
[Abadi and Fournet, 2003] Abadi, M. and Fournet, C. (2003). Access control based
on execution history. In Proceedings of the 10th Annual Network and Distributed
System Security Symposium, pages 107121. Internet Society.
[Abbes et al., 2008] Abbes, T., Bouhoula, A., and Rusinowitch, M. (2008). An infe-
rence system for detecting rewall ltering rules anomalies. In Proceedings of the
2008 ACM symposium on Applied computing, pages 21222128. ACM.
[Abdulla et al., 2002] Abdulla, P., Jonsson, B., Mahata, P., and dOrso, J. (2002).
Regular tree model checking. In Computer Aided Verication, volume 2404 of
Lecture Notes in Computer Science, pages 452466. Springer-Verlag.
[Abiteboul et al., 1995] Abiteboul, S., Hull, R., and Vianu, V. (1995). Foundations
of databases. Addison-Wesley.
[Abrams et al., 1995] Abrams, M., Jajodia, S., and Podell, H., editors (1995). Scu-
rit des systmes dinformation. IEEE Computer Society.
[Adiseshu et al., 2000] Adiseshu, H., Suri, S., and Parulkar, G. (2000). Detecting and
resolving packet lter conicts. In INFOCOM 2000 - 9th annual joint Conference
of the IEEE Computer and Communication Societies, volume 3, pages 12031212.
IEEE Computer Society.
[Al-Shaer and Hamed, 2003] Al-Shaer, E. and Hamed, H. (2003). Firewall policy
advisor for anomaly detection and rule editing. In IFIP/IEEE 8th International
Symposium on Integrated Network Management, volume 246 of IFIP Conference
Proceedings, pages 1730. Kluwer Academic Publishers.
[Al-shaer and Hamed, 2004] Al-shaer, E. and Hamed, H. (2004). Discovery of po-
licy anomalies in distributed rewalls. In INFOCOM 2004 - 23rd annual joint
Conference of the IEEE Computer and Communication Societies, volume 4, pages
26052616. IEEE Computer Society.
153
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
[Al-Shaer et al., 2005] Al-Shaer, E., Hamed, H., Boutaba, R., and Hasan, M. (2005).
Conict classication and analysis of distributed rewall policies. IEEE Journal
on Selected Areas in Communications, 23(10) :2069 2084.
[Alferes et al., 2002] Alferes, J., Pereira, L., Przymusinska, H., and Przymusinski, T.
(2002). LUPS A language for updating logic programs. Articial Intelligence,
138(1-2) :87116. Elsevier Science Publishers B. V.
[ANSSI, 2011] ANSSI (2011). Portail de la scurit informatique agence nationale
de la scurit des systmes dinformation. http://www.ssi.gouv.fr/.
[Armando et al., 2005] Armando, A. et al. (2005). The AVISPA Tool for the Auto-
mated Validation of Internet Security Protocols and Applications. In Etessami, K.
and Rajamani, S., editors, Computer Aided Verication, volume 3576 of Lecture
Notes in Computer Science, pages 281285. Springer-Verlag.
[Avolio, 1999] Avolio, F. (1999). Firewalls and Internet security, the second hun-
dred (Internet) years. The Internet Protocol Journal, 2(2) :2432. Ole Jacobsen
publisher, CISCO.
[Baader and Nipkow, 1998] Baader, F. and Nipkow, T. (1998). Term rewriting and
all that. Cambridge University Press. Cambridge University Press.
[Bachmair and Dershowitz, 1989] Bachmair, L. and Dershowitz, N. (1989). Com-
pletion for rewriting modulo a congruence. Theoretical Computer Science, 67(2-
3) :173201. Elsevier Science Publishers B. V.
[Balland et al., 2007] Balland, E., Brauner, P., Kopetz, R., Moreau, P.-E., and
Reilles, A. (2007). Tom : Piggybacking rewriting on java. In Baader, F., editor,
18th International Conference on Term Rewriting and Applications - RTA 2007,
volume 4533 of Lecture Notes in Computer Science, pages 3647. Springer-Verlag.
[Bandara et al., 2006] Bandara, A., Kakas, A., Lupu, E., and Russo, A. (2006). Using
argumentation logic for rewall policy specication and analysis. In Internatio-
nal Workshop on Distributed Systems : Operations and Management Large Scale
Management, volume 4269 of Lecture Notes in Computer Science, pages 185196.
Springer-Verlag.
[Barker, 2009] Barker, S. (2009). The next 700 access control models or a unifying
meta-model ? In ACM Symposium on Access control models and technologies,
pages 187196. ACM.
[Barker et al., 2009] Barker, S., Bertolissi, C., and Fernndez, M. (2009). Action
control by term rewriting. In Proceedings of the Third International Workshop on
Security and Rewriting Techniques, volume 234 of Electronic Notes in Theoretical
Computer Science, pages 1936. Elsevier Science Publishers B. V.
[Barker and Fernndez, 2006] Barker, S. and Fernndez, M. (2006). Term rewriting
for access control. In Data and applications security XX, volume 4127 of Lecture
Notes in Computer Science, pages 179193. Springer-Verlag.
[Barker and Fernndez, 2007] Barker, S. and Fernndez, M. (2007). Action-status
access control as term rewriting. In Nesi, M. and Treinen, R., editors, Proceedings
of the International Workshop on Security and Rewriting Techniques, pages 316.
154
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
[Barker and Stuckey, 2003] Barker, S. and Stuckey, P. (2003). Flexible access control
policy specication with constraint logic programming. ACM Transactions on
Information and System Security, 6(4) :501546. ACM.
[Becker, 2009] Becker, M. (2009). Specication and analysis of dynamic authorisa-
tion policies. In 22nd IEEE Computer Security Foundations Symposium, pages
203217. IEEE Computer Society.
[Becker and Nanz, 2010] Becker, M. and Nanz, S. (2010). A logic for state-modifying
authorization policies. ACM Transactions on Information and System Security,
13(3) :128. ACM.
[Becker and Sewell, 2004] Becker, M. and Sewell, P. (2004). Cassandra : Flexible
trust management, applied to electronic health records. In 17th IEEE Computer
Security Foundations Workshop, pages 139154. IEEE Computer Society.
[Bell and LaPadula, 1973] Bell, D. and LaPadula, L. (1973). Secure computer sys-
tems : Mathematical foundations and model. Technical Report 2547, MITRE.
[Benelbahri and Bouhoula, 2007] Benelbahri, A. and Bouhoula, A. (2007). Tuple
based approach for anomalies detection within rewall ltering rules. In IEEE
Symposium on Computers and Communications, pages 6370. IEEE Computer
Society.
[Bertino et al., 1998] Bertino, E., Bettini, C., Ferrari, E., and Samarati, P. (1998).
An access control model supporting periodicity constraints and temporal reaso-
ning. ACM Transactions on Database Systems, 23(3) :231285. ACM.
[Bertino et al., 2003] Bertino, E., Catania, B., Ferrari, E., and Perlasca, P. (2003). A
logical framework for reasoning about access control models. ACM Transactions
on Information and System Security, 6(1) :71127. ACM.
[Bertolissi and Fernndez, 2008] Bertolissi, C. and Fernndez, M. (2008). A rewri-
ting framework for the composition of access control policies. In International
ACM SIGPLAN conference on Principles and Practice of Declarative Program-
ming, pages 217225. ACM.
[Bertolissi and Fernandez, 2009a] Bertolissi, C. and Fernandez, M. (2009a). An
algebraic-functional framework for distributed access control. In Risks and Se-
curity of Internet and Systems, pages 18. IEEE Computer Society.
[Bertolissi and Fernandez, 2009b] Bertolissi, C. and Fernandez, M. (2009b). Dis-
tributed event based access control. International Journal of Information and
Computer Security, 3(3/4) :306320. Inderscience Publishers.
[Bertolissi et al., 2007] Bertolissi, C., Fernndez, M., and Barker, S. (2007). Dyna-
mic event-based access control as term rewriting. In Data and Applications Secu-
rity, volume 4602 of Lecture Notes in Computer Science, pages 195210. Springer-
Verlag.
[Bishop, 1991] Bishop, M. (1991). Password Management. In Compcon Spring91.
Digest of Papers., pages 167169. IEEE Computer Society.
[Bishop, 2002] Bishop, M. (2002). Computer Security : Art and Science. Addison-
Wesley Professional.
155
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
[Bouajjani et al., 2006] Bouajjani, A., Habermehl, P., Rogalewicz, A., and Vojnar,
T. (2006). Abstract regular tree model checking. In 7th International Workshop
on Verication of Innite-State Systems, volume 149 of Electronic Notes in Theo-
retical Computer Science, pages 3748. Elsevier Science Publishers B. V.
[Boudet and Comon, 1995] Boudet, A. and Comon, H. (1995). Rsolution de
contraintes symboliques. Notes du cours de DEA dinformatique de Paris 11.
[Bouhoula, 1996] Bouhoula, A. (1996). Using induction and rewriting to verify
and complete parameterized specications. Theoretical Computer Science, 170(1-
2) :245276. Elsevier Science Publishers B. V.
[Bouhoula, 1998] Bouhoula, A. (1998). Mcanisation du raisonnement par rcur-
rence. Habilitation diriger des recherches. Universit Henri Poincar - Nancy
1.
[Bouhoula, 2009] Bouhoula, A. (2009). Simultaneous checking of completeness and
ground conuence for algebraic specications. ACM Transactions on Computatio-
nal Logic, 10(3) :20. ACM.
[Bouhoula and Rusinowitch, 1995] Bouhoula, A. and Rusinowitch, M. (1995).
Spike : A system for automatic inductive proofs. In 4th International Confe-
rence on Algebraic Methodology and Software Technology, volume 936 of Lecture
Notes in Computer Science, pages 576577. Springer-Verlag.
[Bourdier, 2011a] Bourdier, T. (2011a). Specication, analysis and transformation
of security policies via rewriting techniques. Journal of Information Assurance
and Security, 6(5) :357368. Dynamic Publishers Inc, USA.
[Bourdier, 2011b] Bourdier, T. (2011b). Tree automata based semantics of rewalls.
In 6th International Conference on Network Architectures and Information Sys-
tems Security, pages 171178. IEEE Computer Society.
[Bourdier and Cirstea, 2010] Bourdier, T. and Cirstea, H. (2010). Constrained re-
writing in regular theories. INRIA Research Report (http://hal.inria.fr/
inria-00456848/en/).
[Bourdier and Cirstea, 2011] Bourdier, T. and Cirstea, H. (2011). Symbolic analysis
of network security policies using rewrite systems. In 13th International ACM
SIGPLAN Symposium on Principles and Practice of Declarative Programming.
ACM.
[Bourdier et al., 2010a] Bourdier, T., Cirstea, H., Dougherty, D., and Kirchner, H.
(2010a). Extensional and intensional strategies. In 9th International Workshop
on Reduction Strategies in Rewriting and Programming, volume 15 of Electronic
Proceedings in Theoretical Computer Science, pages 119. Open Publishing Asso-
ciation.
[Bourdier et al., 2010b] Bourdier, T., Cirstea, H., Jaume, M., and Kirchner, H.
(2010b). On formal specication and analysis of security policies. Available as
an INRIA Research Report (http://hal.inria.fr/inria-00429240/). Grande
Region Security and Reliability Day.
[Bourdier et al., 2010c] Bourdier, T., Cirstea, H., Jaume, M., and Kirchner, H.
(2010c). Rule-based specication and analysis of security policies. Available as
156
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
an INRIA Research Report (http ://hal.inria.fr/inria-00552221/). 5th Internatio-
nal Workshop on Security and Rewriting Techniques.
[Bourdier et al., 2011] Bourdier, T., Cirstea, H., Jaume, M., and Kirchner, H. (2011).
Formal specication and validation of security policies. In Foundations & Practice
of Security, volume 6888 of Lecture Notes in Computer Science, page to appear.
Springer-Verlag.
[Bourdier et al., 2009] Bourdier, T., Cirstea, H., Moreau, P.-E., and de Oliveira, A. S.
(2009). Analysis of lattice-based access control policies using rewriting systems
and tom. In Proceedings of the 1st Luxembourg Day on Security and Reliability,
pages 3340. ISBN 2-919940-84-8.
[Carrasco et al., 2007] Carrasco, R. C., Daciuk, J., and Forcada, M. L. (2007). An
implementation of deterministic tree automata minimization. In 12th Internatio-
nal Conference on Implementation and Application of Automata, volume 4783 of
Lecture Notes in Computer Science, pages 122129. Springer-Verlag.
[Cirstea et al., 2005] Cirstea, H., Moreau, P., and Reilles, A. (2005). Rule-based
Programming in Java For Protocol Verication. In 5th International Workshop on
Rewriting Logic and Its Applications, volume 117 of Electronic Notes in Theoretical
Computer Science, pages 209227. Elsevier Science Publishers B. V.
[Cirstea et al., 2009] Cirstea, H., Moreau, P.-E., and Santana de Oliveira, A. (2009).
Rewrite based specication of access control policies. In 3rd International Work-
shop on Security and Rewriting Techniques, volume 234 of Electronic Notes in
Theoretical Computer Science, pages 3754. Elsevier Science Publishers B. V.
[Codd, 1972] Codd, E. F. (1972). Relational Completeness of Data Base Sublan-
guages, pages 6598. Prentice Hall Inc.
[Cohn, 1981] Cohn, P. M. (1981). Universal algebra, volume 6 of Mathematics and
its applications. D. Reidel Publishing Company. Previous ed. : New York : Harper
& Row, 1965.
[Commission of the European Communities, 1991] Commission of the European
Communities (1991). Information technology security evaluation criteria (itsec)
provisional harmonized criteria. Oce for Ocial Publications of the European
Communities.
[Comon, 1992] Comon, H. (1992). Rsolution de contraintes dans les algbres de
termes. Habilitation diriger des recherches. Universit de Paris Sud.
[Comon, 1998a] Comon, H. (1998a). Completion of rewrite systems with member-
ship constraints. Part I : deduction rules. Journal of Symbolic Computation,
25 :397419. Elsevier Science Publishers B. V.
[Comon, 1998b] Comon, H. (1998b). Completion of rewrite systems with member-
ship constraints. Part II : Constraint solving. Journal of Symbolic Computation,
25 :421453. Elsevier Science Publishers B. V.
[Comon, 2001] Comon, H. (2001). Inductionless induction. In Robinson, A. and
Voronkov, A., editors, Handbook of Automated Reasoning, volume 1, chapter 14,
pages 913962. Elsevier Science Publishers B. V.
157
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
[Comon et al., 2008] Comon, H., Dauchet, M., Gilleron, R., Jacquemard, F., Lugiez,
D., Tison, S., and Tommasi, M. (2008). Tree automata techniques and applications.
Available at : http://gforge.inria.fr/projects/tata/.
[Comon and Delor, 1994] Comon, H. and Delor, C. (1994). Equational formulae with
membership constraints. Information and Computation, 112(2) :167216. Elsevier
Science Publishers B. V.
[Comon and Jouannaud, 2003] Comon, H. and Jouannaud, J. (2003). Les termes
en logique et en programmation. Available at : www.lix.polytechnique.fr/
~jouannaud/articles/cours-tlpo.pdf. Notes de cours - Universit de Paris
Sud.
[Comon and Lescanne, 1989] Comon, H. and Lescanne, P. (1989). Equational pro-
blems and disunication. Journal of Symbolic Computation, 7 :371425. Elsevier
Science Publishers B. V.
[Conoboy and Fictner, 2002] Conoboy, B. and Fictner, E. (2002). IP Filter Based Fi-
rewalls HOWTO. Available at : http://www.obfuscation.org/ipf/ipf-howto.
pdf.
[Contejean et al., 2010] Contejean, ., Paskevich, A., Urbain, X., Courtieu, P., Pons,
O., and Forest, J. (2010). A3PAT, an approach for certied automated termina-
tion proofs. In ACM SIGPLAN Workshop on Partial evaluation and program
manipulation, pages 6372. ACM.
[Courcelle, 1989] Courcelle, B. (1989). Resolution of Equations in Algebraic Struc-
tures, chapter On recognizable Sets and Tree Automata. Academic Press Inc.
[Cuppens, 2000] Cuppens, F. (2000). Modlisation formelle de la scurit des sys-
tmes dinformations. Habilitation diriger des recherches. Universit Paul Saba-
tier.
[Cuppens et al., 2005] Cuppens, F., Cuppens-Boulahia, N., and Garcia-Alfaro, J.
(2005). Detection and removal of rewall misconguration. In International
Conference on Communication, Network and Information Security, pages 154
162. ACTA Press.
[Cuppens et al., 2006] Cuppens, F., Cuppens-Boulahia, N., and Garcia Alfaro, J.
(2006). Detection of network security component misconguration by rewriting
and correlation. In Proceedings of the 5th Conference on Security and Network
Architectures joint with the 3rd Conference on Security in Information Systems.
[Cuppens et al., 2004] Cuppens, F., Cuppens-Boulahia, N., Sans, T., and Mige, A.
(2004). A formal approach to specify and deploy a network security policy. In 2nd
IFIP TC1 WG1.7 Workshop on Formal Aspects in Security and Trust, volume 173
of IFIP Advances in Information and Communication Technology, pages 203218.
Springer-Verlag.
[Damianou et al., 2002] Damianou, N. C., Bandara, A. K., Sloman, M. S., and Lupu,
E. C. (2002). A survey of policy specication approaches. Technical report, De-
partment of Computing, Imperial College of Science Technology and Medicine,
London, UK. http://www.doc.ic.ac.uk/~mss/Papers/PolicySurvey.pdf.
158
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
[Darmaillacq, 2005] Darmaillacq, V. (2005). Comparaison de divers formalismes
pour la modlisation et le test de politiques de scurit. Projet POTESTAT (PO-
litiques de scurit : TEST et Analyse par le Test de systmes en rseau ouvert).
[Dauchet and Tison, 1990] Dauchet, M. and Tison, S. (1990). The theory of ground
rewrite systems is decidable. In 5th Annual Symposium on Logic in Computer
Science, pages 242248. IEEE Computer Society.
[Dausque, 2005] Dausque, N. (2005). PSSI Politiques de Scurit des Systmes
dInformation & CAPSEC Comment Adapter une politique de Scurit pour
les Entit du CNRS . Scurit Informatique, 52 :15. Bulletin du Centre National
de la Recherche Scientique.
[Dershowitz et al., 1992] Dershowitz, N., Mitra, S., and Sivakumar, G. (1992). De-
cidable matching for convergent systems. In 11th International Conference on
Automated Deduction, volume 607 of Lecture Notes in Computer Science, pages
589602. Springer-Verlag.
[Deswarte and M, 2002] Deswarte, Y. and M, L. (2002). Scurit des rseaux et
systmes rpartis. Herms Science, Lavoisier.
[Dougherty et al., 2007] Dougherty, D., Kirchner, C., Kirchner, H., and Santana de
Oliveira, A. (2007). Modular Access Control via Strategic Rewriting. In 12th
European Symposium On Research In Computer Security, volume 4734 of Lecture
Notes in Computer Science, pages 578593. Springer-Verlag.
[Dougherty et al., 2006] Dougherty, D. J., Fisler, K., and Krishnamurthi, S. (2006).
Specifying and reasoning about dynamic access-control policies. In 3rd Interna-
tional Joint Conference on Automated Reasoning, volume 4130 of Lecture Notes
in Computer Science, pages 632646. Springer-Verlag.
[Durn et al., 2008] Durn, F., Lucas, S., and Meseguer, J. (2008). MTT : The
Maude termination tool (system description). In 4th International Joint Confe-
rence on Automated Reasoning, number 5195 in Lecture Notes in Computer
Science, pages 313319. Springer-Verlag.
[Durand, 2005] Durand, I. (2005). Autowrite : A tool for term rewrite systems and
tree automata. In 5th International Workshop on Rule-Based Programming, vo-
lume 124 of Electronic Notes in Theoretical Computer Science, pages 2949. Else-
vier Science Publishers B. V.
[Echahed and Prost, 2005] Echahed, R. and Prost, F. (2005). Security policy in a
declarative style. In International ACM SIGPLAN conference on Principles and
Practice of Declarative Programming, pages 153163. ACM.
[Edjlali et al., 1999] Edjlali, G., Acharya, A., and Chaudhary, V. (1999). History-
based access control for mobile code. In Secure Internet Programming, volume
1603/1999 of Lecture Notes in Computer Science, pages 413431. Springer-Verlag.
[Eronen and Zitting, 2001] Eronen, P. and Zitting, J. (2001). An expert system for
analyzing rewall rules. In Proc. 6th Nordic Worksh. Secure IT Systems, number
IMM-TR-2001-14 in Technical report, pages 100107. Technical Univ. of Denmark.
[Escobar et al., 2007] Escobar, S., Meseguer, J., and Thati, P. (2007). Narrowing
and rewriting logic : from foundations to applications. In 15th Workshop on Func-
159
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
tional and (Constraint) Logic Programming, volume 177 of Electronic Notes in
Theoretical Computer Science, pages 533. Elsevier Science Publishers B. V.
[Falke and Kapur, 2006] Falke, S. and Kapur, D. (2006). Inductive decidability using
implicit induction. In Logic for Programming, Articial Intelligence, and Reaso-
ning, volume 4246 of Lecture Notes in Computer Science, pages 4559. Springer-
Verlag.
[Fernandes, 2001] Fernandes, T. (2001). Les politiques de scurit. PhD thesis,
Groupe de recherche LSFM, dpartement dinformatique, Universit Laval, Ca-
nada.
[Fernandez, 1992] Fernandez, M. (1992). Narrowing based procedures for equational
disunication. Applicable Algebra in Engineering, Communication and Computing,
3 :126. Springer-Verlag.
[Feuillade et al., 2004] Feuillade, G., Genet, T., and Viet Triem Tong, V. (2004).
Reachability Analysis over Term Rewriting Systems. Journal of Automated Rea-
soning, 33 (3-4) :341383. Springer-Verlag.
[Fruhwirth et al., 1991] Fruhwirth, T., Shapiro, E., Vardi, M., and Yardeni, E.
(1991). Logic programs as types for logic programs. In 6th Annual Symposium on
Logic in Computer Science, pages 300309. IEEE Computer Society.
[Fuller and Li, 2006] Fuller, V. and Li, T. (2006). Classless Inter-Domain Routing
(CIDR) : The Internet Address Assignment and Aggregation Plan. The Internet
Society. RFC 4632.
[Gcseg and Steinby, 1997] Gcseg, F. and Steinby, M. (1997). Handbook of formal
languages, volume 3 : Beyond words, chapter Tree languages. Springer-Verlag.
[Gelfond and Lifschitz, 1998] Gelfond, M. and Lifschitz, V. (1998). Action lan-
guages. Electronic Transactions on Articial Intelligence, 2 :193210. Linkping
University Electronic Press.
[Genet and Klay, 2000] Genet, T. and Klay, F. (2000). Rewriting for cryptogra-
phic protocol verication. In 17th International Conference on Automated Deduc-
tion, volume 1831 of Lecture Notes in Computer Science, pages 271290. Springer-
Verlag.
[Giesl et al., 2006] Giesl, J., Schneider-Kamp, P., and Thiemann, R. (2006). AProVE
1.2 : Automatic termination proofs in the dependency pair framework. In 3rd
International Joint Conference on Automated Reasoning, volume 4130 of Lecture
Notes in Computer Science, pages 281286. Springer-Verlag.
[Gligor, 1995] Gligor, V. (1995). Characteristics of role-based access control. In
Proceedings of the 1st ACM Workshop on Role-based access control. ACM.
[Goubault-Larrecq, 2005] Goubault-Larrecq, J. (2005). Deciding H1 by resolution.
Information Processing Letters, 95(3) :401408. Elsevier Science Publishers B. V.
[Gouda and Liu, 2004] Gouda, M. and Liu, A. (2004). Firewall design : Consistency,
completeness, and compactness. In 24th IEEE International Conference on Dis-
tributed Computing Systems, pages 320327. IEEE Computer Society.
[Graham and Denning, 1972] Graham, G. and Denning, P. (1972). Protection : prin-
ciples and practice. In the American Federation of Information Processing Societies
Fall Joint Computer Conference, pages 417429. AFIPS Press.
160
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
[Greco et al., 1992] Greco, S., Leone, N., and Rullo, P. (1992). Complex : an object-
oriented logic programming system. IEEE Transactions on Knowledge and Data
Engineering, 4(4) :344359. IEEE Computer Society.
[Habib et al., 2009] Habib, L., Jaume, M., and Morisset, C. (2009). Formal denition
and comparison of access control models. Journal of Information Assurance and
Security, 4(4) :372381. Dynamic Publishers Inc, USA.
[Halpern and Weissman, 2008] Halpern, J. and Weissman, V. (2008). Using rst-
order logic to reason about policies. ACM Transactions on Information and System
Security, 11(4) :141. ACM.
[Hamdi et al., 2007] Hamdi, H., Mosbah, M., and Bouhoula, A. (2007). A domain
specic language for securing distributed systems. In 2nd International Conference
on Systems and Networks Communications. IEEE Computer Society.
[Hamed and Al-Shaer, 2006] Hamed, H. and Al-Shaer, E. (2006). Taxonomy of
conicts in network security policies. IEEE Communications Magazine, 44(3) :134
141. IEEE Computer Society.
[Hamed et al., 2005] Hamed, H., Al-Shaer, E., and Marrero, W. (2005). Modeling
and verication of IPSec and VPN security policies. In 13th IEEE International
Conference on Network Protocols, pages 259278. IEEE Computer Society.
[Hardin et al., 2006] Hardin, T., Jaume, M., and Morisset, C. (2006). Access control
and rewrite systems. In Proceedings of the 1st International Workshop on Security
and Rewriting Techniques.
[Hazelhurst, 2000] Hazelhurst, S. (2000). Algorithms for analysing rewall and router
access lists. Technical Report TR-WITS-CS-1999-5, University of the Witwaters-
rand, South Africa.
[Heintze and Riecke, 1998] Heintze, N. and Riecke, J. (1998). The SLam calculus :
programming with secrecy and integrity. In ACM SIGPLAN-SIGACT Symposium
on Principles of programming languages, pages 365377. ACM.
[Hirokawa and Middeldorp, 2005] Hirokawa, N. and Middeldorp, A. (2005). Tyro-
lean termination tool : Techniques and features. Information and Computation,
205(4) :474511. Elsevier Science Publishers B. V.
[Hoot, 1992] Hoot, C. (1992). Completion for constrained term rewriting systems.
In 3rd International Workshop on Conditional Term Rewriting Systems, volume
656 of Lecture Notes in Computer Science, pages 408423. Springer-Verlag.
[Huet and Hullot, 1982] Huet, G. and Hullot, J. (1982). Proofs by induction in
equational theories with constructors. Journal of Computer and System Sciences,
25(2) :239266. Elsevier Science Publishers B. V.
[ISO, 2009] ISO (2009). Common Criteria for Information Technology Security Eva-
luation. ISO/CEI 15408.
[Jacquemard, 1996a] Jacquemard, F. (1996a). Automates darbres et rcriture de
termes. PhD thesis, Universit de Paris-Sud, UFR scientique dOrsay.
[Jacquemard, 1996b] Jacquemard, F. (1996b). Decidable approximations of term
rewriting systems. In 7th International Conference on Rewriting Techniques and
161
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
Applications, volume 1103 of Lecture Notes in Computer Science, pages 362376.
Springer-Verlag.
[Jajodia et al., 2001] Jajodia, S., Samarati, P., Sapino, M., and Subrahmanian, V.
(2001). Flexible support for multiple access control policies. ACM Transactions
on Database Systems, 26(2) :214260. ACM.
[Jajodia et al., 1997] Jajodia, S., Samarati, P., and Subrahmanian, V. S. (1997). A
logical language for expressing authorizations. In IEEE Symposium on Security
and Privacy, pages 3142. IEEE Computer Society.
[Jaume, 2010] Jaume, M. (2010). Security rules versus security properties. In 6th
International Conference on Information Systems Security, volume 6503 of Lecture
Notes in Computer Science, pages 231245. Springer-Verlag.
[Jaume and Morisset, 2005] Jaume, M. and Morisset, C. (2005). Formalisation and
implementation of access control models. In International Symposium on Informa-
tion Technology : Coding and Computing, pages 703708. IEEE Computer Society.
[Jaume and Morisset, 2006] Jaume, M. and Morisset, C. (2006). Towards a formal
specication of access control. In Proceedings of the Joint Workshop on Founda-
tions of Computer Security and Automated Reasoning for Security Protocol Ana-
lysis, pages 213232.
[Jouannaud and Kirchner, 1991] Jouannaud, J.-P. and Kirchner, C. (1991). Solving
equations in abstract algebras : a rule-based survey of unication. In Computa-
tional Logic : Essays in Honor of Alan Robinson, chapter 8, pages 257321. The
MIT-Press.
[Jouannaud and Kirchner, 1986] Jouannaud, J.-P. and Kirchner, H. (1986). Com-
pletion of a set of rules modulo a set of equations. SIAM Journal of Computing,
15(4) :11551194. Society for Industrial and Applied Mathematics.
[Kalam et al., 2003] Kalam, A., Baida, R., Balbiani, P., Benferhat, S., Cuppens, F.,
Deswarte, Y., Miege, A., Saurel, C., and Trouessin, G. (2003). Organization ba-
sed access control. In IEEE International Workshop on Policies for Distributed
Systems and Networks, pages 120131. IEEE Computer Society.
[Kamara et al., 2003] Kamara, S., Fahmy, S., Schultz, E., Kerschbaum, F., and
Frantzen, M. (2003). Analysis of vulnerabilities in internet rewalls. Computers
& Security, 22 :214232. Elsevier Science Publishers B. V.
[Kirchner et al., 2008] Kirchner, C., Kirchner, F., and Kirchner, H. (2008). Strategic
computations and deductions. In Benzmueller, C., Brown, C., Siekman, J., and
Statman, R., editors, Reasoning in Simple Type Theory Festschrift in Honor of
Peter B. Andrews on his 70th Birthday, pages 339364. College Publications.
[Kirchner and Kirchner, 1989] Kirchner, C. and Kirchner, H. (1989). Constrained
equational reasoning. In International Symposium on Symbolic and Algebraic Com-
putation, pages 382389. ACM.
[Kirchner and Kirchner, 2006] Kirchner, C. and Kirchner, H. (2006). Rewriting Sol-
ving Proving. Preliminary version of a book. Available at : http://www.loria.
fr/~hkirchne/rsp.pdf.
162
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
[Kirchner et al., 1990] Kirchner, C., Kirchner, H., and Rusinowitch, M. (1990). De-
duction with symbolic contraints. Revue dintelligence articielle, 4(3) :952. Her-
ms Science, Lavoisier.
[Kirchner et al., 2009] Kirchner, C., Kirchner, H., and Santana de Oliveira, A.
(2009). Analysis of rewrite-based access control policies. In 3rd International
Workshop on Security and Rewriting Techniques, volume 234 of Electronic Notes
in Theoretical Computer Science, pages 5575. Elsevier Science Publishers B. V.
[Lampson, 1971] Lampson, B. (1971). Protection. In 5th Princeton Conf. on Infor-
mation Sciences and Systems, pages 1824. Princeton University.
[Lengl, 2010] Lengl, O. (2010). An ecient tree automata library. Masters thesis,
Brno university of technology.
[Limet and Rty, 1998] Limet, S. and Rty, P. (1998). Solving disequations modulo
some class of rewrite systems. In 9th International Conference on Rewriting Tech-
niques and Applications, volume 1379 of Lecture Notes in Computer Science, pages
121135. Springer-Verlag.
[Liu, 2008] Liu, A. (2008). Formal verication of rewall policies. In IEEE In-
ternational Conference on Communications, pages 1494 1498. IEEE Computer
Society.
[Liu and Gouda, 2005] Liu, A. and Gouda, M. (2005). Complete redundancy detec-
tion in rewalls. In Data and Applications Security XIX, volume 3654 of Lecture
Notes in Computer Science, pages 193206. Springer-Verlag.
[Liu et al., 2005] Liu, A., Gouda, M., Ma, H., and Ngu, A. (2005). Firewall queries.
In 8th International Conference on Principles of Distributed Systems, volume 3544
of Lecture Notes in Computer Science, pages 197212. Springer-Verlag.
[Liu and Gouda, 2009] Liu, A. X. and Gouda, M. G. (2009). Firewall policy queries.
IEEE Transactions on Parallel and Distributed Systems, 20(6) :766777. IEEE
Computer Society.
[Marchand, 2003] Marchand, P. (2003). Mathmatiques Discrtes - Automates, lan-
gages, logique et dcidabilit. Dunod.
[Marmorstein and Kearns, 2005] Marmorstein, R. and Kearns, P. (2005). An open
source solution for testing NATd and nested iptables rewalls. In 19th Confe-
rence on Systems Administration, pages 103112, Berkeley, CA, USA. USENIX
Association.
[Masson et al., 2010] Masson, P.-A., Potet, M.-L., Julliand, J., Tissot, R., Debois,
G., Legeard, B., Chetali, B., Bouquet, F., Jauel, E., Van Aertrick, L., Andronick,
J., and Haddad, A. (2010). An access control model based testing approach for
smart card applications : Results of the POSE project. Journal of Information
Assurance and Security, 5(1) :335351. Dynamic Publishers Inc, USA.
[McDermott et al., 1998] McDermott, D. et al. (1998). PDDL the Planning Do-
main Denition Language. Technical report, Yale Center for Computational Vision
and Control. CVC TR-98-003/DCS TR-1165.
[McLean, 1988] McLean, J. (1988). The algebra of security. In IEEE Symposium on
Security and Privacy, pages 27. IEEE Computer Society.
163
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
[M and Deswarte, 2006] M, L. and Deswarte, Y. (2006). Scurit des systmes
dinformation. Herms Science, Lavoisier.
[Monin, 2000] Monin, J. (2000). Introduction aux mthodes formelles. Herms
Science, Lavoisier.
[Morisset, 2007] Morisset, C. (2007). Smantique des systmes de contrle daccs
Dnition dun cadre smantique pour la spcication, limplantation et la com-
paraison de modles de contrle daccs. PhD thesis, Universit Pierre et Marie
Curie.
[Nelson et al., 2010] Nelson, T., Barratt, C., Dougherty, D., Fisler, K., and Krish-
namurthi, S. (2010). The margrave tool for rewall analysis. In International
Conference on Large Installation System Administration, pages 18. USENIX As-
sociation.
[Nieslon et al., 2002] Nieslon, F., Nielson, H., and H., S. (2002). Normalizable horn
clauses, strongly recognizable relations and spi. In Static Analysis Symposium,
volume 2477 of Lecture Notes in Computer Science, pages 2035. Springer-Verlag.
[Northern Illinois University, 2010] Northern Illinois University (2010). Northern
illinois university electronic mail (e-mail) policy. http://www.its.niu.edu/its/
Policies/email_pol.shtml.
[Peltier, 2009] Peltier, N. (2009). Constructing innite models represented by
tree automata. Annals of Mathematics and Articial Intelligence, 56(1) :6585.
Springer-Verlag.
[Rocha, 2011] Rocha, C. (2011). The maude invariant analyzer tool. http://www.
camilorocha.info/software/inva.
[Rocha and Meseguer, 2011] Rocha, C. and Meseguer, J. (2011). Proving safety pro-
perties of rewrite theories. In 4th Conference on Algebra and Coalgebra in Com-
puter Science, volume 6859 of Lecture Notes in Computer Science, pages 314328.
Springer-Verlag.
[Russell, 2002] Russell, R. (2002). Linux 2.4 packet ltering howto. Available at :
http://www.netfilter.org/documentation.
[Russo, 1966] Russo, S. (1966). Linformation, source de pouvoir. conomie rurale,
69 :310. Socit Franaise dconomie Rurale.
[Rusu, 2010] Rusu, V. (2010). Combining theorem proving and narrowing for
rewriting-logic specications. In Tests and Proofs, volume 6143 of Lecture Notes
in Computer Science, pages 135150. Springer-Verlag.
[Samarati and de Vimercati, 2001] Samarati, P. and de Vimercati, S. (2001). Access
control : Policies, models, and mechanisms. In Foundations of Security Analysis
and Design, volume 2171 of Lecture Notes in Computer Science, pages 137196.
Springer-Verlag.
[Sandhu, 1993] Sandhu, R. (1993). Lattice-based access control models. IEEE Com-
puter, 26(11) :919. IEEE Computer Society.
[Sandhu et al., 1996] Sandhu, R., Coyne, E., Feinstein, H., and Youman, C. (1996).
Role-based access control models. IEEE Computer, 29 :3847. IEEE Computer
Society.
164
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
[Sandhu and Samarati, 1994] Sandhu, R. and Samarati, P. (1994). Access control :
Principles and practice. IEEE Communications, 32(9) :4048. IEEE Computer
Society.
[Santana de Oliveira, 2007] Santana de Oliveira, A. (2007). Rewriting-based access
control policies. In Proceedings of the 1st International Workshop on Security and
Rewriting Techniques, volume 171 of Electronic Notes in Theoretical Computer
Science, pages 5972. Elsevier Science Publishers B. V.
[Santana de Oliveira, 2008] Santana de Oliveira, A. (2008). Rcriture et modularit
pour les politiques de scurit. PhD thesis, Universit Henri Poincar, Nancy.
[Santana de Oliveira et al., 2007] Santana de Oliveira, A., Wang, E., Kirchner, C.,
and Kirchner, H. (2007). Weaving rewrite-based access control policies. In ACM
Workshop on Formal methods in security engineering, pages 7180. ACM.
[Sasturkar et al., 2006] Sasturkar, A., Yang, P., Stoller, S., and Ramakrishnan, C.
(2006). Policy analysis for administrative role based access control. In Proceedings
of the 19th IEEE workshop on Computer Security Foundations, pages 124138.
IEEE Computer Society.
[Schneider, 2000] Schneider, F. (2000). Enforceable security policies. ACM Transac-
tions on Information and System Security, 3(1) :3050. ACM.
[Souayeh et al., 2010] Souayeh, N., Bouhoula, A., and Jacquemard, F. (2010). Au-
tomatic Validation of Firewall Congurations using SMT Solvers. Journal of In-
formation Assurance and Security, 5(1) :561568. Dynamic Publishers Inc, USA.
[Sperschneider and Antoniou, 1991] Sperschneider, V. and Antoniou, G. (1991). Lo-
gic : A Fundation for Computer Science. International Computer Science Series.
Addison-Wesley Publishing Company.
[Srisuresh and Holdrege, 1999] Srisuresh, P. and Holdrege, M. (1999). IP Network
Address Translator (NAT) Terminology and Considerations. The Internet Society.
RFC 2663.
[Sterling and Shapiro, 1994] Sterling, L. and Shapiro, E. (1994). The art of Prolog.
MIT press.
[Sterne, 1991] Sterne, D. (1991). On the buzzword "security policy". In IEEE Sym-
posium on Security and Privacy, pages 219231. IEEE Computer Society.
[Stratulat, 2005] Stratulat, S. (2005). Automatic Descente Innie induction reaso-
ning. In TABLEAUX, volume 3702 of Lecture Notes in Computer Science, pages
262276. Springer-Verlag.
[Stratulat, 2011] Stratulat, S. (2011). Spike-prover : an automated theorem
prover based on Descente Innie induction. http://code.google.com/p/
spike-prover/.
[Terese, 2003] Terese (2003). Term Rewriting Systems. Cambridge University Press.
[Thatcher and Wright, 1968] Thatcher, J. W. and Wright, J. B. (1968). Generalized
nite automata theory with an application to a decision problem of second-order
logic. Theory of Computing Systems, 2(1) :5781. Springer-Verlag.
[Thpaut, 2002] Thpaut, Y. (2002). Pouvoir, Information, conomie. Editions
Economica.
165
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
BIBLIOGRAPHIE
[Tison, 2000] Tison, S. (2000). Tree automata and term rewrite systems. In 11th
International Conference on Rewriting Techniques and Applications, volume 1833
of Lecture Notes in Computer Science, pages 2730. Springer-Verlag.
[Ullman, 1988] Ullman, J. (1988). Principles of database and knowledge-base sys-
tems, Vol. I. Computer Science Press, Inc. New York, NY, USA.
[Uribe and Cheung, 2007] Uribe, T. and Cheung, S. (2007). Automatic analysis of
rewall and network intrusion detection system congurations. Journal of Com-
puter Security, 15(6) :691715. IOS Press.
[Wijesekera and Jajodia, 2002] Wijesekera, D. and Jajodia, S. (2002). Policy alge-
bras for access control - the predicate case. In 9th ACM Conference on Computer
and Communications Security, pages 171180. ACM.
[Woo and Lam, 1993] Woo, T. and Lam, S. (1993). Authorization in distributed
systems : A new approach. Journal of Computer Security, 2(2-3) :107136. IOS
Press.
[Yuan et al., 2006] Yuan, L., Mai, J., Su, Z., Chen, H., Chuah, C.-N., and Mohapa-
tra, P. (2006). Fireman : A toolkit for rewall modeling and analysis. In IEEE
Symposium on Security and Privacy (S&P). IEEE Computer Society.
166
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1
Rsum Concevoir et mettre en uvre des mthodes pour la spcication, lanalyse et la vrication
de logiciels et de systmes sont les principaux moteurs des activits de recherche prsentes dans ce
manuscrit. Dans ce cadre, nos travaux se positionnent dans la catgorie dite des mthodes formelles ap-
partenant la communaut plus large du gnie logiciel. linterface des travaux thoriques et applicatifs,
notre objectif est de contribuer aux mthodes permettant dassurer la correction et la sret des systmes
(fonctionnalit, scurit, abilit, . . . ) en dveloppant ou en amliorant des langages de spcication, des
techniques et des outils permettant leur analyse formelle. Dans ce but, nous nous sommes attach dans
cette thse proposer et tudier un cadre formel permettant la dnition de politiques de scurit et la
vrication de leurs proprits. cet eet, nous avons propos un cadre pour la spcication de politiques
de scurit bas sur une approche modulaire dans laquelle une politique est vue comme la composition
dun modle de scurit et dune conguration. Nous avons investigu les possibilits oertes par de telles
spcications lorsque les modles sont exprims au moyen de contraintes du premier ordre et les congu-
rations au moyen de programmes logiques. En particulier, nous avons propos un algorithme permettant
de transformer une politique exprime dans un modle donn vers une autre politique quivalente (au
sens o elle engendre les mmes autorisations) exprime dans un autre modle. Dans un second temps,
nous nous sommes propos de tenir compte des aspects dynamiques de la conguration dune politique
vue comme un tat du systme sur lequel la politique est mise en oeuvre et o chaque action est associe
une procdure de modication des tats. Nous avons propos un langage formel simple pour spcier
sparment les systmes et les politiques de scurit puis avons donn une smantique des spcications
exprimes dans ce cadre sous la forme de systmes de rcriture. Nous nous sommes ensuite attachs
montrer que les systmes de rcriture obtenus permettent ltude de proprits de scurit. Dans une
troisime partie, nous nous sommes focalis sur les mcanismes permettant la mise en oeuvre de politiques
de scurit dans les rseaux. Dans ce cadre, nous avons propos une spcication des rewalls et de leurs
compositions base sur les automates darbres et les systmes de rcriture puis avons montr en quoi ces
spcications nous permettent danalyser de faon automatique les politiques de scurit sous-jacentes.
Mots-cls Politiques de scurit, mthodes formelles, systmes de rcriture, spcication, vrication.
Abstract Designing and applying formal methods for specifying, analyzing and verifying softwares
and systems are the main driving forces behind the work presented in this manuscript. In this context,
our activities fall into the category of formal methods belonging to the wider community of software
engineering. At the interface between theoretical and applied research, our aim is to contribute to the
methods ensuring the correction and the safety of systems (security, reliability, ...) by developing or by
improving specication languages, techniques and tools allowing their formal analysis. In this purpose,
we became attached in this thesis to propose and to study a formal framework allowing the specication
of security policies and the verication of their properties. We rst proposed a framework for specifying
security policies based on a modular approach in which policies are seen as a composition of security
models and congurations. We investigated the possibilities opened by such specications when models
are expressed by means of rst order constraints and congurations by means of logical programs. In
particular, we proposed an algorithm allowing the transformation of a security policy expressed in a given
model towards another equivalent policy expressed in another model. Secondly, we suggested taking into
account dynamic aspects of policy congurations which can be seen as states of the system on which
the policy is applied and where each action is associated with a procedure of states modication. We
proposed a simple formal language to specify separately systems and security policies and then gave a
semantics of specications expressed in this framework under the form of rewriting systems. We then
attempted to show that the obtained rewriting systems allow the analysis of security properties. In the
third part, we focused on mechanisms enforcing security policies in networks. In this context, we proposed
a specication of rewalls and their compositions based on tree automata and rewriting systems and then
showed how these specications allow us to analyze in an automatic way the underlying security policies.
Keywords Security policies, formal methods, rewriting systems, specication, verication.
t
e
l
-
0
0
6
4
6
4
0
1
,

v
e
r
s
i
o
n

1

-

1
6

D
e
c

2
0
1
1

Вам также может понравиться