L’Ecole doctorale : Sciences et Technologies de l’Information et de la Communication
et le Laboratoire de recherche SAMOVAR
présentent
l’AVIS DE SOUTENANCE de Madame Thi Mai NGUYEN
Autorisée à présenter ses travaux en vue de l’obtention du Doctorat de l’Université Paris-Saclay, préparé à Télécom SudParis en : informatique
Titre: « Une approche MDE pour construire des systèmes d’information sécurisés »
Quand: le VENDREDI 13 JANVIER 2017, à 14H00
Où: en salle A003, 9 Rue Charles Fourier, 91000 Évry
Membres du jury :
Mme Amel MAMMAR | Maître de conférences HDR, Telecom SudParis, FRANCE | Directeur de these |
Mme Regine LALEAU | Professeur, Université Paris-Est Créteil, FRANCE | CoDirecteur de these |
M. Pascal POIZAT | Professeur, Université de Nanterre, FRANCE | Examinateur |
M. Akram IDANI | Maître de conférences, Université Grenoble Alpes, FRANCE | Examinateur |
M. Paul GIBSON | Maître de conférences HDR, Telecom SudParis, FRANCE | Examinateur |
M. Yves ROUDIER | Professeur, Université de Sophia Antipolis, FRANCE | Rapporteur |
M. Christian ATTIOGBé | Professeur, Université de Nantes, FRANCE | Rapporteur |
Résumé :
Aujourd’hui, les organisations s’appuient de plus en plus sur les systèmes d’information pour collecter, manipuler et échanger leurs données. Dans ces systèmes, la sécurité joue un rôle essentiel. En effet, toute atteinte à la sécurité peut entraîner de graves conséquences, voire détruire la réputation d’une organisation. Par conséquent, des précautions suffisantes doivent être prises en compte. De plus, il est bien connu que plus tôt un problème est détecté, moins cher et plus facile il sera à corriger. L’objectif de cette thèse est de définir les politiques de sécurité depuis les premières phases de développement et d’assurer leur déploiement correct sur une infrastructure technologique donnée. Notre approche commence par spécifier un ensemble d’exigences de sécurité, i.e. des règles statiques et dynamiques, accompagnées de l’aspect fonctionnel d’un système basé sur UML (Unified Modeling Language). L’aspect fonctionnel est exprimé par un diagramme de classes UML, les exigences de sécurité statiques sont modélisées à l’aide de diagrammes de SecureUML, et les règles dynamiques sont représentées en utilisant des diagrammes d’activités sécurisées. Ensuite, nous définissons des règles de traduction pour obtenir des spécifications B à partir de ces modèles graphiques. La traduction vise à donner une sémantique précise à ces schémas permettant ainsi de prouver l’exactitude de ces modèles et de vérifier les politiques de sécurité par rapport au modèle fonctionnel correspondant en utilisant les outils AtelierB prover et ProB animator. La spécification B obtenue est affinée successivement à une implémentation de type base de données, qui est basée sur le paradigme AOP. Les affinements B sont également prouvés pour s’assurer que l’implémentation est correcte par rapport à la spécification abstraite initiale. Le programme d’AspectJ traduit permet la séparation du code lié à la sécurité sécurité du reste de l’application. Cette approche permet d’éviter la diffusion du code de l’application, et facilite ainsi le traçage et le maintien. Enfin, nous développons un outil qui génère automatiquement la spécification B à partir des modèles UML, et la dérivation d’une implémentation d’AspectJ à partir de la spécification B affinée. L’outil aide à décharger les développeurs des tâches difficiles et à améliorer la productivité du processus de développement.
Abstract :
Nowadays, organizations rely more and more on information systems to collect, manipulate, and exchange their relevant and sensitive data. In these systems, security plays a vital role. Indeed, any security breach may cause serious consequences, even destroy an organization’s reputation. Hence, sufficient precautions should be taken into account. Moreover, it is well recognized that the earlier an error is discovered, the easier and cheaper it is debugged. The objective of this thesis is to define adequate security policies since the early development phases and ensure their correct deployment on a given technological infrastructure. Our approach starts by specifying a set of security requirements, i.e. static and dynamic rules, along with the functional aspect of a system based on the Unified Modeling Language (UML). Fundamentally, the functional aspect is expressed using a UML class diagram, the static security requirements are modeled using SecureUML diagrams, and the dynamic rules are represented using secure activity diagrams. We then define translation rules to obtain B specifications from these graphical models. The translation aims at giving a precise semantics to these diagrams, thus proving the correctness of these models and verifying security policies with respect to the related functional model using the AtelierB prover and the ProB animator. The obtained B specification is successively refined to a database-like implementation based on the AOP paradigm. The B refinements are also proved to make sure that the implementation is correct with respect to the initial abstract specification. Our translated AspectJ-based program allows separating the security enforcement code from the rest of the application. This approach avoids scattering and tangling the application’s code, thus it is easier to track and maintain. Finally, we develop a tool that automates the generation of the B specification from UML-based models and of the AspectJ program connected to a relational database management system from the B implementation. The tool helps disburden developers of the difficult and error-prone task and improve the productivity of the development process.