An Advanced Approach for Choosing Security Patterns and Checking their Implementation

by   Sébastien Salva, et al.

This paper tackles the problems of generating concrete test cases for testing whether an application is vulnerable to attacks, and of checking whether security solutions are correctly implemented. The approach proposed in the paper aims at guiding developers towards the implementation of secure applications, from the threat modelling stage up to the testing one. This approach relies on a knowledge base integrating varied security data, e.g., attacks, attack steps, and security patterns that are generic and re-usable solutions to design secure applications. The first stage of the approach consists in assisting 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. In the second stage, these trees are used to guide developers in the test case generation. After the test case execution, test verdicts show whether an application is vulnerable to the threats modelled by an ADTree. The last stage of the approach checks whether behavioural properties of security patterns hold in the application traces collected while the test case execution. These properties are formalised with LTL properties, which are generated from the knowledge base. Developers do not have to write LTL properties not to be expert in formal models. We experimented the approach on 10 Web applications to evaluate its testing effectiveness and its performance.


page 1

page 2

page 3

page 4


Using Neural Network to Propose Solutions to Threats in Attack Patterns

In the last decade, a lot of effort has been put into securing software ...

Cats vs. Spectre: An Axiomatic Approach to Modeling Speculative Execution Attacks

The Spectre family of speculative execution attacks have required a reth...

SoK: Practical Foundations for Spectre Defenses

Spectre vulnerabilities violate our fundamental assumptions about archit...

De-Anonymizing Text by Fingerprinting Language Generation

Components of machine learning systems are not (yet) perceived as securi...

A Taxonomy of Approaches for Integrating Attack Awareness in Applications

Software applications are subject to an increasing number of attacks, re...

Monitoring Data Distribution and Exploitation in a Global-Scale Microservice Artefact Observatory

Reusable microservice artefacts are often deployed as black or grey boxe...

Using Cyber Digital Twins for Automated Automotive Cybersecurity Testing

Cybersecurity testing of automotive systems has become a practical neces...

Please sign up or login with your details

Forgot password? Click here to reset