Security Properties for the Application Control within a Linux Kernel (SPACLik aka PIGA-OS) Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Jigar Solanki, Christian Toinard, Benjamin Venelle ENSI-Bourges Laboratoire d Informatique Fondamentale d Orléans 11 décembre 2010 Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka1 PIGA-O / 21Lab
Objectifs Protéger le système des erreurs/abus de l utilisateur et contre l exploitation de failles présentes dans ses applications Faciliter la formalisation de propriétés de sécurité pour contrôler les activités d un système d exploitation Garanties de propriétés de sécurité pour supporter différents domaines d usages (mail, web, e-commerce, impôts) Fourniture d une protection mandataire (MAC) légère applicable au noyau Linux Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka2 PIGA-O / 21Lab
Etat de l art [1] Définition informelle de l intégrité et de la confidentialité [Lampson 73, ITSEC 91, Bishop 2003] Controle d Accès Discrétionnaire ne peut garantir de la sécurité [Harrison et al 76, Sandhu 92] et les approches basées sur les rôle ne lèvent pas cette impossibilité [Ferraiolo and Kuhn 92] Protection mandataire est nécessaire pour garantir la sécurité [ITSEC 91] au moyen d un moniteur de référence [Anderson 80] Modèles de protection variés : moindre privilège [Saltzer and Schroeder 75], séparation de privilièges [Clark and Wilson 87] [Sandhu 90], non-interférence [Focardi 2001], race conditions [Netzer and Miller 92], Bell and Lapadula, Biba, Chinese Wall (déli d inité), DTE [Boebert and Kain 85],... Très peu gère explicitement les flux d information indirectes Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka3 PIGA-O / 21Lab
Etat de l art [2] Système d exploitation orientés sécurité : approche par automate [Clarkson and Schneider 2008] ou coloration [Clause et al 2007] sont complexes, approches multi-niveaux ne contrôle pas les flux indirects, Asbestos [Vandebogart et al 2007] et Histar [Zeldovitch 2006] ne propose pas de langage pour formaliser les besoins de sécurité Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka4 PIGA-O / 21Lab
Problèmes ouverts Manque un langage pour faciliter la formalisation d un large ensemble de propriétés de sécurité Ce langage doit faciliter la formalisation de propriétés mettant en jeu différents flux (indirects, directs) Les contrôles mandataires existants ne garantissent pas de telles propriétés La sécurité en profondeur est complexe : multiple domaines d usage nécessitant des politiques dynamiques Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka5 PIGA-O / 21Lab
L approche PIGA Thèses de Jérémy Briffaut et Jonathan Rouzaud-Cornabas Langage facilitant l expression de propriétés avancées (ex : associées à de multiple flux d information indirects entre contextes) PIGA-MAC garantit ces propriétés : réutilise les politiques MAC existantes telles que les politiques SELinux pour calculer statiquement toutes les violations possibles PIGA-SYSTRAN gère les différents domaines (Web, E-Commerce, Mail, Taxes,...) en déployant les politiques SELinux, XSELinux, PIGA-MAC et réseaux nécessaires PIGA-DYN une approche dynamique qui n impose pas de réutiliser des politiques MAC afin dans certains cas de simplifier l administration Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka6 PIGA-O / 21Lab
Formalisation de propriétés de sécurité [1] Flux indirects [,] sc 1 sc k [d ee1,d esk ] def : fermeture transitive de flux direct [,] k [3.. + ], i [1..k 2], sc i SC (sc i sc i+1 ) (sc i+1 sc i+2 ) [d eei,d esi ] (d eei d esi+1 ) [d eei+1,d esi+1 ] Exemple : user [,] root (user tmp/.xsession) (tmp/.xsession T root) [,] [,] Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka7 PIGA-O / 21Lab
Formalisation de propriétés de sécurité [2] Langage : Flux direct and indirects : terminaux du langage Structures de contrôles pour combiner ces terminaux Exemples de propriétés : define indirectintegrity( sc1 in SCS, sc2 in SCO ) [ (sc1 sc2) ] ; define practicalvchroot(vsc) [ Foreach sc in VSC, sc k in CS SuchAs (sc sc k ) (sc k sc) : sc k VSC src( ) / VSC ] ; define dutiesseparationbash( sc1 IN SC ) [ Foreach sc2 IN SCO, Foreach sc3 IN SC, ( ( sc1 write [,] ] ; sc2) then (sc1 execute [,] sc3 ) then (sc1 read [,] sc2)) Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka8 PIGA-O / 21Lab
Formalisation de propriétés de sécurité [3] Exemples de prévention : Modification des fichiers de configuration par firefox : indirectintegrity(firefox d, conf t) Modification par l administrateur des informations des usagers : integrity(admin d, user info t) Confidentialité et intégrité des utilisateurs vis à vis de Firefox : practicalvchroot(firefox t : : ) Exécution de scripts depuis l espace utilisateur : dutiesseparationbash(user u : user r : user. t) Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka9 PIGA-O / 21Lab
PIGA-MAC : une approche MAC statique [1] Principes : Réutilise les politiques MAC existantes (ex : SELinux ou GRSecurity) Calcule toutes les activités qui pourraient violer les propriétés requises Contrôle mandataire pour autoriser ou interdire les appels système Graphe de Flux statique : Calculé à partir des politiques SELinux Permet l énumération des activités illégales Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka 10 PIGA-O / 21Lab
PIGA-MAC : une approche MAC statique [2] Ajoute un contrôle mandataire supplémentaire : PIGA-KM en espace kernel pour détourner les appels systèmes PIGA-UM en espace utilisateur pour prendre les décisions Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka 11 PIGA-O / 21Lab
PIGA-SYSTRAN : contrôle des différents domaines [1] Principes : Formalisation des transitions autorisées entre les différents domaines Associe à chaque domaine une politique de protection dédiée Automate décrivant la dynamique permise : Permet une protection dynamique Contrôle les flux entre les domaines Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka 12 PIGA-O / 21Lab
PIGA-SYSTRAN : contrôle des différents domaines [2] PIGA-SYSTRAN : Un processus en espace utilisateur Des plugins au niveau des applications Mise à jour des domaines contrôlée par un administrateur Processus utilisateur : Capture les demandes Modifie et vérifie les politiques Calcule les réponses Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka 13 PIGA-O / 21Lab
PIGA-SYSTRAN : contrôle des différents domaines [3] Partage des fichiers empêchant les flux indésirables Répertoire /home/user/download Mail : stockage des emails Web : fichiers issus du web PDF : documents PDF Documents : documents ooffice Permissions (lecture/écriture) et types (SELinux) Dépendants du domaine Gérés dynamiquement par PIGA-SYSTRAN Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka 14 PIGA-O / 21Lab
PIGA-SYSTRAN : contrôle des différents domaines [4] Mise à jour : Des sites web Des domaines Des clés GPG Depuis PIGA-OS : http ://piga-gw.ensi-bourges.fr Approche mandataire Validation des sites de confiance par un administrateur Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka 15 PIGA-O / 21Lab
PIGA-OS : système complet et protection en profondeur [1] PIGA-OS : Un système basé sur Gentoo Hardened Protection en profondeur : SELinux/XSELinux pour les permissions directes des applications/xwindows PIGA-MAC pour la garantie de propriétés avancées PIGA-Firewall pour la protection réseau PIGA-SYSTRAN pour calculer des politiques adaptées aux usages PIGA-UPDATED pour la mise à jour sécurisé du système Vainqueur du défi sécurité ANR SEC&SI : Complètement fonctionnel Pas de réelles vulnérabilités : corrections immédiates par le raffinement des propriétés SPACLik a remporté les trois phases du défi Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka 16 PIGA-O / 21Lab
PIGA-OS : système complet et protection en profondeur [2] Services fournis : Applications : Firefox : contrôle de flash Clawsmail : GPF (signature / vérification) OpenOffice XPDF Service de Mise à jour Stockage des documents (mail, web, office) Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka 17 PIGA-O / 21Lab
PIGA-OS : système complet et protection en profondeur [3] Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka 18 PIGA-O / 21Lab
PIGA-OS : système complet et protection en profondeur [4] Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka 19 PIGA-O / 21Lab
Conclusion Vainqueur des trois phases du défi Grâce à de nouvelles solutions développées spécifiquement PIGA-MAC PIGA-SYSTRANS/PIGA DYN Développement d un OS spécifique (PIGA-OS) PIGA-MAC/PIGA-SYSTRAN PIGA-UPDATED XSELinux / Iptables SELinux / applications PIGA-isées Différentes publications SHPCS 2009, COLSEC 2010, SECUREWARE 2010 Best Paper Award International journal on advances in security 2009, Transactions on Computational Sciences Journal 2010 Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka 20 PIGA-O / 21Lab
Perspectives Protection de systèmes embarqués Basé sur Linux (Android, MeeGo,...), Windows (en cours) ou autres... Faible surcoût Possibilité d adapter les propriétés à la puissance : coût d une propriété connu Protection des clusters et des grilles Travaux avec le CEA Déploiement de PIGA sur des systèmes HPC Application à d autres niveaux du système Mémoire : contrôle des flux mémoire Middleware : protection des systèmes répartis basés sur les services web etc... Jérémy Briffaut, Martin Peres, Jonathan Rouzaud-Cornabas, Security Properties Jigar for the Solanki, Application Christian Control Toinard, within Benjamin a Linux 11 décembre Venelle Kernel (SPACLik (ENSI-Bourges 2010 aka 21 PIGA-O / 21Lab