Modularisation de la sécurité informatique dans les systèmes distribués
Auteur / Autrice : | Gabriel Serme |
Direction : | Yves Roudier |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique et réseaux |
Date : | Soutenance le 05/11/2013 |
Etablissement(s) : | Paris, ENST |
Ecole(s) doctorale(s) : | École doctorale Informatique, télécommunications et électronique de Paris |
Partenaire(s) de recherche : | Laboratoire : Laboratoire Traitement et communication de l'information (Paris ; 2003-....) |
Jury : | Président / Présidente : Mario Südholt |
Examinateurs / Examinatrices : Mireille Blay-Fornarino, Refik Molva | |
Rapporteurs / Rapporteuses : Frédéric Cuppens, Ludovic Mé |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Intégrer les problématiques de sécurité au cycle de développement logiciel représente encore un défi à l’heure actuelle, notamment dans les logiciels distribués. La sécurité informatique requiert des connaissances et un savoir-faire particulier, ce qui implique une collaboration étroite entre les experts en sécurité et les autres acteurs impliqués. La programmation à objets ou à base de composants est communément employée pour permettre de telles collaborations et améliorer la mise à l’échelle et la maintenance de briques logicielles. Malheureusement, ces styles de programmation s’appliquent mal à la sécurité, qui est un problème transverse brisant la modularité des objets ou des composants. Nous présentons dans cette thèse plusieurs techniques de modularisation pour résoudre ce problème. Nous proposons tout d’abord l’utilisation de la programmation par aspect pour appliquer de manière automatique et systématique des techniques de programmation sécurisée et ainsi réduire le nombre de vulnérabilités d’une application. Notre approche se focalise sur l’introduction de vérifications de sécurité dans le code pour se protéger d’attaques comme les manipulations de données en entrée. Nous nous intéressons ensuite à l’automatisation de la mise en application de politiques de sécurité par des techniques de programmation. Nous avons par exemple automatisé l’application de règles de contrôle d’accès fines et distribuées dans des web services par l’instrumentation des mécanismes d’orchestration de la plate-forme. Nous avons aussi proposé des mécanismes permettant l’introduction d’un filtrage des données à caractère privée par le tissage d’aspects assisté par un expert en sécurité.