![](bg8.png)
focused on the elicitation of security requirements; it
has nothing to do with the transition from
requirements and architectural design and analysis.
Determining the extent to which a proposed
software system meets desired quality criteria is
desirable for a decent software development process.
Kazman et al proposed a scenario-based analysis of
software architecture (Kazman, 1996). Scenarios are
used to express the particular instances of each
quality attribute important to the customer of a
system. The architecture under consideration was
analyzed with respect to how well or how easily it
satisfies the constraints imposed by each scenario.
The approach consisted of several steps: 1)
describing candidate architecture; 2) developing
scenarios; 3) performing scenario evaluations; 4)
revealing scenario interaction; and 5) performing
overall evaluation. Kantorowitz et al designed a
framework for use case-oriented software
architecture, which enables a “direct” manual
translation of sufficiently detailed natural language
use case specifications into code (Kantorowitz,
2003). Using this framework, the produced software
centers around use case components that implement
the different use cases of the application. While we
were motivated by the work along this line, our
focus is on dealing with security concerns at the
level of misuse case-based software architecture.
6 CONCLUSIONS
We have presented the threat-driven approach to the
design of secure software architecture, where threats
are modeled by misuse cases. The findings of the
architectural analysis can be used in detailed design
of the system and in validation of the system
implementation. Also, the architectural analysis can
be re-visited at anytime to get a better understanding
of the underlying architecture or to clear up any
confusion amongst system developers. Dealing with
security issues in the earlier phases of software
development lifecycle can make a system more
resistant to vulnerabilities.
Designing software architecture is often a
heuristic process even if the requirements
specification is available. To make our approach
rigorous, we are investigating the formalization of
use cases, misuse cases, mitigation use cases, and
architectural design. This will allow us to gain high
confidence in the system by disproving the existence
of identified threats in the architectural design.
Another aspect of future work is enhancing the
approach with the capability of tradeoff analysis for
conflicting functional and security requirements that
often exist in real-world information systems. As an
integral part of the architecture design process, the
tradeoff analysis is of importance for recommending
a software architecture for detailed design.
ACKNOWLEDGMENTS
This work was supported in part by the NSF under
grant EPS-0132289.
REFERENCES
Alexander, I. 2002. Initial industrial experience of misuse
cases. In Proc. of IEEE Joint International
Requirements Engineering Conference, pp. 61-68.
Alexander, I. 2003. Misuse cases: Use cases with hostile
intent. IEEE Software, pp. 58-66 (January/February
2003).
Bittner, K. and Spence, I. 2003. Use case modeling,
Object Technology Series, Addison-Wesley, 2003.
Firesmith, D. 2003. Security use cases. Journal of Object
Technology, Vol. 2, No. 3, 53-64. (May-June 2003).
Hoglund, G. and McGraw, G. 2004. Exploiting software:
How to break code. Addison-Wesley.
Howard, M. and LeBlanc, D. 2003. Writing secure code.
Microsoft Press. 2nd edition,
Jacobson, I., Christerson, M., Jonsson, P., and Overgaard,
G. 1994. Object-oriented software engineering: A use
case driven approach. Addison-Wesley, 1994.
Kantorowitz, E., Lyakas, A., and Myasqobsky, A. 2003.
Use case-oriented software architecture. CMC03.
Kazman, R., Abowd, G., Bass, L., and Clements, P. 1996.
Scenario-based analysis of software architecture. IEEE
Software. pp.47-55, November 1996.
McDermott, J. 2001. Abuse-case-based assurance
arguments. In Proc. of the 17th Computer Security
Applications Conference (ACSAC'O1). New Orleans
LA USA, pp. 366-374.
McDermott, J. and Fox, C. 1999. Using abuse case models
for security requirements analysis. In Proc. of the 15th
Annual Computer Security Application Conference,
pp. 55-66.
Sindre, G. and Opdahl, 2001a. A.L. Eliciting security
requirements by misuse cases. In Proc. of TOOLS
Pacific 2000, pp. 120-131.
Sindre, G. and Opdahl, A.L. 2001b. Templates for misuse
case description. In Proc. of the 7th International
Workshop on Requirements Engineering, Foundation
for Software Quality (REFSQ’2001).
Swiderski, F. and Snyder, W. 2004. Threat modeling.
Microsoft Press.
UML 2.0. http://www.uml.org/
Viega, J. and M., Gary. 2002. Building secure software:
How to avoid security problems in the right way.
Addison Wesley, 2002.
THREAT-DRIVEN ARCHITECTURAL DESIGN OF SECURE INFORMATION SYSTEMS
143