You are on page 1of 8

RUPSec : Extending Business Modeling and Requirements Disciplines of

RUP for Developing Secure Systems

Pooya Jaferian, Golnaz Elahi, Mohammad Reza Ayatollahzadeh Shirazi, Babak Sadeghian
Department of Computer Engineering and Information Technology
Amirkabir University of Technology
Tehran, Iran
{jaferian,elahi,ashirazi,basadegh}@ce.aut.ac.ir

Abstract to identify, apply, achieve and evaluate security


requirements [2].
Nowadays, one of the main challenges facing computer Enforcing and managing security requirements
systems is increasing attacks and security threats against necessitates professional abilities and wide knowledge,
them. Therefore, capturing, analyzing, designing, developing because systems are built to run under attacks of
and testing of security requirements have became an unknown sources, therefore the security requirements
important issue in development of security-critical of them might be unknown. One of the challenges in
computing systems, such as banking, military and e- requirements engineering activities is capturing and
commerce systems. For developing every system, a process
analyzing nonfunctional requirements such as security,
model is chosen. The Rational Unified Process (RUP) is one
of the most popular and complete process models which has safety, reliability and usability requirements. Our
been used by developers in recent years. Our study and experience shows that often these quality attributes are
analysis has shown that RUP should be extended for missed and are not captured by analysts. In practice, a
developing security-critical systems. In this paper, we report usual method in secure systems development is the
our work on extending Business Modeling and Requirements “penetrate and patch” approach. This means that
disciplines of RUP for developing secure systems. We call developers attempt to remove the vulnerable points
this extended version of RUP as RUPSec. The proposed after the system is developed and attacks against the
extensions in RUPSec are adding and integrating a number system and defects occur. This approach usually
of Activities, Roles, and Artifacts to RUP in order to capture,
imposes heavy costs and defects on software projects.
document and model threats and security requirements.
Usually organizations try to document and record
their business security goals and requirements in
1. Introduction Security Policy Document. But there is no common,
clear and defined method to transfer the facts in the
Security is an attribute of system that prevents the Security Policy Document to precise and unambiguous
system from revealing, changing and denying of requirements and then including security requirements
resource services and system information in an illegal in analysis, design, implementation and test phases of
way. Generally three aspects of security are: software development process.
confidentiality, integrity and availability of service of Researchers are trying to solve the mentioned
resources and information. To achieve these aspects problems. The main focus of current works in this area
and develop a secure system, security services and is using software engineering techniques to capture
mechanisms should be considered [1]. and model security requirements [8,9,11] and common
One of the main phases in developing any threats [10]. Also, in [2] a new modeling language is
computing system is requirements engineering. proposed for modeling security requirements [2].
Requirements engineering is capturing, analyzing, According to the above discussion, it is reasonable to
documenting and evaluating of requirements. In integrate and coordinate secure software development
requirements engineering, security is considered as a activities in a software process model [2].
nonfunctional requirement [2, 3, 4, 5], but in some In this work we have chosen Rational Unified
references security is classified as a functional Process (RUP) as the basic process model for
requirement [6, 7]. As it’s seen, it is naturally difficult extension. We believe that the RUP is one of the most

