Summary: | La sécurité des services informatiques d'aujourd'hui dépend significativement de la bonne configuration des systèmes qui sont de plus en plus distribués. Au même temps, la gestion des configurations de sécurité est encore fortement basée sur des activités humaines, qui sont coûteuses et sujettes à erreurs. Au cours de la dernière décennie, il a été reporté à plusieurs reprises qu'une partie significative des incidents de sécurité et des pertes de données a été causée par des configurations incorrectes des systèmes. Pour résoudre ce problème, plusieurs techniques ont été proposées pour automatiser les tâches de gestion des configurations. Beaucoup d'entre elles mettent l'accent sur les phases de planification et de mise en œuvre, où les exigences et les politiques de sécurité abstraites sont conçues, harmonisées et transformées dans des configurations concrètes. Ces techniques nécessitent souvent d'opérer sur des politiques formelles ou très structurées qui se prêtent à un raisonnement automatisé, mais qui sont rarement disponibles dans la pratique. Cependant, moins d'attention a été consacrée aux phases de gestion de suivi et de changement des configurations, qui complètent les étapes précédentes en détectant et en corrigeant les erreurs afin d'assurer que les changements de configuration n'exposent pas le système à des menaces de sécurité. Les objectifs et les contributions de cette thèse se concentrent sur ce deuxième point de vue, de façon pragmatique sur la base des configurations de sécurité concrètes. En particulier, nous proposons trois contributions visant à analyser et à vérifier des configurations de sécurité === The security of nowadays IT services significantly depends on the correct configuration of increasingly distributed information systems. At the same time, the management of security configurations is still heavily centered on human activities, which are costly and prone to error. Over the last decade it has been repeatedly reported that a significant share of security incidents and data breaches are caused by inaccurate systems configuration. To tackle this problem, several techniques have been proposed to increase the automation in configuration management tasks. Many of them focus on planning and implementation, i.e., the phases where abstract security requirements and policies are elicited, harmonized, de-conflicted and transformed into concrete configurations. As such, these techniques often require formal or highly structured input policies amenable to automated reasoning, which are rarely available in practice. In contrast, less attention has been dedicated to the monitoring and change management phases, which complement the above steps by detecting and remediating configuration errors and by ensuring that configuration changes do not expose the system to security threats. The objectives and contributions of this thesis take the latter perspective and, as such, they pragmatically work on the basis of concrete security configurations. In particular, we propose three contributions that move from more concrete syntax-based configuration analysis towards increasingly abstract semantic reasoning
|