You are on page 1of 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/220135814

RUP extension for the development of secure systems

Article  in  International Journal of Web Information Systems · December 2007


DOI: 10.1108/17440080710848099 · Source: DBLP

CITATIONS READS
12 238

2 authors:

Carlos Eduardo de Barros Paes Celso Hirata


Pontifícia Universidade Católica de São Paulo (PUC-SP) Instituto Tecnologico de Aeronautica
17 PUBLICATIONS   81 CITATIONS    126 PUBLICATIONS   411 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Discrete Event Simulation Techniques View project

My doctoral degree at the Technological Institute of Aeronautics (ITA) View project

All content following this page was uploaded by Carlos Eduardo de Barros Paes on 21 July 2017.

The user has requested enhancement of the downloaded file.


RUP Extension for the Development of Secure Systems

Carlos Eduardo de Barros Paes


Department of Computer Science,Pontifícia Universidade Católica de São Paulo, Brazil
carlosp@pucsp.br

Celso Massaki Hirata


Department of Computer Science, Instituto Tecnológico de Aeronáutica, Brazil
hirata@ita.br

Abstract software development cycle for the construction and


operation of the system. Rational Unified Process
The expansion of computer usage results from the (RUP) is a software engineering process that provides
progress of technology and communication. As a a disciplined approach to define tasks and
consequence, attacks on computer systems with responsibilities inside an organized system
malicious objectives are growing and can represent development [1][2]. The goal is assure the production
damages and losses for companies. It is recognized of software that satisfies the needs of clients, in a time
that security has become a critical issue in software period and a predictable cost. Although RUP may be
development. Most of the software development customized and extended for different types of
processes were proposed before this recognition projects, it does not address specifically the
therefore they do not provide appropriate support for development of secure systems. This limitation can be
the development of secure systems. RUP (Rational easily verified since security in RUP consists basically
Unified Process) is a well-known software engineering of identification and documentation of supplementary
process that provides a disciplined approach to requirements during the initial phases of development.
assigning tasks and responsibilities within a No concern exists with respect to the definition of a
development organization; however, it has little security plan and security policies that address the
support for development of secure systems. The needs of the stakeholders and users, as well as, the
proposal of this work is to present an extension to RUP definition of a secure system architecture that
for the development of secure systems. The security is considered such policies. Therefore the RUP is
embodied in RUP as a knowledge area (discipline) incomplete with respect to the development of secure
with activities and roles defined according to the systems.
architecture of process engineering UMA (Unified This paper presents a proposal of a RUP extension
Method Architecture). An example was elaborated to and adaptation for the development of security
clarify and verify the feasibility of the proposal. systems. As a consequence of our proposal, a software
engineer could consider security risks and develop
secure applications. A related work is proposed by
1. Introduction Wimmel [3]. The work is based on Common Criteria
(CC/ISO 15408) and proposes a process that combines
Nowadays the development of mature software is the development guided by phases with the activities
accomplished through the use of good practices of requested by Common Criteria. However it does not
Software Engineering. Software development with consider an incremental and iterative process such as
emphasis in security should guide the developer and RUP. Some other papers [4], [3] [5] present isolated
use methods, techniques and tools that allow a good solutions for the development of secure systems, i.e.
organization of the development process, as well as they do not consider security inside of a software
good quality results. In order to obtain quality results, development process.
it is necessary to perform both a satisfactory elicitation For the RUP extension and adaptation will used an
of functional requirements and quality attributes (non engineering process architecture called UMA (Unified
functional requirements), and the system architecture Modeling Architecture). UMA is based on the SPEM
definition. 1.1 pattern (Software Process Engineering Meta-
During the development of a system, security is Model) of OMG (Object Management Group) for
important and must be regarded in the first phase of the processes engineering. The pattern defines schema and