Proceedings of the 2005 31st EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA’05)
0-7695-2431-1/05 $20.00 © 2005 IEEE
complete and flexible process models. It is (and others)) [6] is used to categorize requirements. In
configurable, easy to understand and follow and most this model, security requirements are classified in the
of the guidelines and activities of RUP is based on Functionality category. RUP just presents a set of
software engineering related standards that have been guidelines to capture and employ security
proposed by ISO and IEEE. We name the extended requirements. According to these guidelines the
RUP for developing security systems as RUPSec. The following activities should be done:
aim of proposing the RUPSec is to define a software - Identify the resources must be protected in system.
process model in which security requirements are - Identify people and entities that can threats
considered in all phases of developing computing system.
system: business modeling, requirements, analysis and - Identify and categorize security requirements.
design, implementation, and test. Captured requirements should be documented in
In [12] the Requirements Discipline of RUPSec was Software Requirement Specification. But it is not
presented and in current paper proposed extensions in mentioned that how these requirements should be
Business Modeling and Requirements disciplines are analyzed and modeled. Also, it is not clear how these
improved and presented. The main issues in these requirements are transformed and used in later phases
extensions are: identifying security problems, threats of software development.
against the system and capturing, modeling and In following sections, Business Modeling and
evaluating security requirements. The secure software Requirement Disciplines of RUPSec are presented as a
development process model originated on RUP solution to the declared problems.
(RUPSec) is developed based on case studies and
considering RUP weaknesses during developing case 4. Proposed Extensions
study systems.
The arrangement of the paper is as follows. Section The aim of proposing RUPSec is to have a software
2, provides a description of RUP as our basic process engineering process that guides developers to engineer,
model. Section 3 overviews the Security Requirements design and implement security requirements in system
in RUP. Section 4 is devoted to the new extended RUP development process. RUPSec has been developed by
disciplines (RUPSec disciplines). In Section 5 the new proposing new extensions in RUP Phases and
process model is evaluated. In Section 6, the new Disciplines. These extensions are in form of roles,
process model is compared with related works and activities and artifacts. The extension plan of the
similar models. The paper is concluded with Section 7 RUPSec is presented as figure 1.
which contains brief recapitulation of the main points.
Study

2. An Overview of RUP
Study Security
Rational Unified Process (RUP) is an iterative and Concepts

incremental software engineering process. RUP has


four main phases: Inception, Elaboration, Choos e RUP as Analyze the other
Construction, and Transition. RUP has a number of bas ic proces s model contributions weaknes ses

disciplines that are used in the mentioned phases. Each


discipline describes a set of activities and artifacts
Develope
around a group of common skills [7]. Main RUP RUPSec

disciplines are: Business Modeling, Requirements,


Analysis and Design, Implementation, Test,
Developing cas e
Deployment, Configuration and Change Management, studies using RUP
Analyze RUP weakness es in
developing s ecure system s

Project Management, and Environment. RUP is a


