Secure SDLC Flashcards

1
Q

SAMM

A

OWASP Software Assurance Maturity Model (SAMM)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

The structure and setup of the SAMM maturity model are made to support:

A

The assessment of the current software assurance posture
The definition of the strategy (i.e. the target) that the organization should take
The formulation of an implementation roadmap of how to get there and
Prescriptive advice on how to implement particular activities.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Secure SDLC:

A

A Software Development Life Cycle (SDLC) is a framework that defines the process used by organizations to build an application from its inception to its decommission. Over the years, multiple standard SDLC models have been proposed (Waterfall, Iterative, Agile, etc.) and used in various ways to fit individual circumstances. It is however safe to say that in general, SDLCs include the following phases:

Planning and requirements
Architecture and design
Test planning
Coding
Testing and results
Release and maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Governance (SAMM)

A

Governance is centered on the processes and activities related to how an organization manages
overall software development activities. More specifically, this includes concerns that cross-cut groups
involved in development as well as business processes that are established at the organization level.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Construction (SAMM)

A

Construction concerns the processes and activities related to how an organization defines goals and
creates software within development projects. In general, this will include product management, requirements
gathering, high-level architecture specification, detailed design, and implementation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Verification (SAMM)

A

Verification is focused on the processes and activities related to how an organization checks and tests
artifacts produced throughout software development. This typically includes quality assurance work
such as testing, but it can also include other review and evaluation activities.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Deployment (SAMM)

A

Deployment entails the processes and activities related to how an organization manages release of
software that has been created. This can involve shipping products to end users, deploying products to
internal or external hosts, and normal operations of software in the runtime environment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Governance Security Practices

A

Strategy & Metrics involves the overall
strategic direction of the software assurance
program and instrumentation of
processes and activities to collect metrics
about an organization’s security posture.
Policy & Compliance involves setting
up a security and compliance control and
audit framework throughout an organization
to achieve increased assurance in software
under construction and in operation..
Education & Guidance involves increasing
security knowledge amongst personnel
in software development through
training and guidance on security topics
relevant to individual job functions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Construction Security Practices

A
Threat Assessment involves accurately
identifying and characterizing potential
attacks upon an organization’s software
in order to better understand the risks and
facilitate risk management.
Security Requirements involves
promoting the inclusion of security-related
requirements during the software development
process in order to specify correct
functionality from inception.
Secure Architecture involves bolstering
the design process with activities
to promote secure-by-default designs and
control over technologies and frameworks
upon which software is built.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Verification Security Practices

A

Design Review involves inspection of
the artifacts created from the design process
to ensure provision of adequate security
mechanisms and adherence to an
organization’s expectations for security.
Code Review involves assessment of
an organization’s source code to aid vulnerability
discovery and related mitigation
activities as well as establish a baseline for
secure coding expectations.
Security Testing involves testing the
organization’s software in its runtime environment
in order to both discover vulnerabilities
and establish a minimum standard
for software releases.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Deployment Security Practices

A

Vulnerability Management involves
establishing consistent processes for managing
internal and external vulnerability reports
to limit exposure and gather data to
enhance the security assurance program.
Environment Hardening involves
implementing controls for the operating
environment surrounding an organization’s
software to bolster the security posture of
applications that have been deployed.
Operational Enablement involves
identifying and capturing security-relevant
information needed by an operator to
properly configure, deploy, and run an organization’s
software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

SAMM Step 1

A

Assess:
Ensure a proper start of the project
Define the scope
Set the target of the effort (The entire enterprise, a particular application or project or team etc.)

Identify Stakeholders

Ensure that important stakeholders supposed to support and execute the project are identified and well aligned

Spread the word

Inform people about the initiative and provide them with information to understand what you will be doing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

SAMM Step 2 - Assess

A

Identify and understand the maturity of your chosen scope in each of the 12 software security practices.

Evaluate current practices
Organize interviews with relevant stakeholders to understand the current state of practice within your organization. You could evaluate this yourself if you understand the organization sufficiently well. SAMM provides lightweight and detailed assessments (where the latter is an evidence-based evaluation) – use the detailed one only if you want to have absolute certainty about the scores.

Determine maturity level

Based on the outcome of the previous activity, determine for each security practice the maturity level according to the SAMM maturity scoring system. In a nutshell, when all activities below and within a maturity level have been implemented, this level can be used for the overall score. When extra higher-level activities have been implemented without reaching a full next level, add a “+” to the rating.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

SAMM Step 3 - Set the target

A

Define the target
Set or update the target by identifying which activities your organization should implement ideally. Typically this will include more lower-level than higher-level activities. Predefined roadmap templates can be used as a source for inspiration. Ensure that the total set of selected activities makes sense and take into account dependencies between activities.

Estimate overall impact

Estimate the impact of the chosen target on the organization. Try to express in budgetary arguments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

SAMM Step 4 - Define the plan

A

Determine change schedule
Choose a realistic change strategy in terms of number and duration of phases. A typical roadmap consists of 4-6 phases of 3 to 12 months.

Develop / Update the roadmap plan

Distribute the implementation of additional activities over the different roadmap phases, taking into account the effort required to implement them.. Try to balance the implementation effort over the different periods, and take dependencies between activities into account

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

SAMM Step 5 - Implement

A

Implement activities
Implement all activities that are part of this period. Consider their impact on processes, people, knowledge and tools. The SAMM model contains prescriptive advice on how to do this. OWASP projects may help to facilitate this.

17
Q

SAMM Step 6 - Roll out

A

Evangelize Improvements
Make the steps and improvements visible for everyone involved by organizing training and communicating.

Measure effectiveness

Measure the adoption and effectiveness of implemented improvements by analyzing usage and impact.

18
Q

Secure SDLC processes

A

A Secure SDLC process ensures that security assurance activities such as penetration testing, code review, and architecture analysis are an integral part of the development effort.

19
Q

primary advantages of pursuing an Secure SDLC approach are:

A

More secure software as security is a continuous concern
Awareness of security considerations by stakeholders
Early detection of flaws in the system
Cost reduction as a result of early detection and resolution of issues
Overall reduction of intrinsic business risks for the organization