Abstract

This paper tackles the problems of choosing security solutions and writing concrete security test cases for software, which are two tasks of the software life cycle requiring time, expertise and experience. We propose in this paper a method, based upon the notion of knowledge base, for helping developers devise more secure applications from the threat modelling step up to the testing one. The first stage of the approach consists of the acquisition and integration of publicly available security data into a data store. This one is used to assist developers in the design of attack-defense trees expressing the attacker possibilities to compromise an application and the defenses that may be implemented. These defenses are given under the form of security pattern combinations, a security pattern being a generic and reusable solution to design more secure applications. In the second stage, these trees are used to guide developers in the test case generation. Test verdicts show whether an application is vulnerable to the threats modelled by an ADTree and whether the consequences of the chosen security patterns are observed from the application (a consequence leading to some observable events partly showing that a pattern is correctly implemented). We applied this approach to web applications and evaluated it on 24 participants. The results are very encouraging in terms of the two criteria: comprehensibility and effectiveness.

Highlights

  • One of the main motivations for software security is to prevent attackers from exploiting application defects, in order to compromise the security of critical systemsSebastien Salva, Loukmen Regainia or to disclose and delete user data

  • We introduce the notion of security pattern, the Attack Defense Trees (ADTrees) model, the related work and our motivations

  • Several security pattern catalogues are available in the literature, e.g., (Slavin and Niu, 2017; Yskout et al, 2015), themselves extracted from other papers

Read more

Summary

Introduction

One of the main motivations for software security is to prevent attackers from exploiting application defects, in order to compromise the security of critical systems. The CAPEC base makes publicly available around 1000 attack descriptions, including their goals, steps, techniques, the targeted vulnerabilities, etc In another context, security pattern catalogues, e.g., (Slavin and Niu, 2017; Yskout et al, 2015), list 176 re-usable solutions for helping developers design more secure applications. The initial stage of the method consists of the acquisition and integration of publicly available security documents into a data-store This knowledge base is exploited to assist developers in the threat modelling stage, in the choice of security solutions, and in the testing process. The approach helps developers write test cases to get test verdicts expressing whether security pattern consequences are detected in the AUT behaviour.

Security Patterns
Related Work
Open Issues and Contributions
Data-store Architecture
Data-store Meta-model for the ADTree Generation
Test Case Representation and Data-store Meta-model Update
Approach Overview
Initial ADTree modelling
Threat Modelling Stage
Test Case Generation and Execution
Test Suite Generation and Test Execution
Test Suite Generation
Test Case Execution
Limitations
Evaluation
Result Interpretation
C2: Effectiveness
C3: Efficiency
Threat to Validity
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.