standards-based (IEEE and ISO software engineering [ Evaluation goals are not s atis fied ]

standard) yet configurable process environment that Adding and improving activities,
artifacts and a role into the RUP
can be tailored to suit the unique needs of each project.
Feature Based Evaluation of
extensions
3. Security Requirements in RUP
In RUP, the FURPS+ model (Functionality, [ Evaluation goals are satis fied ]

Usability, Reliability, Performance, Supportability, + Figure 1. Extension plan of the RUPSec

Proceedings of the 2005 31st EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA’05)
0-7695-2431-1/05 $20.00 © 2005 IEEE
The Security Expert role is described in Table 1. 4.1. Extending Business Modeling Discipline
Table 2 shows an overview of the new artifacts in the
extended process model. Business Modeling is usually the starting point in
projects to learn about the target business, its goals,
Table 1. Security Expert Role and requirement. Generally over the normal usage, the
Role Security Expert purposes of this discipline in RUPSec are: identify
Role Type Additional Role security problems in the target business, capture
Tasks Consultation in security issues, Development of potential threats without considering how they will be
security test cases actually performed, and capture Security Policy of the
Skills Familiar with security concepts, threats and target business.
counter-measures, Familiar with system analysis
4.1.1. Improving “Maintain Business Rules”
Table 2. New artifacts in the RUPSec Activity. This activity is an improvement in Maintain
Artifact Name Description UML Model Business Rules activity in RUP. In this activity
Security Policy Security Policy, defines the - Business Process analyst role extracts Security Rules
security rules in the target to use them in “Organization Security Policy”
business. document. Security Rules clarify a set of “must” and
Threat Threat Specification, defines a -
“mustn’t” in organization and they can be declared in a
Specification set of threats against system
formal notation. In RUP a formal notation is proposed
Misuse Case Misuse case model, models <<misuse-case
to express the business rules. A number of its key
Model threats against each use case of model>>
system
words are:
Security Use Security Use Case model, <<security IF, ONLY IF, WHEN, THEN, ELSE, IT MUST
Case Model models the security solution for use-case ALWAYS HOLD THAT, IS CORRECTLY
each misuse case model>> COMPLETED
Misuse Case Misuse case shows actions that <<misuse To express the security rules about permission to
threaten the system case>> access the service of system resources, we have added
Misactor Misactor is the actor which <<misactor>> two new key words to mentioned notation:
threatens the system by using a HAS RIGHT / HAS NOT RIGHT
misuse case. Security Rules will be used to extract Security
Security Use Security Use Case prevents one <<security >> Policy by the following.
Case or more misuse cases.
4.1.2. Defining Security Policy: a new activity in
In table 3 the new activities of the RUPSec and in Business Modeling Discipline. This activity does not
table 4 the improved activities of RUP are presented. exist in RUP, but in order to capture stakeholders
requests in security aspects of a system and their
Table 3. New Activities in the RUPSec desired degree of security, is added to RUPSec
Activity Name Resulting Artifact activities. Output of this activity is called “Security
Define Security Policy Security Policy Policy Document”. If there is a Security Policy in an
Find Misactors and Misuse Cases Misuse Case Model organization it would be improved during Business
Finding System Threats Threat Specification Document Modeling Discipline. This document is prepared by the
Refine Misuse Cases and Finding
Security Use Case Model Security Expert and Business Process Analyst Roles.
Security Use Cases
This usage of this document is discussed in
Requirement Discipline. Answering the below
Table 4. Improved RUP activities in the RUPSec questions would define the Security Policy:
Activity Name Description
x Which resources and data should be protected in
Maintain Business Rules Maintain Security Business Rules
system?
Find Business Actors and Use Document security aspects of
Cases Actors and Use Cases x What is the right treatment of system resources?
Find Business Workers and Define access level of workers to x Who has permission to use the system?
Entities entities x What are the responsibilities and rights of system
Define Automation Capturing Business Security users and administrators?
Requirement Requirements from Security Policy x Who offers and invalidates the permissions in the
Detail the Software system?
Refine Security Requirements
Requirements

Proceedings of the 2005 31st EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA’05)
0-7695-2431-1/05 $20.00 © 2005 IEEE
x What events and people threaten the system security Table 6. Sale system rights of access types
(that system should be protected against them)? Access level personnel information sales
The answers to the aforementioned questions information
specify the system threats. These threats are expressed 1 + +
independent of how a system works. For example in a 2 + -
sales system, whether the system works on web or in 3 - -
traditional markets, theft threatens the system. Security
Policy is documented based on stakeholder’s needs 4.1.3. Improving “Find Business Actors and Use
and security threats in the system. Commonly, this Cases” Activity. In this activity of RUPSec, in
document is expressed in natural language. addition to the usual description in RUP, it is
After answers of the questions are declared by suggested that Security Expert documents the below
system owners and customers collaborating with points. The goal is to document more information
security expert, Security Policies should be about security aspects of Actors and Use Cases:
documented in a template. The Security Policy x Specify the actor’s skill, knowledge, and
template contains a table, which defines the type of information about computer security and attacks.
access and people hierarchy access in the system or x Specify the actor’s benefits to attack the system.
related people outside the system. For example, Table x Declare the threats that the actor has the potential
5 specifies the manager, assistant and customers to perform
responsibilities and access type for sale system as case x Declare the risk of threats
study. x Assert the threats that a use case directs to the
system
Table 5. Sale system access types
person name Responsibility data access 4.1.4. Improving “Find Business Workers and
type Entities” Activity. This activity is an improvement on
Manager Organize manager “Find Business Workers and Entities” activity. In this
2
Assistant meetings and visitors improvement an extended Artifact of RUP is
manager Lead the organization 1 introduced. Workers in the system perform the
Receive services from processes inside the system or organization. Business
Customer 3
business system
Workers and Actors deal with information, resources
and services of system, and should be settled in a
Table 6 specifies the resources that each access type security type or level. This security access level is
has the right to use. For example, the manager with defined in Security Policy and in this phase is modeled
access type 1 has access to all system resources but the in the Business Entity Diagram. To specify the detail
customer only has the right to access his/her own of an access type or level a number of Stereotypes are
information. Also the access types can be defined in a defined in this diagram. These stereotypes and their
hierarchical way. meaning are expressed in Table 7, which can be
combined together.

