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
Summary
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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
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.