Вы находитесь на странице: 1из 8

2010 IEEE 6th World Congress on Services

Security Engineering Approach to Support Software Security

Francisco José Barreto Nunes Arnaldo Dias Belchior Adriano Bessa Albuquerque
Mestrado em Informática Aplicada Mestrado em Informática Aplicada Mestrado em Informática Aplicada
Universidade de Fortaleza Universidade de Fortaleza Universidade de Fortaleza
Fortaleza, Brazil Fortaleza, Brazil Fortaleza, Brazil
fcojbn@yahoo.com.br (In memoriam) adrianoba@unifor.br

Abstract— As information security and privacy become towards mathematical formalization so it could reduce time
increasingly important to organizations, the demand grows for and cost of the development process.
software development processes that assure information In order to protect corporate data, organizations gradually
integrity, availability, and confidentiality. Unfortunately, enhance secure methodologies and initiatives to develop
despite the investments made in process improvement, there is more secure software products. For example, CLASP
still no guarantee that the developed software products are (Comprehensive, Lightweight Application Security Process)
protected from attacks or do not present security [3] is a framework whose purpose is to include security into
vulnerabilities. As soon as software products continue to a software development process.
present security flaws and be compromised by attacks, the
OECD (Organisation for Economic Co-operation and
Systems Security Engineering – Capability Maturity Model
(SSE-CMM) becomes the de facto model to structure a
Development) states the principle “Security design and
software security approach. Moreover, security best practices, implementation” as a characteristic of information systems
practical experience or international standards, like ISO/IEC [4]. In fact, information security is aimed at protecting
15408, should also be considered to support security information processed by information systems and
engineering as they propose activities that can be adapted to maintaining the confidentiality, integrity and availability of
enhance security in a software development process and this information.
contribute towards the overall software security. This paper A common misunderstanding occurs, for example, when
proposes a security engineering approach to support software software engineers think that an identity and authentication
security through a specialized process that helps develop more control implemented in software to protect data
secure software, entitled Process to Support Software Security confidentiality and integrity makes this software secure.
(PSSS). In addition, one of PSSS’s subprocess, Model Security Actually, this supposed secure software just implements a
Threat, is explained in detail. This paper also presents the security function and cannot be considered secure. That is,
results of the case study when the PSSS was first applied in a security function does not insure that software is secure [5].
software development project as well as the preliminary results This paper presents an overview of the PSSS - Process to
of a large project implementation. Support Software Security, or just support process, based on
the activities derived from SSE-CMM [6], ISO/IEC 15408
Keywords - Information Security; Security Engineering;
[7] [8] [9], ISO/IEC 27002 [10], and OCTAVE (The
Software Security; Process to Support Software Security
Operationally Critical Threat, Asset, and Vulnerability
Evaluation) [11]. In addition, this paper summarizes not only
I. INTRODUCTION the results of the case study when the PSSS was first applied
According to GARTNER, most attacks are focused on in a software development project but also the initial
the application layer [1]. Because of this, software security outcomes of a software security project at a financial
defects become the main concerns that security professionals institution.
deal with nowadays. This trend has motivated considerable The paper is organized as follows: Section 2 describes
research in the improvement of software development briefly the security models and standards used to organize
processes. the activities of the proposed support process; Section 3
As a consequence, security engineering becomes an presents a short description of the activities of the PSSS;
important part of the business processes that protects Section 4 explains in more detail the subprocess “Model
corporate assets and information. Devanbu [2] considers that Security Threat”; Section 5 analyzes the results of the case
changes in software development practices and software study when the PSSS was applied in a project of an access
architectures have opened new opportunities for applying control and audit software and introduces the preliminary
security engineering. results of a large software security project; and Section 6
Moreover, the use of security engineering to develop presents the conclusions of this paper.
secure software products would be a viable alternative to
formal methods as security engineering is not oriented

978-0-7695-4129-7/10 $26.00 © 2010 IEEE 48