<<modify,add,delete>> <<read>>

<<modify,add,delete>> Account
Accountant Customer
<<modify,add,delete>>
1 0..*
<<Read>> Bill

<<read>>

<<modify,add,delete>> Order
Seller Delivery
1..*
Product
Figure 2. Business Workers and Entities Diagram

Proceedings of the 2005 31st EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA’05)
0-7695-2431-1/05 $20.00 © 2005 IEEE
These stereotypes declare that each person has the system and misuses the system through a misuse case.
right to do which functionality on system data. For While the purpose of use cases is to describe the
example, in Figure 2, the seller has the right to change customer goals, the purpose of misuse case is to model
the information about the products and add or delete security threats. In this case actor or external system is
some products, but the seller can only read the replaced by a Misactor who threatens the system.
information about customer's orders. In the next steps misuse cases will form a basis for
eliciting security requirements and security use cases.
Table 7. Business Workers and Entities Stereotypes The inputs to this activity are "Threat Specification
Stereotype Usage Document" and "Security Policy" and the output
<<add>> Only the permission to add data artifact is Misuse case model. This output will be used
<<read>> Only the permission to read the data. in Analysis and Design Discipline and Designing Test
<<delete>> Only the permission to delete data Scenarios. The System Analyst role is responsible for
Only the permission to modify and alter performing this activity.
<<modify>>
data.
4.2.2. Finding System Threats: A New Activity in
4.1.5. Capturing Business Security Requirements Requirements Discipline. Finding Misuse cases and
from Security Policy: Improving “Define threats is an iterative activity. In other words the
Automation Requirement” Activity. After threats are completed with respect to Misuse cases and
completing Security Policy and interviewing with Misuse Cases are found and refined by means of
system owners and stake holders, a number of general threats. The Security Expert finds the threats against
security requirements are captured by Business the system based on the experiences and knowledge of
Designer and Security Expert roles. These past projects. The Security Expert also presents a
requirements are documented in Supplementary general solution to counter each threat. The Misuse
Specification. Cases will be extracted using these threats and this
process continues iteratively.
4.2. Extending Requirements Discipline With respect to the above discussions, a new activity
called “Finding System Threats” is added to “Define
The goal of the Requirements Discipline in the RUP the System” workflow detail of RUP. The inputs to
is to establish and maintain agreement with the mentioned activity are "Misuse case Model" and
customers and other stakeholders on what the system "Security Policy". The threats that are identified by the
should do. In this discipline system developers gain a Security Expert are documented in “Threat
better understanding of the system requirements and Specification Document” as output of the activity and
boundaries of the system are defined. In addition to is used in Analysis and Design and Test Disciplines.
common purposes, the purpose of this discipline in The “Threat Specification Document” is used by the
RUPSec is: to capture and model security threats System Analyst to extract the Misuse-Cases. Also it is
against the system, to propose security solutions for recommended to record the “Threat Specification
the threats and to elicit security requirements of the Document” in "Threat Repository" for future uses.
system. In Figure 3, the use cases and Misuse-Cases of the
sale system are presented. The use cases, which are
4.2.1. “Find Misactors and Misuse Cases”: A New identified by <<misuse case>> stereotype, illustrate
Activity in Requirements Discipline. RUP is a use- threats against the system. These threats take place
case driven approach for developing software [7]. during the flow of use cases and their occurrence is
Therefore, we suggest using Misuse Cases to find illegal. Therefore, the dependency between use case
threats and security requirements. As the functional and related Misuse-Case should be specified by
requirements are described via use-cases, the activities <<extend>> relationship between use cases.
that yield a security threat can be expressed as misuse
cases. Therefore, a new activity named "Finding 4.2.3. Refine Misuse Cases and Finding Security
Misactors and Misuse-Cases" is added to RUP as an Use Cases: A New Activity in Requirements
independent activity in the RUP's "Define the System" Discipline. In order to find security requirements, we
workflow detail. have added a new activity to the RUP, which is called
In this activity, Along with finding use cases and "Refine Misuse cases and finding Security use cases"
actors, Misuse cases and Misactors should be as an independent activity in “Define the system”
identified. Misactor is an actor who threatens the workflow detail.

