Assuring the security of software architecture using argument models: patterns, templates, and tool support
- Zeroual, Marwa (19..-....) (2024)
Thèse
- Numéro national de thèse
- 2024TLSEJ092
- Titre en anglais
- Assuring the security of software architecture using argument models: patterns, templates, and tool support
- Titre en français
- Assurer la sécurité de l'architecture logicielle en utilisant des modèles d'argumentation: pattrons, templates, et outils
- Auteur
- Zeroual, Marwa (19..-....)
- Directeur de recherche
- Hamid, Brahim (1975-.... ; enseignant-chercheur en informatique)
- Co-directeur de recherche
- Adedjouma, Morayo (1985-...)
- Date de soutenance
- 13 décembre 2024
- École doctorale
- MITT : Mathématiques Informatique Télécommunications de Toulouse
- Unité de recherche
- Institut de Recherche en Informatique de Toulouse - IRIT
- Sujet
- Informatique
- Mots-clés en anglais
- Assurance Case
- Model based engineering
- Security
- Argument
- Software architecture
- Patterns
- Mots-clés en français
- Cas d'assurance
- Ingénérie des modèles
- Sécurité
- Argumentation
- Architecture logicielle
- Patrons
- Résumé en anglais
- Nowadays, as systems grow larger and more complex, they invariably become more susceptible to an array of unforeseen security vulnerabilities. Therefore, security should be considered at all stages of their development. Thus, there is an ever-growing need to assure the security of critical software-dependent systems and the information they use, store, and communicate in the face of cyber-attacks and failures. Assurance cases are recognized as an efficient means to provide the aforementioned assurance. The security assurance case assures system users and regulators that the systems and their data are secure. A security case consists of a structured argument that shows why the collected evidence (engineering artifacts) assures an acceptable level of security of the system under assurance in a specific environment. Despite the importance of assuring the security of critical systems, several significant challenges remain unaddressed. It is often difficult, costly, and time-consuming to gather sufficient evidence supporting assurance claims about the security of a system and to build a convincing argument that shows the reasoning that links the evidence to the claims to assure. Besides, new technologies have arisen over the past few years and challenge traditional assurance and certification procedures. A challenging issue in safety and security-critical domains such as the automotive or aerospace industry is that these novel technologies emerge before certification processes can be adapted in time. Consequently, there is a need for a specific assurance case related to a specific technology, e.g., machine learning. Additionally, we observe a lack of methodological tool support for the creation of security cases; the disciplines of software architecture, security engineering, and assurance are yet to be consolidated regarding their methods and tools. In this thesis, we try to address these challenges by proposing an approach that allows integrating the assurance process into the security engineering process. We focus on the security assurance of software architecture, which allows early detection of security flaws and a reduction of the fixing costs. Moreover, the approach is presented within a security case modeling language (SCML) that covers concepts from security engineering, software architecture, and assurance. The language is extended with semantic rules that check the structure and content of the security case. Indeed, the approach dictates the definition of reusable argument patterns and templates. Consequently, we define a catalog of security argument patterns and templates. Finally, we developed toolchain support integrating Model-Driven Engineering (MDE) techniques, namely Eclipse, and a formal-based language, namely OCL, to conduct verification and spot inconsistencies. In our desire to keep up with the progress made by machine learning techniques, particularly in critical systems, we showcase the application of the approach for the creation of a security case for a security-critical airborne system that uses machine learning to avoid collisions.
- Résumé en français
-
De nos jours, à mesure que les systèmes deviennent plus grands et plus complexes, ils deviennent invariablement plus susceptibles à une série de vulnérabilités de sécurité imprévues. Par conséquent, la sécurité doit être prise en compte à toutes les étapes de leur développement. Ainsi, il est de plus en plus nécessaire d'assurer la sécurité des systèmes critiques dépendants des logiciels et des informations qu'ils utilisent, stockent et communiquent face aux cyberattaques et aux défaillances. Les dossiers d'assurance sont reconnus comme un moyen efficace de fournir l'assurance susmentionnée. Le dossier d'assurance sécurité assure aux utilisateurs et aux régulateurs que les systèmes et leurs données sont sécurisés. Un dossier de sécurité consiste en un argument structuré qui montre pourquoi les preuves recueillies (artefacts d'ingénierie) assurent un niveau acceptable de sécurité du système sous assurance dans un environnement spécifique. Malgré l'importance d'assurer la sécurité des systèmes critiques, plusieurs défis importants restent non résolus.
Il est souvent difficile et coûteux de recueillir suffisamment de preuves soutenant les affirmations d'assurance concernant la sécurité d'un système et de construire un argument convaincant montrant le raisonnement qui relie les preuves aux affirmations à assurer. De plus, de nouvelles technologies ont émergé au cours des dernières années et remettent en question les procédures traditionnelles d'assurance et de certification. Un défi dans les domaines critiques pour la sécurité et la sûreté, tels que l'industrie automobile ou aérospatiale, est que ces nouvelles technologies apparaissent avant que les processus de certification puissent être adaptés à temps. Par conséquent, il y a besoin d'un dossier d'assurance spécifique lié à une technologie spécifique, par exemple, l'apprentissage automatique. De plus, nous observons un manque de soutien méthodologique et d'outils pour la création de dossiers de sécurité ; les disciplines de l'architecture logicielle, de l'ingénierie de la sécurité et de l'assurance doivent encore être consolidées en ce qui concerne leurs méthodes et outils.
Dans cette thèse, nous essayons de relever ces défis en proposant une approche permettant d'intégrer le processus d'assurance dans le processus d'ingénierie de la sécurité. Nous nous concentrons sur l'assurance de la sécurité de l'architecture logicielle, ce qui permet une détection précoce des failles de sécurité et une réduction des coûts de correction. De plus, l'approche est présentée dans un langage de modélisation de dossiers de sécurité (SCML) qui couvre les concepts de l'ingénierie de la sécurité, de l'architecture logicielle et de l'assurance. Le langage est étendu avec des règles sémantiques qui vérifient la structure et le contenu du dossier de sécurité. En effet, l'approche dicte la définition de modèles et de gabarits d'argument réutilisables. Nous avons suivi l'approche pour définir un catalogue de modèles et de gabarits d'argument de sécurité. Enfin, nous avons développé un support d'outillage intégrant des techniques de modélisation dirigée par les modèles (MDE), notamment Eclipse, et un langage formel, à savoir OCL, pour effectuer des vérifications et détecter les incohérences.
Dans notre volonté de suivre les progrès réalisés par les techniques d'apprentissage automatique, en particulier dans les systèmes critiques, nous présentons l'application de l'approche pour la création d'un dossier de sécurité pour un système aéroporté critique utilisant l'apprentissage automatique pour éviter les collisions. - Accès au document
- Accès libre
Citation bibliographique
Zeroual, Marwa (19..-....) (2024), Assuring the security of software architecture using argument models: patterns, templates, and tool support [Thèse]