Litcius/Paper detail

Checking security compliance between models and code

Katja Tuma, Sven Peldszus, Daniel Strüber, Riccardo Scandariato, Jan Jürjens

2022Software & Systems Modeling13 citationsDOIOpen Access PDF

Abstract

Abstract It is challenging to verify that the planned security mechanisms are actually implemented in the software. In the context of model-based development, the implemented security mechanisms must capture all intended security properties that were considered in the design models. Assuring this compliance manually is labor intensive and can be error-prone. This work introduces the first semi-automatic technique for secure data flow compliance checks between design models and code. We develop heuristic-based automated mappings between a design-level model (SecDFD, provided by humans) and a code-level representation (Program Model, automatically extracted from the implementation) in order to guide users in discovering compliance violations, and hence, potential security flaws in the code. These mappings enable an automated , and project-specific static analysis of the implementation with respect to the desired security properties of the design model. We developed two types of security compliance checks and evaluated the entire approach on open source Java projects.

Topics & Concepts

Computer scienceSecurity testingComputer security modelCode (set theory)Context (archaeology)Software security assuranceJavaSoftware engineeringSource codeStatic program analysisSource lines of codeKPI-driven code analysisComputer securitySoftwareProgramming languageSecurity serviceSoftware developmentInformation securitySecurity information and event managementCloud computing securityOperating systemCloud computingBiologySet (abstract data type)PaleontologyAdvanced Malware Detection TechniquesSoftware Engineering ResearchSecurity and Verification in Computing