Software Assurance Maturity Model: How To Guide
Software Assurance Maturity Model: How To Guide
SOFTWARE ASSURANCE
MATURITY MODEL
HOW TO GUIDE
A GUIDE TO BUILDING SECURITY INTO SOFTWARE DEVELOPMENT
Project leaders:
Sebastien Deleersnyder, Bart De Win
& Brian Glas
Creative Commons (CC) Attribution
Free Version at: https://www.owasp.org
This is an OWASP Project
OWASP is an international organization and the OWASP Foundation supports OWASP efforts
around the world. OWASP is an open community dedicated to enabling organizations to conceive,
develop, acquire, operate, and maintain applications that can be trusted. All of the OWASP tools,
documents, forums, and chapters are free and open to anyone interested in improving application
security. We advocate approaching application security as a people, process, and technology
problem because the most effective approaches to application security include improvements in
all of these areas. We can be found at https://www.owasp.org.
License
This work is licensed under the Creative Commons Attribution-Share Alike 4.0 License. To view a
copy of this license, visit https://creativecommons.org/licenses/by-sa/4.0/ or send an email to
[email protected]. or send a letter to Creative Commons, PO Box 1866, Mountain View,
CA 94042.
CONTENTS 1
CONTENTS
02 Executive Summary
03 Software Development
04 SAMM Evolution
08 Related Levels
08 Conducting Assessments
09 Creating Scorecards
20 Government Organization
22 Case Study
23 Virtualware
26 Virtualware - Phase 1
29 Virtualware - Phase 2
32 Virtualware - Phase 3
35 Virtualware - Phase 4
38 Virtualware - Ongoing
40
16 Contributors & Reviewers
41 Sponsors
2 EXECUTIVE SUMMARY
EXECUTIVE SUMMARY
The Software Assurance Maturity Model (SAMM) is an open framework to help organizations for-
mulate and implement a strategy for software security that is tailored to the specific risks facing the
organization. The resources provided by SAMM will aid in:
SAMM was defined with flexibility in mind such that it can be utilized by small, medium, and large
organizations using any style of development.
As an open project, SAMM content shall always remain vendor-neutral and freely available for all.
Besides the How-To Guide and the Core Model document, several other tools and documents
have been made available during the last several years:
• The new Quick-Start Guide walks you through the core steps to execute your SAMM-based secure
software practice.
• The updated SAMM Tool Box can be used to perform SAMM assessments and create SAMM
roadmaps.
• Lots of OWASP resources are linked from the SAMM project page on the OWASP website. You
can use these to implement SAMM roadmaps.
• With the SAMM Benchmark data, you can compare your maturity and progress with other
organizations and teams.
EXECUTIVE SUMMARY 3
SOFTWARE DEVELOPMENT
- SAMM Overview -
Business Functions
SAMM EVOLUTION
SAMM v1.0 was originally developed, designed, and written by Pravir Chandra. As part of the
v1.1 release, this How-To Guide has split off the SAMM implementation guidance from
the SAMM Core Model document. SAMM v1.5 documentation continues with the same format
as v1.1.
SAMM
V1.0
QUICK
HOW TO CORE
START
GUIDE MODEL
GUIDE
V1.5 V1.5
V1.5
Objective
The objective is a general statement that captures the assurance goal of attaining the associated level. As the
levels increase for a given practice, the objectives characterize more sophisticated goals in terms of building
assurance for software development, deployment, and operations.
Activities
The activities are core requisites for attaining the level. Some are meant to be performed organization-wide,
and some correspond to actions for individual project teams. In either case, the activities capture the core
security function, and organizations are free to determine how they fulfill the activities.
Results
The results characterize capabilities and deliverables obtained by achieving the given level. In some cases,
these are specified concretely, and in others, a more qualitative statement is made about increased
capability.
Success Metrics
The success metrics specify example measurements that can be used to check if an organization is perform-
ing at the given level. Recommended data sources and thresholds are provided, and data collection and
management is left to the choice of each organization.
PERSONNEL
Developers:
Individuals performing detailed design and implementation of the software.
Architects:
Individuals performing high-level design work and large scale system engineering.
Managers:
Individuals performing day-to-day management of development staff.
QA Testers:
Individuals performing quality assurance testing and pre-release verification of software.
Security:
Individuals with technical security knowledge related to software being produced.
Business Owners:
Individuals performing key decision making on software and its business requirements.
Support Operations:
Individuals performing customer support or direct technical operations support.
8 RELATED LEVELS • CONDUCTING ASSESSMENTS
RELATED LEVELS
The related levels are references to levels within other practices that have some potential overlaps
depending upon the organization’s structure and progress in building an assurance program. Functionally,
these indicate synergies or optimizations in activity implementation if the related level is also a goal or
already in place.
CONDUCTING ASSESSMENTS
By measuring an organization against the defined security practices, an overall picture of built-in security
assurance activities is created. This type of assessment is useful for understanding the breadth of security
activities currently in place at an organization. Further, it enables that organization to then utilize SAMM to
create a future roadmap for iterative improvement.
An important first step of the assessment is to define the scope of the assessment: An assessment can be
done for a complete organization, for selected business units, or even at development team level. This scope
must be agreed upon with the involved key stakeholders.
The process of conducting an assessment is simply evaluating an organization to determine the maturity
level at which it is performing. The extent to which an organization’s performance is checked will usually vary
according to the drivers behind the assessment, but in general, there are two recommended styles:
Lightweight:
The assessment worksheets for each practice are evaluated, and scores are assigned based on answers.
This type of assessment is usually sufficient for an organization that is trying to map their existing
assurance program into SAMM to get a quick picture of where they stand.
Detailed:
After completion of the assessment worksheets, additional audit work is performed to check the
organization to ensure the activities prescribed by each practice are in place. Additionally, since each practice
also specifies success metrics, that data should be collected to ensure that the organization is performing as
expected.
COMPLETE ASSIGN
START ASSESSMENT A SCORE PER LIGHTWEIGHT END
WORKSHEETS PRACTICE
DETAILED
Scoring an organization using the assessment worksheets is straightforward. After answering the
questions, evaluate the answer column to determine the score. It is recommended to use the toolbox
spreadsheet or other application to assist in the calculation of the score.
Assurance programs might not always consist of activities that neatly fall on a boundary between
maturity levels, e.g. an organization that assesses to a Level 1 for a given practice might also have
additional activities in place, but not such that Level 2 is completed.
The scoring model in v1.5 provides more granularity to the scoring in an assessment. An
organization will get credit for the different levels of work they have done in a practice. The
scoring is fractional to two decimal places for each practice and a single decimal for an answer.
Questions have also been changed from Yes/No to four options that represent different levels
of coverage or maturity. Anyone who has filled out a SAMM assessment has had a discussion on
whether to mark an answer yes or no, when it is honestly something in between.
The toolbox spreadsheet has context aware answers for each of the questions in the assessment.
The formulas in the toolbox will average the answers to calculate the score for each practice, a roll
up average for each business function, and an overall score. The toolbox also has scorecard
graphics that help represent the current score, and can help show improvements to the program
as the answers to the questions change. There are worksheets in the core document that align with
the toolbox spreadsheet.
You can find the assessment worksheets in the SAMM Core Model document as of page 18. In
v1.5 of SAMM, a separate SAMM Toolbox is made available to assist with scoring
assessments. You can download the SAMM Toolbox from the SAMM page on the OWASP website.
0 .2 .5 1
At Least
No Few/Some Many/Most
Half
Assessment Scores
10 CREATING SCORECARDS • BUILDING ASSURANCE PROGRAMS
CREATING SCORECARDS
Based on the scores assigned to each security practice, an organization can create a scorecard to
capture those values. Functionally, a scorecard can be the simple set of 12 scores for a
particular time. However, selecting a time interval over which to generate a scorecard facilitates
understanding of overall changes in the assurance program during the time frame.
Gap analysis
Capturing scores from detailed assessments versus expected performance levels.
Demonstrating improvement
Capturing scores from before and after an iteration of assurance program build-out.
Ongoing measurement
Capturing scores over consistent time frames for an assurance program that is already in place.
The figure below shows an example scorecard for how an organization’s assurance program
changed over the course of one year. If that organization had also saved the data about where
they were planning on being at the end of the year, that would be another interesting data set
to plot, since it would help show the extent to which the plans had to change over the year.
BEFORE AFTER
2.13
1.33
1.60
1.66
1.00
0.50
1.38
1.25
1.45
1.20
2.00
1.50
0 1 2 3
BUILDING ASSURANCE PROGRAMS 11
Several roadmap templates for common types of organizations are provided. Thus, many
organizations can choose an appropriate match and then tailor the roadmap template to their
needs. For other types of organizations, it may be necessary to build a custom roadmap.
Roadmaps consist of phases (the vertical bars) in which several practices are each improved by
one level. Therefore, building a roadmap entails selection of which practices to improve in each
planned phase. Organizations are free to plan into the future as far as they wish, but are encouraged
to iterate based on business drivers and organization-specific information to ensure the assurance
goals are commensurate with their business goals and risk tolerance.
CONDUCT
START INITIAL
ASSESSMENT
ADDING ADJUST
ANOTHER NO DONE ROADMAP TO
PHASE? ORGANIZATION
YES
THREAT ASSESSMENT
SECURITY REQUIREMENTS
SECURE ARCHITECTURE
DESIGN REVIEW
IMPLEMENTATION REVIEW
SECURITY TESTING
ISSUE MANAGEMENT
ENVIRONMENT HARDENING
OPERATIONAL ENABLEMENT
13
14 INDEPENDENT SOFTWARE VENDOR
Rationale
An independent software vendor involves the core business function of building and selling
software components and applications.
Initial drivers to limit common vulnerabilities affecting customers and users leads to early
concentration on implementation review and security testing activities.
Also, to minimize the impact from any discovered security issues, the organization ramps up
issue management activities over time.
As the organization matures, knowledge transfer activities from operational enablement are added
to better inform customers and users about secure operation of the software.
Additional Considerations
Outsourced Development
For organizations using external development resources, restrictions on code access typically lead
to prioritization of security requirements activities instead of implementation review activities.
Additionally, advancing threat assessment in earlier phases would allow the organization to better
clarify security needs to the outsourced developers. Since expertise on software configuration will
generally be strongest within the outsourced group, contracts should be constructed to account for
the activities related to operational enablement.
Internet-Connected Applications
Organizations building applications that use online resources have additional risks from the
core Internet-facing infrastructure that hosts Internet-facing systems. To account for this risk,
organizations should add activities from environment hardening to their roadmaps.
THREAT ASSESSMENT
SECURITY REQUIREMENTS
SECURE ARCHITECTURE
DESIGN REVIEW
IMPLEMENTATION REVIEW
SECURITY TESTING
ISSUE MANAGEMENT
ENVIRONMENT HARDENING
OPERATIONAL ENABLEMENT
16 ONLINE SERVICE PROVIDER
Rationale
An online services provider involves the core business function of building web applications and
other network-accessible interfaces.
Initial drivers to validate the overall soundness of design without stifling innovation may lead to
an early concentration on design review and security testing activities.
Since critical systems will be network-facing, environment hardening activities are also added early
and ramped over time to account for risks from the hosted environment.
Though it can vary based on the core business of the organizations, policy and compliance
activities should be started early and then advanced according to the criticality of external
compliance drivers.
As the organization matures, activities from threat assessment, security requirements, and secure
architecture are slowly added to help bolster proactive security after some baseline expectations
for security have been established.
Additional Considerations
Outsourced Development
For organizations using external development resources, restrictions on code access typically lead
to prioritization of security requirements activities instead of implementation review activities.
Additionally, advancing threat assessment in earlier phases would allow the organization to better
clarify security needs to the outsourced developers. Since expertise on software configuration
will generally be strongest within the outsourced group, contracts should be constructed to
account for the activities related to operational enablement.
THREAT ASSESSMENT
SECURITY REQUIREMENTS
SECURE ARCHITECTURE
DESIGN REVIEW
IMPLEMENTATION REVIEW
SECURITY TESTING
ISSUE MANAGEMENT
ENVIRONMENT HARDENING
OPERATIONAL ENABLEMENT
18 FINANCIAL SERVICES ORGANIZATION
Rationale
A financial services organization involves the core business function of building systems to
support financial transactions and processing. In general, this implies a greater concentration of
internal and back-end systems that interface with disparate external data providers.
Initially, effort is focused on improving the practices related to governance, since these are
critical services that set the baseline for the assurance program and help meet compliance
requirements for the organization.
Since building secure and reliable software pro-actively is an overall goal, practices within
construction are started early on and ramped up sharply as the program matures.
Verification activities are also ramped up smoothly over the course of the roadmap to handle legacy
systems without creating unrealistic expectations. Additionally, this helps ensure enough cycles
are spent building out more proactive practices.
Since a financial services organization often operates the software they build, focus is given to
the practices within operations during the middle of the roadmap, after some initial governance
is in place, but before heavy focus is given to the proactive construction practices.
Additional Considerations
Outsourced Development:
For organizations using external development resources, restrictions on code access typically
leads to prioritization of security requirements activities instead of implementation review
activities. Additionally, advancing threat assessment in earlier phases would allow the
organization to better clarify security needs to the outsourced developers. Since expertise on
software configuration will generally be strongest within the outsourced group, contracts should
be constructed to account for the activities related to operational enablement.
THREAT ASSESSMENT
SECURITY REQUIREMENTS
SECURE ARCHITECTURE
DESIGN REVIEW
IMPLEMENTATION REVIEW
SECURITY TESTING
ISSUE MANAGEMENT
ENVIRONMENT HARDENING
OPERATIONAL ENABLEMENT
20 GOVERNMENT ORGANIZATION
GOVERNMENT ORGANIZATION
ROADMAP TEMPLATE
Rationale
A government organization involves the core business function of being a state-affiliated
organization that builds software to support public sector projects.
Initially, governance practices are established, generally to get an idea of the overall compliance
burden for the organization in context of the concrete roadmap for improvement.
Because of risks of public exposure and the quantity of legacy code generally in place, early
emphasis is given to security testing within the verification practices, and later the more involved
implementation review or design review practices are developed.
Similar emphasis is placed on the construction and operations practices. This helps establish the
organization’s management of vulnerabilities, and moves toward bolstering the security posture
of the operating environment. At the same time, proactive security activities under construction
are built up to help prevent new issues in software under development.
Additional Considerations
Outsourced Development:
For organizations using external development resources, restrictions on code access typically
leads to prioritization of security requirements activities instead of implementation review
activities. Additionally, advancing threat assessment in earlier phases would allow the
organization to better clarify security needs to the outsourced developers. Since expertise on
software configuration will generally be strongest within the outsourced group, contracts should
be constructed to account for the activities related to operational enablement.
Regulatory Compliance:
For organizations under heavy regulations that affect business processes, the build-out of the
policy and compliance practice should be adjusted to accommodate external drivers. Likewise,
organizations under a lighter compliance load should take the opportunity to push back build-
out of that practice in favor of others.
GOVERNMENT ORGANIZATION 21
THREAT ASSESSMENT
SECURITY REQUIREMENTS
SECURE ARCHITECTURE
DESIGN REVIEW
IMPLEMENTATION REVIEW
SECURITY TESTING
ISSUE MANAGEMENT
ENVIRONMENT HARDENING
OPERATIONAL ENABLEMENT
22 CASE STUDY
CASE STUDY
A walkthrough of an example scenario
Note: This case study was originally written for v1.0 so the scoring intervals are
in whole numbers and may not precisely align with the v1.5 scoring.
CASE STUDIES • VIRTUALWARE 23
VIRTUALWARE
CASE STUDY: MEDIUM-SIZED, INDEPENDENT SOFTWARE VENDOR
Business Profile
VirtualWare is a leader in the market of providing integrated virtualized application platforms, to
help organizations consolidate their application interfaces into a single environment. Their
technology is provided as a server application and desktop client built for multiple environments,
including Microsoft, Apple, and Linux platforms.
The organization is of medium size (200-1000 employees), and has a global presence around
the world with branch offices in most major countries.
Organization
VirtualWare has been developing their core software platform for over eight years. During this time,
they have had limited risk from common web vulnerabilities due to minimal usage of web
interfaces. Most of the VirtualWare platforms are run through either a server-based systems or
thick clients running on the desktop.
Recently, VirtualWare started a number of new project streams, which deliver their client and
server interfaces via web technology. Knowing the extent of common attacks seen over the web,
this has driven the organization to review their software security strategy and to ensure that it
adequately addresses possible threats towards their organization going forward.
Previously, the organization has undertaken basic reviews of the application code, but has been
more focused on performance and functionality rather than security. VirtualWare developers have
been using a number of code quality analysis tools to identify bugs and address them within the
code.
With this in mind, the upper management team has set a strategic objective to review the current
status of the security of their applications and to determine the best method of identifying,
removing, and preventing vulnerabilities in them.
Environment
VirtualWare develops their virtualization technology on a mixture of Java, C++, and .NET
technology. Their core application virtualization technology has been written in C++ and has had
a number of reviews for bugs and security, but currently no formal processes exists for
identifying and fixing known or unknown security bugs.
VirtualWare has chosen to support their web technology on Java, although the back-end systems
are built using Microsoft and C++ technologies. The development team that is focused on the
new web interfaces is primarily composed of Java developers.
VirtualWare employs over 300 developers, with staff broken up into teams based on the projects
that they work on. There are 12 teams, with around 20–40 developers per team. Within each team
there is minimal experience with software security, and although senior developers perform basic
assessments of their code, security is not considered a critical goal within the organization.
Each team within VirtualWare adopts a different development model. Currently, the two
primary methodologies used are Agile SCRUM and iterative Waterfall style. There is minimal to no
guidance from the IT department or project architects on software security.
24 CASE STUDIES - VIRTUALWARE
Key Challenges
• Rapid release of application features to ensure they maintain their competitive edge over rivals.
• Limited experience with software security concepts — currently minimal effort is associated with
security related tasks.
• Developers leave the organization and are replaced with less experienced developers.
• Multiple technologies used within applications, with legacy applications that have not been
updated since originally built.
VirtualWare wanted to focus on ensuring that their new web applications would be delivered
securely to their customers. Therefore, the initial focus was on education and awareness for
their development teams, as well as providing some base technical guidance on secure coding
and testing standards.
The organization previously had received bug requests and security vulnerabilities through their
[email protected] address. However, as this was a general support address, existing
requests were not always filtered down to the appropriate teams within the organization or
handled correctly. The need to implement a formal security vulnerability response program was
also identified by VirtualWare.
Implementation Strategy
The adoption of a security assurance program within an organization is a long term strategy.
There are significant impacts on the developer culture, as well as the business' development and
delivery of its applications. The adoption of this strategy is set over a 12 month period, and due
to the size of the organization, will be relatively easy to implement in that period.
CASE STUDIES - VIRTUALWARE 25
THREAT ASSESSMENT
SECURITY REQUIREMENTS
SECURE ARCHITECTURE
DESIGN REVIEW
IMPLEMENTATION REVIEW
SECURITY TESTING
ISSUE MANAGEMENT
ENVIRONMENT HARDENING
OPERATIONAL ENABLEMENT
26 VIRTUALWARE - PHASE 1
Development teams within VirtualWare had limited experience in secure coding techniques,
therefore, an initial training program was developed to provide the organization's developers
with defensive programming techniques.
With over 300 developers and multiple languages supported within the organization, one of the
key challenges for VirtualWare was to provide an education program that was technical enough to
teach developers some of the basics in secure coding concepts. The objective of this initial
education course was primarily on coding techniques and testing tools. The course
developed and delivered within the organization lasted for one day, and covered the basics of
secure coding.
VirtualWare was aware that they had a number of applications with vulnerabilities, and no
real strategy in which to identify existing vulnerabilities or address the risks in a reasonable
timeframe. A basic risk assessment methodology was adopted, and the organization
undertook a review of the existing application platforms.
This phase also included implementing a number of concepts for the development team to enhance
their security tools. The development teams already had a number of tools available to perform
quality type assessments. Additional investigation into code review and security testing tools
was performed.
Target Objectives
During this phase of the project, VirtualWare implemented the following SAMM practices &
activities:
To achieve these maturity levels, VirtualWare implemented a number of programs during this phase of
the rollout. The following initiatives were adopted:
• Build a technical guidance whitepaper for application security on technologies used within the
organization.
• Create a risk process and perform high-level business risk assessments for the application platforms, and
review business risk.
• Perform short implementation reviews on application platforms that present significant risk to the
organization.
• Develop test and use cases for projects and evaluate the cases against the applications.
• Generated a draft strategic roadmap for the next phase of the assurance program.
Due to the limited amount of expertise in house within VirtualWare, the company engaged with a third-
party security consulting group to assist with the creation of the training program, and assist in writing the
threat modeling and strategic roadmap for the organization.
One of the key challenges faced during this phase was to get all 300 developers through a one day training
course. To achieve this, VirtualWare ran 20 course days, with only a small number of developers from each
team attending the course at one time. This reduced the overall impact on staff resources during the training
period.
During this phase of the project, VirtualWare invested significant resources effort into the adoption of a risk
review process, and reviewing the business risk to the organization. Although considerable effort was
focused on these tasks, they were critical to ensuring that the next steps implemented by VirtualWare were
in line with the business risks faced by the organization.
VirtualWare management received positive feedback from most developers within the organization on the
training program. Although not detailed, developers felt that the initial training provided some basic skills
that could assist them immediately with writing secure code.
Implementation Costs
A significant amount of internal resources and costs were invested in this phase of the project. There were
three different types of costs associated with this phase.
DEVELOPER
(PER PERSON)
1
DAY
Outsourced Resources
Due to the lack of knowledge within VirtualWare, external resources were used to assist with
the creation of content, and creation/delivery of the training program to the developers.
CONSULTANT 15 CONSULTANT 22
(SECURITY) DAYS (TRAINING) DAYS
VIRTUALWARE - PHASE 2 29
Automated tools were introduced to assist with code coverage and findings weaknesses as it was
identified as one of the biggest challenges in this phase of the implementation. Traditionally, in
the past developers have used automated tools with great difficultly, and therefore implementing
new tools was seen as a significant challenge.
This phase of the implementation also saw the introduction of a more formal education and
awareness program. Developers from the previous training requested more specific training in the
areas of web services and data validation. The new six hour-specific training course was developed
with these two focus areas. VirtualWare also implemented additional training programs for
architects and managers, and adopted an awareness campaign within the organization.
Target Objectives
During this phase of the project, VirtualWare implemented the following SAMM practices & activities:
To achieve these maturity levels VirtualWare implemented a number of programs during this
phase of the rollout. The following initiatives were adopted:
• Additional education and training courses for QA testers, managers, and architects.
• Develop the risk assessment methodology into a threat modeling approach with attack trees
and profiles.
• Introduction of automated tools to assist with code coverage, and security analysis of existing
applications and new code bases.
• Enhance the existing software development lifecycle to support security testing as a part of the
development process.
VirtualWare adapted the existing application security training program to provide a less technical
version of a Business Application Security Awareness program. This was a shorter, four hour
course, and was extended to managers and business owners of the organization.
A high-level review of the existing implementation review and penetration testing programs
iden-tified that the process was inadequate, and needed to be enhanced to provide better
testing and results on application security vulnerabilities. The team set out to create new
penetration testing and implementation review programs. As a part of these programs, each
senior developer on a program team was allocated approximately four days to perform a high-
level source implementation review of their application.
VirtualWare management understood that the infrastructure and applications were tightly
integrated, and during this phase, the operational side of the application platforms
(infrastructure) were reviewed. This phase looked at the infrastructure requirements and
application integration features between the recommended deployed hardware and the
application interfaces.
During this phase, the strategic roadmap and methodology for application security was reviewed
by the project team. The objective of this review and update was to formally classify data assets,
and set the appropriate level of business risk associated with the data assets and applications.
From this, the project team was able to set security goals for these applications.
Implementation Costs
A significant amount of internal resources and costs were invested in this phase of the project.
There were three different types of costs associated with this phase.
SUPPORT 2
OPERATIONS DAYS
1 1/2 1/2
BUSINESS
ARCHITECT MANAGER OWNER
(PER-PERSON) DAY (PER-PERSON) DAY (PER-PERSON) DAY
Outsourced Resources
Due to the lack of knowledge within VirtualWare, external resources were used to assist with the
creation of content, and creation/delivery of the training program to the developers.
CONSULTANT 22 CONSULTANT 5
(SECURITY) DAYS (TRAINING) DAYS
32 VIRTUALWARE - PHASE 3
The key challenge in this phase was establishing a tighter integration between the application
platforms and operational side of the organization. In the previous phase, VirtualWare teams were
introduced to issue management and the operational side of application security. During this
phase, VirtualWare has adopted the next phase of these areas, and introduced clear incident
response processes and detailed change control procedures.
VirtualWare has chosen to start two new areas for this implementation. Although VirtualWare is not
impacted by regulatory compliance, a number of their customers have started to ask about
whether the platforms can assist in passing regulatory compliance. A small team has been set up
within VirtualWare to identify the relevant compliance drivers and create a checklist of drivers.
In the previous phase, VirtualWare introduced a number of new automated tools to assist with the
review and identification of vulnerabilities. Although not focused on in this phase, the
development teams have adopted the new tools, and reported that they are starting to gain a
benefit from using these tools within their groups.
Target Objectives
During this phase of the project, VirtualWare implemented the following SAMM practices &
activities:
To achieve these maturity levels, VirtualWare implemented a number of programs during this phase
of the rollout. The following initiatives were adopted:
• Define and publish technical guidance on security requirements, and secure architecture for
projects within the organization.
• Introduce change management procedures and formal guidelines for all projects.
To coincide with the introduction of automated tools for developers (from the previous phase), for-
mal technical guidance on secure coding techniques was introduced into the organization. These
were specific technical documents relating to languages and technology, and provided guidance on
secure coding techniques in each relevant language/application.
With a combined approach from the education and awareness programs, technical guidance, and the
introduction of automation tools to help the developers, VirtualWare started to see a visible differ-ence
in the code being delivered into production versions of their applications. Developers provided
positive feedback on the tools and education made available to them under the program.
For the first time, VirtualWare project teams took responsibility for the security and design of their
application platforms. A formal review process and validation against best practices were performed
by each team during this phase. Some teams identified gaps relating to both security and business
design that needed to be reviewed. A formal plan was put in place to ensure these gaps were
addressed.
A formal incident response plan and change management procedures were introduced during
this phase of the project. This was a difficult process to implement, and VirtualWare teams initially
struggled with the process, as the impact on culture and the operational side of the business was
significant. However, over time each team member identified the value in the new process, and
the changes were accepted by the team over the implementation period.
34 VIRTUALWARE - PHASE 3
Implementation Costs
A significant amount of internal resources and costs were invested in this phase of the project. There
were two different types of costs associated with this phase.
Outsourced Resources
Due to the lack of knowledge within VirtualWare, external resources were used to assist with
the creation of content, and creation/delivery of the processes, guidelines, and to assist teams.
CONSULTANT 20
(SECURITY) DAYS
VIRTUALWARE - PHASE 4 35
A core focus in this phase is bolstering the alignment and governance disciplines. These
functions play a critical role in the foundation of an effective, long term application security
strategy. A completed education program is implemented, whilst at the same time, a long
term strategic roadmap is put in place for VirtualWare.
The other key focus within this phase is on the operational side of the implementation.
VirtualWare management previously identified a critical need for incident response plans and
dedicated change management process in their long term strategy.
VirtualWare saw this phase as the stepping stones to their longevity. This phase saw the
organization implement a number of final measures to cement the existing building blocks that
have been laid down in the previous phases. In the long term, this will ensure that the
processes, concepts, and controls put in place will continue to work within the organization to
ensure the most secure outcome for their application platforms.
VirtualWare chose this phase to introduce their customers to their new application security
initiatives by providing their customers with the details of a series of application security
initiatives. VirtualWare deployed applications securely and provided the ability to report
vulnerabilities in their applications. The key goal from these programs is to instill confidence in
their customer base by showing that VirtualWare applications are built with security in mind, and
also, by assisting customers to ensure their application environments using VirtualWare
technology are secure.
Target Objectives
During this phase of the project, VirtualWare implemented the following SAMM practices and
activities:
To achieve these maturity levels, VirtualWare implemented a number of programs during this
phase of the rollout. The following initiatives were adopted:
• Create well defined security requirements and testing program for all projects.
• Reviewed existing alerts procedure for applications, and document a process for capturing
events.
• Review existing security spend within projects and determine if appropriate budget has been
allocated to each project for security.
• Implement the final education and awareness programs for application roles.
• Complete a long term application security strategy roadmap for the organization.
In previous phases,, VirtualWare had released a formal incident response plan for customers to
submit vulnerabilities found with their code. During this phase, VirtualWare took the results of
the submitted vulnerabilities and conducted assessments of why the problem occurred, how,
and attempted a series of reporting to determine any common theme identified amongst the
reported vulnerabilities.
As a part of the ongoing effort to ensure applications are deployed internally securely, as well as
on customer networks, VirtualWare created a series of whitepapers, provided to customers based
on industry standards for recommended environment hardening. The purpose of these guidelines
is to provide assistance to customers on the best approach to deploying their applications.
During this phase, VirtualWare implemented a short computer-based training module so that
existing and new developers could maintain their skills in application security. It was also
mandated that all “application” associated roles undertake a mandatory one day course per year.
This was completed to ensure that the skills given to developers were not lost and new
developers would be up skilled during their time with the company.
One of the final functions implemented within VirtualWare was to complete a “AS IS” gap
assessment, and review, and determine how effective the past 12 months had been. During this
short program questionnaires were sent to all team members involved, as well as a baseline
review against SAMM. The weaknesses and strengths identified during this review were
documented into the final strategic roadmap for the organization, and the strategy for the next 12
months was set for VirtualWare.
VIRTUALWARE - PHASE 4 37
Implementation Costs
A significant amount of internal resources and costs were invested in this phase of the project. There
were two different types of costs associated with this phase.
Outsourced Resources
Due to the lack of knowledge within VirtualWare, external resources were used to assist with the
implementation of this phase, including documentation, processes, and workshops.
CONSULTANT 22
(SECURITY) DAYS
38 VIRTUALWARE - ONGOING
VirtualWare Management set an original mandate to ensure that software developed within
the company was secure, and ensured that the market was aware of the security initiatives taken
and assisted customers in securing their application platforms.
To achieve these management goals, the first 12 months set the path for an effective strategy
within VirtualWare, starting from awareness to assisting customers in securing their application
environments. Moving forward, VirtualWare has set a number of initiatives within the organization
to ensure that the company doesn’t fall into their old habits. Some of these programs include:
• Business owners and team leaders are aware of the risk associated with their applications and are
required to sign off on applications before release.
• Team leaders now require all applications to formally go through the security process, and
implementation reviews are performed weekly by developers.
• Ongoing yearly training and education programs (including CBT) are provided to all project staff,
and developers are required to attend a course at least once a year.
• A dedicated team leader for application security has been created, and is now responsible for
customer communications, and customer technical papers and guidelines.
Going forward, VirtualWare has created a culture of security as part of their SDLC, thus ensuring
that applications developed and provided to customers are secure and robust. An effective
process has been put in place where vulnerabilities can be reported on and handled by the
organization when required.
During the final implementation phase, a project gap assessment was performed to identify
any weaknesses that appeared during the implementation. In particular, due to the high-
turnover of staff, VirtualWare needed to constantly train new developers as they started with the
organization. A key objective set to address this problem was a program introduced specifically
for developers so that they receive formal security training when they start with the
organization. This also helps to create the mindset that security is important within the
organization and its development team.
VIRTUALWARE - ONGOING 39
Maturity Scorecard
The maturity scorecard was completed as a self assessment during the implementation of the software
assurance program by VirtualWare. The final scorecard (shown to the right) represents the status of Vir-
tualWare at the time it began and the time it finished its four-phase improvement project.
BEFORE AFTER
3.00
2.00
3.00
3.00
3.00
1.00
2.00
1.25
2.00
3.00
0.50
3.00
0 1 2 3
40 ACKNOWLEDGEMENTS AND SPONSORS
SPONSORS
We would like to thank the following sponsors who donated funds to the SAMM project.
Belgium
London