DOI 10.1109/SERVICES.2010.37
II. INFORMATION SECURITY MODELS AND STANDARDS to be confidential, available and accurate. This is achieved
Anderson states that security engineering is about through the implementation of security controls which
building systems to remain dependable in the face of malice, ensures that the defined security goals will be satisfied.
error, or mischance. As a discipline, it focuses on the tools, Based on these models and standards, a mapping of
processes, and methods needed to design, implement, and similar activities was organized to draft the first version of
test entire systems, and to adapt existing systems as their the PSSS. The SSE-CMM was the principal base of this
environment evolves [12]. mapping which is shown in Table 1.
SSE-CMM [6] is a process reference model that III. PSSS – PROCESS TO SUPPORT SOFTWARE SECURITY
describes security features of processes at different levels of
maturity. It is focused upon the requirements for The research oriented by SSE-CMM, ISO/IEC 15408,
implementing security in a system or related systems ISO/IEC 27002, and OCTAVE allowed the elaboration of a
components. set of subprocesses and activities that constitute the Process
SSE-CMM does not dictate a specific process to be used to Support Software Security (PSSS) which follows the
by an organization. The intent is that the organization should iterative and incremental life cycle approach.
use the model in its existing processes. The scope The approach of PSSS is not organized in accordance
encompasses: with each step or phase of an iterative development life cycle
• The system security engineering activities for a as this appears in [13], [14] and [15]. PSSS’s orientation
secure product or a trusted system addressing the allows software engineers to include the support process in
complete lifecycle of: concept definition, any software life cycle.
requirements analysis, design, development, The subprocesses and their activities are designed to span
integration, installation, operation, maintenance and the entire software development life cycle and make security
decommissioning; a pragmatic part of how secure software should be
• Requirements for product developers, secure developed.
systems developers and integrators, organizations That is, PSSS is structured to provide visibility towards
that provide computer security services and information security throughout a software development
computer security engineering; process and to perform systematically security activities,
such as software-based vulnerability, threat, impact and risk
• Applies to all types and sizes of security engineering
assessments, which also contribute to information security
organizations from commercial to government and
strategic goals.
the academe.
There is no need to use all the activities of the PSSS.
In order to use SSE-CMM as a tool to improve and
They can be adapted to function effectively within the
assess security engineering capability, security engineering
organizational development process. This facilitates the
should be integrated with other engineering disciplines.
coordination between the PSSS and a particular corporate
OCTAVE (The Operationally Critical Threat, Asset, and
development process. It is considered an important aspect to
Vulnerability Evaluation) [11] is a strategic planning and
have each activity as integrated as possible into the life cycle
evaluation technique based on security risks. The risks of the
phases and one approach to reach this integration is to apply
most critical assets are used to prioritize processes that need
each activity in parallel with the phases.
improvement and to elaborate a strategic orientation to
The type and scope of a project define which activities to
mitigate these risks.
select in order to adapt the software product to be developed.
Alberts states that OCTAVE defines a comprehensive,
Besides that, the type of product defines the formalism and
systematic, context driven, and self directed approach to
rigors of evaluations to be implemented.
information security risk evaluations [11]. That is, OCTAVE
The support process identifies two important actors: the
enables an organization’s personnel to sort through the
Security Engineer and the Security Auditor. The Security
complex web of organizational and technological issues to
Engineer is responsible for the specialization of the PSSS
understand and address its information security risks.
based on the objectives of the software development project
ISO/IEC 15408 (Evaluation Criteria for Information
and in connection with business plans and strategies.
Technology Security) [7] [8] [9] presents a set of criteria to
The Security Auditor is responsible for evaluating if the
evaluate the security of products. These criteria or
software development projects are done in compliance with
requirements are divided into: security functional
the specialized PSSS and to validate the effectiveness of the
requirements [8] and security assurance requirements [9].
PSSS application, for example, in terms of the results of the
The former are a set of security characteristics that a
activities and the artifacts developed. The Security Auditor
software product can implement. The latter may function as
should not perform the activities of the software quality
actions to be executed during the development process to
assurance team.
validate and certify that the software developed is secure
The PSSS is formed by 37 activities grouped in a set of
because these actions were performed according to part 3 of
11 subprocesses (Fig. 1) which are briefly described as
ISO/IEC 15408 [9].
follows:
ISO/IEC 27002 (Code of Practice for Information
Security Management) [10] aims at preserving information

