Summary: | Les environnements d’informatique en nuage sont des environnements hétérogènes et dynamiques, ce qui les rend complexes à sécuriser. Dans cette thèse, nous proposons un langage et une architecture permettant d’exprimer et d’appliquer des propriétés de sécurité dans un environnement en nuage. Le langage permet à un client de l’informatique en nuage d’exprimer des besoins de sécurité sans préciser comment ils seront appliqués. Le langage se base sur des contextes abstrayant les ressources et des propriétés correspondant aux besoins de sécurité. Les propriétés sont ensuite appliquées en utilisant les mécanismes de sécurité disponibles (tels que SELinux, PAM, iptables ou firewalld) via une architecture autonome. Cette architecture permet d’abstraire et de réutiliser les capacités de sécurité des mécanismes existants. Une propriété de sécurité est ainsi définie comme une combinaison de capacités et peut être appliquée grâce à la collaboration de plusieurs mécanismes. Les mécanismes sont alors automatiquement configurés en accord avec les propriétés établies par l’utilisateur. L’architecture dispose aussi d’un système d’assurance qui lui permet de détecter une défaillance d’un mécanisme ou une erreur d’application. L’architecture peut ainsi répondre aux problèmes rencontrés, par exemple en ré-appliquant des propriétés avec d’autres mécanismes. De plus, le système d’assurance fournit une évaluation de l’application des propriétés. La thèse propose ainsi un système autonome d’application et d’assurance de la sécurité dans des environnements hétérogènes. === Cloud environnements are heterogeneous and dynamic, which makes them difficult to protect. In this thesis, we introduce a language and an architecture that can be used to express and enforce security properties in a Cloud. The language allows a Cloud user to express his security requirements without specifying how they will be enforced. The language is based on contexts (to abstract the resources) and properties (to express the security requirements). The properties are then enforced through an autonomic architecture using existing and available security mechanisms (such as SELinux, PAM, iptables, or firewalld). This architecture abstracts and reuses the security capabilities of existing mechanisms. A security property is thus defined by a combination of capabilities and can be enforced through the collaboration of several mechanisms. The mechanisms are then automatically configured according to the user-defined properties. Moreover, the architecture offers an assurance system to detect the failure of a mechanism or an enforcement error. Therefore, the architecture can address any problem, for instance by re-applying a property using different mechanisms. Lastly, the assurance system provides an evaluation of the properties enforcement. This thesis hence offers an autonomic architecture to enforce and assure security in Cloud environnements.
|