sociates weaknesses and security patterns from docu-
mentation: if a new security pattern has to be added,
two steps have to be manually done (mapping be-
tween the pattern and its strong points, and mapping
between strong points and security principles). In the
same way, if a new CWE weakness is added, two
other steps must be manually completed (mitigation
extraction, mapping between mitigations and security
principles). The re-generation of the whole classifica-
tion, which includes new attacks, weaknesses or se-
curity patterns is automatically performed. It could
relevant to investigate whether some text mining tech-
niques would help partially automate these manual
steps without adding ambiguity.
6 CONCLUSION
In this paper, we have presented a classification
methodology putting together CAPEC attacks, CWE
weaknesses and security patterns to guide designers in
their pattern choices. Given an attack, the classifica-
tion provides a hierarchical tree of its sub-attacks (up
to the most concrete ones), the targeted weaknesses,
the security principles that have to be addressed to
fix the weaknesses and the combinations of patterns
that overcome the attacks. The classification is avail-
able in (Regainia et al., 2016b). ADTrees are auto-
matically generated from the classification to ease its
readability. For each attack of the classification, they
portray its sub-attacks and combinations of security
patterns. These ADTrees can be taken as a first step
of other security processes, e.g., threat modelling.
Our most immediate line of future work is related
to a specific section of the CAPEC base, called “At-
tack execution Flow“, listing the sequences of attacks
(not the sets) that have to be followed to execute a
meta-attack. We intend to take this section into con-
sideration to extend the classification and the gener-
ation of extended ADTrees so that the latter explic-
itly show these attack sequences. The resulting trees
(called SAND trees) shall increase the expressive-
ness of the ADTrees by adding the notion of ordered
events. Then, from these SAND trees and the infor-
mation included in the classification, we will focus on
the generation of (generic) test cases to check whether
an implementation is protected against the attacks or
if security patterns are correctly contextualised and
implemented w.r.t. the application context.
REFERENCES
Alvi, A. K. and Zulkernine, M. (2011). A Natural Classi-
fication Scheme for Software Security Patterns. 2011
IEEE Ninth International Conference on Dependable,
Autonomic and Secure Computing, pages 113–120.
Alvi, Aleem, K. and Zulkernine, M. (2012). A Com-
parative Study of Software Security Pattern Classifi-
cations. 2012 Seventh International Conference on
Availability, Reliability and Security, pages 582–589.
Anand, P., Ryoo, J., and Kazman, R. (2014). Vulnerability-
Based Security Pattern Categorization in Search of
Missing Patterns. 2014 Ninth International Confer-
ence on Availability, Reliability and Security, pages
476–483.
Bunke, M., Koschke, R., and Sohr, K. (2012). Organiz-
ing security patterns related to security and pattern
recognition requirements. International Journal on
Advances in Security, 5.
Fernandez, E. B. (2007). Security patterns and secure sys-
tems design.
Fernandez, E. B., Washizaki, H., Yoshioka, N., Kubo, A.,
and Fukazawa, Y. (2008). Classifying security pat-
terns. In Lecture Notes in Computer Science (includ-
ing subseries Lecture Notes in Artificial Intelligence
and Lecture Notes in Bioinformatics), volume 4976
LNCS, pages 342–347.
Harb, D., Bouhours, C., and Leblanc, H. (2009). Using an
Ontology to Suggest Software Design Patterns Inte-
gration, pages 318–331. Springer Berlin Heidelberg,
Berlin, Heidelberg.
Kordy, B., Kordy, P., Mauw, S., and Schweitzer, P. (2013).
ADTool: Security Analysis with Attack–Defense Trees,
pages 173–176. Springer Berlin Heidelberg, Berlin,
Heidelberg.
Kordy, B., Mauw, S., Radomirovi
´
c, S., and Schweitzer, P.
(2012). Attack–defense trees. Journal of Logic and
Computation, page exs029.
Mitre corporation (2015a). Common attack pattern enumer-
ation and classification, url:https://capec.mitre.org/.
Mitre corporation (2015b). Common weakness enumera-
tion, url:https://cwe.mitre.org/.
Regainia, L. (2016). Attack defence trees generator,
url:http://regainia.com/adtreegen.zip.
Regainia, L., Salva, S., and Bouhours, C. (2016a). A
classification methodology for security patterns to
help fix software weaknesses. In Proceedings of the
13th ACS/IEEE International Conference on Com-
puter Systems and Applications AICCSA.
Regainia, L., Salva, S., and Bouhours, C.
(2016b). Security pattern classification url:
http://regainia.com/research/database.html.
Rodriguez, E. (2003). Security Design Patterns, volume 49.
Schneier, B. (1999). Attack trees: Modeling security
threats. Dr. Dobb’s journal.
Schumacher, M. and Roedig, U. (2001). Security Engineer-
ing with Patterns. Engineering, 2754:1–208.
Slavin, R. and Niu, J. (2016). Security patterns repository,
url: http://sefm.cs.utsa.edu/repository/.
A Methodology of Security Pattern Classification and of Attack-Defense Tree Generation
145