49
TABLE I. SAMPLE OF THE MAPPING OF THE SECURITY MODELS AND STANDARDS

SSE-CMM ISO/IEC 15408 ISO/IEC 27002 OCTAVE


SSE-CMM : Process Area (PA) 10 – Specify Security Needs
Base Practice 10.06 - Define a - Specify functional 12.1 Identify information system - Creates or refines the security
consistent set of statements security requirements security requirements requirements for the
which define the protection to organization’s critical assets
be implemented in the system - Create risk mitigation plans
SSE-CMM : Process Area (PA) 11 – Verify and Validate Security
Base Practice 11.03 - Verify - Functional tests 15.1 Compliance with legal
that the solution implements - Independent testing requirements
_____
the requirements associated 15.2 Compliance with security
with the previous level of policies and standards, and
abstraction technical compliance

Figure 1. Process to support software security.

50
F. Specify Security Needs
A. Plan Security
This subprocess has the following purposes: Elicit
This subprocess has the following purposes: Identify the customer security needs; Capture a high-level security view
security objectives of the software to be developed; Prepare of the system; Define security requirements and Obtain
the project security plan; Plan processing environments and agreement about security requirements. In general, this
Plan security incidents management. subprocess specifies the security needs of the system
In general, this subprocess elaborates or refines the according to stakeholders’ security needs.
security plan and organizes a security team. The responsibilities of the security engineer include:
The responsibilities of the security engineer include: Elicit customer’s security needs; Develop a high-level
Identify the security objectives; Prepare the project security security view of the software; Obtain agreement about the
plan; Organize the security team. security requirements.
B. Assess Security Vulnerability G. Provide Security Information
This subprocess has the following purposes: Identify This subprocess has the following purposes: Understand
security vulnerabilities and Analyze identified security security information needs; Identify security constraints and
vulnerabilities. In general, this subprocess identifies and considerations; Provide security alternatives and Provide
describes, for each iteration, the system security support requirements. In general, this subprocess provides
vulnerabilities related to the environment where the system system architects, designers, implementers, or users with any
would operate. security information needed to perform their work.
The responsibilities of the security engineer include: Security information would be considered a variety of
Institute a vulnerability assessment method; Identify security information which has impact on, is necessary to support, or
vulnerabilities; Analyze the identified vulnerabilities. helps members of a software security project.
C. Model Security Threat The responsibilities of the security engineer include:
This subprocess has the following purposes: Identify Research additional security information (or subjects)
security threats; Classify security threats and Develop impacting the project; Support the team with this security
strategies to reduce security threats. In general, this information making it available.
subprocess identifies and describes system security threats H. Verify and Validate Security
with their properties and characteristics in the context of This subprocess has the following purposes: Define
security vulnerabilities. security verification and validation approach; Perform
This subprocess is detailed in section IV. security verification; Perform security validation and Review
D. Assess Security Impact and communicate security verification and validation results.
This subprocess has the following purposes: Review In general, this subprocess accredits that software solutions
critical activities for security; Review software security are verified and validated according to their designed
artifacts and Identify and describe security impacts. In security goals.
general, this subprocess identifies and describes relevant Verifying security ensures that software satisfies
system security impacts and defines the probability of their specified security requirements. Validating security
causes based on security vulnerabilities and threats. demonstrates that software accomplishes its intended
The responsibilities of the security engineer include: security requirements when placed in its production or
Prioritize the critical activities influenced by the software; operational environment.
Review software’s security artifacts; Identify security The responsibilities of the security engineer include:
impacts from unwanted incidents. Define the approach for security verification and validation;
Perform security verification and validation; Communicate
E. Assess Security Risk the results.
This subprocess has the following purposes: Identify The responsibility of the security auditor includes: Assess
security exposure; Assess security exposure risk and the security verification and validation activities.
Prioritize security risks. In general, this subprocess analyzes I. Manage Security
the security risks of the developing system by identifying the
security exposure, the risk caused by this exposure, and the This subprocess has the following purposes: Manage
priorities of these risks based on security vulnerabilities, security services and components; Manage security training
threats and impacts. and education programs and Manage the implementation of
Providing this subprocess finds any information that security controls. In general, this subprocess not only
evidences there is a new risk besides the ones previously coordinates the activities needed to organize and to keep the
assessed, it is necessary to make new security vulnerability, security mechanisms to the software development project,
threat, and impact assessment originated from the new risk. but also manages the implementation of controls for new
The responsibilities of the security engineer include: functions and addresses the problems identified during the
Identify security exposures; Evaluate and prioritize security subprocess “Verify and validate security”.
risks.

