Automatically Extracting Threats from Extended Data Flow Diagrams

  • Bernhard J. BergerEmail author
  • Karsten Sohr
  • Rainer Koschke
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9639)


Architectural risk analysis is an important aspect of developing software that is free of security flaws. Knowledge on architectural flaws, however, is sparse, in particular in small or medium-sized enterprises. In this paper, we propose a practical approach to architectural risk analysis that leverages Microsoft’s threat modeling. Our technique decouples the creation of a system’s architecture from the process of detecting and collecting architectural flaws. This way, our approach allows an software architect to automatically detect vulnerabilities in software architectures by using a security knowledge base. We evaluated our approach with real-world case studies, focusing on logistics applications. The evaluation uncovered several flaws with a major impact on the security of the software.


Architectural risk analysis Threat modeling Automatic flaw detection 



This work was supported by the German Federal Ministry of Education and Research (BMBF) under the grant 16KIS0069K (ZertApps project).


  1. 1.
    Almorsy, M., Grundy, J., Ibrahim, A.S.: Automated software architecture security risk analysis using formalized signatures. In: 35th International Conference on Software Engineering (ICSE), pp. 100–109 (2013)Google Scholar
  2. 2.
    Basin, D., Clavel, M., Doser, J., Egea, M.: Automated analysis of security-design models. Inf. Softw. Technol. 51, 815–831 (2009)CrossRefGoogle Scholar
  3. 3.
    Berger, B., Sohr, K., Koschke, R.: Extracting and analyzing the implemented security architecture of business applications. In: 2013 17th European Conference on Software Maintenance and Reengineering (CSMR), pp. 285–294 (2013)Google Scholar
  4. 4.
    Bunke, M., Sohr, K.: An architecture-centric approach to detecting security patterns in software. In: Erlingsson, Ú., Wieringa, R., Zannone, N. (eds.) ESSoS 2011. LNCS, vol. 6542, pp. 156–166. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  5. 5.
    Chess, B., West, J.: Secure Programming with Static Analysis. Addison-Wesley, Reading (2007)Google Scholar
  6. 6.
    Clavel, M., da Silva, V., Braga, C., Egea, M.: Model-driven security in practice: an industrial experience. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 326–337. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Criteria, C.: Common Criteria for Information Technology Security Evaluation-Part 1: Introduction and general model (2009).
  8. 8.
    Dhillon, D.: Developer-driven threat modeling: lessons learned in the trenches. IEEE Secur. Priv. 9(4), 41–47 (2011)CrossRefGoogle Scholar
  9. 9.
    Hernan, S., Lambert, S., Ostwald, T., Shostack, A.: Uncover Security Design Flaws Using the STRIDE Approach. MSDN Magazine, November 2006.
  10. 10.
    Holzschuher, F., Peinl, R.: Performance of graph query languages: comparison of cypher, gremlin and native access in neo4j. In: Proceedings of the Joint EDBT/ICDT 2013 Workshops, EDBT 2013, NY, USA, pp. 195–204. ACM, New York (2013)
  11. 11.
    Jung, C., Rudolph, M., Schwarz, R.: Security evaluation of service-oriented systems with an extensible knowledge base. In: 2011 Sixth International Conference on Availability, Reliability and Security (ARES), pp. 698–703 (2011)Google Scholar
  12. 12.
    Jürjens, J., Shabalin, P.: Automated verification of UMLsec models forsecurity requirements. In: Baar, T., Strohmeier, A., Moreira, A., Moreira, S.J. (eds.) UML 2004 - The Unified ModelingLanguage: Modeling Languages and Applications. LNCS, vol. 3273. Springer, Heidelberg (2004)Google Scholar
  13. 13.
    Kuhlmann, M., Sohr, K., Gogolla, M.: Comprehensive two-level analysis of static and dynamic rbac constraints with uml and ocl. In: Proceedings of the 2011 Fifth International Conference on Secure Software Integration and Reliability Improvement, pp. 108–117. IEEE Computer Society, Washington, DC (2011)Google Scholar
  14. 14.
    Manadhata, P.K., Wing, J.M.: An attack surface metric. IEEE Trans. Softw. Eng. 37(3), 371–386 (2011)CrossRefGoogle Scholar
  15. 15.
    Mantel, H.: Preserving information flow properties under refinement. In: IEEE Symposium on Security and Privacy, p. 78 (2001).
  16. 16.
    McGraw, G.: Software Security: Building Security In. Addison-Wesley, Reading (2006)Google Scholar
  17. 17.
    Microsoft: Microsoft Security Development Lifecycle (SDL) - Version 5.0. (2010)
  18. 18.
    Mitre: CWE/SANS Top 25 Most Dangerous Software Errors (2015). Accessed: January 15, 2015
  19. 19.
    Peine, H., Jawurek, M., Mandel, S.: Security goal indicator trees: a model of software features that supports efficient security inspection. In: 11th IEEE High Assurance Systems Engineering Symposium, HASE 2008, pp. 9–18 (2008)Google Scholar
  20. 20.
    Sabelfeld, A., Myers, A.C.: Language-based information-flow security. IEEE J. Sel. Areas Commun. 21(1), 5–19 (2003)CrossRefGoogle Scholar
  21. 21.
    Schaad, A., Borozdin, M.: Tam2: Automated threat analysis. In: Proceedings of the 27th Annual ACM Symposium on Applied Computing, pp. 1103–1108 (2012)Google Scholar
  22. 22.
    Schrettner, L., Fülöp, L.J., Ferenc, R., Gyimóthy, T.: Visualization of software architecture graphs of java systems: managing propagated low level dependencies. In: Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java, PPPJ 2010, pp. 148–157. ACM, New York (2010).
  23. 23.
    Schumacher, M.: Security Engineering with Patterns - Origins, Theoretical Models, and New Applications. LNCS, vol. 2754. Springer, Heidelberg (2003)CrossRefzbMATHGoogle Scholar
  24. 24.
    Swiderski, F., Snyder, W.: Threat Modeling. Microsoft Press, Redmond (2004)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Bernhard J. Berger
    • 1
    Email author
  • Karsten Sohr
    • 1
  • Rainer Koschke
    • 1
  1. 1.Center for Computing Technologies (TZI)Universität BremenBremenGermany

Personalised recommendations