A model-driven formal methods approach to software architectural security vulnerabilities specification and verification

被引:1
作者
Rouland, Quentin [1 ]
Hamid, Brahim [2 ]
Jaskolka, Jason [3 ]
机构
[1] Univ Quebec Outaouais, Comp Sci & Engn Dept, 283 Alexandre Tache Blvd, Gatineau, PQ J8X 3X7, Canada
[2] Univ Toulouse, IRIT, 118 Route Narbonne, F-31062 Toulouse, Occitanie, France
[3] Carleton Univ, Syst & Comp Engn, 1125 Colonel By Dr, Ottawa, ON K1S 5B6, Canada
关键词
Engineering secure systems; Model-driven approach; Software architecture; Vulnerability; Formal methods; Metamodel;
D O I
10.1016/j.jss.2024.112219
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Detecting and addressing security vulnerabilities in software designs is crucial for ensuring the reliable and safe operation of systems. Existing approaches for vulnerability specification lack the necessary flexibility for practical use. To tackle this issue, we propose an integrated model-driven approach for vulnerability detection and treatment during software architecture design. The approach involves specifying vulnerabilities as properties of a modeled system in a technology-independent language, expressing conditions for vulnerability detection using a language supported by automated tools, and recommending security requirements to mitigate detected vulnerabilities. Formalized vulnerabilities and security requirements are presented as model libraries to facilitate reuse. Our methodology employs first-order and modal logic as a technology-independent formalism, with Alloy as the tool-supported language for modeling and software development. We have developed a Model-Driven Engineering (MDE) tool to implement this approach. To validate our work, we apply it to representative vulnerabilities based on the Common Weakness Enumeration (CWE) classifications within the context of secure component-based software architecture development.
引用
收藏
页数:19
相关论文
共 39 条
[1]   Towards a Formal Foundation of Web Security [J].
Akhawe, Devdatta ;
Barth, Adam ;
Lam, Peifung E. ;
Mitchell, John ;
Song, Dawn .
2010 23RD IEEE COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF), 2010, :290-304
[2]  
Almorsy M, 2013, PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), P662, DOI 10.1109/ICSE.2013.6606612
[3]  
Almorsy M, 2012, IEEE INT CONF AUTOM, P100, DOI 10.1145/2351676.2351691
[4]  
Anderson Ross, 2020, Security engineering: a guide to building dependable distributed systems
[5]  
Baak James, 2023, 12 INT C MOD DAT ENG
[6]   Formal Modelling and Security Analysis of Inter-Operable Systems [J].
Baouya, Abdelhakim ;
Ouchani, Samir ;
Bensalem, Saddek .
ADVANCES AND TRENDS IN ARTIFICIAL INTELLIGENCE: THEORY AND PRACTICES IN ARTIFICIAL INTELLIGENCE, 2022, 13343 :555-567
[7]   Systems Security Engineering [J].
Bayuk, Jennifer L. .
IEEE SECURITY & PRIVACY, 2011, 9 (02) :72-74
[8]  
Berghe Chris Vanden, 2005, P 10 NORD WORKSH SEC, P49
[9]   Formal security analysis for software architecture design: An expressive framework to emerging architectural styles [J].
Chondamrongkul, Nacha ;
Sun, Jing ;
Warren, Ian .
SCIENCE OF COMPUTER PROGRAMMING, 2021, 206 (206)
[10]  
Cimatti A., 1999, Computer Aided Verification. 11th International Conference, CAV'99. Proceedings (Lecture Notes in Computer Science Vol.1633), P495