Analyzing Security Aspects of Software Architectures

Abstract

As the consequences of cyber attacks are becoming increasingly severe, ensuring the security of safety critical embedded software has become a necessity. The common weakness enumeration (CWE) can be used as the foundation for the security analysis of embedded software. Due to the fact that CWE lists possible issues rather than providing guidelines to follow it provides for a broad scope. In order to apply CWE however, additional steps are required for operationalization. In particular, the high-level issues listed need to be mapped to project-specific vulnerability scenarios. Furthermore, they need different specific approaches to be detected, ranging from dynamic testing over manual review to automatic (static) analysis. In this talk, we will focus on a particular set of issues taken from the CWE, narrowing CWE down to security issues concerned with software architecture and modularization. Following, we will introduce some exemplary issues and their impact on the overall security of an embedded system. Since manual review of architectural compliance is cumbersome, erroneous, and expensive, we will briefly discuss how automatic static verification of software architectures can be performed. In particular, we will show how the selected CWE issues and their requirements towards architectures can be modeled in a way suitable for automatic verification. We conclude with showing how verification of architectural security aspects can be included in typical CI workflows.

Type
Publication
In Proceedings Embedded World Conference 2022, Weka
Sebastian Krings
Sebastian Krings
Software Engineer

My interests include software analysis, formal methods and offensive security.