51
Figure 2. Subprocess “Model Security Threat”.

The responsibilities of the security engineer include: The responsibilities of the security auditor include:
Control security services and system components; Identify Perform an impact analysis; Control the security assurance
training needs and educational programs; Supervise the evidences.
implementation of security controls. In the next section, an example of the subprocess “Model
Security Threat” will be given.
J. Monitor Security Behavior
This subprocess has the following purposes: Analyze
events with security impact; Identify and prepare the answer IV. SUBPROCESS “MODEL SECURITY THREAT”
to relevant security incidents; Monitor changes in security The purpose of the subprocess Model Security Threat
threats, vulnerabilities, impacts, risks, and environment; (Fig. 2) is to identify and characterize security threats with
Review system security condition to identify necessary their properties in the context of the security vulnerabilities
changes and Perform security audit. assessed previously.
In general, this subprocess monitors the security of the Security threats can be defined as an event that
developed software to identify if the security features defined compromises the normal behavior of software and, as a
in the project are achieved and are effectively implemented. consequence, may have a negative impact in the
It also supports the identification of new security features to organization.
be incorporated in the software. Threat modeling can be used to identify threats and make
The responsibilities of the security engineer include: project decisions based on threats that can cause the major
Analyze the events with a negative impact in security; damage to the software.
Identify and prepare the response of software security The main difficulty in this subprocess lies on knowing all
incidents; Monitor changes affecting environments, the possibilities information could be threatened or misused.
vulnerabilities, threats, and risks; Review software security As stated by Saltzer [16], one must demonstrate that every
behavior. possible threat has been anticipated.
The responsibility of the security auditor includes: Assess The information about threats is necessary to develop
the results of the activities from this subprocess; Reassess the strategies to reduce these threats. The strategies can
changes; Perform periodic security audits. influence the software development project, the coding, and
K. Assure Security test cases.
The security engineer is responsible to execute security
This subprocess has the following purposes: Define threat identification and implement abuse cases and attack
security assurance strategy; Perform security change impact trees. Then, he classifies these threats and organizes
analysis and Control security assurance evidences. In interviews with selected users among executives, managers,
general, this subprocess defines a set of activities which can and operational staff in order to develop strategies to reduce
be applied to assure that the security of the software product the impact of these threats. Software engineers and users
is achieved. could help the security engineer modeling security threats.
The responsibility of the security engineer includes: Each activity is described in the following sections.
Develop a strategy to maintain the security assurance.

