1. Lilia Sfaxi
Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Construction de Systèmes Répartis Sécurisés à base de
Composants
Thèse de Doctorat
Lilia SFAXI ep. YOUSSEF
Faculté des Sciences de Tunis / Université de Grenoble
ENCADRANTS
MEMBRES DU JURY
Pr. Riadh ROBBANA
(INSAT)
Pr. Khaled BSAIES
Pr. Yassine LAKHNECH
(UDG)
Pr. Didier DONSEZ
Examinateur
Pr. Mohamed MOSBAH
Rapporteur
Pr. Belhassen ZOUARI
Rapporteur
CO-ENCADRANTE
Dr. Takoua ABDELLATIF
(UDS)
Président du Jury
5 mai 2012
Non-Interférence dans les Systèmes Répartis
1 / 52
2. Lilia Sfaxi
Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
1
Contexte : Contrôle de Flux d’Information dans les Systèmes Répartis
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et Contrôle de Flux d’Information
Problématique : Non-Interférence dans les Systèmes Répartis
2
Contributions : Application Statique et Dynamique de la Non Interférence
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
3
Evaluation de l’Approche
Etudes de Cas
Etude de Performances
4
Conclusion et Perspectives
Non-Interférence dans les Systèmes Répartis
2 / 52
3. Lilia Sfaxi
Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
1
Contexte : Contrôle de Flux d’Information dans les Systèmes Répartis
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et Contrôle de Flux d’Information
Problématique : Non-Interférence dans les Systèmes Répartis
2
Contributions : Application Statique et Dynamique de la Non Interférence
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
3
Evaluation de l’Approche
Etudes de Cas
Etude de Performances
4
Conclusion et Perspectives
Non-Interférence dans les Systèmes Répartis
2 / 52
4. Lilia Sfaxi
Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
1
Contexte : Contrôle de Flux d’Information dans les Systèmes Répartis
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et Contrôle de Flux d’Information
Problématique : Non-Interférence dans les Systèmes Répartis
2
Contributions : Application Statique et Dynamique de la Non Interférence
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
3
Evaluation de l’Approche
Etudes de Cas
Etude de Performances
4
Conclusion et Perspectives
Non-Interférence dans les Systèmes Répartis
2 / 52
5. Lilia Sfaxi
Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
1
Contexte : Contrôle de Flux d’Information dans les Systèmes Répartis
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et Contrôle de Flux d’Information
Problématique : Non-Interférence dans les Systèmes Répartis
2
Contributions : Application Statique et Dynamique de la Non Interférence
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
3
Evaluation de l’Approche
Etudes de Cas
Etude de Performances
4
Conclusion et Perspectives
Non-Interférence dans les Systèmes Répartis
2 / 52
6. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Systèmes Répartis
Lilia Sfaxi
Du point de vue Architecture
Plusieurs systèmes calculatoires autonomes (nœuds)
Pas de mémoire physique commune
Communication grâce à un réseau par envoi de messages
Du point de vue Utilisateur
Pas de différence avec un système centralisé
Non-Interférence dans les Systèmes Répartis
3 / 52
7. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Systèmes Répartis
Lilia Sfaxi
Avantages
⊕
⊕
⊕
⊕
⊕
Haute disponibilité
Performance
Protection des données
Hétérogénéité
Parallélisme
Inconvénients : Risques de sécurité
⊖ Au niveau du réseau
-
Deni de Service (DoS et DDoS)
Homme au milieu (MITM)
Usurpation d’adresse IP (IP Spoofing)
Reniflement de paquet (Packet Sniffing)
Attaque par rejeu (Replay Attack)
⊖ Au niveau des nœuds eux-mêmes
⇒ Nécessité d’une expertise en sécurité des systèmes
Non-Interférence dans les Systèmes Répartis
4 / 52
8. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Propriétés de Sécurité Usuelles
Lilia Sfaxi
Authentification
Vérification de l’identité d’une entité (utilisateur ou machine)
Confidentialité
Protection de l’information contre les accès non désirés
Intégrité
Protection de l’information contre les modifications non désirées
Disponibilité
Garantie de service dans les conditions d’horaire, de délai et de performance
Non Répudiation
Protection contre le désaveu d’une information
Non-Interférence dans les Systèmes Répartis
5 / 52
9. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Propriétés de Sécurité Usuelles
Lilia Sfaxi
Authentification
Vérification de l’identité d’une entité (utilisateur ou machine)
Confidentialité
Protection de l’information contre les accès non désirés
Intégrité
Protection de l’information contre les modifications non désirées
Disponibilité
Garantie de service dans les conditions d’horaire, de délai et de performance
Non Répudiation
Protection contre le désaveu d’une information
Non-Interférence dans les Systèmes Répartis
5 / 52
10. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Mécanismes de Sécurité Usuels
Lilia Sfaxi
Contrôle d’accès
Vérifier l’authentification et l’autorisation
Définition d’une matrice de contrôle d’accès
Primitives cryptographiques
Hachage : assurer l’intégrité d’un message
Chiffrement : assurer la confidentialité d’un message
Certificat : assurer l’authentification
Délégation
Délégation de droits et permissions à un sujet tierce
Permet d’optimiser le nombre d’identités stockées
Non-Interférence dans les Systèmes Répartis
6 / 52
11. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Mécanismes de Sécurité Usuels
Lilia Sfaxi
Contrôle d’accès
Vérifier l’authentification et l’autorisation
Définition d’une matrice de contrôle d’accès
Primitives cryptographiques
Hachage : assurer l’intégrité d’un message
Chiffrement : assurer la confidentialité d’un message
Certificat : assurer l’authentification
Délégation
Délégation de droits et permissions à un sujet tierce
Permet d’optimiser le nombre d’identités stockées
Périmètre
Ne garantissent pas une sécurité de bout en bout
⇒ Nécessité d’un contrôle de la propagation de l’information
Non-Interférence dans les Systèmes Répartis
6 / 52
12. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Contrôle de Flux d’Information : Termes clefs
Lilia Sfaxi
Donnée : élément brut, sans interprétation ni contexte
Information : donnée interprétée, mise en contexte
Flux d’information : acheminement d’une information d’une donnée à une
autre.
Suivi du flux d’information : trouver toutes les données qui ont eu accès à
une information
Exemple
* Variable mdp dont la valeur est azerty ⇒ Donnée
* Variable mdp utilisée comme mot de passe pour accéder à une application
⇒ Information
* Stockage de la variable mdp dans une variable saveMdp ⇒ Flux
d’information de mdp vers saveMdp
Non-Interférence dans les Systèmes Répartis
7 / 52
13. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Suivi du Flux d’Information
Lilia Sfaxi
L’information circule dans un système :
Entre les données
Entre les modules et composants (logiciels ou matériels)
Entre les acteurs
Assurer les propriétés d’authentification, de confidentialité et d’intégrité
ne garantit pas toujours que les données circulent de manière autorisée par
leur propriétaire
Non-Interférence dans les Systèmes Répartis
8 / 52
14. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Suivi du Flux d’Information
Lilia Sfaxi
L’information circule dans un système :
Entre les données
Entre les modules et composants (logiciels ou matériels)
Entre les acteurs
Assurer les propriétés d’authentification, de confidentialité et d’intégrité
ne garantit pas toujours que les données circulent de manière autorisée par
leur propriétaire
Non-Interférence dans les Systèmes Répartis
8 / 52
15. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Suivi du Flux d’Information
Lilia Sfaxi
L’information circule dans un système :
Entre les données
Entre les modules et composants (logiciels ou matériels)
Entre les acteurs
Assurer les propriétés d’authentification, de confidentialité et d’intégrité
ne garantit pas toujours que les données circulent de manière autorisée par
leur propriétaire
B
Relation de confiance
A
Flux d’information
C
Non-Interférence dans les Systèmes Répartis
8 / 52
16. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Suivi du Flux d’Information
Lilia Sfaxi
L’information circule dans un système :
Entre les données
Entre les modules et composants (logiciels ou matériels)
Entre les acteurs
Assurer les propriétés d’authentification, de confidentialité et d’intégrité
ne garantit pas toujours que les données circulent de manière autorisée par
leur propriétaire
B
Relation de confiance
A
Flux d’information
C
Non-Interférence dans les Systèmes Répartis
8 / 52
17. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Suivi du Flux d’Information
Lilia Sfaxi
L’information circule dans un système :
Entre les données
Entre les modules et composants (logiciels ou matériels)
Entre les acteurs
Assurer les propriétés d’authentification, de confidentialité et d’intégrité
ne garantit pas toujours que les données circulent de manière autorisée par
leur propriétaire
B
Relation de confiance
A
Flux d’information
C
Non-Interférence dans les Systèmes Répartis
8 / 52
18. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Suivi du Flux d’Information
Lilia Sfaxi
L’information circule dans un système :
Entre les données
Entre les modules et composants (logiciels ou matériels)
Entre les acteurs
Assurer les propriétés d’authentification, de confidentialité et d’intégrité
ne garantit pas toujours que les données circulent de manière autorisée par
leur propriétaire
B
A
Relation de confiance
x
Flux d’information
C
Non-Interférence dans les Systèmes Répartis
8 / 52
19. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Suivi du Flux d’Information
Lilia Sfaxi
L’information circule dans un système :
Entre les données
Entre les modules et composants (logiciels ou matériels)
Entre les acteurs
Assurer les propriétés d’authentification, de confidentialité et d’intégrité
ne garantit pas toujours que les données circulent de manière autorisée par
leur propriétaire
B
A
Relation de confiance
x
x
Flux d’information
C
Non-Interférence dans les Systèmes Répartis
8 / 52
20. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Suivi du Flux d’Information
Lilia Sfaxi
L’information circule dans un système :
Entre les données
Entre les modules et composants (logiciels ou matériels)
Entre les acteurs
Assurer les propriétés d’authentification, de confidentialité et d’intégrité
ne garantit pas toujours que les données circulent de manière autorisée par
leur propriétaire
B
A
Relation de confiance
x
x
Flux d’information
C
Non-Interférence dans les Systèmes Répartis
8 / 52
21. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Propriété de Non-Interférence
Lilia Sfaxi
Propriété de flux d’information stricte
D’abord définie en 1982, mais implémentée récemment
Approches statiques : Langages typés-sécurité (Cornell)
Approches dynamiques : Systèmes d’exploitation non-interférents
(MIT,Stanford)
Classifie les données selon leur niveau de sécurité
Non-Interférence dans les Systèmes Répartis
9 / 52
22. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Propriété de Non-Interférence
Lilia Sfaxi
Propriété de flux d’information stricte
D’abord définie en 1982, mais implémentée récemment
Approches statiques : Langages typés-sécurité (Cornell)
Approches dynamiques : Systèmes d’exploitation non-interférents
(MIT,Stanford)
Classifie les données selon leur niveau de sécurité
Non-Interférence
Si un attaquant peut observer des données jusqu’à un niveau de sécurité o,
alors une modification d’une variable de niveau de sécurité plus haut est
indiscernable pour cet attaquant.
Non-Interférence dans les Systèmes Répartis
9 / 52
23. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Propriété de Non-Interférence
Lilia Sfaxi
Propriété de flux d’information stricte
D’abord définie en 1982, mais implémentée récemment
Approches statiques : Langages typés-sécurité (Cornell)
Approches dynamiques : Systèmes d’exploitation non-interférents
(MIT,Stanford)
Classifie les données selon leur niveau de sécurité
Non-Interférence
Si un attaquant peut observer des données jusqu’à un niveau de sécurité o,
alors une modification d’une variable de niveau de sécurité plus haut est
indiscernable pour cet attaquant.
Déduction
Les sorties observables à un niveau o doivent être indépendantes des entrées à
des niveaux plus restrictifs que o.
Non-Interférence dans les Systèmes Répartis
9 / 52
24. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Non-Interférence dans le Code
Lilia Sfaxi
L’interférence dans un programme se manifeste par le passage
d’information entre les données du programme
Une information secrète ne doit pas être transmise à une donnée publique
⇒ Les données du programme doivent être classifiées par niveau de sécurité
Le passage d’information peut être explicite ou implicite
Non-Interférence dans les Systèmes Répartis
10 / 52
25. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Exemple d’Interférence Explicite :
Affectation
Lilia Sfaxi
Donnée secrète : secretVar
Donnée publique : publicVar
class
NI {
boolean secretVar;
boolean publicVar ;
public void start() {
}
}
Non-Interférence dans les Systèmes Répartis
11 / 52
26. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Exemple d’Interférence Explicite :
Affectation
Lilia Sfaxi
Donnée secrète : secretVar
Donnée publique : publicVar
class
NI {
boolean secretVar;
boolean publicVar ;
public void start() {
}
}
Non-Interférence dans les Systèmes Répartis
11 / 52
27. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Exemple d’Interférence Explicite :
Affectation
Lilia Sfaxi
Donnée secrète : secretVar
Donnée publique : publicVar
class
NI {
boolean secretVar;
boolean publicVar ;
public void start() {
}
}
Non-Interférence dans les Systèmes Répartis
11 / 52
28. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Exemple d’Interférence Explicite :
Affectation
Lilia Sfaxi
Donnée secrète : secretVar
Donnée publique : publicVar
class
NI {
boolean secretVar;
boolean publicVar ;
public void start() {
secretVar = publicVar ;
}
autorisé
}
Non-Interférence dans les Systèmes Répartis
11 / 52
29. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Exemple d’Interférence Explicite :
Affectation
Lilia Sfaxi
Donnée secrète : secretVar
Donnée publique : publicVar
class
NI {
boolean secretVar;
boolean publicVar ;
public void start() {
publicVar = secretVar;
}
interdit!
}
INTERFERENCE : Flux d’information d’une donnée secrète vers une donnée
publique !
Non-Interférence dans les Systèmes Répartis
11 / 52
30. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Exemple d’Interférence Implicite :
Bloc de Contrôle
Lilia Sfaxi
class
NI {
boolean secretVar;
boolean publicVar ;
public void start() {
if ( secretVar) { publicVar = true; }
else { publicVar = false; }
}
}
INTERFERENCE : Équivalent à publicVar=secretVar
→ Modification d’une donnée publique dans un contexte plus restrictif
Non-Interférence dans les Systèmes Répartis
12 / 52
31. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Exemple d’Interférence Implicite :
Bloc de Contrôle
Lilia Sfaxi
class
NI {
boolean secretVar;
boolean publicVar ;
public void start() {
if ( secretVar) { publicVar = true; }
else { publicVar = false; }
}
}
INTERFERENCE : Équivalent à publicVar=secretVar
→ Modification d’une donnée publique dans un contexte plus restrictif
Non-Interférence dans les Systèmes Répartis
12 / 52
32. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Exemple d’Interférence Implicite :
Appel de Méthode
Lilia Sfaxi
class
NI {
boolean secretVar;
= false;
boolean publicVar
public void start() {
if ( secretVar) { modif() }
}
public void modif() {
publicVar = true;
}
}
INTERFERENCE : Appel d’une méthode dans un contexte plus restrictif
Non-Interférence dans les Systèmes Répartis
13 / 52
33. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Exemple d’Interférence Implicite :
Appel de Méthode
Lilia Sfaxi
class
NI {
boolean secretVar;
= false;
boolean publicVar
public void start() {
if ( secretVar) { modif() }
}
public void modif() {
publicVar = true;
}
}
INTERFERENCE : Appel d’une méthode dans un contexte plus restrictif
Non-Interférence dans les Systèmes Répartis
13 / 52
34. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Exemple d’Interférence Implicite :
Appel de Méthode
Lilia Sfaxi
class
NI {
boolean secretVar;
= false;
boolean publicVar
public void start() {
if ( secretVar) { modif() }
}
public void modif() {
publicVar = true;
}
}
INTERFERENCE : Appel d’une méthode dans un contexte plus restrictif
Niveaux de sécurité
Comment associer des niveaux de sécurité aux données ? ⇒ Etiquettes
Non-Interférence dans les Systèmes Répartis
13 / 52
35. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Configuration des Niveaux de Sécurité : Etiquettes
Lilia Sfaxi
Etiquette : Paire de :
Niveau de confidentialité (S pour Secrecy )
Niveau d’integrité (I pour Integrity )
⇒ Notées : {S ;I}
Relation au plus aussi restrictive que : ⊆
Détermine le sens de circulation d’une information
Construction d’un treillis de sécurité
Non-Interférence dans les Systèmes Répartis
14 / 52
36. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Configuration des Niveaux de Sécurité : Etiquettes
Lilia Sfaxi
Etiquette : Paire de :
Niveau de confidentialité (S pour Secrecy )
Niveau d’integrité (I pour Integrity )
⇒ Notées : {S ;I}
Relation au plus aussi restrictive que : ⊆
Détermine le sens de circulation d’une information
Construction d’un treillis de sécurité
Restriction de Non-Interférence
Quand l’information circule dans un système, ses étiquettes deviennent
uniquement plus restrictives
Non-Interférence dans les Systèmes Répartis
14 / 52
37. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Modèle d’Etiquettes Décentralisé (DLM)
Lilia Sfaxi
Réalisé par [Myers00]
Autorités (Principals) :
Utilisateurs, groupes ou rôles
Chaque autorité possède un ensemble d’étiquettes
Une autorité ne peut rétrograder que les étiquettes dont elle est propriétaire
Relation : agit pour
A
B ssi A hérite de tous les privilèges de B
Etiquettes (Labels) : niveaux de sécurité
Niveau de confidentialité : liste des lecteurs potentiels de la donnée
S(d) = {Alice → Bob, Chuck} ⊆C S(d’) = {Alice → Bob}
Niveau d’intégrité : liste des autorités qui ont affecté la valeur de la donnée
I(d) = {Alice ← Bob} ⊆I I(d’) = {Alice ← Bob, Chuck}
Non-Interférence dans les Systèmes Répartis
15 / 52
38. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Modèle d’Etiquettes à base de Jetons
Lilia Sfaxi
Utilisé dans les systèmes d’exploitation non-interférents
[Krohn07,Zeldovich06]
Étiquette : ensemble de jetons (tags)
Jeton : terme opaque associé à une donnée pour lui associer un degré de
confidentialité ou d’intégrité
Jeton de confidentialité : une donnée d avec un jeton de confidentialité j ⇔
d contient une information privée de niveau j
S(d) = {j} ⊆C S(d’) = {j,k}
Jeton d’intégrité : une donnée d avec un jeton d’intégrité i ⇔ d est
garantie par i
I(d) = {i,l} ⊆I I(d’) = {i}
Non-Interférence dans les Systèmes Répartis
16 / 52
39. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Modèle d’Etiquettes à base de Jetons
Lilia Sfaxi
Utilisé dans les systèmes d’exploitation non-interférents
[Krohn07,Zeldovich06]
Étiquette : ensemble de jetons (tags)
Jeton : terme opaque associé à une donnée pour lui associer un degré de
confidentialité ou d’intégrité
Jeton de confidentialité : une donnée d avec un jeton de confidentialité j ⇔
d contient une information privée de niveau j
S(d) = {j} ⊆C S(d’) = {j,k}
Jeton d’intégrité : une donnée d avec un jeton d’intégrité i ⇔ d est
garantie par i
I(d) = {i,l} ⊆I I(d’) = {i}
Remarque
Un même jeton, utilisé pour le niveau d’intégrité et le niveau de confidentialité,
a une signification différente pour chacun d’eux.
Non-Interférence dans les Systèmes Répartis
16 / 52
40. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Défis
Lilia Sfaxi
Construction de systèmes répartis non-interférents
Application aisée et pertinente des niveaux de sécurité
Vérification automatique de la propriété de non-interférence
Sécurisation des systèmes
A la construction
A l’exécution
Non-Interférence dans les Systèmes Répartis
17 / 52
41. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Etat de l’Art : Sécurité des Systèmes Répartis
Lilia Sfaxi
Configuration de la sécurité à haut niveau d’abstraction
Model-driven security (MdS) [Basin06,Nadalin05]
JASON [Chmielewski08]
Modules et service de sécurité
Authentification [Nikander99,Welch03]
Contrôle d’accès et RBAC [Welch03,Blaze99,Nikander99]
Modules cryptographiques
Gestion de clefs [Seitz03]
Conversion de créances [Welch03]
Systèmes à base de composants sécurisés
SCA : Service Component Architecture
Cracker [Lacoste08]
CAmkES [Kuz07]
Non-Interférence dans les Systèmes Répartis
18 / 52
42. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Etat de l’Art : Contrôle de Flux d’Information
Lilia Sfaxi
Vérification statique de la non-interférence
JIF [Myers00]
JIF/Split [Zdancewic02]
FlowCaml [Simonet03]
Compilateur de [Fournet09]
Fabric [Liu09]
Langage impératif pour les systèmes distribués de [Alpizar09]
Vérification dynamique de la non-interférence
Systèmes d’exploitation non-interférents : Flume [Krohn07],
HiStar[Zeldovich06] et Asbestos[Efstathopoulos05]
DStar [Zeldovich08]
SmartFlow [Eyers09]
Composition de services web [Hutter06]
Non-Interférence dans les Systèmes Répartis
19 / 52
43. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Problématique
Lilia Sfaxi
Politiques basées sur le contrôle d’accès ne contrôlent pas l’utilisation
d’une donnée une fois délivrée au service autorisé
⇒ Risque d’appels à des services tiers, donc divulgation des secrets
Les langages typés sécurité (ex : JIF )
Entremêlent la politique de sécurité avec le code fonctionnel
Obligent le concepteur du système à appliquer les niveaux de sécurité à leur
code à un niveau de granularité très fin
Sont surtout appliqués aux systèmes centralisés
Ne proposent pas de solution pour les modules patrimoniaux
Les langages typés sécurité appliqués aux systèmes distribués (ex :
JIF/Split)
La décomposition du système se fait selon les contraintes de sécurité, pas
selon les contraintes fonctionnelles
Les systèmes d’exploitation non-interférents
Agissent au niveau des processus
Proposent un CFI à un niveau de granularité grossier
⇒ Risque de fuite d’information due aux flux implicites
Non-Interférence dans les Systèmes Répartis
20 / 52
44. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Problématique
Lilia Sfaxi
Politiques basées sur le contrôle d’accès ne contrôlent pas l’utilisation
d’une donnée une fois délivrée au service autorisé
⇒ Risque d’appels à des services tiers, donc divulgation des secrets
Les langages typés sécurité (ex : JIF )
Entremêlent la politique de sécurité avec le code fonctionnel
Obligent le concepteur du système à appliquer les niveaux de sécurité à leur
code à un niveau de granularité très fin
Sont surtout appliqués aux systèmes centralisés
Ne proposent pas de solution pour les modules patrimoniaux
Les langages typés sécurité appliqués aux systèmes distribués (ex :
JIF/Split)
La décomposition du système se fait selon les contraintes de sécurité, pas
selon les contraintes fonctionnelles
Les systèmes d’exploitation non-interférents
Agissent au niveau des processus
Proposent un CFI à un niveau de granularité grossier
⇒ Risque de fuite d’information due aux flux implicites
Non-Interférence dans les Systèmes Répartis
20 / 52
45. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Problématique
Lilia Sfaxi
Politiques basées sur le contrôle d’accès ne contrôlent pas l’utilisation
d’une donnée une fois délivrée au service autorisé
⇒ Risque d’appels à des services tiers, donc divulgation des secrets
Les langages typés sécurité (ex : JIF )
Entremêlent la politique de sécurité avec le code fonctionnel
Obligent le concepteur du système à appliquer les niveaux de sécurité à leur
code à un niveau de granularité très fin
Sont surtout appliqués aux systèmes centralisés
Ne proposent pas de solution pour les modules patrimoniaux
Les langages typés sécurité appliqués aux systèmes distribués (ex :
JIF/Split)
La décomposition du système se fait selon les contraintes de sécurité, pas
selon les contraintes fonctionnelles
Les systèmes d’exploitation non-interférents
Agissent au niveau des processus
Proposent un CFI à un niveau de granularité grossier
⇒ Risque de fuite d’information due aux flux implicites
Non-Interférence dans les Systèmes Répartis
20 / 52
46. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Problématique
Lilia Sfaxi
Politiques basées sur le contrôle d’accès ne contrôlent pas l’utilisation
d’une donnée une fois délivrée au service autorisé
⇒ Risque d’appels à des services tiers, donc divulgation des secrets
Les langages typés sécurité (ex : JIF )
Entremêlent la politique de sécurité avec le code fonctionnel
Obligent le concepteur du système à appliquer les niveaux de sécurité à leur
code à un niveau de granularité très fin
Sont surtout appliqués aux systèmes centralisés
Ne proposent pas de solution pour les modules patrimoniaux
Les langages typés sécurité appliqués aux systèmes distribués (ex :
JIF/Split)
La décomposition du système se fait selon les contraintes de sécurité, pas
selon les contraintes fonctionnelles
Les systèmes d’exploitation non-interférents
Agissent au niveau des processus
Proposent un CFI à un niveau de granularité grossier
⇒ Risque de fuite d’information due aux flux implicites
Non-Interférence dans les Systèmes Répartis
20 / 52
47. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Objectifs
Lilia Sfaxi
Besoin d’une solution qui :
Configure la politique de sécurité à un haut niveau d’abstraction
Applique le CFI à un niveau de granularité fin
Ne requiert pas d’expertise particulière en langages typés sécurité
Offre la possibilité de relaxer la propriété de non-interférence
Sépare les contraintes fonctionnelles des contraintes de sécurité
Propose une solution pour les modules patrimoniaux
Soit applicable aux systèmes répartis réels
Soit applicable dynamiquement, peu surcoût en terme de performances
⇒ Besoin d’un modèle de représentation des systèmes qui soit :
Flexible
Modulaire
Offre une séparation nette entre l’architecture et le comportement de
l’application
Configurable à la compilation et à l’exécution
Non-Interférence dans les Systèmes Répartis
21 / 52
48. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Objectifs
Lilia Sfaxi
Besoin d’une solution qui :
Configure la politique de sécurité à un haut niveau d’abstraction
Applique le CFI à un niveau de granularité fin
Ne requiert pas d’expertise particulière en langages typés sécurité
Offre la possibilité de relaxer la propriété de non-interférence
Sépare les contraintes fonctionnelles des contraintes de sécurité
Propose une solution pour les modules patrimoniaux
Soit applicable aux systèmes répartis réels
Soit applicable dynamiquement, peu surcoût en terme de performances
⇒ Besoin d’un modèle de représentation des systèmes qui soit :
Flexible
Modulaire
Offre une séparation nette entre l’architecture et le comportement de
l’application
Configurable à la compilation et à l’exécution
Non-Interférence dans les Systèmes Répartis
21 / 52
49. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Objectifs
Lilia Sfaxi
Besoin d’une solution qui :
Configure la politique de sécurité à un haut niveau d’abstraction
Applique le CFI à un niveau de granularité fin
Ne requiert pas d’expertise particulière en langages typés sécurité
Offre la possibilité de relaxer la propriété de non-interférence
Sépare les contraintes fonctionnelles des contraintes de sécurité
Propose une solution pour les modules patrimoniaux
Soit applicable aux systèmes répartis réels
Soit applicable dynamiquement, peu surcoût en terme de performances
⇒ Besoin d’un modèle de représentation des systèmes qui soit :
Flexible
Modulaire
Offre une séparation nette entre l’architecture et le comportement de
l’application
Configurable à la compilation et à l’exécution
Non-Interférence dans les Systèmes Répartis
21 / 52
50. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Objectifs
Lilia Sfaxi
Besoin d’une solution qui :
Configure la politique de sécurité à un haut niveau d’abstraction
Applique le CFI à un niveau de granularité fin
Ne requiert pas d’expertise particulière en langages typés sécurité
Offre la possibilité de relaxer la propriété de non-interférence
Sépare les contraintes fonctionnelles des contraintes de sécurité
Propose une solution pour les modules patrimoniaux
Soit applicable aux systèmes répartis réels
Soit applicable dynamiquement, peu surcoût en terme de performances
⇒ Besoin d’un modèle de représentation des systèmes qui soit :
Flexible
Modulaire
Offre une séparation nette entre l’architecture et le comportement de
l’application
Configurable à la compilation et à l’exécution
Non-Interférence dans les Systèmes Répartis
21 / 52
51. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Objectifs
Lilia Sfaxi
Besoin d’une solution qui :
Configure la politique de sécurité à un haut niveau d’abstraction
Applique le CFI à un niveau de granularité fin
Ne requiert pas d’expertise particulière en langages typés sécurité
Offre la possibilité de relaxer la propriété de non-interférence
Sépare les contraintes fonctionnelles des contraintes de sécurité
Propose une solution pour les modules patrimoniaux
Soit applicable aux systèmes répartis réels
Soit applicable dynamiquement, peu surcoût en terme de performances
⇒ Besoin d’un modèle de représentation des systèmes qui soit :
Flexible
Modulaire
Offre une séparation nette entre l’architecture et le comportement de
l’application
Configurable à la compilation et à l’exécution
Non-Interférence dans les Systèmes Répartis
21 / 52
52. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Objectifs
Lilia Sfaxi
Besoin d’une solution qui :
Configure la politique de sécurité à un haut niveau d’abstraction
Applique le CFI à un niveau de granularité fin
Ne requiert pas d’expertise particulière en langages typés sécurité
Offre la possibilité de relaxer la propriété de non-interférence
Sépare les contraintes fonctionnelles des contraintes de sécurité
Propose une solution pour les modules patrimoniaux
Soit applicable aux systèmes répartis réels
Soit applicable dynamiquement, peu surcoût en terme de performances
⇒ Besoin d’un modèle de représentation des systèmes qui soit :
Flexible
Modulaire
Offre une séparation nette entre l’architecture et le comportement de
l’application
Configurable à la compilation et à l’exécution
Non-Interférence dans les Systèmes Répartis
21 / 52
53. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Objectifs
Lilia Sfaxi
Besoin d’une solution qui :
Configure la politique de sécurité à un haut niveau d’abstraction
Applique le CFI à un niveau de granularité fin
Ne requiert pas d’expertise particulière en langages typés sécurité
Offre la possibilité de relaxer la propriété de non-interférence
Sépare les contraintes fonctionnelles des contraintes de sécurité
Propose une solution pour les modules patrimoniaux
Soit applicable aux systèmes répartis réels
Soit applicable dynamiquement, peu surcoût en terme de performances
⇒ Besoin d’un modèle de représentation des systèmes qui soit :
Flexible
Modulaire
Offre une séparation nette entre l’architecture et le comportement de
l’application
Configurable à la compilation et à l’exécution
Non-Interférence dans les Systèmes Répartis
21 / 52
54. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Objectifs
Lilia Sfaxi
Besoin d’une solution qui :
Configure la politique de sécurité à un haut niveau d’abstraction
Applique le CFI à un niveau de granularité fin
Ne requiert pas d’expertise particulière en langages typés sécurité
Offre la possibilité de relaxer la propriété de non-interférence
Sépare les contraintes fonctionnelles des contraintes de sécurité
Propose une solution pour les modules patrimoniaux
Soit applicable aux systèmes répartis réels
Soit applicable dynamiquement, peu surcoût en terme de performances
⇒ Besoin d’un modèle de représentation des systèmes qui soit :
Flexible
Modulaire
Offre une séparation nette entre l’architecture et le comportement de
l’application
Configurable à la compilation et à l’exécution
Non-Interférence dans les Systèmes Répartis
21 / 52
55. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Objectifs
Lilia Sfaxi
Besoin d’une solution qui :
Configure la politique de sécurité à un haut niveau d’abstraction
Applique le CFI à un niveau de granularité fin
Ne requiert pas d’expertise particulière en langages typés sécurité
Offre la possibilité de relaxer la propriété de non-interférence
Sépare les contraintes fonctionnelles des contraintes de sécurité
Propose une solution pour les modules patrimoniaux
Soit applicable aux systèmes répartis réels
Soit applicable dynamiquement, peu surcoût en terme de performances
⇒ Besoin d’un modèle de représentation des systèmes qui soit :
Flexible
Modulaire
Offre une séparation nette entre l’architecture et le comportement de
l’application
Configurable à la compilation et à l’exécution
Non-Interférence dans les Systèmes Répartis
21 / 52
56. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
CBSE : Ingénierie Logicielle à base de Composants
Lilia Sfaxi
Composant
Unité de composition
Offre un service ou une fonctionnalité
prédéfinie
Communique avec les autres composants
via des ports connectés par des liaisons
Configurable grâce à ses attributs
Peut être hierarchique
Non-Interférence dans les Systèmes Répartis
C1
C2
22 / 52
57. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
CBSE : Ingénierie Logicielle à base de Composants
Lilia Sfaxi
Composant
Unité de composition
Offre un service ou une fonctionnalité
prédéfinie
Communique avec les autres composants
via des ports connectés par des liaisons
Configurable grâce à ses attributs
Peut être hierarchique
Non-Interférence dans les Systèmes Répartis
C1
P
P’
C2
22 / 52
58. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
CBSE : Ingénierie Logicielle à base de Composants
Lilia Sfaxi
Composant
Unité de composition
Offre un service ou une fonctionnalité
prédéfinie
Communique avec les autres composants
via des ports connectés par des liaisons
Configurable grâce à ses attributs
Peut être hierarchique
Non-Interférence dans les Systèmes Répartis
C1
P
P’
C2
22 / 52
59. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
CBSE : Ingénierie Logicielle à base de Composants
Lilia Sfaxi
Composant
Unité de composition
Offre un service ou une fonctionnalité
prédéfinie
Communique avec les autres composants
via des ports connectés par des liaisons
Configurable grâce à ses attributs
Peut être hierarchique
message
Non-Interférence dans les Systèmes Répartis
C1
P
P’
C2
22 / 52
60. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
CBSE : Ingénierie Logicielle à base de Composants
Lilia Sfaxi
Composant
Unité de composition
Offre un service ou une fonctionnalité
prédéfinie
Communique avec les autres composants
via des ports connectés par des liaisons
Configurable grâce à ses attributs
Peut être hierarchique
message
Non-Interférence dans les Systèmes Répartis
P
P’
C2
22 / 52
61. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
CBSE : Ingénierie Logicielle à base de Composants
Lilia Sfaxi
Composant
Unité de composition
Offre un service ou une fonctionnalité
prédéfinie
Communique avec les autres composants
via des ports connectés par des liaisons
Configurable grâce à ses attributs
Peut être hierarchique
message
P
P’
C2
Représentation orientés composants
Séparation de l’architecture du système
et de son implémentation
Architecture : Utilisation du Langage de
Description d’Architecture (ADL)
Implémentation : Utilisation d’un langage
impératif
Non-Interférence dans les Systèmes Répartis
22 / 52
62. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Contributions
Lilia Sfaxi
Besoin d’une solution qui :
Configure la politique de sécurité à un haut niveau d’abstraction
Applique le CFI à un niveau de granularité fin
Ne requiert pas d’expertise particulière en langages typés sécurité
Offre la possibilité de relaxer la propriété de non-interférence
Sépare les contraintes fonctionnelles des contraintes de sécurité
Propose une solution pour les modules patrimoniaux
Soit applicable aux systèmes répartis réels
Soit applicable dynamiquement, peu surcoût en terme de performances
Non-Interférence dans les Systèmes Répartis
23 / 52
63. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et CFI
Problématique : Non-Interférence dans les Systèmes Répartis
Contributions
Lilia Sfaxi
Besoin d’une solution qui :
Configure la politique de sécurité à un haut niveau d’abstraction
Applique le CFI à un niveau de granularité fin
Ne requiert pas d’expertise particulière en langages typés sécurité
Offre la possibilité de relaxer la propriété de non-interférence
Sépare les contraintes fonctionnelles des contraintes de sécurité
Propose une solution pour les modules patrimoniaux
Soit applicable aux systèmes répartis réels
CIF : Component Information Flow
Modèle et outils pour la construction de systèmes répartis non-interférents
Soit applicable dynamiquement, peu surcoût en terme de performances
DCIF : Dynamic Component Information Flow
Canevas pour l’application dynamique de la non-interférence
Non-Interférence dans les Systèmes Répartis
23 / 52
64. Lilia Sfaxi
Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
1
Contexte : Contrôle de Flux d’Information dans les Systèmes Répartis
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et Contrôle de Flux d’Information
Problématique : Non-Interférence dans les Systèmes Répartis
2
Contributions : Application Statique et Dynamique de la Non Interférence
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
3
Evaluation de l’Approche
Etudes de Cas
Etude de Performances
4
Conclusion et Perspectives
Non-Interférence dans les Systèmes Répartis
24 / 52
65. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
CIF : Component Information Flow
Lilia Sfaxi
Intergiciel pour la construction de systèmes non-interférents
Offre un modèle et un ensemble d’outils
S’applique aux systèmes répartis à base de composants
Figure: Emplacement de CIF dans une architecture logicielle
Non-Interférence dans les Systèmes Répartis
25 / 52
66. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Annotation de sécurité
Lilia Sfaxi
Étiquettes de sécurité au niveau
des :
Ports
Attributs
message
C1
P
P’
C2
Capacités :
Besoins de rétrogradation
Non-Interférence dans les Systèmes Répartis
26 / 52
67. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Annotation de sécurité
Lilia Sfaxi
Étiquettes de sécurité au niveau
des :
Ports
Attributs
message
P {S ;I}
C1
P’ {S’ ;I’}
C2
Capacités :
Besoins de rétrogradation
Non-Interférence dans les Systèmes Répartis
26 / 52
68. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Annotation de sécurité
Lilia Sfaxi
Étiquettes de sécurité au niveau
des :
Ports
Attributs
message {Sm ;Im}
P {S ;I}
C1
P’ {S’ ;I’}
C2
Capacités :
Besoins de rétrogradation
Non-Interférence dans les Systèmes Répartis
26 / 52
69. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Annotation de sécurité
Étiquettes de sécurité au niveau
des :
Ports
Attributs
message {Sm ;Im}
P {S ;I}
C1
P’ {S’ ;I’}
C2
Capacités :
Besoins de rétrogradation
⇒ Réalisé dans un fichier Policy séparé
Fichier ADL SCA
<component name ="C1">
<reference name="P" target="C2/P’">
<interface.java interface="security.PItf"/>
</reference>
<property name="message">
Hello World!
</property>
<implementation.java class="security.C1Impl"/>
</component>
Lilia Sfaxi
Fichier Policy
<policy targetComposite="C">
<component name="C1">
<port name="P" label="{S;I}" />
<attribute name="message" label="{Sm;Im}" />
<capabilities>
<capability> cap1 </capability>
</capabilities>
</component>
<component name="C2">
<port name="P’" label="{S’;I’}" />
</component>
(...)
</policy>
Non-Interférence dans les Systèmes Répartis
26 / 52
70. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Annotation de sécurité
Étiquettes de sécurité au niveau
des :
message {Sm ;Im}
Ports
Attributs
P {S ;I}
C1
P’ {S’ ;I’}
C2
Capacités :
Besoins de rétrogradation
⇒ Réalisé dans un fichier Policy séparé
Lilia Sfaxi
La propriété de non-interférence doit être vérifiée à deux niveaux :
Intra-composant : code du composant
Inter-composants : liaisons entre composants
Non-Interférence dans les Systèmes Répartis
26 / 52
71. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Annotation de sécurité
Étiquettes de sécurité au niveau
des :
message {Sm ;Im}
Ports
Attributs
P {S ;I}
C1
P’ {S’ ;I’}
C2
Capacités :
Besoins de rétrogradation
⇒ Réalisé dans un fichier Policy séparé
Lilia Sfaxi
La propriété de non-interférence doit être vérifiée à deux niveaux :
Intra-composant : code du composant
Inter-composants : liaisons entre composants
Non-Interférence dans les Systèmes Répartis
26 / 52
72. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Annotation de sécurité
Étiquettes de sécurité au niveau
des :
message {Sm ;Im}
Ports
Attributs
P {S ;I}
C1
P’ {S’ ;I’}
C2
Capacités :
Besoins de rétrogradation
⇒ Réalisé dans un fichier Policy séparé
Lilia Sfaxi
La propriété de non-interférence doit être vérifiée à deux niveaux :
Intra-composant : code du composant
Inter-composants : liaisons entre composants
Non-Interférence dans les Systèmes Répartis
26 / 52
73. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Sécurité Intra-Composant
Propagation de l’étiquette de sécurité dans l’implémentation de chaque
composant
Distinction entre deux types d’étiquettes :
Etiquettes immuables : Etiquettes des ports et attributs, attribuées dans
le fichier Policy
Etiquettes générées : Etiquettes intermédiaires déterminée par le
compilateur
⇒ Le flux d’information entre les entités Java doit être non-interférent
message {Sm ;Im}
package security;
class C1 implements StartItf{
String {Sm;Im} message;
SendItf {S;I} p ;
public void start() {
String{Sint;Iint} messageSent =
"Ceci est le message –>" +
message;
p.send(messageSent);
}
}
Lilia Sfaxi
start {}
Non-Interférence dans les Systèmes Répartis
P {S ;I}
C1
27 / 52
74. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Sécurité Intra-Composant
Propagation de l’étiquette de sécurité dans l’implémentation de chaque
composant
Distinction entre deux types d’étiquettes :
Etiquettes immuables : Etiquettes des ports et attributs, attribuées dans
le fichier Policy
Etiquettes générées : Etiquettes intermédiaires déterminée par le
compilateur
⇒ Le flux d’information entre les entités Java doit être non-interférent
message {Sm ;Im}
package security;
class C1 implements StartItf{
String {Sm;Im} message;
SendItf {S;I} p ;
public void start() {
String{Sint;Iint} messageSent =
"Ceci est le message –>" +
message;
p.send(messageSent);
}
}
Lilia Sfaxi
start {}
Non-Interférence dans les Systèmes Répartis
P {S ;I}
C1
27 / 52
75. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Sécurité Intra-Composant
Propagation de l’étiquette de sécurité dans l’implémentation de chaque
composant
Distinction entre deux types d’étiquettes :
Etiquettes immuables : Etiquettes des ports et attributs, attribuées dans
le fichier Policy
Etiquettes générées : Etiquettes intermédiaires déterminée par le
compilateur
⇒ Le flux d’information entre les entités Java doit être non-interférent
message {Sm ;Im}
package security;
class C1 implements StartItf{
String {Sm;Im} message;
SendItf {S;I} p ;
public void start() {
String{Sint;Iint} messageSent =
"Ceci est le message –>" +
message;
p.send(messageSent);
}
}
Lilia Sfaxi
start {}
Non-Interférence dans les Systèmes Répartis
P {S ;I}
C1
27 / 52
76. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Sécurité Inter-Composant
Lilia Sfaxi
Sémantiquement, si ℓ(C 1.P) = {S; I } et ℓ(C 2.P ′ ) = {S ′ ; I ′ }
Confidentialité
C1 : Je veux que le message envoyé à
travers P garde au moins le niveau de
confidentialité S
C2 : Je garantis la protection du message
reçu à travers P’ si son niveau de
confidentialité est S’
message {Sm ;Im}
C1
P{S ;I}
P’{S’ ;I’}
C2
Integrité
C1 : Je garantis que le niveau d’intégrité
du message envoyé à travers P est au
moins I
C2 : Je veux que le message reçu par P’
ait au moins l’intégrité I’
Non-Interférence dans les Systèmes Répartis
28 / 52
77. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Sécurité Inter-Composant
Lilia Sfaxi
La vérification inter-composant assure que :
Le flux d’information entre les composants
est non-interférent
Les données envoyées sont préservées
message {Sm ;Im}
C1
Non-Interférence dans les Systèmes Répartis
P{S ;I}
P’{S’ ;I’}
C2
28 / 52
78. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Sécurité Inter-Composant
Lilia Sfaxi
La vérification inter-composant assure que :
Le flux d’information entre les composants
est non-interférent
Pour chaque liaison, vérifier que :
message {Sm ;Im}
ℓ(portClient) ⊆ ℓ(portServeur )
Les données envoyées sont préservées
C1
Non-Interférence dans les Systèmes Répartis
P{S ;I}
P’{S’ ;I’}
C2
28 / 52
79. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Sécurité Inter-Composant
Lilia Sfaxi
La vérification inter-composant assure que :
Le flux d’information entre les composants
est non-interférent
Pour chaque liaison, vérifier que :
message {Sm ;Im}
ℓ(portClient) ⊆ ℓ(portServeur )
Les données envoyées sont préservées
C1
P{S ;I}
P’{S’ ;I’}
C2
Insertion de composants
cryptographiques entre les composants
fonctionnels
Non-Interférence dans les Systèmes Répartis
28 / 52
80. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Sécurité Inter-Composant
Lilia Sfaxi
La vérification inter-composant assure que :
Le flux d’information entre les composants
est non-interférent
Pour chaque liaison, vérifier que :
message {Sm ;Im}
ℓ(portClient) ⊆ ℓ(portServeur )
Les données envoyées sont préservées
C1
P{S ;I}
P’{S’ ;I’}
C2
Insertion de composants
cryptographiques entre les composants
fonctionnels
⇒ Implémentation d’outils qui automatisent tout le processus
Non-Interférence dans les Systèmes Répartis
28 / 52
81. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Les Outils CIF
Lilia Sfaxi
Ensemble d’outils
Vérification des contraintes de sécurité à la compilation
Génération du code de sécurité
Applications conçues avec un modèle orienté composant qui respecte les
conditions suivantes :
Utilisation d’un ADL pour la représentation de l’architecture
Utilisation d’un langage orienté objet pour la description du comportement
Prototypes appliqués à :
Modèle Orienté Composants : SCA et Fractal
Modèle d’Etiquettes : DLM et à Jeton
Langages utilisés
ADL : XML
Implémentation : Java 6
Non-Interférence dans les Systèmes Répartis
29 / 52
82. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Etapes d’Exécution
Lilia Sfaxi
Entrée
Outils CIF
Sortie
public class C1{
String att1;
Itf port1;
public void m(){
System.out.p();
port.send(att1);
}
public String getAtt(){
return att1;
}
}
Implémentation
des composants
{S;I}
{L;H}
{L;H}
{S';I'}
ADL CIF
Non-Interférence dans les Systèmes Répartis
30 / 52
83. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Etapes d’Exécution
Lilia Sfaxi
Entrée
Outils CIF
public class C1{
String att1;
Itf port1;
public void m(){
System.out.p();
port.send(att1);
}
public String getAtt(){
return att1;
}
}
{S;I}
{L;H}
{L;H}
{S';I'}
ADL CIF
Non-Interférence dans les Systèmes Répartis
30 / 52
84. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Etapes d’Exécution
Lilia Sfaxi
Entrée
Outils CIF
public class C1{
String att1;
Itf port1;
public void m(){
System.out.p();
port.send(att1);
}
public String getAtt(){
return att1;
}
}
{S;I}
{L;H}
{L;H}
{S';I'}
ADL CIF
Non-Interférence dans les Systèmes Répartis
30 / 52
85. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Etapes d’Exécution
Lilia Sfaxi
Entrée
Outils CIF
public class C1{
String att1;
Itf port1;
public void m(){
System.out.p();
port.send(att1);
}
public String getAtt(){
return att1;
}
}
{S;I}
{L;H}
{L;H}
{S';I'}
ADL CIF
Non-Interférence dans les Systèmes Répartis
30 / 52
86. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Générateur CIForm
Lilia Sfaxi
Entrée
Outils CIF
public class C1{
String att1;
Itf port1;
public void m(){
System.out.p();
port.send(att1);
}
public String getAtt(){
return att1;
}
}
{S;I}
{L;H}
{L;H}
{S';I'}
ADL CIF
CIForm : CIF Intermediate Format
API en Java décrivant :
L’architecture du système
Les contraintes de sécurité
Construite à partir des fichiers ADL et Policy avec un analyseur DOM
(Java Xerces)
Facilement extensible pour :
D’autres modèles orientés composants
D’autres modèles d’étiquettes
Non-Interférence dans les Systèmes Répartis
31 / 52
87. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
CIFIntra : Vérification de Flux d’Information dans le Code
Lilia Sfaxi
Entrée
Outils CIF
public class C1{
String att1;
Itf port1;
public void m(){
System.out.p();
port.send(att1);
}
public String getAtt(){
return att1;
}
}
{S;I}
{L;H}
{L;H}
{S';I'}
ADL CIF
Utilisation du compilateur Polyglot [Nystrom03]
Extraction d’un AST à partir du code de chaque composant
Parcours de l’AST grâce à des classes Visiteur
Affectation des étiquettes immuables aux attributs et méthodes Java
Calcul des étiquettes générées pour les éléments intermédiaires
Dans le cas d’une interférence, appel au composant Contrôleur
Quand le composant est jugé non-interférent, son code annoté est généré
package security;
public class C1{
private CltItf P1;
private CltItf P2;
private int att;
public void servPort(int val1,
int val2){
if (val1 == val2){
P1.send(val1);
P2.send(val2);
}
}
}
Figure: Comportement de CIFIntra
Non-Interférence dans les Systèmes Répartis
32 / 52
88. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
CIFIntra : Vérification de Flux d’Information pour un Composant Patrimonial
Lilia Sfaxi
Entrée
Outils CIF
public class C1{
String att1;
Itf port1;
public void m(){
System.out.p();
port.send(att1);
}
public String getAtt(){
return att1;
}
}
{S;I}
{L;H}
{L;H}
{S';I'}
ADL CIF
Un composant patrimonial doit être accompagné d’un IBA (Internal
Bindings Artifact)
Représente les liaisons internes d’un composant sans divulguer son code
Liaison interne : relation entre les entrées et les sorties d’un composant
Une entrée et une sortie sont liées ssi il existe un flux d’information entre elles
Outil de construction des liaisons internes : IBP (Internal Binding Plotter )
Le composant est non-interférent ssi pour chaque entrée e et sortie s liées,
ℓ(e) ⊆ ℓ(s)
a1
a1
a2
o1
i1
o2
o1
i1
o2
i2
o3
C1
C2
Représentation par Composants
Représentation Absraite
attribut
entrée
sortie
Figure: Liaisons Internes
Non-Interférence dans les Systèmes Répartis
33 / 52
89. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Outils CIF : CIFInter
Lilia Sfaxi
Entrée
Outils CIF
public class C1{
String att1;
Itf port1;
public void m(){
System.out.p();
port.send(att1);
}
public String getAtt(){
return att1;
}
}
{S;I}
{L;H}
{L;H}
{S';I'}
ADL CIF
Vérification du flux d’information entre les composants
Si aucune liaison ne présente d’interférence ; les générateurs fonctionnels :
Insèrent des composants cryptographiques dans l’instance CIForm
Génèrent le nouvel ADL fonctionnel
Génèrent le code des composants cryptographiques
ADL Système + Comp de Crypto.
ADL CIF
P{L}
Vérification des Liaisons
P1{L1}
P{L}
P'{L'}
P2{L2}
P1{L1}
P'{L'}
P2{L2}
Code des Composants
de Crypto.
Figure: Comportement de CIFInter
Non-Interférence dans les Systèmes Répartis
34 / 52
90. Lilia Sfaxi
Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
1
Contexte : Contrôle de Flux d’Information dans les Systèmes Répartis
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et Contrôle de Flux d’Information
Problématique : Non-Interférence dans les Systèmes Répartis
2
Contributions : Application Statique et Dynamique de la Non Interférence
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
3
Evaluation de l’Approche
Etudes de Cas
Etude de Performances
4
Conclusion et Perspectives
Non-Interférence dans les Systèmes Répartis
35 / 52
91. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
DCIF : Dynamic Component Information Flow
Lilia Sfaxi
Canevas orienté composants pour la construction de systèmes distribués
sécurisés à la compilation et à l’exécution
Définit deux types de composants :
Des composants fonctionnels
Des composants de gestion
Non-Interférence dans les Systèmes Répartis
36 / 52
92. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF
Lilia Sfaxi
Global Manager : Composite
Factory : Gère les m.à.j de
l’architecture du système
Global Manager
Key Manager : Gère les clefs
cryptographiques
IFC Manager : Gère les flux
d’information du système
Légende
Liaison Simple
Liaison Securisée
Interception
Crypto. Manager : Gère les
opérations de crypto. pour chaque
nœud.
Security Manager : Dispatche les
informations entre les composants
de sécurité
Gestionnaires
non-fonctionnels
Factory
Comp. de sécurité
Composant Factory
IFC
Manager
Security
Manager
Domaine1
Noeud11
C11
C11
Autres gestionnaires
Key
Manager
Domaine2
Noeud21
Crypto
Manager
Crypto
Manager
Noeud12
C12
C21
Crypto
Manager
Factory
Factory
Figure: Architecture de DCIF
Non-Interférence dans les Systèmes Répartis
37 / 52
93. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF
Lilia Sfaxi
Global Manager : Composite
Factory : Gère les m.à.j de
l’architecture du système
Global Manager
Key Manager : Gère les clefs
cryptographiques
IFC Manager : Gère les flux
d’information du système
Légende
Liaison Simple
Liaison Securisée
Interception
Crypto. Manager : Gère les
opérations de crypto. pour chaque
nœud.
Security Manager : Dispatche les
informations entre les composants
de sécurité
Gestionnaires
non-fonctionnels
Factory
Comp. de sécurité
Composant Factory
IFC
Manager
Security
Manager
Domaine1
Noeud11
C11
C11
Autres gestionnaires
Key
Manager
Domaine2
Noeud21
Crypto
Manager
Crypto
Manager
Noeud12
C12
C21
Crypto
Manager
Factory
Factory
Figure: Architecture de DCIF
Non-Interférence dans les Systèmes Répartis
37 / 52
94. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF
Lilia Sfaxi
Global Manager : Composite
Factory : Gère les m.à.j de
l’architecture du système
Global Manager
Key Manager : Gère les clefs
cryptographiques
IFC Manager : Gère les flux
d’information du système
Légende
Liaison Simple
Liaison Securisée
Interception
Crypto. Manager : Gère les
opérations de crypto. pour chaque
nœud.
Security Manager : Dispatche les
informations entre les composants
de sécurité
Gestionnaires
non-fonctionnels
Factory
Comp. de sécurité
Composant Factory
IFC
Manager
Security
Manager
Domaine1
Noeud11
C11
C11
Autres gestionnaires
Key
Manager
Domaine2
Noeud21
Crypto
Manager
Crypto
Manager
Noeud12
C12
C21
Crypto
Manager
Factory
Factory
Figure: Architecture de DCIF
Non-Interférence dans les Systèmes Répartis
37 / 52
95. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF
Lilia Sfaxi
Global Manager : Composite
Factory : Gère les m.à.j de
l’architecture du système
Global Manager
Key Manager : Gère les clefs
cryptographiques
IFC Manager : Gère les flux
d’information du système
Légende
Liaison Simple
Liaison Securisée
Interception
Crypto. Manager : Gère les
opérations de crypto. pour chaque
nœud.
Security Manager : Dispatche les
informations entre les composants
de sécurité
Gestionnaires
non-fonctionnels
Factory
Comp. de sécurité
Composant Factory
IFC
Manager
Security
Manager
Domaine1
Noeud11
C11
C11
Autres gestionnaires
Key
Manager
Domaine2
Noeud21
Crypto
Manager
Crypto
Manager
Noeud12
C12
C21
Crypto
Manager
Factory
Factory
Figure: Architecture de DCIF
Non-Interférence dans les Systèmes Répartis
37 / 52
96. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF
Lilia Sfaxi
Global Manager : Composite
Factory : Gère les m.à.j de
l’architecture du système
Global Manager
Key Manager : Gère les clefs
cryptographiques
IFC Manager : Gère les flux
d’information du système
Légende
Liaison Simple
Liaison Securisée
Interception
Crypto. Manager : Gère les
opérations de crypto. pour chaque
nœud.
Security Manager : Dispatche les
informations entre les composants
de sécurité
Gestionnaires
non-fonctionnels
Factory
Comp. de sécurité
Composant Factory
IFC
Manager
Security
Manager
Domaine1
Noeud11
C11
C11
Autres gestionnaires
Key
Manager
Domaine2
Noeud21
Crypto
Manager
Crypto
Manager
Noeud12
C12
C21
Crypto
Manager
Factory
Factory
Figure: Architecture de DCIF
Non-Interférence dans les Systèmes Répartis
37 / 52
97. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF
Lilia Sfaxi
Global Manager : Composite
Factory : Gère les m.à.j de
l’architecture du système
Global Manager
Key Manager : Gère les clefs
cryptographiques
IFC Manager : Gère les flux
d’information du système
Légende
Liaison Simple
Liaison Securisée
Interception
Crypto. Manager : Gère les
opérations de crypto. pour chaque
nœud.
Security Manager : Dispatche les
informations entre les composants
de sécurité
Gestionnaires
non-fonctionnels
Factory
Comp. de sécurité
Composant Factory
IFC
Manager
Security
Manager
Domaine1
Noeud11
C11
C11
Autres gestionnaires
Key
Manager
Domaine2
Noeud21
Crypto
Manager
Crypto
Manager
Noeud12
C12
C21
Crypto
Manager
Factory
Factory
Figure: Architecture de DCIF
Non-Interférence dans les Systèmes Répartis
37 / 52
98. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF
Lilia Sfaxi
Global Manager : Composite
Factory : Gère les m.à.j de
l’architecture du système
Global Manager
Key Manager : Gère les clefs
cryptographiques
IFC Manager : Gère les flux
d’information du système
Légende
Liaison Simple
Liaison Securisée
Interception
Crypto. Manager : Gère les
opérations de crypto. pour chaque
nœud.
Security Manager : Dispatche les
informations entre les composants
de sécurité
Gestionnaires
non-fonctionnels
Factory
Comp. de sécurité
Composant Factory
IFC
Manager
Security
Manager
Domaine1
Noeud11
C11
C11
Autres gestionnaires
Key
Manager
Domaine2
Noeud21
Crypto
Manager
Crypto
Manager
Noeud12
C12
C21
Crypto
Manager
Factory
Factory
Figure: Architecture de DCIF
Non-Interférence dans les Systèmes Répartis
37 / 52
99. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF : IFC Manager
Lilia Sfaxi
Figure: IFC Manager
Non-Interférence dans les Systèmes Répartis
38 / 52
100. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF : IFC Manager
Lilia Sfaxi
Policy Manager :
IFC Manager
Orchestre les communications
dans le IFCM
Stocke les certificats IBA et les
instances CIForm
CIForm
Instance IBA
Policy
Extractor
labelList
IFC
Manager
check
Label
Manager
Policy
Manager
Policy Extractor : Extrait les
informations à partir des fichiers
Policy
capList confList
Controller
Intra-Comp
Verifier
Label Manager : Stocke les
étiquettes du système
Controller : Prend les décisions de
rétrogradation
Figure: Le IFC Manager
Intra-Component Verifier :
vérification dynamique
intra-composant
Non-Interférence dans les Systèmes Répartis
39 / 52
101. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF : IFC Manager
Lilia Sfaxi
Policy Manager :
IFC Manager
Orchestre les communications
dans le IFCM
Stocke les certificats IBA et les
instances CIForm
CIForm
Instance IBA
Policy
Extractor
labelList
IFC
Manager
check
Label
Manager
Policy
Manager
Policy Extractor : Extrait les
informations à partir des fichiers
Policy
capList confList
Controller
Intra-Comp
Verifier
Label Manager : Stocke les
étiquettes du système
Controller : Prend les décisions de
rétrogradation
Figure: Le IFC Manager
Intra-Component Verifier :
vérification dynamique
intra-composant
Non-Interférence dans les Systèmes Répartis
39 / 52
102. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF : IFC Manager
Lilia Sfaxi
Policy Manager :
IFC Manager
Orchestre les communications
dans le IFCM
Stocke les certificats IBA et les
instances CIForm
CIForm
Instance IBA
Policy
Extractor
labelList
IFC
Manager
check
Label
Manager
Policy
Manager
Policy Extractor : Extrait les
informations à partir des fichiers
Policy
capList confList
Controller
Intra-Comp
Verifier
Label Manager : Stocke les
étiquettes du système
Controller : Prend les décisions de
rétrogradation
Figure: Le IFC Manager
Intra-Component Verifier :
vérification dynamique
intra-composant
Non-Interférence dans les Systèmes Répartis
39 / 52
103. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF : IFC Manager
Lilia Sfaxi
Policy Manager :
IFC Manager
Orchestre les communications
dans le IFCM
Stocke les certificats IBA et les
instances CIForm
CIForm
Instance IBA
Policy
Extractor
labelList
IFC
Manager
check
Label
Manager
Policy
Manager
Policy Extractor : Extrait les
informations à partir des fichiers
Policy
capList confList
Controller
Intra-Comp
Verifier
Label Manager : Stocke les
étiquettes du système
Controller : Prend les décisions de
rétrogradation
Figure: Le IFC Manager
Intra-Component Verifier :
vérification dynamique
intra-composant
Non-Interférence dans les Systèmes Répartis
39 / 52
104. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF : IFC Manager
Lilia Sfaxi
Policy Manager :
IFC Manager
Orchestre les communications
dans le IFCM
Stocke les certificats IBA et les
instances CIForm
CIForm
Instance IBA
Policy
Extractor
labelList
IFC
Manager
check
Label
Manager
Policy
Manager
Policy Extractor : Extrait les
informations à partir des fichiers
Policy
capList confList
Controller
Intra-Comp
Verifier
Label Manager : Stocke les
étiquettes du système
Controller : Prend les décisions de
rétrogradation
Figure: Le IFC Manager
Intra-Component Verifier :
vérification dynamique
intra-composant
Non-Interférence dans les Systèmes Répartis
39 / 52
105. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Architecture de DCIF : IFC Manager
Lilia Sfaxi
Policy Manager :
IFC Manager
Orchestre les communications
dans le IFCM
Stocke les certificats IBA et les
instances CIForm
CIForm
Instance IBA
Policy
Extractor
labelList
IFC
Manager
check
Label
Manager
Policy
Manager
Policy Extractor : Extrait les
informations à partir des fichiers
Policy
capList confList
Controller
Intra-Comp
Verifier
Label Manager : Stocke les
étiquettes du système
Controller : Prend les décisions de
rétrogradation
Figure: Le IFC Manager
Intra-Component Verifier :
vérification dynamique
intra-composant
Non-Interférence dans les Systèmes Répartis
39 / 52
106. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Reconfiguration dynamique
Lilia Sfaxi
Ajout d’un composant
Création d’un CM pour son nœud
Policy Extractor extrait les étiquettes du fichier Policy, et les stocke dans le
Label Manager
Le Intra-component Verifier vérifie le code de ce composant, ou son
certificat IBA
Suppression d’un composant
La clef du composant est supprimée du Key Manager
Les étiquettes de ce composant sont supprimées du Label Manager
L’instance CIForm est mise à jour
Remplacement d’un composant : suppression + ajout d’un composant
Migration d’un composant : suppression d’un composant d’un domaine +
son ajout dans un autre domaine
Non-Interférence dans les Systèmes Répartis
40 / 52
107. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
Reconfiguration dynamique
Lilia Sfaxi
Ajout d’une liaison
IFCM vérifie si ℓ(client) ⊆ ℓ(serveur )
Si une interférence est détectée, le Controller vérifie si le composant client
peut rétrograder son étiquette
Une liaison est établie, si la non-interférence est respectée, et en attente
sinon
Modification d’une étiquette de sécurité
Vérification de la nouvelle configuration de sécurité de tout le système
Mise à jour de l’architecture du système : changement des états des liaisons
(en attente ou établie)
Mise à jour d’un composant
Modification de sa configuration de sécurité
Modification de son comportement
Non-Interférence dans les Systèmes Répartis
41 / 52
108. Lilia Sfaxi
Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Etudes de Cas
Etude de Performances
1
Contexte : Contrôle de Flux d’Information dans les Systèmes Répartis
Sécurité des Systèmes Répartis
Contrôle de Flux d’Information
Etat de l’Art : Sécurité des Systèmes Répartis et Contrôle de Flux d’Information
Problématique : Non-Interférence dans les Systèmes Répartis
2
Contributions : Application Statique et Dynamique de la Non Interférence
CIF : Component Information Flow
DCIF : Dynamic Component Information Flow
3
Evaluation de l’Approche
Etudes de Cas
Etude de Performances
4
Conclusion et Perspectives
Non-Interférence dans les Systèmes Répartis
42 / 52
109. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Etudes de Cas
Etude de Performances
Etudes de Cas
Lilia Sfaxi
Cas 1 : Jeu de Bataille Navale (publié dans [Sfaxi10])
Inspiré de l’étude de cas Battleship de JIF [Myers00]
Modèle orienté composants : Fractal
Modèle d’étiquettes : DLM
Cas 2 : Réservation de Billet d’Avion (publié dans [Sfaxi10])
Exemple de communication via les services web
Modèle orienté composants : SCA
Modèle d’étiquettes : DLM
Cas 3 : Clinique de Chirurgie Esthétique (publié dans [Sfaxi11a])
Inspiré du fonctionnement réel d’une clinique de chirurgie esthétique en
Tunisie
Modèle orienté composants : SCA
Modèle d’étiquettes : modèle à jetons
Cas 4 : Calendrier Partagé
Illustre l’application de DCIF
Planification dynamique d’une réunion entre deux utilisateurs
Non-Interférence dans les Systèmes Répartis
43 / 52
110. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Etudes de Cas
Etude de Performances
Etudes de Cas
Lilia Sfaxi
Cas 1 : Jeu de Bataille Navale (publié dans [Sfaxi10])
Inspiré de l’étude de cas Battleship de JIF [Myers00]
Modèle orienté composants : Fractal
Modèle d’étiquettes : DLM
Cas 2 : Réservation de Billet d’Avion (publié dans [Sfaxi10])
Exemple de communication via les services web
Modèle orienté composants : SCA
Modèle d’étiquettes : DLM
Cas 3 : Clinique de Chirurgie Esthétique (publié dans [Sfaxi11a])
Inspiré du fonctionnement réel d’une clinique de chirurgie esthétique en
Tunisie
Modèle orienté composants : SCA
Modèle d’étiquettes : modèle à jetons
Cas 4 : Calendrier Partagé
Illustre l’application de DCIF
Planification dynamique d’une réunion entre deux utilisateurs
Non-Interférence dans les Systèmes Répartis
43 / 52
111. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Etudes de Cas
Etude de Performances
Clinique de Chirurgie Esthétique
Lilia Sfaxi
Laboratories
RoomReservation
Payment
Radio-Analysis
Laboratory
MedicalRecords
Examination
Blood Tests
Laboratory
AdminDepartment
Administration
RoomReservation
Room
Reservation
Reception
SurgeryDepartment
RoomReservation
Surgeon
Assignment
Surgery Dept.
Management
Bloc
Reservation
Consultation
Anesthetist
Assignment
ResearchLaboratories
Lab1
Lab3
Lab2
Figure: Cas 3 : Clinique de chirurgie esthétique
Non-Interférence dans les Systèmes Répartis
44 / 52
112. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Etudes de Cas
Etude de Performances
Etude de Performances : Méthodologie
Lilia Sfaxi
Métriques de performances utilisées
Taille du code généré
Coût de la configuration
Coût de la génération
Outils
YourKit Java Profiler
Le Plugin Software Metrics pour Eclipse
Approche
Calculer la moyenne pour plusieurs exécutions (par exemple 10)
⇒ Minimiser l’impact des autres processus en exécution
Non-Interférence dans les Systèmes Répartis
45 / 52
113. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Etudes de Cas
Etude de Performances
Profilage des Outils et Coût de Configuration
Lilia Sfaxi
Profilage des outils pour l’application de la clinique
LoC
HotSpots
Temps d’Exec.
Mémoire
CIForm
928
Label
1164ms
23 MB
CIFIntra
2567
Visitors
1992 ms
14,2 MB
CIFInter
1422
Comp. gen.
4838 ms
28 MB
Coût de la configuration
Attribution étiquettes à haut niveau d’abstraction
Génération automatique des étiquettes intermédiaires
⇒ Gain en terme de temps et d’effort de configuration
Exemple
Jeu de bataille navale repris en Fractal et compilé avec CIFIntra
CIF : Attribution de 11 étiquettes
JIF : Attribution de 143 étiquettes, sans compter les instructions de
rétrogradation et la définition des Autorités
Non-Interférence dans les Systèmes Répartis
46 / 52
114. Contexte : CFI dans les Systèmes Répartis
Contributions : Modèles et Outils pour la NI
Evaluation de l’Approche
Conclusion et Perspectives
Etudes de Cas
Etude de Performances
Test de Montée en Charge
Lilia Sfaxi
Méthodologie : Utilisation de benchmarks générés automatiquement
Bench1 : Variation du nombre de composants
Bench2 : Variation du nombre de liaisons
Bench1
C1
C2
Bench2
C3
Cn
C1
C2
Résultats
Bench2
Temps de génération (ms)
Bench1
Nombre de composants
Nombre de liaisons
Non-Interférence dans les Systèmes Répartis
47 / 52