Systematic Development of UMLsec Design Models Based on Security Requirements
Developing security-critical systems in a way that makes sure that the developed systems actually enforce the desired security requirements is difficult, as can be seen by many security vulnerabilities arising in practice on a regular basis. Part of the difficulty is the transition from the security requirements analysis to the design, which is highly non-trivial and error-prone, leaving the risk of introducing vulnerabilities. Unfortunately, existing approaches bridging this gap largely only provide informal guidelines for the transition from security requirements to secure design.
We present a method to systematically develop structural and behavioral UMLsec design models based on security requirements. Each step of our method is supported by model generation rules expressed as pre- and postconditions using the formal specification language OCL. Moreover, we present a concept for a CASE tool based on the model generation rules. Thus, applying our method to generate UMLsec design models supported by this tool and based on previously captured and analyzed security requirements becomes systematic, less error-prone, and a more routine engineering activity.
We illustrate our method by the example of a patient monitoring system.
KeywordsSecurity Requirement Sequence Diagram Eclipse Modeling Framework Patient Monitoring System Security Requirement Engineering
- 1.Cariou, E., Marvie, R., Seinturier, L., Duchien, L.: OCL for the specification of model transformation contracts. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds.) UML 2004. LNCS, vol. 3273, Springer, Heidelberg (2004)Google Scholar
- 2.Côté, I., Hatebur, D., Heisel, M., Schmidt, H., Wentzlaff, I.: A systematic account of problem frames. In: Proceedings of the European Conference on Pattern Languages of Programs (EuroPLoP), pp. 749–767. Universitätsverlag Konstanz (2008)Google Scholar
- 3.Fabian, B., Gürses, S., Heisel, M., Santen, T., Schmidt, H.: A comparison of security requirements engineering methods. Requirements Engineering – Special Issue on Security Requirements Engineering 15(1), 7–40 (2010)Google Scholar
- 6.Hatebur, D., Heisel, M., Schmidt, H.: Analysis and component-based realization of security requirements. In: Proceedings of the International Conference on Availability, Reliability and Security (AReS), pp. 195–203. IEEE Computer Society Press, Los Alamitos (2008)Google Scholar
- 7.Houmb, S.H., Islam, S., Knauss, E., Jürjens, J., Schneider, K.: Eliciting security requirements and tracing them to design: An integration of common criteria, heuristics, and UMLsec. Requirements Engineering – Special Issue on Security Requirements Engineering 15(1), 63–93 (2010)Google Scholar
- 8.Jackson, M.: Problem Frames. Analyzing and structuring software development problems. Addison-Wesley, Reading (2001)Google Scholar
- 10.Lodderstedt, T., Basin, D.A., Doser, J.: SecureUML: A UML-based modeling language for model-driven security. In: Proceedings of the International Conference on the Unified Modeling Language (UML), London, UK, pp. 426–441. Springer, Heidelberg (2002)Google Scholar
- 11.Millan, T., Sabatier, L., Le Thi, T.-T., Bazex, P., Percebois, C.: An OCL extension for checking and transforming uml models. In: Proceedings of the WSEAS International Conference on Software Engineering, Parallel and distributed Systems (SEPADS), Stevens Point, Wisconsin, USA, pp. 144–149. World Scientific and Engineering Academy and Society (WSEAS), Singapore (2009)Google Scholar
- 12.Mouratidis, H., Jürjens, J.: From goal-driven security requirements engineering to secure design. International Journal of Intelligent Systems – Special issue on Goal-Driven Requirements Engineering 25(8), 813–840 (2010)Google Scholar
- 13.Schmidt, H.: A Pattern- and Component-Based Method to Develop Secure Software. Deutscher Wissenschafts-Verlag (DWV) Baden-Baden (April 2010)Google Scholar