Efficient Repair of Confidentiality Violations in Software Architectures

Zusammenfassung

With the software landscape continuing to grow in complexity, there is an increasing risk that system misconfigurations will violate confidentiality requirements. The consequence will be that data breaches occur more frequently and inflict more damage. Therefore, it is imperative that confidentiality violations be detected early and repaired swiftly, because the later in development an issue gets addressed, the higher the costs incurred by the development. Fortunately, architecture-based approaches are already capable of detecting confidentiality violations. However, repair by these approaches is manual or at best, semi-automated. This limitation originates from the basic fact that it is considerably harder to optimize for a discrete attribute (like confidentiality) than it is for a continuous and therefore incrementally improvable attribute (like performance). Yet, this same discreteness of confidentiality may actually be harnessed to tackle the resultant combinatoric explosion. If the constraint-driven nature of confidentiality is exploited, then it may be used to construct satisfiability problems that can easily be solved with efficiency. In this paper, we propose automatically and efficiently repairing confidentiality violations in software architectures. We differentiate between two types of efficiency: The one enables the fast repair of violations, and the other ensures the highest possible cost-effectiveness of a system change. Our evaluation on 51 models shows that our approach repairs 826 violations in just 1.6 seconds, while also costing significantly less than the human baseline. Our approach achieves a fully automatic repair that is both runtime-efficient and cost-efficient, thereby helping architects in designing confidential systems.

Zur Publikation

Publikation
2026 IEEE 23rd International Conference on Software Architecture