52
A. Identify Security Threats identity, Tampering with data, Repudiation, Information
The goal of this activity is to identify security threats disclosure, Denial of service, Elevation of privilege) [19].
throughout the software life cycle. Determining the threat agent's ability and capacity to
Threats caused by people can be accidental and execute a successful attack is an important aspect of threat
deliberate. However, the activity should focus on a wide and classification. In addition, assessing the likelihood of a threat
well-defined threat group to assure that these threats caused to become true completes the information needed to classify
by people will be treated by the software. security threats.
The assessment of threat agents, who explore the threats, C. Develop Strategies to Reduce Security Threats
and the mechanisms, used to explore software
vulnerabilities, is critical to software threat identification. The goal of this activity is to develop a set of strategies to
The implementation of abuse cases and attack trees is an reduce the probability of threats to happen.
important part of threat modeling. Strategies to reduce threat likelihood can involve the
Unfortunately, use cases do not include security concepts implementation of software controls, training initiatives,
as an integral part of requirements engineering [2]. So abuse security awareness campaigns, among others.
cases become an important tool to represent these security In the following section, the results of the application of
concerns. the process to support software security will be presented.
Abuse cases or misuse cases cover the practices that V. PSSS IMPLEMENTATION RESULTS
could corrupt security of software products and describe the
software behavior under attack. To develop abuse cases (Fig. The support process was initially applied in a simple
3) it is essential to know what needs to be protected, against Web-based software development project in a public
whom, and for how long time. According to McGraw [17], company with more than four million customers. This
the simplest way to create abuse cases is through project constituted an access control and audit system that
brainstorming. defines and controls user access and registers the actions of
Attack trees model the decision process to commit these users.
attacks. The root represents the goal of the threat agent, for The case study of the PSSS was performed with a small
example: steal credit card numbers. The leaf nodes represent set of activities covering most of the subprocesses due to the
actions the agent executes and each way in the tree time constraint of this project. These activities were selected
represents a unique attack to reach the goal [18]. based on project characteristics and on the experience of the
Attack trees support risk analysis when answering software engineering team.
questions concerning the security of the software product to Firstly, each activity was described and explained to
design, implement and test new protections or controls express the benefits and importance of applying each one.
against attacks. Then, an informal workshop about the support process
occurred to verify whether the activities were suitable to the
project and, afterwards, a simple version of a security plan
was prepared.
Next, the security engineer and the software engineer
identified and analyzed security vulnerabilities and identified
security threats. The information related to security
vulnerabilities and threats helped to understand and select
security needs. With these security needs and with the help
of attack trees (Fig. 4), it was possible to identify a set of
security requirements:
• The system ensures creation of safe passwords: the
system must assure that every password creation and
password change follows defined password creation
criteria;
Figure 3. Example of an abuse case. • The system ensures correct system access: the
system must provide a secure user access with
authentication and validation;
B. Classify Security Threats • The system ensures the integrity of registered audit
The goal of this activity is to classify the most critical information: the information related to the actions of
and feasible threats. users and administrators must be registered only for
Based on the information about threat agents and their consultation and this information must not be
capacity, probability of threats, among other relevant threat changed or deleted.
information, the security threats are classified. After design and implementation, it was verified if the
Threat classification guidelines can be used to help security requirements were implemented in the final
performing this activity, for example STRIDE (Spoofing software. Although only a small portion of security tests was

53
Audit log
modification

Improper Admin access right Improper User access right DBA modifies the table

Improper creation No update of users


of users with admin with admin rights DBA has no
rights permission

Figure 4. Example of an attack tree of the access control and audit system.

done due to project time constraints, the results were Besides the introductory course and the proposed actions
sufficient to certify the implementation. to elicit security requirements, more results were produced
Although the support process had been received including new and adapted artifacts with security sections
enthusiastically by the sponsors and stakeholders, it and a software security orientation guide to educate software
presented some problems during the case study. These analysts, architects and testers to understand and avoid
problems reflected the lack of understanding of some common software security vulnerabilities and threats.
security concepts as well as the lack of time and resources to The proof of effectiveness of this actual project is going
combine the support process and corporate software to occur when the pilot project begins in May. The pilot
development methodology. results will be analyzed to assess the impact of performing
The second implementation of the support process is the security actions, as a postmortem analysis, and lessons
supposed to finish in 2010 and takes place in a banking learned will be organized to avoid problems from
institution. The project is focused, in his first stage, on reoccurring, to ameliorate the outcomes of future projects
organizing a set of security actions derived from the PSSS to and to make the PSSS more effective and consistent.
proper elicit security requirements. These security actions In both PSSS projects, the system security behavior and
were adapted and included into the company’s software user satisfaction increased not only because security
development methodology. requirements were formally implemented but also because
To avoid resistance during the project’s beginning, it was software was being developed using a solid and consistent
planned a concrete software security education program. software security development process.
That is, to have the support from the software group, not
only a software security introduction course was developed,
but also a presentation was made showing the benefits. VI. CONCLUSION AND FUTURE WORK
Implementing PSSS in this new project promoted great Software security is seemed as a superficial discipline
challenges when “Plan Security” and “Specify Security supported by an ad hoc process and treated almost always at
Needs” were adapted. However, the main problem is the the end of software development life cycle with the help of a
organization's lack of software security culture which penetration test or with guidance of a static analyzer tool.
compromises the results and delays the schedules. That is, According to Howard [19], application security should be
some stakeholders do not see the strategic importance of designed and incorporated into the products since the
software security, so the security priorities are left unnoticed. beginning of the development process. This increases the
Besides this drawback, as a result for “Plan Security”, it was importance of establishing a security engineering approach
decided that the security objectives for each development consisting of security activities forming a process to support
project would be referenced in the “Vision” document which the development of more secure software as it assures the
considers criticality, assumptions, risks and restrictions. confidentiality, integrity, and availability of processed and
For “Specify Security Needs”, the principal difficulty stored information, delivering value to customers.
was to identify the security actions which would be Perhaps, at a first impression, PSSS can be seen as a
performed together with the former activities from heavy process as well as useless because there are other
requirements discipline without causing bureaucracy and security-based software processes. Nevertheless, PSSS offers
delaying development projects. For example, it was initially 37 positive security activities to be adapted and specialized
proposed a strategy based on abuse cases that was later based on corporate software development preferences. PSSS
refused due to extra work and presumed low productivity. is designed for any iterative project and for any organization
Because of this, the accepted strategy was to organize an in need of software security solutions.
orientation guide with the most common software Some benefits of the PSSS include:
vulnerabilities and threats which would contribute with • Permit proactively the identification and correction
requirements, analysis, design and test disciplines. of software security problems;

54
• Consider the assessment of security vulnerability, software development processes based on the experience and
threat, impact and risk in every iteration of the knowledge collected. So, the improvement of Security
development process; Engineering approaches means the creation of knowledge or
• Assure that software products be compliant with the improvement of old knowledge about these approaches.
legal and regulatory requirements; Then, this updated knowledge is institutionalized in the
• Can be used to help creating an ISO 15408 and organization's software development process [21].
27001-compliant software development process.
The support process is not alone in the quest to increase
security in software products. Besides [3] and [17], there is REFERENCES
also the process proposed by Microsoft, called The Security [1] GARTNER. Available: www.gartner.com.
Development Lifecycle (SDL) [20]. Each of them has [2] Premkumar T. Devanbu, Stuart Stubblebine, “Software Engineering for
advantages and disadvantages and it is the responsibility of Security: a Roadmap”, in Proceedings of the Conference on the Future of
Software Engineering, pp. 227 – 239, June 04-11, 2000, Limerick, Ireland.
the development organizations to consider which one best
[3] CLASP. (2006, November). Comprehensive, Lightweight Application
fits in their software development life cycles. Therefore, as a Security Process [Online]. Version 1.2. Available:
complementary work, the support process would be updated www.owasp.org/index.php/owasp_clasp_project.
by analyzing the results of the application of these secure [4] OECD. (2002, July). Organisation for Economic Co-operation and
development processes. Based on this analysis, it could be Development [Online]. Guidelines for the Security of Information
possible to know, for example, how security problems are Systems and Networks: Towards a Culture of Security, Principle 7 -
handled better than in the PSSS. Security design and implementation, page 13. Available: www.oecd.org.
Finally, the PSSS, as a security engineering approach, [5] Gary McGraw, "Software security," IEEE Security & Privacy, Vol. 2, no.
2, pp. 80-83, 2004.
may improve the effectiveness of software security projects
as it avoids common restrictions of the SSE-CMM, [6] SSE-CMM. (2003, June). Systems Security Engineering – Capability
Maturity Model [Online]. Version 3. Available: www.sse-cmm.org.
OCTAVE, ISO/IEC 27002, and ISO/IEC 15408. Some of
[7] Information Technology – Security Techniques – Evaluation Criteria for
these restrictions include: IT Security – Part 1: Introduction and General Model. ISO/IEC 15408-1,
• SSE-CMM is complex as it demands 29 generic 2005.
practices to apply to 126 base practices. Moreover, it [8] Information technology – Security techniques – Evaluation criteria for IT
tries to focus on different engineering disciplines. It security – Part 2: Security functional requirements. ISO/IEC 15408-2,
also lacks detailing how to implement its process 2005.
areas in different contexts. Because of these [9] Information technology – Security techniques – Evaluation criteria for IT
characteristics, it is hard to understand and security – Part 3: Security assurance requirements. ISO/IEC 15408-3,
2005.
implement SSE-CMM;
[10] Information technology – Security technical - Code of practice for
• OCTAVE allows people from the organization to be information security management. ISO/IEC 27002, 2005.
responsible for setting the organization’s security [11] C. Alberts et al. (2001, December). OCTAVE - The Operationally Critical
strategy. This could lead to security problems when Threat, Asset, and Vulnerability Evaluation [Online]. Carnegie Mellon –
these people have no security education or because Software Engineering Institute. Available: www.cert.org/octave.
they could have other responsibilities and are not [12] Ross Anderson, Security Engineering: A Guide to Building Dependable
entirely responsible for the security program; Distributed Systems. John Wiley and Sons, 2001.
• ISO/IEC 27002 contains a vast number of security [13] A. Apvrille, M. Pourzandi, “Secure Software Development by Example,”
controls to be applied among different processes in IEEE Security & Privacy, vol. 3, no. 4, July/August 2005, pp. 10–17
any kind of organization. This could be seen as a [14] C. Muniraman, M. Damodaran, “A Practical Approach to Include Security
in Software Development” [Online], in Issues in Information Systems, vol.
weakness as this could lead to wrong interpretations. 8, no. 2, pp. 193-199, 2007. Available:
Another issue is that the standard does not explain www.iacis.org/iis/2007/PDFs/Muniraman_Damodaran.pdf.
how to best implement each security control; [15] Kenneth R. van Wyk. Gary McGraw, “Bridging the Gap between
• ISO/IEC 15408 has its use restricted because of its Software Development and Information Security,” IEEE Security &
complexity in implementing and assessing the Privacy, vol. 3, no. 5, September/October 2005, pp. 75-79.
security aspects of the software product. This [16] J.H. Saltzer, M.D. Schroder, “The Protection of Information in Computer
standard requires a specialized knowledge which Systems”, in Proceedings of the IEEE, vol. 63, no. 9, 1975, pp. 1278 -
1308. Available: http://web.mit.edu/Saltzer/www/publications/protection.
makes its use more expensive and time consuming.
Although the PSSS presents an organized software [17] Gary McGraw, Software security: building security in, 1st Edition.
Addison-Wesley, 2006.
security initiative, additional research must be done in order
[18] B. Schneier, “Attack trees: modeling security threats”, Dr. Dobbs’ Journal,
to improve and disseminate software security discipline, such December, 1999.
as: software security with agile processes, software security [19] M. Howard, D. LeBlanc, Writing Secure Code, 2nd Edition. Microsoft
architecture, or software security metrics. Unfortunately, it Press, 2002.
must be observed that software security aspects are being [20] Howard, M., and Lipner, S. The Security Development Lifecycle, 1st
researched without focusing on Software Engineering Edition. Microsoft Press, 2006.
support and with little Security Engineering orientation. [21] Arent, J., Nøbjerg, J., Pedersen, M. H., “Creating Organizational
Further work could involve the support of knowledge Knowledge in Software Process Improvement”, in Proceedings of the 2nd
management which contributes towards the improvement of International Workshop on Learning Software Organizations, 2000, pp.
81-92.

55

Вам также может понравиться