Visible to the public Automated Suggestions of Security Enhancing Improvements for Software Architectures

TitleAutomated Suggestions of Security Enhancing Improvements for Software Architectures
Publication TypeConference Paper
Year of Publication2019
AuthorsMerschjohann, Sven
Conference Name2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)
Keywordsarchitectural improvements, architecture redesigns, Automated Improvements, Automated Secure Software Engineering, composability, connected smart household devices, design phase, given software architecture, industrial automation domain, model-based development techniques, nonarchitecture experts, pubcrawl, Resiliency, secure applications, Secure Software Architecture, security, security enhancing improvements, security improvements, smart home domain, software architecture, Software Architecture Improvements, specification languages
AbstractToday, connectivity is demanded in almost every domain, e.g., the smart home domain and its connected smart household devices like TVs and fridges, or the industrial automation domain, connecting plants, controllers and sensors to the internet for purposes like condition monitoring. This trend amplifies the need for secure applications that can protect their sensitive data against manipulation and leaks. However, many applications are still built without considering security in its design phase, often it is perceived as too complicated and time consuming. This is a major oversight, as fixing vulnerabilities after release is often not feasible when major architecture redesigns are necessary. Therefore, the software developer has to make sure that the developed software architecture is secure. Today, there are some tools available to help the software developer in identifying potential security weaknesses of their architecture. However, easy and fast to use tools that support the software developer in improving their architecture's security are lacking. The goal of my thesis is to make security improvements easily applicable by non-security and non-architecture experts by proposing systematic, easy to use and automated techniques that will help the software developer in designing secure software architectures. To achieve this goal, I propose a method that enables the software developer to automatically find flaws and weaknesses, as well as appropriate improvements in their given software architecture during the design phase. For this method, I adopt Model-Based Development techniques by extending and creating Domain-Specific Languages (DSL) for specifying the architecture itself and possible architectural improvements. Using these DSLs, my approach automatically suggests security enhancing improvements for the architecture, promoting increased security of software architectures and as such for the developed applications as a whole.
DOI10.1109/MODELS-C.2019.00102
Citation Keymerschjohann_automated_2019