<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Michaelbester</id>
		<title>OWASP - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Michaelbester"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Michaelbester"/>
		<updated>2026-06-02T03:03:17Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=REST_Assessment_Cheat_Sheet&amp;diff=226298</id>
		<title>REST Assessment Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=REST_Assessment_Cheat_Sheet&amp;diff=226298"/>
				<updated>2017-02-13T09:41:17Z</updated>
		
		<summary type="html">&lt;p&gt;Michaelbester: updated the link to: RESTful services - web security blind spot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; __NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Cheatsheets-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}''' &lt;br /&gt;
= About RESTful Web Services  =&lt;br /&gt;
 __TOC__{{TOC hidden}}&lt;br /&gt;
&lt;br /&gt;
Web Services are an implementation of web technology used for machine to machine communication. As such they are used for Inter application communication, Web 2.0 and Mashups and by desktop and mobile applications to call a server. RESTful web services (often called simply REST) are a light weight variant of Web Services based on the RESTful design pattern. In practice RESTful web services utilizes HTTP requests that are similar to regular HTTP calls in contrast with other Web Services technologies such as SOAP which utilizes a complex protocol.&lt;br /&gt;
&lt;br /&gt;
= Key relevant properties of RESTful web services =&lt;br /&gt;
* Use of HTTP methods (GET, POST, PUT and DELETE) as the primary verb for the requested operation.&lt;br /&gt;
* None standard parameters specifications:&lt;br /&gt;
** As part of the URL&lt;br /&gt;
** In headers&lt;br /&gt;
* Structured parameters and responses using JSON or XML in a parameter values, request body or response body. Those are required to communicate machine useful information.&lt;br /&gt;
* Custom authentication and session management, often utilizing custom security tokens: this is needed as machine to machine communication does not allow for login sequences.&lt;br /&gt;
* Lack of formal documentation. A [http://www.w3.org/Submission/wadl/ proposed standard for describing RESTful web services called WADL] was submitted by Sun Microsystems but was never officially adapted. &lt;br /&gt;
&lt;br /&gt;
= The challenge of security testing RESTful web services =&lt;br /&gt;
* Inspecting the application does not reveal the attack surface, I.e. the URLs and parameter structure used by the RESTful web service. The reasons are:&lt;br /&gt;
** No application utilizes all the available functions and parameters exposed by the service &lt;br /&gt;
** Those used are often activated dynamically by client side code and not as links in pages.&lt;br /&gt;
** The client application is often not a web application and does not allow inspection of the activating link or even relevant code. &lt;br /&gt;
* The parameters are none standard making it hard to determine what is just part of the URL or a constant header and what is a parameter worth fuzzing.&lt;br /&gt;
* As a machine interface the number of parameters used can be very large, for example a JSON structure may include dozens of parameters. Fuzzing each one significantly lengthen the time required for testing.&lt;br /&gt;
* Custom authentication mechanisms require reverse engineering and make popular tools not useful as they cannot track a login session.&lt;br /&gt;
&lt;br /&gt;
= How to pen test a RESTful web service? =&lt;br /&gt;
; Determine the attack surface through documentation - RESTful pen testing might be better off if some level of white box testing is allowed and you can get information about the service. This information will ensure fuller coverage of the attack surface. Such information to look for:&lt;br /&gt;
* Formal service description - While for other types of web services such as SOAP a formal description, usually in WSDL is often available, this is seldom the case for REST. That said, either WSDL 2.0 or WADL can describe REST and are sometimes used.&lt;br /&gt;
* A developer guide for using the service may be less detailed but will commonly be found, and might even be considered &amp;quot;black box&amp;quot;&lt;br /&gt;
* Application source or configuration - in many frameworks, including dotNet ,the REST service definition  might be easily obtained from configuration files rather than from code.&lt;br /&gt;
		&lt;br /&gt;
; Collect full requests using a proxy - while always an important pen testing step, this is more important for REST based applications as the application UI may not give clues on the actual attack surface. Note that the proxy must be able to collect full requests and not just URLs as REST services utilize more than just GET parameters.&lt;br /&gt;
	&lt;br /&gt;
; Analyze collected requests to determine the attack surface:&lt;br /&gt;
* Look for non-standard parameters:&lt;br /&gt;
** Look for abnormal HTTP headers - those would many times be header based parameters. &lt;br /&gt;
** Determine if a URL segment has a repeating pattern across URLs. Such patterns can include a date, a number or an ID like string and indicate that the URL segment is a URL embedded parameter. For example: http://server/srv/2013-10-21/use.php&lt;br /&gt;
** Look for structured parameter values - those may be JSON, XML or a non-standard structure. &lt;br /&gt;
** If the last element of a URL does not have an extension, it may be a parameter. This is especially true if the application technology normally uses extensions or if a previous segment does have an extension. For example: http://server/svc/Grid.asmx/GetRelatedListItems&lt;br /&gt;
** Look for highly varying URL segments - a single URL segment that has many values may be parameter and not a physical directory. For example if the URL http://server/src/XXXX/page repeats with hundreds of value for XXXX, chances XXXX is a parameter.&lt;br /&gt;
; Verify non-standard parameters: in some cases (but not all), setting the value of a URL segment suspected of being a parameter to a value expected to be invalid can help determine if it is a path elements of a parameter. If a path element, the web server will return a 404 message, while for an invalid value to a parameter the answer would be an application level message as the value is legal at the web server level.&lt;br /&gt;
			&lt;br /&gt;
; Analyzing collected requests to optimize fuzzing - after identifying potential parameters to fuzz, analyze the collected values for each to determine -&lt;br /&gt;
* Valid vs. invalid values, so that fuzzing can focus on marginal invalid values. For example sending &amp;quot;0&amp;quot; for a value found to be always a positive integer.&lt;br /&gt;
* Sequences allowing to fuzz beyond the range presumably allocated to the current user.&lt;br /&gt;
&lt;br /&gt;
; Lastly, when fuzzing, don't forget to emulate the authentication mechanism used.&lt;br /&gt;
&lt;br /&gt;
= Related Resources =&lt;br /&gt;
* [[REST Security Cheat Sheet]] - the other side of this cheat sheet&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://xiom.com/2016/10/31/restful-services-web-security-blind-spot/ RESTful services, web security blind spot] - a presentation (including video) elaborating on most of the topics on this cheat sheet. &lt;br /&gt;
&lt;br /&gt;
= Authors and Primary Editors  =&lt;br /&gt;
&lt;br /&gt;
Ofer Shezaf - ofer@shezaf.com&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other Cheatsheets ==&lt;br /&gt;
&lt;br /&gt;
{{Cheatsheet_Navigation_Body}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Cheatsheets]]&lt;/div&gt;</summary>
		<author><name>Michaelbester</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Secure_SDLC_Cheat_Sheet&amp;diff=203219</id>
		<title>Secure SDLC Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Secure_SDLC_Cheat_Sheet&amp;diff=203219"/>
				<updated>2015-11-09T15:25:21Z</updated>
		
		<summary type="html">&lt;p&gt;Michaelbester: /* How to Apply */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DRAFT CHEAT SHEET - WORK IN PROGRESS =&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
&lt;br /&gt;
This cheat sheet provides a quick reference on the most important initiatives to build security into multiple parts of software development processes. This cheat sheet is based on the OWASP Software Assurance Maturity Model (SAMM) which can be integrated into any existing SDLC. &lt;br /&gt;
&lt;br /&gt;
SAMM is based around a set of 12 security practices, which are grouped into 4 business functions. Every security practice contains a set of activities, structured into 3 maturity levels. The activities on a lower maturity level are typically easier to execute and require less formalization than the ones on a higher maturity level. &lt;br /&gt;
&lt;br /&gt;
The structure and setup of the '''SAMM maturity model''' are made to support:&lt;br /&gt;
# The '''assessment''' of the current software assurance posture &lt;br /&gt;
# The definition of the '''strategy''' (i.e. the target) that the organization should take &lt;br /&gt;
# The formulation of an implementation '''roadmap''' of how to get there and &lt;br /&gt;
# Prescriptive advice on how to '''implement''' particular activities.&lt;br /&gt;
&lt;br /&gt;
In that sense, the value of SAMM lies in providing a means to know where your organization is on its journey towards software assurance, and to understand what is recommended to move to a next level of maturity. Note that SAMM does not insist that all organizations achieve maturity level 3 in every category. Indeed, you determine the target maturity level for each Security Practice that is the best fit for your organization and its needs. SAMM provides a number of templates for typical organizations to this end, but you can adapt these as you see fit.&lt;br /&gt;
&lt;br /&gt;
= How to Apply =&lt;br /&gt;
&lt;br /&gt;
A typical approach of using SAMM in an organization is as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Step&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Purpose&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Activities&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Resources&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Best Practices&lt;br /&gt;
|-&lt;br /&gt;
| Step 1 - '''Assess'''&lt;br /&gt;
| Ensure a proper start of the project &lt;br /&gt;
| '''Define the scope''' &lt;br /&gt;
Set the target of the effort (The entire enterprise, a particular application or project or team etc.)&lt;br /&gt;
&lt;br /&gt;
'''Identify Stakeholders'''&lt;br /&gt;
&lt;br /&gt;
Ensure that important stakeholders supposed to support and execute the project are identified and well aligned&lt;br /&gt;
&lt;br /&gt;
'''Spread the word'''&lt;br /&gt;
&lt;br /&gt;
Inform people about the initiative and provide them with information to understand what you will be doing&lt;br /&gt;
| '''Consider involving at least:'''&lt;br /&gt;
* Executive Sponsor&lt;br /&gt;
* Security Team &lt;br /&gt;
* Developers&lt;br /&gt;
* Architects &lt;br /&gt;
* Business Owners&lt;br /&gt;
* QA Testers&lt;br /&gt;
* Managers&lt;br /&gt;
&lt;br /&gt;
The OpenSAMM main site: http://www.opensamm.org/&lt;br /&gt;
&lt;br /&gt;
The model in .pdf: http://www.opensamm.org/&lt;br /&gt;
| Pre-screen software development maturity to have realistic expectations The smaller the scope, the easier the exercise&lt;br /&gt;
|-&lt;br /&gt;
| Step 2 - '''Assess'''&lt;br /&gt;
| Identify and understand the maturity of your chosen scope in each of the 12 software security practices&lt;br /&gt;
| '''Evaluate current practices'''&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''Determine maturity level'''&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
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.  &lt;br /&gt;
| The OpenSAMM toolbox http://LINK&lt;br /&gt;
&lt;br /&gt;
Online Self Assessment Tool&lt;br /&gt;
&lt;br /&gt;
https://ssa.asteriskinfosec.com.au&lt;br /&gt;
&lt;br /&gt;
Both of these resources provide you with:&lt;br /&gt;
* Assessment questions&lt;br /&gt;
* Maturity level calculation&lt;br /&gt;
| Ensure consistent assessment for different stakeholders and teams by using the same questions and interviewer &lt;br /&gt;
Consider using different formats to gather data (e.g., workshops vs. interviews.&lt;br /&gt;
Ensure interviewees understand  the particularities of activities.&lt;br /&gt;
Understand which activities are not applicable to the organization and take this into account in the overall scoring.&lt;br /&gt;
Anticipate/document  whether you plan to award partial credit, or just  document various judgement calls.&lt;br /&gt;
Repeat questions to several people to improve the assessment quality Consider making interviews anonymous to ensure honesty Don’t take questions too literally)&lt;br /&gt;
|-&lt;br /&gt;
| Step 3 - '''Set the target'''&lt;br /&gt;
| Develop a target score that you can use as a measuring stick to guide you to act on the “most important” activities for your situation&lt;br /&gt;
| '''Define the target'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''Estimate overall impact'''&lt;br /&gt;
&lt;br /&gt;
Estimate the impact of the chosen target on the organization. Try to express in budgetary arguments. &lt;br /&gt;
| See the How-To-Guide for  predefined templates Software Assurance Maturity Model (SAMM) Roadmap Chart Worksheet (part of the OpenSAMM Benchmarking as a comparative source)&lt;br /&gt;
| Take into account the organisation’s risk profile Respect dependencies between activities As a rough measure, the overall impact of a software assurance effort is estimated at 5 to 10% of the total development cost. &lt;br /&gt;
|-&lt;br /&gt;
| Step 4 - '''Define the plan'''&lt;br /&gt;
| Develop or update your plan to take your organization to the next level&lt;br /&gt;
| '''Determine change schedule'''&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Develop / Update the roadmap plan'''&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
| Software Assurance Maturity Model : A guide to building security into software development page 33: &lt;br /&gt;
http://www.opensamm.org/&lt;br /&gt;
&lt;br /&gt;
Project Plan&lt;br /&gt;
http://www.opensamm.org/downloads/&lt;br /&gt;
| Identify quick wins and plan them early on Start with awareness/training Adapt to coming release cycles / key projects&lt;br /&gt;
|-&lt;br /&gt;
| Step 5 - '''Implement'''&lt;br /&gt;
| Work the plan&lt;br /&gt;
| '''Implement activities'''&lt;br /&gt;
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&lt;br /&gt;
this.&lt;br /&gt;
| Useful OWASP resources per activity are described at https://www.owasp.org&lt;br /&gt;
| Treat legacy software separately. Do not mandate migration unless really important. Avoid operational bottle-necks (in particular for the security team)&lt;br /&gt;
|- &lt;br /&gt;
| Step 6 - '''Roll out'''&lt;br /&gt;
| Ensure that improvements are available and effectively used within the organization&lt;br /&gt;
| '''Evangelize Improvements'''&lt;br /&gt;
Make the steps and improvements visible for everyone involved by organizing training and communicating.&lt;br /&gt;
&lt;br /&gt;
'''Measure effectiveness'''&lt;br /&gt;
&lt;br /&gt;
Measure the adoption and effectiveness of implemented improvements by analyzing usage and impact.&lt;br /&gt;
|&lt;br /&gt;
| Categorize applications according to their impact on the organization. Focus on high-impact applications. Use team champions to spread new activities throughout the organization&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As part of a quick start effort, the first four phases (preparation, assess, setting the target and defining the plan) can be executed by a single person in a limited amount of time (1 to 2 days). Making sure that this is  supported in the organization, as well as the implementation and roll-out phases typically require much more time to execute.&lt;br /&gt;
&lt;br /&gt;
= Final Notes =&lt;br /&gt;
The best way to grasp SAMM is to start using it. This document has presented a number of concrete steps and supportive material to execute these. Now it’s your turn. We warmly invite you to spend a day or two on following  the first steps, and you will quickly understand and appreciate the added value of the model. Enjoy! Suggestions for improvements are very welcome. And if you’re interested, consider to join the mailinglist or become part of the OpenSAMM community&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Cheatsheet_Navigation}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Cheatsheets]] [[Category:OWASP_Builders]]&lt;/div&gt;</summary>
		<author><name>Michaelbester</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Secure_SDLC_Cheat_Sheet&amp;diff=203218</id>
		<title>Secure SDLC Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Secure_SDLC_Cheat_Sheet&amp;diff=203218"/>
				<updated>2015-11-09T15:24:21Z</updated>
		
		<summary type="html">&lt;p&gt;Michaelbester: /* Background */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DRAFT CHEAT SHEET - WORK IN PROGRESS =&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
&lt;br /&gt;
This cheat sheet provides a quick reference on the most important initiatives to build security into multiple parts of software development processes. This cheat sheet is based on the OWASP Software Assurance Maturity Model (SAMM) which can be integrated into any existing SDLC. &lt;br /&gt;
&lt;br /&gt;
SAMM is based around a set of 12 security practices, which are grouped into 4 business functions. Every security practice contains a set of activities, structured into 3 maturity levels. The activities on a lower maturity level are typically easier to execute and require less formalization than the ones on a higher maturity level. &lt;br /&gt;
&lt;br /&gt;
The structure and setup of the '''SAMM maturity model''' are made to support:&lt;br /&gt;
# The '''assessment''' of the current software assurance posture &lt;br /&gt;
# The definition of the '''strategy''' (i.e. the target) that the organization should take &lt;br /&gt;
# The formulation of an implementation '''roadmap''' of how to get there and &lt;br /&gt;
# Prescriptive advice on how to '''implement''' particular activities.&lt;br /&gt;
&lt;br /&gt;
In that sense, the value of SAMM lies in providing a means to know where your organization is on its journey towards software assurance, and to understand what is recommended to move to a next level of maturity. Note that SAMM does not insist that all organizations achieve maturity level 3 in every category. Indeed, you determine the target maturity level for each Security Practice that is the best fit for your organization and its needs. SAMM provides a number of templates for typical organizations to this end, but you can adapt these as you see fit.&lt;br /&gt;
&lt;br /&gt;
= How to Apply =&lt;br /&gt;
&lt;br /&gt;
A typical approach of using SAMM in an organization is as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Step&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Purpose&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Activities&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Resources&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Best Practices&lt;br /&gt;
|-&lt;br /&gt;
| Step 1 - '''Assess'''&lt;br /&gt;
| Ensure a proper start of the project &lt;br /&gt;
| '''Define the scope''' &lt;br /&gt;
Set the target of the effort (The entire enterprise, a particular application or project or team etc.)&lt;br /&gt;
&lt;br /&gt;
'''Identify Stakeholders'''&lt;br /&gt;
Ensure that important stakeholders supposed to support and execute the project are identified and well aligned&lt;br /&gt;
&lt;br /&gt;
'''Spread the word'''&lt;br /&gt;
Inform people about the initiative and provide them with information to understand what you will be doing&lt;br /&gt;
| '''Consider involving at least:'''&lt;br /&gt;
* Executive Sponsor&lt;br /&gt;
* Security Team &lt;br /&gt;
* Developers&lt;br /&gt;
* Architects &lt;br /&gt;
* Business Owners&lt;br /&gt;
* QA Testers&lt;br /&gt;
* Managers&lt;br /&gt;
&lt;br /&gt;
The OpenSAMM main site: http://www.opensamm.org/&lt;br /&gt;
&lt;br /&gt;
The model in .pdf: http://www.opensamm.org/&lt;br /&gt;
| Pre-screen software development maturity to have realistic expectations The smaller the scope, the easier the exercise&lt;br /&gt;
|-&lt;br /&gt;
| Step 2 - '''Assess'''&lt;br /&gt;
| Identify and understand the maturity of your chosen scope in each of the 12 software security practices&lt;br /&gt;
| '''Evaluate current practices'''&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''Determine maturity level'''&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
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.  &lt;br /&gt;
| The OpenSAMM toolbox http://LINK&lt;br /&gt;
&lt;br /&gt;
Online Self Assessment Tool&lt;br /&gt;
&lt;br /&gt;
https://ssa.asteriskinfosec.com.au&lt;br /&gt;
&lt;br /&gt;
Both of these resources provide you with:&lt;br /&gt;
* Assessment questions&lt;br /&gt;
* Maturity level calculation&lt;br /&gt;
| Ensure consistent assessment for different stakeholders and teams by using the same questions and interviewer &lt;br /&gt;
Consider using different formats to gather data (e.g., workshops vs. interviews.&lt;br /&gt;
Ensure interviewees understand  the particularities of activities.&lt;br /&gt;
Understand which activities are not applicable to the organization and take this into account in the overall scoring.&lt;br /&gt;
Anticipate/document  whether you plan to award partial credit, or just  document various judgement calls.&lt;br /&gt;
Repeat questions to several people to improve the assessment quality Consider making interviews anonymous to ensure honesty Don’t take questions too literally)&lt;br /&gt;
|-&lt;br /&gt;
| Step 3 - '''Set the target'''&lt;br /&gt;
| Develop a target score that you can use as a measuring stick to guide you to act on the “most important” activities for your situation&lt;br /&gt;
| '''Define the target'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''Estimate overall impact'''&lt;br /&gt;
&lt;br /&gt;
Estimate the impact of the chosen target on the organization. Try to express in budgetary arguments. &lt;br /&gt;
| See the How-To-Guide for  predefined templates Software Assurance Maturity Model (SAMM) Roadmap Chart Worksheet (part of the OpenSAMM Benchmarking as a comparative source)&lt;br /&gt;
| Take into account the organisation’s risk profile Respect dependencies between activities As a rough measure, the overall impact of a software assurance effort is estimated at 5 to 10% of the total development cost. &lt;br /&gt;
|-&lt;br /&gt;
| Step 4 - '''Define the plan'''&lt;br /&gt;
| Develop or update your plan to take your organization to the next level&lt;br /&gt;
| '''Determine change schedule'''&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Develop / Update the roadmap plan'''&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
| Software Assurance Maturity Model : A guide to building security into software development page 33: &lt;br /&gt;
http://www.opensamm.org/&lt;br /&gt;
&lt;br /&gt;
Project Plan&lt;br /&gt;
http://www.opensamm.org/downloads/&lt;br /&gt;
| Identify quick wins and plan them early on Start with awareness/training Adapt to coming release cycles / key projects&lt;br /&gt;
|-&lt;br /&gt;
| Step 5 - '''Implement'''&lt;br /&gt;
| Work the plan&lt;br /&gt;
| '''Implement activities'''&lt;br /&gt;
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&lt;br /&gt;
this.&lt;br /&gt;
| Useful OWASP resources per activity are described at https://www.owasp.org&lt;br /&gt;
| Treat legacy software separately. Do not mandate migration unless really important. Avoid operational bottle-necks (in particular for the security team)&lt;br /&gt;
|- &lt;br /&gt;
| Step 6 - '''Roll out'''&lt;br /&gt;
| Ensure that improvements are available and effectively used within the organization&lt;br /&gt;
| '''Evangelize Improvements'''&lt;br /&gt;
Make the steps and improvements visible for everyone involved by organizing training and communicating.&lt;br /&gt;
&lt;br /&gt;
'''Measure effectiveness'''&lt;br /&gt;
&lt;br /&gt;
Measure the adoption and effectiveness of implemented improvements by analyzing usage and impact.&lt;br /&gt;
|&lt;br /&gt;
| Categorize applications according to their impact on the organization. Focus on high-impact applications. Use team champions to spread new activities throughout the organization&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As part of a quick start effort, the first four phases (preparation, assess, setting the target and defining the plan) can be executed by a single person in a limited amount of time (1 to 2 days). Making sure that this is  supported in the organization, as well as the implementation and roll-out phases typically require much more time to execute.&lt;br /&gt;
&lt;br /&gt;
= Final Notes =&lt;br /&gt;
The best way to grasp SAMM is to start using it. This document has presented a number of concrete steps and supportive material to execute these. Now it’s your turn. We warmly invite you to spend a day or two on following  the first steps, and you will quickly understand and appreciate the added value of the model. Enjoy! Suggestions for improvements are very welcome. And if you’re interested, consider to join the mailinglist or become part of the OpenSAMM community&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Cheatsheet_Navigation}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Cheatsheets]] [[Category:OWASP_Builders]]&lt;/div&gt;</summary>
		<author><name>Michaelbester</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Secure_SDLC_Cheat_Sheet&amp;diff=202978</id>
		<title>Secure SDLC Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Secure_SDLC_Cheat_Sheet&amp;diff=202978"/>
				<updated>2015-11-02T18:00:32Z</updated>
		
		<summary type="html">&lt;p&gt;Michaelbester: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DRAFT CHEAT SHEET - WORK IN PROGRESS =&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
&lt;br /&gt;
This cheat sheet provides a quick reference on the most important initiatives to build security into multiple parts of software development processes. This cheat sheet is based on the OWASP Software Assurance Maturity Model (SAMM) which can be integrated into any existing SDLC. &lt;br /&gt;
&lt;br /&gt;
SAMM is based around a set of 12 security practices, which are grouped into 4 business functions. Every security practice contains a set of activities, structured into 3 maturity levels. The activities on a lower maturity level are typically easier to execute and require less formalization than the ones on a higher maturity level. &lt;br /&gt;
&lt;br /&gt;
The structure and setup of the '''SAMM maturity model''' are made to support (i) the '''assessment''' of the current software assurance posture, (ii) the definition of the '''strategy''' (i.e. the target) that the organization should take, (iii) the formulation of an implementation '''roadmap''' of how to get there and (iv) prescriptive advice on how to '''implement''' particular activities.&lt;br /&gt;
&lt;br /&gt;
In that sense, the value of SAMM lies in providing a means to know where your organization is on its journey towards software assurance, and to understand what is recommended to move to a next level of maturity. Note that SAMM does not insist that all organizations achieve maturity level 3 in every category. Indeed, you determine the target maturity level for each Security Practice that is the best fit for your organization and its needs. SAMM provides a number of templates for typical organizations to this end, but you can adapt these as you see fit. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= How to Apply =&lt;br /&gt;
&lt;br /&gt;
A typical approach of using SAMM in an organization is as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Step&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Purpose&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Activities&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Resources&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Best Practices&lt;br /&gt;
|-&lt;br /&gt;
| Step 1 - '''Assess'''&lt;br /&gt;
| Ensure a proper start of the project &lt;br /&gt;
| '''Define the scope''' &lt;br /&gt;
Set the target of the effort (The entire enterprise, a particular application or project or team etc.)&lt;br /&gt;
&lt;br /&gt;
'''Identify Stakeholders'''&lt;br /&gt;
Ensure that important stakeholders supposed to support and execute the project are identified and well aligned&lt;br /&gt;
&lt;br /&gt;
'''Spread the word'''&lt;br /&gt;
Inform people about the initiative and provide them with information to understand what you will be doing&lt;br /&gt;
| '''Consider involving at least:'''&lt;br /&gt;
* Executive Sponsor&lt;br /&gt;
* Security Team &lt;br /&gt;
* Developers&lt;br /&gt;
* Architects &lt;br /&gt;
* Business Owners&lt;br /&gt;
* QA Testers&lt;br /&gt;
* Managers&lt;br /&gt;
&lt;br /&gt;
The OpenSAMM main site: http://www.opensamm.org/&lt;br /&gt;
&lt;br /&gt;
The model in .pdf: http://www.opensamm.org/&lt;br /&gt;
| Pre-screen software development maturity to have realistic expectations The smaller the scope, the easier the exercise&lt;br /&gt;
|-&lt;br /&gt;
| Step 2 - '''Assess'''&lt;br /&gt;
| Identify and understand the maturity of your chosen scope in each of the 12 software security practices&lt;br /&gt;
| '''Evaluate current practices'''&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''Determine maturity level'''&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
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.  &lt;br /&gt;
| The OpenSAMM toolbox http://LINK&lt;br /&gt;
&lt;br /&gt;
Online Self Assessment Tool&lt;br /&gt;
&lt;br /&gt;
https://ssa.asteriskinfosec.com.au&lt;br /&gt;
&lt;br /&gt;
Both of these resources provide you with:&lt;br /&gt;
* Assessment questions&lt;br /&gt;
* Maturity level calculation&lt;br /&gt;
| Ensure consistent assessment for different stakeholders and teams by using the same questions and interviewer &lt;br /&gt;
Consider using different formats to gather data (e.g., workshops vs. interviews.&lt;br /&gt;
Ensure interviewees understand  the particularities of activities.&lt;br /&gt;
Understand which activities are not applicable to the organization and take this into account in the overall scoring.&lt;br /&gt;
Anticipate/document  whether you plan to award partial credit, or just  document various judgement calls.&lt;br /&gt;
Repeat questions to several people to improve the assessment quality Consider making interviews anonymous to ensure honesty Don’t take questions too literally)&lt;br /&gt;
|-&lt;br /&gt;
| Step 3 - '''Set the target'''&lt;br /&gt;
| Develop a target score that you can use as a measuring stick to guide you to act on the “most important” activities for your situation&lt;br /&gt;
| '''Define the target'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''Estimate overall impact'''&lt;br /&gt;
&lt;br /&gt;
Estimate the impact of the chosen target on the organization. Try to express in budgetary arguments. &lt;br /&gt;
| See the How-To-Guide for  predefined templates Software Assurance Maturity Model (SAMM) Roadmap Chart Worksheet (part of the OpenSAMM Benchmarking as a comparative source)&lt;br /&gt;
| Take into account the organisation’s risk profile Respect dependencies between activities As a rough measure, the overall impact of a software assurance effort is estimated at 5 to 10% of the total development cost. &lt;br /&gt;
|-&lt;br /&gt;
| Step 4 - '''Define the plan'''&lt;br /&gt;
| Develop or update your plan to take your organization to the next level&lt;br /&gt;
| '''Determine change schedule'''&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Develop / Update the roadmap plan'''&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
| Software Assurance Maturity Model : A guide to building security into software development page 33: &lt;br /&gt;
http://www.opensamm.org/&lt;br /&gt;
&lt;br /&gt;
Project Plan&lt;br /&gt;
http://www.opensamm.org/downloads/&lt;br /&gt;
| Identify quick wins and plan them early on Start with awareness/training Adapt to coming release cycles / key projects&lt;br /&gt;
|-&lt;br /&gt;
| Step 5 - '''Implement'''&lt;br /&gt;
| Work the plan&lt;br /&gt;
| '''Implement activities'''&lt;br /&gt;
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&lt;br /&gt;
this.&lt;br /&gt;
| Useful OWASP resources per activity are described at https://www.owasp.org&lt;br /&gt;
| Treat legacy software separately. Do not mandate migration unless really important. Avoid operational bottle-necks (in particular for the security team)&lt;br /&gt;
|- &lt;br /&gt;
| Step 6 - '''Roll out'''&lt;br /&gt;
| Ensure that improvements are available and effectively used within the organization&lt;br /&gt;
| '''Evangelize Improvements'''&lt;br /&gt;
Make the steps and improvements visible for everyone involved by organizing training and communicating.&lt;br /&gt;
&lt;br /&gt;
'''Measure effectiveness'''&lt;br /&gt;
&lt;br /&gt;
Measure the adoption and effectiveness of implemented improvements by analyzing usage and impact.&lt;br /&gt;
|&lt;br /&gt;
| Categorize applications according to their impact on the organization. Focus on high-impact applications. Use team champions to spread new activities throughout the organization&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As part of a quick start effort, the first four phases (preparation, assess, setting the target and defining the plan) can be executed by a single person in a limited amount of time (1 to 2 days). Making sure that this is  supported in the organization, as well as the implementation and roll-out phases typically require much more time to execute.&lt;br /&gt;
&lt;br /&gt;
= Final Notes =&lt;br /&gt;
The best way to grasp SAMM is to start using it. This document has presented a number of concrete steps and supportive material to execute these. Now it’s your turn. We warmly invite you to spend a day or two on following  the first steps, and you will quickly understand and appreciate the added value of the model. Enjoy! Suggestions for improvements are very welcome. And if you’re interested, consider to join the mailinglist or become part of the OpenSAMM community&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Cheatsheet_Navigation}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Cheatsheets]] [[Category:OWASP_Builders]]&lt;/div&gt;</summary>
		<author><name>Michaelbester</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Secure_SDLC_Cheat_Sheet&amp;diff=202977</id>
		<title>Secure SDLC Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Secure_SDLC_Cheat_Sheet&amp;diff=202977"/>
				<updated>2015-11-02T18:00:05Z</updated>
		
		<summary type="html">&lt;p&gt;Michaelbester: Made changes as per OPENSAMM v1.1 Quick Start guide.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DRAFT CHEAT SHEET - WORK IN PROGRESS =&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
&lt;br /&gt;
This cheat sheet provides a quick reference on the most important initiatives to build security into multiple parts of software development processes. This cheat sheet is based on the OWASP Software Assurance Maturity Model (SAMM) which can be integrated into any existing SDLC. &lt;br /&gt;
&lt;br /&gt;
SAMM is based around a set of 12 security practices, which are grouped into 4 business functions. Every security practice contains a set of activities, structured into 3 maturity levels. The activities on a lower maturity level are typically easier to execute and require less formalization than the ones on a higher maturity level. &lt;br /&gt;
&lt;br /&gt;
The structure and setup of the '''SAMM maturity model''' are made to support (i) the '''assessment''' of the current software assurance posture, (ii) the definition of the '''strategy''' (i.e. the target) that the organization should take, (iii) the formulation of an implementation '''roadmap''' of how to get there and (iv) prescriptive advice on how to '''implement''' particular activities.&lt;br /&gt;
&lt;br /&gt;
In that sense, the value of SAMM lies in providing a means to know where your organization is on its journey towards software assurance, and to understand what is recommended to move to a next level of maturity. Note that SAMM does not insist that all organizations achieve maturity level 3 in every category. Indeed, you determine the target maturity level for each Security Practice that is the best fit for your organization and its needs. SAMM provides a number of templates for typical organizations to this end, but you can adapt these as you see fit. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= How to Apply =&lt;br /&gt;
&lt;br /&gt;
A typical approach of using SAMM in an organization is as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Step&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Purpose&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Activities&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Resources&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Best Practices&lt;br /&gt;
|-&lt;br /&gt;
| Step 1 - '''Assess'''&lt;br /&gt;
| Ensure a proper start of the project &lt;br /&gt;
| '''Define the scope''' &lt;br /&gt;
Set the target of the effort (The entire enterprise, a particular application or project or team etc.)&lt;br /&gt;
&lt;br /&gt;
'''Identify Stakeholders'''&lt;br /&gt;
Ensure that important stakeholders supposed to support and execute the project are identified and well aligned&lt;br /&gt;
&lt;br /&gt;
'''Spread the word'''&lt;br /&gt;
Inform people about the initiative and provide them with information to understand what you will be doing&lt;br /&gt;
| '''Consider involving at least:'''&lt;br /&gt;
* Executive Sponsor&lt;br /&gt;
* Security Team &lt;br /&gt;
* Developers&lt;br /&gt;
* Architects &lt;br /&gt;
* Business Owners&lt;br /&gt;
* QA Testers&lt;br /&gt;
* Managers&lt;br /&gt;
&lt;br /&gt;
The OpenSAMM main site: http://www.opensamm.org/&lt;br /&gt;
&lt;br /&gt;
The model in .pdf: http://www.opensamm.org/&lt;br /&gt;
| Pre-screen software development maturity to have realistic expectations The smaller the scope, the easier the exercise&lt;br /&gt;
|-&lt;br /&gt;
| Step 2 - '''Assess'''&lt;br /&gt;
| Identify and understand the maturity of your chosen scope in each of the 12 software security practices&lt;br /&gt;
| '''Evaluate current practices'''&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''Determine maturity level'''&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
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.  &lt;br /&gt;
| The OpenSAMM toolbox http://LINK&lt;br /&gt;
&lt;br /&gt;
Online Self Assessment Tool&lt;br /&gt;
&lt;br /&gt;
https://ssa.asteriskinfosec.com.au&lt;br /&gt;
&lt;br /&gt;
Both of these resources provide you with:&lt;br /&gt;
* Assessment questions&lt;br /&gt;
* Maturity level calculation&lt;br /&gt;
| Ensure consistent assessment for different stakeholders and teams by using the same questions and interviewer &lt;br /&gt;
Consider using different formats to gather data (e.g., workshops vs. interviews.&lt;br /&gt;
Ensure interviewees understand  the particularities of activities.&lt;br /&gt;
Understand which activities are not applicable to the organization and take this into account in the overall scoring.&lt;br /&gt;
Anticipate/document  whether you plan to award partial credit, or just  document various judgement calls.&lt;br /&gt;
Repeat questions to several people to improve the assessment quality Consider making interviews anonymous to ensure honesty Don’t take questions too literally)&lt;br /&gt;
|-&lt;br /&gt;
| Step 3 - '''Set the target'''&lt;br /&gt;
| Develop a target score that you can use as a measuring stick to guide you to act on the “most important” activities for your situation&lt;br /&gt;
| '''Define the target'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''Estimate overall impact'''&lt;br /&gt;
&lt;br /&gt;
Estimate the impact of the chosen target on the organization. Try to express in budgetary arguments. &lt;br /&gt;
| See the How-To-Guide for  predefined templates Software Assurance Maturity Model (SAMM) Roadmap Chart Worksheet (part of the OpenSAMM Benchmarking as a comparative source)&lt;br /&gt;
| Take into account the organisation’s risk profile Respect dependencies between activities As a rough measure, the overall impact of a software assurance effort is estimated at 5 to 10% of the total development cost. &lt;br /&gt;
|-&lt;br /&gt;
| Step 4 - '''Define the plan'''&lt;br /&gt;
| Develop or update your plan to take your organization to the next level&lt;br /&gt;
| '''Determine change schedule'''&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Develop / Update the roadmap plan'''&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
| Software Assurance Maturity Model : A guide to building security into software development page 33: &lt;br /&gt;
http://www.opensamm.org/&lt;br /&gt;
&lt;br /&gt;
Project Plan&lt;br /&gt;
http://www.opensamm.org/downloads/&lt;br /&gt;
| Identify quick wins and plan them early on Start with awareness/training Adapt to coming release cycles / key projects&lt;br /&gt;
|-&lt;br /&gt;
| Step 5 - '''Implement'''&lt;br /&gt;
| Work the plan&lt;br /&gt;
| '''Implement activities'''&lt;br /&gt;
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&lt;br /&gt;
this.&lt;br /&gt;
| Useful OWASP resources per activity are described at https://www.owasp.org&lt;br /&gt;
| Treat legacy software separately. Do not mandate migration unless really important. Avoid operational bottle-necks (in particular for the security team)&lt;br /&gt;
|- &lt;br /&gt;
| Step 6 - '''Roll out'''&lt;br /&gt;
| Ensure that improvements are available and effectively used within the organization&lt;br /&gt;
| '''Evangelize Improvements'''&lt;br /&gt;
Make the steps and improvements visible for everyone involved by organizing training and communicating.&lt;br /&gt;
&lt;br /&gt;
'''Measure effectiveness'''&lt;br /&gt;
&lt;br /&gt;
Measure the adoption and effectiveness of implemented improvements by analyzing usage and impact.&lt;br /&gt;
|&lt;br /&gt;
| Categorize applications according to their impact on the organization. Focus on high-impact applications. Use team champions to spread new activities throughout the organization&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As part of a quick start effort, the first four phases (preparation, assess, setting the target and defining the plan) can be executed by a single person in a limited amount of time (1 to 2 days). Making sure that this is  supported in the organization, as well as the implementation and roll-out phases typically require much more time to execute.&lt;br /&gt;
&lt;br /&gt;
= Final Notes =&lt;br /&gt;
The best way to grasp SAMM is to start using it. This document has presented a number of concrete steps and supportive material to execute these. Now it’s your turn. We warmly invite you to spend a day or two on following  the first steps, and you will quickly understand and appreciate the added value of the model. Enjoy! Suggestions for improvements are very welcome. And if you’re interested, consider to join the mailinglist or become part of the OpenSAMM community&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Cheatsheet_Navigation}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Cheatsheets]] [[Category:OWASP_Builders]]&lt;/div&gt;</summary>
		<author><name>Michaelbester</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Secure_SDLC_Cheat_Sheet&amp;diff=202974</id>
		<title>Secure SDLC Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Secure_SDLC_Cheat_Sheet&amp;diff=202974"/>
				<updated>2015-11-02T17:18:49Z</updated>
		
		<summary type="html">&lt;p&gt;Michaelbester: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DRAFT CHEAT SHEET - WORK IN PROGRESS =&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This cheat sheet provides a quick reference on the most important initiatives to build security into multiple parts of software development processes. This cheat sheet is based on the OWASP Software Assurance Maturity Model (SAMM) which can be integrated into any existing SDLC. &lt;br /&gt;
&lt;br /&gt;
SAMM is based around a set of 12 security practices, which are grouped into 4 business functions. Every security practice contains a set of activities, structured into 3 maturity levels. The activities on a lower maturity level are typically easier to execute and require less formalization than the ones on a higher maturity level.&lt;br /&gt;
&lt;br /&gt;
= Purpose =&lt;br /&gt;
&lt;br /&gt;
More mature organisations undertake software assurance activities across a wider spectrum of steps, and generally earlier, than less mature organisations. This has been shown to identify more vulnerabilities sooner, have then corrected at less cost, prevent them being re-introduced more effectively, reduce the number of vulnerabilities in production environments, and reduce the number of security incidents including data breaches.&lt;br /&gt;
 &lt;br /&gt;
...???&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Implementing a secure software development life cycle (S-SDLC) =&lt;br /&gt;
&lt;br /&gt;
== Development methodology ==&lt;br /&gt;
&lt;br /&gt;
Waterfall, iterative, agile...???&lt;br /&gt;
&lt;br /&gt;
Whatever your development methodology, organizational culture, types of application and risk profile, this document provides a technology agnostic summary of recommendations to include within your own S-SDLC.&lt;br /&gt;
&lt;br /&gt;
== Do these first ==&lt;br /&gt;
&lt;br /&gt;
The items summarize the activities detailed in Open SAMM to meet level 1 maturity. It may not be appropriate to aim for level 1 across all these business practices and each organization should review the specific objectives, activities and expected results to determine how and what items to include in their own programmes. The presentation ordering is not significant.&lt;br /&gt;
&lt;br /&gt;
=== Education &amp;amp; guidance ===&lt;br /&gt;
&lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
=== Security requirements ===&lt;br /&gt;
&lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
=== Code review ===&lt;br /&gt;
&lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A Plan to Achieve Level 1 Maturity ==&lt;br /&gt;
&lt;br /&gt;
To have a well-rounded S-SDLC that builds security into many stages of the development lifecycle, consider whether these SAMM Level 1 practices can all be covered.&lt;br /&gt;
&lt;br /&gt;
=== Strategy &amp;amp; metrics ===&lt;br /&gt;
&lt;br /&gt;
* Assess and rank how applications add risk&lt;br /&gt;
* Implement a software assurance programme and build a roadmap for future improvement&lt;br /&gt;
* Promote understanding of the programme&lt;br /&gt;
&lt;br /&gt;
=== Policy &amp;amp; compliance ===&lt;br /&gt;
&lt;br /&gt;
* Research and identify software &amp;amp; data compliance requirements&lt;br /&gt;
* Create guidance on how to meet the mandatory compliance requirements&lt;br /&gt;
* Ensure the guidance is used by project teams&lt;br /&gt;
* Review projects against the compliance requirements&lt;br /&gt;
* Regularly review and update the requirements and guidance&lt;br /&gt;
&lt;br /&gt;
=== Education &amp;amp; guidance ===&lt;br /&gt;
&lt;br /&gt;
* Provide developers high-level technical security awareness training&lt;br /&gt;
* Create technology-specific best-practice secure development guidance&lt;br /&gt;
* Brief existing staff and new starters about the guidance and its expected usage&lt;br /&gt;
* Undertake qualitative testing of security guidance knowledge&lt;br /&gt;
&lt;br /&gt;
=== Threat assessment ===&lt;br /&gt;
&lt;br /&gt;
* Examine and document the likely threats to the organisation and each application type&lt;br /&gt;
* Build threat models&lt;br /&gt;
* Develop attacker profiles defining their type and motivations&lt;br /&gt;
&lt;br /&gt;
=== Security requirements ===&lt;br /&gt;
&lt;br /&gt;
* Review projects and specify security requirements based on functionality&lt;br /&gt;
* Analyze the compliance and best-practice security guidance documents to derive additional requirements&lt;br /&gt;
* Ensure requirements are specific, measurable and reasonable&lt;br /&gt;
&lt;br /&gt;
=== Secure architecture ===&lt;br /&gt;
&lt;br /&gt;
* Create and maintain a list of recommended software frameworks, services and other software components&lt;br /&gt;
* Develop a list of guiding security principles as a checklist against detailed designs&lt;br /&gt;
* Distribute, promote and apply the design principles to new projects&lt;br /&gt;
&lt;br /&gt;
=== Design review ===&lt;br /&gt;
&lt;br /&gt;
* Identify the entry points (attack surface/defense perimeter) in software designs&lt;br /&gt;
* Analyze software designs against the known security risks&lt;br /&gt;
&lt;br /&gt;
=== Code review ===&lt;br /&gt;
&lt;br /&gt;
* Create code review checklists based on common problems&lt;br /&gt;
* Encourage the use of the checklists by each team member&lt;br /&gt;
* Review selected high-risk code more formally&lt;br /&gt;
* Consider utilizing automated code analysis tools for some checks&lt;br /&gt;
&lt;br /&gt;
=== Security testing ===&lt;br /&gt;
&lt;br /&gt;
* Specify security test cases based on known requirements and common vulnerabilities&lt;br /&gt;
* Perform application penetration testing before each major release&lt;br /&gt;
* Review test results and correct, or formally accept the risks of releasing with failed checks&lt;br /&gt;
&lt;br /&gt;
=== Vulnerability management ===&lt;br /&gt;
&lt;br /&gt;
* Define an application security point of contact for each project&lt;br /&gt;
* Create an informal security response team&lt;br /&gt;
* Develop an initial incident response process&lt;br /&gt;
&lt;br /&gt;
=== Environment hardening ===&lt;br /&gt;
&lt;br /&gt;
* Create and maintain specifications for application host environments&lt;br /&gt;
* Monitor sources for information about security upgrades and patches for all software supporting or within the applications&lt;br /&gt;
* Implement processes to test and apply critical security fixes&lt;br /&gt;
&lt;br /&gt;
=== Operational enablement ===&lt;br /&gt;
&lt;br /&gt;
* Record important software-specific knowledge that affects the deployed application's security&lt;br /&gt;
* Inform operators/users as appropriate of this understandable/actionable information&lt;br /&gt;
* Provide guidance on handling expected security-related alerts and error conditions&lt;br /&gt;
&lt;br /&gt;
== Do more ==&lt;br /&gt;
&lt;br /&gt;
Is level 1 the correct goal? Perhaps your organization is already doing more than these? Perhaps it should do more, or less. Read SAMM, and benchmark existing activities using the scorecard. Use the information resources listed below to help develop your own programme, guidance and tools.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Related articles =&lt;br /&gt;
&lt;br /&gt;
OWASP [http://www.opensamm.org/ Open Software Assurance Maturity Model (SAMM)] and [http://www.opensamm.org/download/ Downloads (Model, mappings, assessment templates, worksheet, project plan, tracking software, charts and graphics)]&lt;br /&gt;
&lt;br /&gt;
OWASP [https://www.owasp.org/index.php/Category:OWASP_CLASP_Project Comprehensive, Lightweight Application Security Process (CLASP)]&lt;br /&gt;
&lt;br /&gt;
OWASP [https://www.owasp.org/ Open Web Application Security Project (OWASP)], [https://www.owasp.org/index.php/OWASP_Secure_Coding_Practices_-_Quick_Reference_Guide Security requirements], [https://www.owasp.org/index.php/Cheat_Sheets Cheat sheets], [https://www.owasp.org/index.php/OWASP_Guide_Project Development Guide], [https://www.owasp.org/index.php/Category:OWASP_Code_Review_Project Code Review Guide], [https://www.owasp.org/index.php/OWASP_Testing_Project Testing Guide] , [https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project Application Security Verification Standard (ASVS)] and [https://www.owasp.org/index.php/Category:OWASP_Tool Tools]&lt;br /&gt;
&lt;br /&gt;
OWASP [https://www.owasp.org/index.php/OWASP_Podcast Application security podcast] and [https://www.owasp.org/index.php/OWASP_Appsec_Tutorial_Series AppSec Tutorial Series]&lt;br /&gt;
&lt;br /&gt;
BITS [http://www.bits.org/publications/security/BITSSoftwareAssurance0112.pdf Financial Services Roundtable BITS Software Assurance Framework]&lt;br /&gt;
&lt;br /&gt;
CMU [http://www.cert.org/secure-coding/secure.html Team Software Process for Secure Systems Development (TSP Secure)]&lt;br /&gt;
&lt;br /&gt;
DACS/IATAC [http://iac.dtic.mil/iatac/download/security.pdf Software Security Assurance State of the Art Report]&lt;br /&gt;
&lt;br /&gt;
ENISA [http://www.enisa.europa.eu/act/application-security/secure-software-engineering/secure-software-engineering-initiatives Secure Software Engineering Initiatives]&lt;br /&gt;
&lt;br /&gt;
ISO/IEC [http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=44378 ISO/IEC 27034 Application Security]&lt;br /&gt;
&lt;br /&gt;
NIST [http://csrc.nist.gov/publications/nistpubs/800-64-Rev2/SP800-64-Revision2.pdf SP 800-64 Rev2 Security Considerations in the Information System Development Life Cycle]&lt;br /&gt;
&lt;br /&gt;
SAFECode [http://www.safecode.org/publications/SAFECode_Agile_Dev_Security0712.pdf Practical Security Stories and Security Tasks for Agile Development Environments]&lt;br /&gt;
&lt;br /&gt;
US DoHS [https://buildsecurityin.us-cert.gov/bsi/home.html Building Security In] and [https://buildsecurityin.us-cert.gov/swa/resources.html Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
Other [http://www.sdlc.ws/ sdlc] and [http://www.sdlc.ws/software-testing-life-cycle-stlc-complete-tutorial/ Software Testing Life Cycle], [http://www.sdlc.ws/category/models/ sdlc models]&lt;br /&gt;
&lt;br /&gt;
Other [http://bsimm.com/ Building Security In Maturity Model (BSIMM)]&lt;br /&gt;
&lt;br /&gt;
Other [http://www.microsoft.com/security/sdl/default.aspx Microsoft Security Development Lifecycle (SDL)] and [http://go.microsoft.com/?linkid=9767361 Process guidance v5.1], [http://go.microsoft.com/?linkid=9708425 Simplified implementation]&lt;br /&gt;
&lt;br /&gt;
Other [http://www.oracle.com/us/support/assurance/index.html Oracle Software Security Assurance (OSSA)]&lt;br /&gt;
&lt;br /&gt;
= Authors and primary contributors =&lt;br /&gt;
&lt;br /&gt;
This cheat sheet is largely based on infortmation from OWASP SAMM v1.0 originally written by Pravir Chandra - chandra[at]owasp.org &lt;br /&gt;
&lt;br /&gt;
The cheat sheet was created by:&lt;br /&gt;
&lt;br /&gt;
Colin Watson - colin.watson[at]owasp.org &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Cheatsheet_Navigation}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Cheatsheets]] [[Category:OWASP_Builders]]&lt;/div&gt;</summary>
		<author><name>Michaelbester</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Secure_SDLC_Cheat_Sheet&amp;diff=201626</id>
		<title>Secure SDLC Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Secure_SDLC_Cheat_Sheet&amp;diff=201626"/>
				<updated>2015-10-05T11:48:02Z</updated>
		
		<summary type="html">&lt;p&gt;Michaelbester: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DRAFT CHEAT SHEET - WORK IN PROGRESS =&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This cheat sheet provides an &amp;quot;at a glance&amp;quot; quick reference on the most important initiatives to build security into multiple parts of software development processes. This cheat sheet is based on the OWASP Software Assurance Maturity Model (SAMM) which can be integrated into any existing SDLC. &lt;br /&gt;
&lt;br /&gt;
SAMM is based around a set of 12 security practices, which are grouped into 4 business functions. Every security practice contains a set of activities, structured into 3 maturity levels. The activities on a lower maturity level are typically easier to execute and require less formalization than the ones on a higher maturity level.&lt;br /&gt;
&lt;br /&gt;
= Purpose =&lt;br /&gt;
&lt;br /&gt;
More mature organisations undertake software assurance activities across a wider spectrum of steps, and generally earlier, than less mature organisations. This has been shown to identify more vulnerabilities sooner, have then corrected at less cost, prevent them being re-introduced more effectively, reduce the number of vulnerabilities in production environments, and reduce the number of security incidents including data breaches.&lt;br /&gt;
 &lt;br /&gt;
...???&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Implementing a secure software development life cycle (S-SDLC) =&lt;br /&gt;
&lt;br /&gt;
== Development methodology ==&lt;br /&gt;
&lt;br /&gt;
Waterfall, iterative, agile...???&lt;br /&gt;
&lt;br /&gt;
Whatever your development methodology, organizational culture, types of application and risk profile, this document provides a technology agnostic summary of recommendations to include within your own S-SDLC.&lt;br /&gt;
&lt;br /&gt;
== Do these first ==&lt;br /&gt;
&lt;br /&gt;
The items summarize the activities detailed in Open SAMM to meet level 1 maturity. It may not be appropriate to aim for level 1 across all these business practices and each organization should review the specific objectives, activities and expected results to determine how and what items to include in their own programmes. The presentation ordering is not significant.&lt;br /&gt;
&lt;br /&gt;
=== Education &amp;amp; guidance ===&lt;br /&gt;
&lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
=== Security requirements ===&lt;br /&gt;
&lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
=== Code review ===&lt;br /&gt;
&lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A Plan to Achieve Level 1 Maturity ==&lt;br /&gt;
&lt;br /&gt;
To have a well-rounded S-SDLC that builds security into many stages of the development lifecycle, consider whether these SAMM Level 1 practices can all be covered.&lt;br /&gt;
&lt;br /&gt;
=== Strategy &amp;amp; metrics ===&lt;br /&gt;
&lt;br /&gt;
* Assess and rank how applications add risk&lt;br /&gt;
* Implement a software assurance programme and build a roadmap for future improvement&lt;br /&gt;
* Promote understanding of the programme&lt;br /&gt;
&lt;br /&gt;
=== Policy &amp;amp; compliance ===&lt;br /&gt;
&lt;br /&gt;
* Research and identify software &amp;amp; data compliance requirements&lt;br /&gt;
* Create guidance on how to meet the mandatory compliance requirements&lt;br /&gt;
* Ensure the guidance is used by project teams&lt;br /&gt;
* Review projects against the compliance requirements&lt;br /&gt;
* Regularly review and update the requirements and guidance&lt;br /&gt;
&lt;br /&gt;
=== Education &amp;amp; guidance ===&lt;br /&gt;
&lt;br /&gt;
* Provide developers high-level technical security awareness training&lt;br /&gt;
* Create technology-specific best-practice secure development guidance&lt;br /&gt;
* Brief existing staff and new starters about the guidance and its expected usage&lt;br /&gt;
* Undertake qualitative testing of security guidance knowledge&lt;br /&gt;
&lt;br /&gt;
=== Threat assessment ===&lt;br /&gt;
&lt;br /&gt;
* Examine and document the likely threats to the organisation and each application type&lt;br /&gt;
* Build threat models&lt;br /&gt;
* Develop attacker profiles defining their type and motivations&lt;br /&gt;
&lt;br /&gt;
=== Security requirements ===&lt;br /&gt;
&lt;br /&gt;
* Review projects and specify security requirements based on functionality&lt;br /&gt;
* Analyze the compliance and best-practice security guidance documents to derive additional requirements&lt;br /&gt;
* Ensure requirements are specific, measurable and reasonable&lt;br /&gt;
&lt;br /&gt;
=== Secure architecture ===&lt;br /&gt;
&lt;br /&gt;
* Create and maintain a list of recommended software frameworks, services and other software components&lt;br /&gt;
* Develop a list of guiding security principles as a checklist against detailed designs&lt;br /&gt;
* Distribute, promote and apply the design principles to new projects&lt;br /&gt;
&lt;br /&gt;
=== Design review ===&lt;br /&gt;
&lt;br /&gt;
* Identify the entry points (attack surface/defense perimeter) in software designs&lt;br /&gt;
* Analyze software designs against the known security risks&lt;br /&gt;
&lt;br /&gt;
=== Code review ===&lt;br /&gt;
&lt;br /&gt;
* Create code review checklists based on common problems&lt;br /&gt;
* Encourage the use of the checklists by each team member&lt;br /&gt;
* Review selected high-risk code more formally&lt;br /&gt;
* Consider utilizing automated code analysis tools for some checks&lt;br /&gt;
&lt;br /&gt;
=== Security testing ===&lt;br /&gt;
&lt;br /&gt;
* Specify security test cases based on known requirements and common vulnerabilities&lt;br /&gt;
* Perform application penetration testing before each major release&lt;br /&gt;
* Review test results and correct, or formally accept the risks of releasing with failed checks&lt;br /&gt;
&lt;br /&gt;
=== Vulnerability management ===&lt;br /&gt;
&lt;br /&gt;
* Define an application security point of contact for each project&lt;br /&gt;
* Create an informal security response team&lt;br /&gt;
* Develop an initial incident response process&lt;br /&gt;
&lt;br /&gt;
=== Environment hardening ===&lt;br /&gt;
&lt;br /&gt;
* Create and maintain specifications for application host environments&lt;br /&gt;
* Monitor sources for information about security upgrades and patches for all software supporting or within the applications&lt;br /&gt;
* Implement processes to test and apply critical security fixes&lt;br /&gt;
&lt;br /&gt;
=== Operational enablement ===&lt;br /&gt;
&lt;br /&gt;
* Record important software-specific knowledge that affects the deployed application's security&lt;br /&gt;
* Inform operators/users as appropriate of this understandable/actionable information&lt;br /&gt;
* Provide guidance on handling expected security-related alerts and error conditions&lt;br /&gt;
&lt;br /&gt;
== Do more ==&lt;br /&gt;
&lt;br /&gt;
Is level 1 the correct goal? Perhaps your organization is already doing more than these? Perhaps it should do more, or less. Read SAMM, and benchmark existing activities using the scorecard. Use the information resources listed below to help develop your own programme, guidance and tools.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Related articles =&lt;br /&gt;
&lt;br /&gt;
OWASP [http://www.opensamm.org/ Open Software Assurance Maturity Model (SAMM)] and [http://www.opensamm.org/download/ Downloads (Model, mappings, assessment templates, worksheet, project plan, tracking software, charts and graphics)]&lt;br /&gt;
&lt;br /&gt;
OWASP [https://www.owasp.org/index.php/Category:OWASP_CLASP_Project Comprehensive, Lightweight Application Security Process (CLASP)]&lt;br /&gt;
&lt;br /&gt;
OWASP [https://www.owasp.org/ Open Web Application Security Project (OWASP)], [https://www.owasp.org/index.php/OWASP_Secure_Coding_Practices_-_Quick_Reference_Guide Security requirements], [https://www.owasp.org/index.php/Cheat_Sheets Cheat sheets], [https://www.owasp.org/index.php/OWASP_Guide_Project Development Guide], [https://www.owasp.org/index.php/Category:OWASP_Code_Review_Project Code Review Guide], [https://www.owasp.org/index.php/OWASP_Testing_Project Testing Guide] , [https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project Application Security Verification Standard (ASVS)] and [https://www.owasp.org/index.php/Category:OWASP_Tool Tools]&lt;br /&gt;
&lt;br /&gt;
OWASP [https://www.owasp.org/index.php/OWASP_Podcast Application security podcast] and [https://www.owasp.org/index.php/OWASP_Appsec_Tutorial_Series AppSec Tutorial Series]&lt;br /&gt;
&lt;br /&gt;
BITS [http://www.bits.org/publications/security/BITSSoftwareAssurance0112.pdf Financial Services Roundtable BITS Software Assurance Framework]&lt;br /&gt;
&lt;br /&gt;
CMU [http://www.cert.org/secure-coding/secure.html Team Software Process for Secure Systems Development (TSP Secure)]&lt;br /&gt;
&lt;br /&gt;
DACS/IATAC [http://iac.dtic.mil/iatac/download/security.pdf Software Security Assurance State of the Art Report]&lt;br /&gt;
&lt;br /&gt;
ENISA [http://www.enisa.europa.eu/act/application-security/secure-software-engineering/secure-software-engineering-initiatives Secure Software Engineering Initiatives]&lt;br /&gt;
&lt;br /&gt;
ISO/IEC [http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=44378 ISO/IEC 27034 Application Security]&lt;br /&gt;
&lt;br /&gt;
NIST [http://csrc.nist.gov/publications/nistpubs/800-64-Rev2/SP800-64-Revision2.pdf SP 800-64 Rev2 Security Considerations in the Information System Development Life Cycle]&lt;br /&gt;
&lt;br /&gt;
SAFECode [http://www.safecode.org/publications/SAFECode_Agile_Dev_Security0712.pdf Practical Security Stories and Security Tasks for Agile Development Environments]&lt;br /&gt;
&lt;br /&gt;
US DoHS [https://buildsecurityin.us-cert.gov/bsi/home.html Building Security In] and [https://buildsecurityin.us-cert.gov/swa/resources.html Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
Other [http://www.sdlc.ws/ sdlc] and [http://www.sdlc.ws/software-testing-life-cycle-stlc-complete-tutorial/ Software Testing Life Cycle], [http://www.sdlc.ws/category/models/ sdlc models]&lt;br /&gt;
&lt;br /&gt;
Other [http://bsimm.com/ Building Security In Maturity Model (BSIMM)]&lt;br /&gt;
&lt;br /&gt;
Other [http://www.microsoft.com/security/sdl/default.aspx Microsoft Security Development Lifecycle (SDL)] and [http://go.microsoft.com/?linkid=9767361 Process guidance v5.1], [http://go.microsoft.com/?linkid=9708425 Simplified implementation]&lt;br /&gt;
&lt;br /&gt;
Other [http://www.oracle.com/us/support/assurance/index.html Oracle Software Security Assurance (OSSA)]&lt;br /&gt;
&lt;br /&gt;
= Authors and primary contributors =&lt;br /&gt;
&lt;br /&gt;
This cheat sheet is largely based on infortmation from OWASP SAMM v1.0 originally written by Pravir Chandra - chandra[at]owasp.org &lt;br /&gt;
&lt;br /&gt;
The cheat sheet was created by:&lt;br /&gt;
&lt;br /&gt;
Colin Watson - colin.watson[at]owasp.org &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Cheatsheet_Navigation}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Cheatsheets]] [[Category:OWASP_Builders]]&lt;/div&gt;</summary>
		<author><name>Michaelbester</name></author>	</entry>

	</feed>