International Conference on Information Technology (ITNG'07)


0-7695-2776-0/07 $20.00 © 2007
terminology for representing methods consisting of and tools to incorporate security in the specification,
method content and processes [6]. design and system construction.
The paper is organized as follows. Section 2
discusses security in the software development 3. Software Process Engineering
process. Section 3 presents the software process
engineering. Section 4 presents the extension and The use of software development process faces
adaptation of RUP for development of secure software. enormous pressures; being recognized that the
Section 5 shows the example used to analyze the understanding, the adaptation and effective
feasibility of our proposal. Finally, section 6 presents administration of development process are an
conclusions and final comments. important factor for the success of software projects
[8]. The software development process improves the
2. Secure Software Development predictability and quality, reduces costs and times in
the execution of the project, helps the stakeholders,
As discussed earlier, security should be considered and supplies structure for future improvement [8].
with attention throughout the development process. However, the processes implementation is not an easy
For example, a lack of specification in any task. The processes are complex, highly iterative, with
development activity can compromise the quality of parallelisms and several relationships among tasks.
the final product of software, making the software The environment of processes is unstable, because of
unacceptable to the client. changes of technology, business requirements and
In order to incorporate security mechanisms, it is project team. It is usual that the processes are strongly
necessary to know both the context (where) and the rigid or is not precisely defined [9].
reason (why) they are used. There are several The OMG defined a metamodel pattern for process
mechanisms that can usually be embodied in systems modeling named SPEM (Software Process
to support security. Engineering Metamodel). The objective of the pattern
Such mechanisms can be divided into two groups: is to facilitate the definition of the software life cycle,
communication and access [7]. The communication the understanding and the improvement of software
group is related to the communication between users development processes. The SPEM is a metamodel that
and processes, possibly residing in different machines. uses an object-oriented approach and defines UML
The mechanisms used are the secure channel, stereotypes for software process modeling. The
authentication, integrity of the message and specification SPEM is structured in a profile UML and
confidentiality. The access group is related to the supplies a complete metamodel based on the model
authorization or restriction of access to information architecture MOF (Meta-Object Facility) [10].
and resources for the authorized individuals. A way to In this paper, UMA (Unified Modeling
restrict the access to resources of a system, for Architecture) is used for modeling of software process
example, a corporate database, is through mechanisms engineering. The UMA is based on SPEM and defines
of access control. The term "individuals" is used to schema and terminology for representing methods
designate the agents that access information and consisting of method content and processes. UMA has
resources maintained in a system. For example, an been developed as a unification of different method
individual can be a user or a process. and process engineering languages such as the SPEM
For the development of a secure system, security extension to the UML for software process
policies should be adopted and mechanisms of security engineering, the languages used for RUP v2003,
should be used in order to implement such policies. Unified Process, IBM Global Services Method, as well
The distinction between policies and mechanisms is as IBM Rational Summit Ascendant. It provides
useful when the secure system is designed, but concepts and capabilities from all of these source
frequently it is difficult to assure that a certain set of models unifying them in a consistent way, but still
mechanisms fully implements the desired policies. It is allowing expressing each of these source methods with
understood that the policies are independent from their specific characteristics. The unification
technology. Besides the policies and mechanisms, specification proposed by the UMA was submitted for
activities and specific roles for the security should be OMG as part of SPEM 2.0 and was embodied in the
considered in the development process. The roles are last version of Rational Unified Process (RUP v2007)
assigned to members of the development team and they [6] [11].
take part in activities that use techniques, knowledge The specification of UMA provides a separation of
method content and process. The method content is an

International Conference on Information Technology (ITNG'07)


0-7695-2776-0/07 $20.00 © 2007
explanation step-to-step of how the specific objectives In Figure 1, the new discipline security is a
of development are reached independently of the concern from the inception phase to the transition. As
placement of those steps in the development cycle. It represented in the whale’s diagram, the workload for
provides content descriptions such as roles, tasks, work security concentrates on the elaboration phase, in
products, and guidelines. In turn, the process defines which the secure architecture is defined for the system,
how the elements of the method content are organized and in the construction phase.
in a sequence that can be customized for a specific For the new discipline, a reference workflow related
type of project [6]. to security was defined. Figure 2 shows the workflow
In this paper, the security is included in RUP as proposed for the security discipline.
method content inside the software development
process that must address security requirements.
Activities, tasks, roles and work products are defined,
according to UMA and incorporate to RUP. The
proposal presented in this work was implemented in
RUP using the modeling tool named IBM RMC
(Rational Method Composer) for software
development process engineering.

4. RUP Extension for the Development of


Secure Systems
Security is considered a non-functional or quality
requirement of a system and it must be considered
along all cycle of development. There are two
alternatives to consider security in RUP: extension and
customization. In an extended version of RUP, security
is seen as a new discipline in order to support the
development of secure systems. To customize the
existent standard RUP is simply done by incorporating
the activities, tasks and roles related to the security in
the already existent disciplines. We believe that the
second alternative makes the understanding and
implementation of security inside the process more
difficult and complex, because the workflow is mixed
with other areas of knowledge, turning its execution
and control less manageable.
In the following we describe extend version of
RUP. Figure 1 illustrates the process RUP after
incorporating the security discipline.

Figure 2. Security Discipline Workflow

In Figure 2, the security discipline workflow is


represented through a UML activity diagram. Each
activity is detailed into tasks that are developed by
Figure 1. RUP Extension for Secure Systems members according to their roles. The role represents a

International Conference on Information Technology (ITNG'07)


0-7695-2776-0/07 $20.00 © 2007
responsibility of the execution of tasks that should be
assigned to some member of the development team. Misuse Cases Definition
The result of the activity execution is the production of
some work products. The misuse cases definition consists of the
In this diagram, the initial activity is the security identification and specification of misuse cases. A
planning. The security planning is realized in the misuse case is the inverse of a use case, i.e., it is
inception phase, and for consistence it must be simply a use case of negative scenarios from the point
evaluated before the beginning of the next activity. of view of hostile actor to the system under
The activity misuse cases definition is also realized in development [12]. The misuse cases have been
the inception phase, and drives all the development proposed to elicit non-functional requirements,
using the RUP for secure system. After the execution particularly security requirements. The misuse cases
of the security planning, the following two activities are initiated by the mis-actor. A mis-actor is the
can be realized: threat identification and analysis and inverse of an actor, i.e., an actor that one does not want
security policies definition. Both activities are the system to support, an actor who initiates misuse
accomplished in the first iterations in the elaboration cases [13].
phase. After the execution of those activities, the
following two flows can be realized concurrently:
architecture refinement for security and security tests
elaboration. The architecture refinement for security
should be realized in the final iteration of the
elaboration phase and the security tests elaboration
must be realized in the end of the construction phase or
in the first iteration in the transition phase.
Each one of the activities is detailed in terms of
tasks, which involve the participation of defined roles
inside of the process. The role represents a
responsibility of the task execution that should be
taken by some team development member. The result
of the task execution is the generation of some work
products. In the following, the activities proposed for Figure 3. Security Plan Development Activity
the discipline security are detailed.
The responsible role for this activity is the Security
Security Planning Engineer. Figure 4 shows the tasks and the work
products generated in this activity.
The security planning consists of the tasks
identification, verification and necessary validation for
the development of a secure system. In the security
plan are identified, the workers, the necessary
resources, the definition of milestones, and the
scheduler for the development of the tasks that involve
security. The responsible role for the development of
the tasks related with this activity is the Security
Manager. Figure 3 shows the input and output work
products generated from this activity.
In Figure 3, the task proposed for this activity is the
development of the security plan. For the elaboration
of this plan the following input work products must be
considered: iteration plan, supplemental specifications,
and software development plan. As a result of the
execution of this task, the security plan describing all Figure 4. Misuse Cases Definition Activity
the activities, tasks and roles related to security is
obtained.

International Conference on Information Technology (ITNG'07)


0-7695-2776-0/07 $20.00 © 2007
Figure 4 presents the tasks proposed for this part of the analysis, aligned with the objectives of the
activity: misuse cases identification and misuse cases enterprise. Firewalls, databases, operating systems,
specification. In order to identify the misuse cases, it is servers, workstations, routers, applications, files with
necessary to use as input the use case model. The use confidential data, logs, passwords, web sites, can be
case model is created during the inception e part of this analysis.
elaboration phases. • Threat Identification identifies the threats to the
In these two tasks the misuse cases and the mis- system. For this task, we can use, for example,
actors are identified and documented in the Misuse Microsoft STRIDE model (Spoofing, Tampering,
Cases Model. After the misuse cases identification, Repudiation, Information disclosure, Denial of service,
each misuse case must described using a template as Elevation of privilege) and other categories of threats
proposed by Sindre [13]. of the specific application domain [17]. The result of
this task is the definition of the attack model using
Threat Identification and Analysis attack tree to analyze the identified threats and the
textual description of the tree. The potential threats are
The threat identification and analysis consists of described using attack tree. The attack trees provide a
identifying items that need to be protected and formal, methodical way of describing the security of
potential threats. The responsible role for the tasks systems, based on varying attacks. They were defined
development related with this activity is the Security by Bruce Schneier [18] [19] based on earlier work by
Engineer. Figure 5 shows the tasks described in the Nancy Leveson [20]. Attacks are represented in a tree
following and the work products generated that are structure, with the attacker goal as the root node and
proposed for this activity. the different ways of achieving that goal as leaf nodes.
An attack tree models the attacker decision process.
Besides the attack model, this activity produces the
documentation of the threats (work product document
of threats) using, for example, the model shown in
Table 1. In this table, one example of the threat
description is presented as proposed in [17]. For each
one, a brief description of the threat, the definition of
the objective of the threat, the related risk, and the
techniques used for the attack, and the necessary
counter-measures to avoid the attack is described.

Table 1: Threat Document Example


Thread Attacker obtains authentication credentials
Description by monitoring the network
Threat target Web application user authentication
process
Risk
Figure 5. Threat Identification and Analysis Attack techniques Use of network monitoring software
Activity Countermeasures Use SSL to provide encrypted channel

Figure 5 presents the tasks proposed for this • Threat Classification classifies the threats. The
activity: asset identification, threat identification, and classification can be made, for example, using
threat classification. In order to perform the asset Microsoft DREAD model (Damage Potential,
identification and threat identification tasks, it is Reproducibility, Exploitability, Affected users and
necessary to use as input the vision document. The Discoverability) [17]. This model helps to determine
vision document is created early in the RUP inception the actual impact of a security threat. This impact is
phase and defines the stakeholders view of the product measured in terms of threat risk. The attribution of the
to be developed, specified in terms of key needs and risk consists of the last step of the threat classification.
features The final results of the tasks development are For example, the risk of a specific threat can be the
the: threat document and attack tree work products. product of the threat probability and the potential
The following tasks are proposed for this activity: damage that indicates the consequences to the system
whether an attack happens. A scale of 1-10 can be used
• Asset Identification identifies what assets will be for the probability, where 1 represents a threat with

International Conference on Information Technology (ITNG'07)


0-7695-2776-0/07 $20.00 © 2007
low occurrence probability and 10 represents high knowledge dissemination. One of the patterns mostly
occurrence probability. Similarly, the scale of 1-10 can used nowadays is Common Criteria, ISO/IEC 15408
be used for the potential damage (1 indicate minimum (Common Criteria goes Information Technology
damage and 10 represents a catastrophe). This allows Security Evaluation), an international pattern that
addressing the threats using an ordered list. In general, establishes criteria to analyze the security of
it is not economically feasible to deal with all the information technology products.
identified threats. Those with low chance and damage
can be discarded [17]. Security Policies Definition

Security Requirements Definition The security policies definition consists of the


activity that defines the philosophy, strategy, rules and
The threat document defined in the previous activity practices related to security of information systems.
is the first step for the security requirement definition. The security policies defined in this activity are related
Each countermeasure that is defined and verified is a to the use of the software system that is being
security requirement that should be incorporated in the developed. They are not the organization security
design and code and validated in the security test policies, but they are part of it.
activity. The resources to be expended for the In order to perform the tasks in this activity, two
implementation of the requirements must be in roles are employed: Security Manager and Security
accordance with the classification of the threats. The Engineer. Figure 7 shows the tasks, roles and work
responsible role for the task development for this products generated from the development of this
activity is the Security Engineer. Figure 6 shows the activity.
tasks, roles and work products generated from the
execution of this activity.

Figure 7. Security Policy Activity


Figure 6. Security Requirements Definition
Activity The figure shows the following tasks for this
activity: security policy elaboration, security policy
In Figure 6, the task proposed for this activity is the assessment, security policy review, and security
security requirement identification. For the execution mechanism definition. The input work product for the
of this task it the input of the threat document is task security policy elaboration is the vision document.
necessary. This task has as an output the security The input work product for the task security
requirement document that can follow the pattern mechanism definition is the security requirement
CC/ISO 15408 [21]. This pattern describes document. The final output work product of these tasks
functionalities related to the security that the system is a document with the system security policy. We
can incorporate. describe the tasks proposed for this activity in the
Some standards for the evaluation of security are following:
defined in order to deal with the increasing needs of
security in the computer systems. These standards • Security Policy Elaboration consists of the
establish practices of reference and facilitate production of the security policy document. It contains

International Conference on Information Technology (ITNG'07)


0-7695-2776-0/07 $20.00 © 2007
guidelines, norms, rules concerning to permissions Table 2: Security design patterns catalogue
(who can make what) and procedures of information Name of Pattern Intention
security. Single Access Point Create a unique module of login. All
• Security Policy Assessment consists of the users will have to go through this
performing the evaluation of the security policy for the module.
system. Optionally, some international standard for the Access Validation Create an object that encapsulates the
security policies.
assessment of the security policies can be used such as
Roles Create one or more objects roles that
ISO-17799 (security of organization), ISO - 15408
define the rights of access for a group.
(security of components), SSE-CMM, and ITIL Session Create objects session to store copies
(Information Technology Infrastructure Library). of the global variable.
• Security Policy Review consists of review and Full View With Provide a full view to users, showing
evaluation of security policies, and in the identification Errors exceptions when needed.
of the requested changes. Limited View Give to the user just the
• Security Mechanism Definition consists of the options that he needs.
definition of security mechanisms that implements the Secure Access Layer Use the mechanism of security of the
security policies. Those mechanisms are defined as external system, if they exist.
security requirements and they are documented in the Otherwise develops mechanisms of
security requirement document of the system low-level security.
Input Validation Create an object of reliable validation.
Exception Create a mechanism of exception treat
Architecture Refinement for Security
Management structuralized that prevents the access
to the private data.
In this activity, the different models (analysis,
design, implementation and deployment) and the Figure 8 shows the tasks for this activity:
different model view of the architecture are assessed in architectural security analysis and application of
order to support the identified security requirements. security patterns. The architectural security analysis
According to RUP, the different views are defined as task uses as input the security requirement and
the 4+1 view model of architecture proposed by [1]. software architecture documents. The result of the
Besides the requirements, the use of security design tasks is the software architecture with security
patterns should be considered for detailing the document.
different views of system architecture. The process is
iterative and finishes when the development team
concludes that the security requirements are being
realized. The role responsible for the development of
the tasks is the Security Software Architect.
In order to support the identified requirements of
security for system for the different views, we can
consider the use of an extension of the UML for the
secure system development called UMLSec [4]. With
this extension of UML it is possible to capture and to
represent requirements of security in the diagrams of
use case, activity, deployment, sequence, and state.
The architectural security patterns or security
patterns are simply well known solutions for recurring
problems of security [22] [23]. Table 2 introduces Figure 8. Architecture Refinement for Security
some of the main security patterns that can be Activity
considered in the development of secure system [22].
The output of this task is the work product software Security Test Elaboration
architecture with security document containing the
specification of security’s requirements with security's The goal of this activity is to identify the required
patterns. Figure 8 illustrates the tasks, roles and work security tests, define the test planning, and realize the
products generated in this activity. simulation of security. The objective of the security
tests is to capture the risks contained in a system
through the simulation of an illicit and non-authorized

International Conference on Information Technology (ITNG'07)


0-7695-2776-0/07 $20.00 © 2007
attack. This simulation aims to obtain information that transaction. Each site of the system consists of two
should be protected, capture the eventual existent subsystems, as shown in Figure 10. In Figure 10, the
vulnerabilities and recommend preventive actions to transaction manager (TM) is responsible to execute the
reduce the risk of damage from actual invasions. local transactions and maintain access to the data
stored locally. The transaction coordinator (TC)
coordinates the execution of several transactions
(global and local) locally initiated.

Transaction
TCA Coordinator TCB

TMA TMB

Transaction
Manager

Computer Computer
Bank A Bank B

Figure 9. Security Test Elaboration Activity


Figure 10. Structure of the Inter-Bank Transfer
Two roles are proposed for performing these tasks: System
Security Test Manager and Security Tester. Figure 9
shows the tasks and the work products generated in The structure of the transaction manager is similar
this activity. Figure 9 shows the tasks for this activity: in several aspects to the structure used in the
security test identification, security test plan definition centralized systems. Each transaction manager is
and security simulation. The task security test responsible for both maintenance of a log for recovery
identification uses the following input work products: and concurrency control of execution of transactions in
security requirements document, threat document, and the same site. The transaction coordinator is
attack model. The security tests plan definition responsible for the coordination and execution of all
generates the plan of tests of security. The plan and the transactions initiated in that place. For each
executable code of the system (built) are used in the transaction, the coordinator must initiate its execution,
task of security simulation as input work product. The divide it into sub-transactions and distributing them to
output of the activity is the executable code of the the appropriate sites for execution and coordinate the
system tested with respect to the security requirements. completion of the transaction that can result in commit
or abort.
5. Example Atomicity can be guaranteed by using the two-
phase commit protocol (2PC). In this protocol, a
With the objective of evaluating the feasibility of distributed transaction is initiated and coordinated by
this proposal, an example was accomplished. The one of the sites. This site is called coordinator. When
example is the development of a system that realizes the distributed transaction finishes, all the others sites
distributed transaction between banks. The distributed involved with the transaction inform the coordinator
transaction is the transfer between banks. In this that the sub-transaction has finished. The coordinator
distributed transaction, the customer is allowed to is responsible for starting the protocol 2PC.
perform transfers of values between accounts of During the communication between the managers
different banks located in different sites. The transfer and coordinators, several security threats can happen.
is one transaction of an enterprise application called For instance, the attacker can adulterate messages
checking account control system. The distributed exchanged in the 2PC, compromising the integrity.
transaction must preserve the ACID (atomicity, In order to evaluate the Extended RUP proposed in
concurrent control, isolation and durability) property. this paper, the example was developed using two
The system is composed of several managers of different approaches of development (instances of the
transaction that cooperate to execute the global process) using the RUP. The first development was

International Conference on Information Technology (ITNG'07)


0-7695-2776-0/07 $20.00 © 2007
made using the basic RUP. The second development 5.2. Development Using the Secure RUP
used the Extended RUP for security presented in this
paper. This section is organized as follows. Section 5.1 After the development of the system using basic
presents the development of the application using the RUP, a new development was undertaken now
basic RUP. Section 5.2 describes the development considering the extension of the RUP for secure
using the extension of RUP for secure systems. systems proposed in this paper. Moreover, the main
Finally, Section 5.3 presents some comparisons and activities, tasks and work products already realized in
analysis of the two developments. the first development were considered.
During the development of the application, some
5.1. Development Using RUP activities and tasks related to the security were
incorporated into the development process. The goal
The inter-bank transfer system was developed by was to test and evaluate the pertinence and significance
considering the necessary activities, tasks and work of the activities and tasks considering the needs of
products for the context of the application. The main security inherent to the application. The execution of
goal of the development was to accomplish the the new activities and tasks generated the following
implementation of a distributed system that has work products: misuse cases model, threat document,
security requirements. requirement document according to the model CC/ISO
In the inception phase the functional and non- 15408, and architecture document with the different
functional requirements and the use cases were architectural views of the refined system for security.
identified. The main use cases (high priority) were These work products allowed defining a secure
described in a high level specification and the architecture for the distributed transactions system.
preliminary software development plan was defined. This made it possible to construct a new version of the
The target of the system was also defined based on the system to meet the security requirements.
product vision (vision document). The inception phase
ended with the following work products: vision 5.3. Analysis and Comments
document, use case model, glossary of terms,
supplementary specification, and iteration plan. The During the development of the application using the
supplementary specification included the security basic RUP, activities, tasks, roles and work products
requirements. related with the security were not specifically
In the elaboration phase the candidate architecture identified. In the guidelines for the construction of the
was defined based on functional and non-functional architecture, RUP suggests that security specialists be
requirements identified for the system. Additionally, identified but it does not specify roles and tasks.
the candidate architecture was defined. In the end of Therefore, RUP is not sufficiently complete to deal
the elaboration phase, all the use cases selected for the with security.
first version of the system were completely analyzed During the development of the example using the
and designed (workflows analysis and design). The extension of RUP, it was possible to identify and to
elaboration phase generated the following work analyze more easily and directly, in the initial phases
products: analysis and design models, system of the development (inception and first iterations in the
architecture (architecture), deployment model, and data elaboration phase), the security requirements. The
model. inclusion and representation of those requirements in
During the construction phase, the remaining use the different views of architecture allowed defining a
cases were analyzed, designed and described with more consistent and representative architecture in
details (workflow analysis and design). The terms of security, facilitating the system
implementation workflow was developed in this phase. implementation. The tests were accomplished in a
The architecture of the system was tested and analyzed more complete way and allowed to evaluate better the
considering the non-functional requirements. The aspects of the security of the system. All this
construction phase produced the following main work contributed to both reduce the development time,
products: implementation model and test model. because the security was addressed from of the initial
Based on this development, it was possible to phases of the development cycle, and assure the
analyze and to evaluate the RUP considering the product final quality. However, our proposal has some
importance of security requirements. In Section 5.2, drawbacks. It involves 16 additional tasks, 7 additional
the analysis is presented considering the support of work products, and 4 additional roles. As a
basic RUP for the development of secure systems. consequence, the first two phases, inception and

International Conference on Information Technology (ITNG'07)


0-7695-2776-0/07 $20.00 © 2007
elaboration, of our example took longer to complete m.htm (accessed in April 2006).
but the construction phase took shorter to conclude. [11] HAUMER,P. IBMRational Method Composer: Part 2:
We observed that the total times of both developments Authoring method content and processes, IBM, Janeiro
2006, http://www-
are close for the transfer system but the development
128.ibm.com/developerworks/rational/library/jan06/hau
with the secure RUP provided a better quality product. mer/ (accessed in April 2006).
[12] Alexander, I. Misuse case: Use Case with Hostile Intent.
6. Conclusion IEE Software, 58-56, 2003.
[13] Sindre, G. & Opdahl, A., Eliciting Security
An extension of RUP to deal with security was Requirements by Misuse Cases, 120-130. Proceedings of
proposed. The proposal includes a new discipline to TOOLS Pacific 2000. Sydney, Australia, Nov. 20-23,
address security. Considering the security as a new 2000. Los Alamitos, CA: IEEE Computer Society Press,
2000.
discipline facilitates the management of execution and
[14] Bencomo, A., Extending the RUP, Part 1: Process
control of the activities and tasks related to security. Modeling. IBM Developer Works, 2005.
The proposal resulted in the definition of a better [15] Booch, G., Rumbaugh, J., Jacobson, I., The Unified
system architecture considering the security Modeling Language - User Guide. Wokingham, UK:
requirement. However, the extension of RUP includes Addison-Wesley, 1999.
additional tasks, work products, and roles. [16] Object Management Group, Meta Object Facility
For a simple application, the example, the basic (MOF) Specification. Version 1.4, April 2004.
RUP does not support security satisfactorily. For this [17] Oslo, E. et al., Improving Web Application Security:
reason, we believe that our proposal of process can Threats and Countermeasures. Microsoft, 2003.
[18] Schneier, Bruce. Attack Trees. 21-29. Dr. Dobb's
result better quality of secure software.
Journal of Software Tools 24, 12 (December 1999): 21-
Although we did not have significant difference 29
between the development time in the example using [19] Schneier, Bruce. Secrets and Lies: Digital Security in a
the basic and the extended RUP, we believe that this Networked World. New York, NY: John Wiley & Sons,
difference can be more favorable to the secure RUP for 2000.
more complex systems. A further work could evaluate [20] Leveson, N. O., Safeware: System Safety and
this question. Computers, Reading, MA: Addison-Wesley, 1995.
[21] ISO JTC 1/SC 27 Committee, ISO/IEC 15408:2005
Information Technology – Security Techniques –
7. References Evaluation Criteria for IT Security. Londres: 1999. v1.0.
Available in: ISO Online Catalogue http://www.iso.ch
[1] Kruchten,P., The Rational Unified Process: An accessed in: 15 nov. 2005.
Introduction. Wokingham, UK: Addison-Wesley, 1998. [22] Yoder, J. & Barcalow, J., Architectural Patterns for
[2] Jacobson,I., Booch, G., Rumbaugh, J., The Unified Enabling Application Security. PLoP ’97, 1997.
Software Development Process, Wokingham, UK: [23] Kienzle, D. M. & ELDER M.C., Security Patterns for
Addison-Wesley, 1999. Web Application Development. Defense Advanced
[3] Wimmel, G., Model-Based Development of Security- Research Projects Agency (DARPA) Contract #
Critical Systems. PhD thesis, TU München, 2005. F30602-01-C-0164, 2001.
[4] Jurjens, J., Secure Systems Development With UML.
Springer, 2005.
[5] Anderson, R. J., Security Engineering: A Guide to
Building Dependable Distributed Systems. John Wiley
Professional, 2001.
[6] HAUMER,P. IBM Rational Method Composer: Part 1:
key concepts, IBM, Dezembro 2005, http://www-
128.ibm.com/developerworks/rational/library/jan06/hau
mer/ (accessed in April 2006)
[7] Tanenbaum, A. S. & Sten, M., Distributed Systems:
Principles and Paradigms. Prentice Hall, 2002.
[8] SOMMERVILLE, I, Software Engineering , Addison
Wesley , 7th Edition , May 2004.
[9] PRESSMAN, R. S., Software Engineering – A
Practitioner´s Approach, McGraw Hill, 5th Edition,
December 2003
[10] OMG, Software Process Engineering Metamodel
Specification, Version 1.1, Janeiro 2005,
http://www.omg.org/technology/documents/formal/spe

International Conference on Information Technology (ITNG'07)


0-7695-2776-0/07 $20.00 © 2007

View publication stats

You might also like