Proceedings of the 2005 31st EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA’05)
0-7695-2431-1/05 $20.00 © 2005 IEEE
<<extend>>

Search and choose products <<misuse case>>


Disable the site
<<extend>> Pay for Order

<<extend>> <<misactor>>
Order products <<misuse case>>
Customer External attacker
Pay for orders using
<<extend>> customer accounts

Supply accounts <<extend>> <<misuse case>> <<misactor>>


System Manager
Supply or charge account
Inside organization
Manage customer accounts

Figure 3. Misuse Case of Sale System

In this activity, the system analyst studies “Misuse case In the use case diagram of Figure 4, for each
Model” and “Threat Specification Document” to Misuse-Case, we can present a number of solutions.
capture security use cases. In current activity, the These solutions are modeled by security use cases.
misuse case flow of events is defined precisely. After Security Use-Cases are denoted by <<security>>
that the system analyst specifies the solutions to stereotype. The dependency between Security Use-
confront the threats with respect to Threat Case and Misuse-case is defined by <<prevent>>
Specification Document. These solutions are called stereotype. This type of dependency specifies that
"Security Use cases" and they should be described and security use case prevents the occurrence of Misuse-
documented. In current activity, the system analyst Case. In table 8, requirements discipline's proposed
should avoid interfering technological aspects to select stereotypes are overviewed.
and describe security use cases. For example, is this
step, we should avoid offering solutions such as using Table 8. Requirements Discipline's Stereotypes
cryptographic algorithms, passwords and etc, because Stereotype Application
using specific technology as security use case will <<misactor>> The Actor, Who misuses the system.
restrain finding better solutions in selecting appropriate The use case which shows the misuse of
<<misuse
architecture and designing the system. system and is a potential threat against the
case>>
To document a Security Use-Case, the following system.
points should be considered: <<security>> The use case which prevents a misuse case.
x Related threats should be specified. Dependency, which specifies the security
<<prevent>> use case that prevents a specific misuse
x For each Security Use-Case, the flow of events
case.
should be studied in the three following viewpoints:
System, Normal Actors and Misactors activities.
4.2.4. Improving "Detail the Software
In this approach the system activities to provide the
Requirements" Activity. The system requirements
required security are captured and recorded as security
will be obtained by describing each Security Use-Case.
requirements. In the Security Use-Case Description
These requirements usually can be found in "System
table which is presented in [9], the post condition of
Actions" column (in security use case description table
each Security Use-Case is considered as a general
[9]) and Security use case post-condition.
security requirement. The purpose of mentioned
The mentioned system requirements should be
requirement is to counter the related misuse case.
categorized and documented. Therefore, in "Detail the
Usually, security use cases can be classified into
software requirements" activity of the RUP, the
several categories [9]. Also each category may have
Requirement Specifier should document the security
different paths [9]. To obtain security requirements
requirements in "Software Requirement Specification"
from security use cases, each use case path should be
document according to the requirement's type. Security
analyzed independently and security requirements for
requirements will form a basis for “Analysis and
each path should be extracted.
Design” discipline along with security use case model.

Proceedings of the 2005 31st EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA’05)
0-7695-2431-1/05 $20.00 © 2005 IEEE
<<Prevent>>

<<misuse case>>
Search and choose products <<security >>
System protection Disable the site

<<include>>

Customer Order products Pay for Order <<misuse case>>


<<misactor>>
<<include>> Pay for orders using customer External attacker
accounts
<<include>> <<Prevent>>
Supply accounts

<<include>> <<Prevent>>
System Manager
<<misuse case>> <<misactor>>
Manage customer accounts <<security>>
Inside organization
Access Control Supply or charge account
attacker
Figure 4. Security Use Case Diagram For Sales System

