Skip to main content

Security-by-Design: Threat Modeling and Requirements for Enterprise Applications

Abstract

Enterprise applications are implemented in distributed backdrop, combined services, cloud apps, API, databases, and diverse user interfaces, which present complex and dynamic security threats. To minimize vulnerability and enhance resilience in an organization, incorporation of security consideration in the development of the applications is thus indispensable. A systematic threat discovery and security requirement description throughout the enterprise application development life-cycle forms a structured framework of Threat Modeling and Security Requirements Engineering (TSM-SRE) which is introduced in this research paper. The proposed model includes the best ways of determining asset and the attack-surface analysis techniques, threat classification techniques, risk assessment techniques, derivation of security requirement techniques and prioritization of requirement techniques to develop a trace of identified threats and the security control taken to manage these threats. The method enables the continuous improvement of security requirements as the application architecture, data flows, dependencies and threat landscape evolve. In order to test the framework, a formal evaluation is done which assesses the framework on the aspects of threat coverage, requirement completeness, traceability, the effectiveness of prioritization, and security assurance. The findings indicate that a hybrid of threat modeling and security requirements engineering may lead to greater security risk pre-detection, reduce the discontinuities among the architectural threats and development requirements and provide the security decision-making process with more consistency. The framework offers a practical foundation about the integration of security in the development of enterprise applications in addition to aiding risk-aware design, automated validation, and ongoing improvement of security

References

[1] Xiong, W., & Lagerström, R. (2019). Threat modeling—a systematic literature review. Computers & Security, 84, 53–69. https://doi.org/10.1016/j.cose.2019.03.010
[2] Rouland, Q., Hamid, B., & Jaskolka, J. (2021). Specification, detection, and treatment of STRIDE threats for software components: Modeling, formal methods, and tool support. Journal of Systems Architecture, 117, Article 102073. https://doi.org/10.1016/j.sysarc.2021.102073
[3] Van Landuyt, D., & Joosen, W. (2021). A descriptive study of assumptions in STRIDE security threat modeling. Software & Systems Modeling, 21(6). https://doi.org/10.1007/s10270-021-00941-7
[4] Shi, Z., Graffi, K., Starobinski, D., & Matyunin, N. (2021). Threat modeling tools: A taxonomy. IEEE Security & Privacy, 20(4). https://doi.org/10.1109/MSEC.2021.3125229
[5] Xiong, W., Hacks, S., & Lagerström, R. (2021). A method for assigning probability distributions in attack simulation languages. Complex Systems Informatics and Modeling Quarterly, (26), 55–77. https://doi.org/10.7250/csimq.2021-26.04
[6] Dhillon, D. (2011). Developer-driven threat modeling: Lessons learned in the trenches. IEEE Security & Privacy, 9(4), 41–47. https://doi.org/10.1109/MSP.2011.47
[7] Sommestad, T., Ekstedt, M., & Holm, H. (2013). The cyber security modeling language: A tool for assessing the vulnerability of enterprise system architectures. IEEE Systems Journal, 7(3), 363–373. https://doi.org/10.1109/JSYST.2012.2221853
[8] Holm, H., Shahzad, K., Buschle, M., & Ekstedt, M. (2015). P² CySeMoL: Predictive, probabilistic cyber security modeling language. IEEE Transactions on Dependable and Secure Computing, 12(6), 626–639. https://doi.org/10.1109/TDSC.2014.2382574
[9] Homer, J., Zhang, S., Ou, X., Schmidt, D., Du, Y., Rajagopalan, S. R., & Singhal, A. (2013). Aggregating vulnerability metrics in enterprise networks using attack graphs. Journal of Computer Security, 21(4), 561–597. https://doi.org/10.3233/JCS-130475
[10] Uzunov, A. V., & Fernandez, E. B. (2014). An extensible pattern-based library and taxonomy of security threats for distributed systems. Computer Standards & Interfaces, 36(4), 734–747. https://doi.org/10.1016/j.csi.2013.12.008
[11] Frydman, M., Ruiz, G., Heymann, E., César, E., & Miller, B. P. (2014). Automating risk analysis of software design models. The Scientific World Journal, 2014, 1–12. https://doi.org/10.1155/2014/805856
[12] Bedi, P., Gandotra, V., Singhal, A., Narang, H., & Sharma, S. (2013). Threat-oriented security framework in risk management using multiagent system. Software: Practice and Experience, 43(9), 1013–1038. https://doi.org/10.1002/spe.2133
[13] Mészáros, J., & Buchalcevova, A. (2017). Introducing OSSF: A framework for online service cybersecurity risk management. Computers & Security, 65, 300–313. https://doi.org/10.1016/j.cose.2016.12.008
[14] Al-Fedaghi, S., & Moein, S. (2014). Modeling attacks. International Journal of Safety and Security Engineering, 4(2), 97–115. https://doi.org/10.2495/SAFE-V4-N2-97-115
[15] Hacks, S., Katsikeas, S., Ling, E., Lagerström, R., & Ekstedt, M. (2020). PowerLang: A probabilistic attack simulation language for the power domain. Energy Informatics, 3(1), 1–17.