5. Evaluation of Presented Extensions common process models such as RUP. Therefore, they
can be used in any type of projects.
There are various methods to evaluate a software Suitability of Extensions: The proposed extensions
development process model. Two common ways are don’t diverge from RUP’s flow of activities and
evaluation based on case studies and Feature Based disciplines. The developers who are familiar with RUP
Evaluation. To evaluate proposed extensions, we use can use RUPSec without intensive training. The
the criteria introduced in [13] for evaluating software resulted artifacts of extended disciplines are used in
engineering methodologies and evaluate our extension analysis and Design, Implementation and Test
based on a subset of these criteria. Discipline that are discussed in further works.
Expressiveness: a process model should be
introduced in such a way to cover various aspects of a Table 9. Requirements Discipline's Stereotypes
system. Whereas threats and security aspects like Aspect RUPSec RUP
confidentiality, integrity and availability are not Organization Documented in Security Is not
mentioned in RUP, in this paper some solutions are Security Policy Policy documented
presented for modeling and documenting these aspects. Threats against Modeled and documented Is not
the system in Threat Specification and documented
In Table 9, these solutions are compared to RUP.
Misuse Case document
Preciseness: a Process model should be
Security Modeled and documented Is not
unambiguous, that it would be possible to use it in a aspects of using Security Use Cases documented
correct way. In the RUPSec inputs, outputs, time to do, system
related discipline and role are declared and integrated
with RUP. This prevents ambiguity in extensions.
Accessibility : a process model should be practical 6. Compare to Related Works
for various groups of developers with different skills
and level of knowledge. As RUP is used widely and In previous sections RUPSec and its improvements
UML is a universal modeling language, RUPSec is on RUP are introduced. Many aspects, phases and
based on RUP and modeling language is UML. activities in the RUPSec are discussed in
Therefore, using the extensions is easy for developers [2,8,9,14,15,16,17,18] too, but in this paper we have
who are familiar with RUP and UML. investigated to integrate existing attempts and works in
Portability: a process model shouldn’t depend on the framework of RUP.
implementation language, special technology or In [15], the presented process model is not based on
architecture. In presented extensions, it is emphasized a reference process model. As in [15] activities,
on using standard modeling languages like UML and artifacts, and roles aren’t specified in detail, developers
have to integrate the mentioned process models with

Proceedings of the 2005 31st EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA’05)
0-7695-2431-1/05 $20.00 © 2005 IEEE
their own process model. In this paper, all extended [5] B. Paech, A. H. Dutoit, D. Kerkow, and A. V. Knethen,
activities and artifacts are incorporated with RUP. “Functional requirements, non-functional requirements, and
In [14], use cases are extended to cover security architecture should not be separated”, 8th International
requirements, but it is not discussed for what threats Workshop on Requirements Engineering: Foundation for
Software Quality, Essen, Germany, 2002
the system should be protected. In [17] the aspect of [6] R. Grady, Practical Software Metrics for Project
Abuse Case is introduced but no way for including Management and Process Improvement, Prentice Hall, 1992.
these threats in analysis and design model is not [7] P. Kruchten, The Rational Unified Process: An
suggested. In [9] more than modeling Misuse Cases, a Introduction, Third Edition, Addison-Wesley, 2003.
number of Security Use Cases are assigned to normal [8] D. G. Firesmith, “Engineering Security Requirements”,
Use Cases to protect the system against the threats. In Journal of Object Technology, Vol. 2, No. 1, January-
the present paper we have tried to eliminate the February 2003.
weaknesses in [9, 14, 17] using Misuse Cases and [9] D. G. Firesmith, “Security Use Cases”, Journal Of Object
Security Use Cases, Threat specification and Security Technology, Vol. 2, No. 3, May-June 2003.
[10] R. J. Ellison, R. C. Linger, and A. P. Moore, “Attack
Policy.
Modeling for Information Security and Survivability”
One of the similar attempts to RUPSec is CLASP. CMU/SEI-2001-TN-001, 2001
CLASP(Comprehensive, Lightweight Application [11] J. Barcalow, and J. Yoder, “Architectural Patterns for
Security Process) provides a well-organized approach Enabling Application Security”, Proceeding of The 4th
for moving security concerns into the early stages of Pattern Languages of Programming Conference, Allerton
the software development lifecycle [22]. Park, Monticello, Illinois, USA, 1997. pp. 40-51
[12] M.R. A. Shirazi, P. Jaferian, G. Elahi, H. Baghi, B.
Sadeghian, “RUPSec : An Extension on RUP for Developing
7. Conclusion and suggestions for further Secure systems – Requirements Discipline”, Proceedings of
works The Second World Enformatika Congress (WEC'05),
Istanbul, Turkey, 2005, pp. 208-212
In this paper some extensions on Business modeling [13] O. Shehory, and A. Sturm, “Evaluation of modeling
and Requirement discipline of RUP were presented. techniques for agent-based systems”, Proceedings of the 5th
These extensions include adding activities, artifacts, international conference on Autonomous agents, Motreal,
and roles to RUP or improving them. In current stage, Canada, 2001, pp. 624-631.
[14] G. Popp, J. Jürjens, G. Wimmel, and R. Breu, “Security-
these extensions don’t cover the whole RUP
Critical System Development with Extended Use Cases”,
disciplines and in the next researches we will use the Proceeding of 10th Asia-Pacific Software Engineering
results to more disciplines. In the next phases of work, Conference, Chiang Mai, Thailand 2003, pp 55-60.
captured Misuse Cases will be realized in analysis and [15] R. Breu, K. Burger, M. Hafner, J. Jürjens, G. Popp, G.
design discipline. System attacks are identified Wimmel, and V. Lotz, “Key Issues of a Formally Based
whereas they are realized. Attacks will be realization Process Model for Security Engineering”, Proceedings of the
of system potential threats considering the technology 16th International Conference on Software & Systems
of implementation. Security Use Cases will be Engineering and their Applications (ICSSEA03), 2003.
realized and used to specify Analysis Mechanism and [16] P. Devanbu, and S. Stubblebine, “Software engineering
for security: a roadmap”, In A. Finkelstein, editor, The
design against threats. Also Misuse Cases will be used
Future of Software Engineering, ACM Press, 2000.
in test phase to generate Test Cases. [17] J. McDermott, and C. Fox, “Using Abuse Case Models
for Security Requirements Analysis”, Proceedings of the 15th
References Annual Computer Security Applications Conference,
Washington, DC, USA, 1999.
[1] M. Bishop, Computer Security, Art & Science, Addison- [18] G. Petterson, “Collaboration in a Secure Development
Wesley, First Edition, 2002 Process – Part I”, Information Security Bulletin, June 2004.
[2] J. Jürjens. Secure Systems Development with UML, [19] R. Breu, K. Burger, M. Hafner, and G. Popp, “Towards
Springer-Verlag, December 2004. a Systematic Development of Secure Systems”, Information
[3] S. Doshi, “Software Engineering and Security: Towards Systems Security Journal, Volume 13, Number 3,
Architecting Secure Software”, a graduate term paper for July/August 2004, pp. 5-13.
ICS 221, Seminar in Software Engineering, University of [20] D. Basin, J, Doser, and T. Lodderstedt, “Model driven
California, Irvine, 2001. security for process-oriented systems”, Proceedings of the 8th
[4] L. Chung, and B. A. Nixon, “Dealing with non-functional ACM symposium on Access control models and technologies,
requirements: three experimental studies of a process- Villa Gallia, Como, Italy, 2003, pp. 100-109.
oriented approach”, Proceedings of the 17th international [21] R. Anderson, Security Engineering, a guide to building
conference on Software engineering, Seattle, Washington, dependable system, Wiley, 2001.
United States, 1995, pp 25 – 37. [22] The CLASP Application Security Process, Secure
Software Inc document, 2005.

Proceedings of the 2005 31st EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA’05)
0-7695-2431-1/05 $20.00 © 2005 IEEE

You might also like