@@ -30,26 +30,27 @@ according to the processes adopted by the business.
3030
3131With the increasing number and sophistication of exploits against almost every application or business system,
3232most companies have adopted a secure Software Development LifeCycle (SDLC).
33- The secure SDLC should never be a separate lifecycle,
34- it must always be the same Software Development LifeCycle as before but with security actions built into each phase,
35- otherwise the security actions will be set aside by busy development teams.
33+ The secure SDLC should never be a separate lifecycle from an existing software development lifecycle ,
34+ it must always be the same development lifecycle as before but with security actions built into each phase,
35+ otherwise security actions may well be set aside by busy development teams.
3636Note that although the Secure SDLC could be written as 'SSDLC' it is almost always written as 'SDLC'.
3737
3838DevOps integrates and automates many of the SDLC phases and implements Continuous Integration (CI)
39- and Continuous Delivery/Deployment (CD) pipelines to provide much of this automation.
39+ and Continuous Delivery/Deployment (CD) pipelines to provide much of the SDLC automation.
40+ Examples of how DevSecOps is 'building security in' is the provision of
41+ Interactive, Static and Dynamic Application Security Testing (IAST, SAST & DAST)
42+ and implementing supply chain security, and there are many other security activities that can be applied.
43+
4044DevOps and pipelines have been successfully exploited with serious large scale consequences
4145and so, in a similar manner to the SDLC, much of the DevOps actions have also had to have security built in.
4246Secure DevOps, or DevSecOps, builds security practices into the DevOps activities to guard against attack
4347and to provide the SDLC with automated security testing.
44- Examples of how DevSecOps is 'building security in' is the provision of
45- Interactive, Static and Dynamic Application Security Testing (IAST, SAST & DAST)
46- and implementing supply chain security, and there are many other security activities that can be applied.
4748
4849#### Secure development lifecycle
4950
5051Referring to the OWASP [ Application Wayfinder] [ wayfinder ] development cycle
51- there are four phases during application development: Requirements, Design, Implementation and Verification.
52- There are other phases that are done less often in the development cycle and these form an equally important
52+ there are four iterative phases during application development: Requirements, Design, Implementation and Verification.
53+ The other phases are done less iteratively in the development cycle but these form an equally important
5354part of the SDLC: Gap Analysis, Metrics, Operation and Training & Culture Building.
5455
5556All of these phases of the SDLC should have security activities built into them,
@@ -59,19 +60,19 @@ a process as before, with the development teams taking ownership of the security
5960
6061There are many OWASP tools and resources to help build security into the SDLC.
6162
62- * Requirements: this phase determines the functional, non-functional and security requirements for the application.
63- Requirements should be revisited periodically and check for completeness and validity,
64- and it is worth considering various OWASP tools;
65- the [ Application Security Verification Standard (ASVS)] [ asvs ] provides developers
66- with a list of requirements for secure development,
67- the [ Mobile Application Security project] [ masproject ] provides a security standard for mobile applications
68- and [ SecurityRAT] [ srat ] helps identify an initial set of security requirements.
63+ * ** Requirements** : this phase determines the functional, non-functional and security requirements for the application.
64+ Requirements should be revisited periodically and checked for completeness and validity,
65+ and it is worth considering various OWASP tools to help with this ;
66+ * the [ Application Security Verification Standard (ASVS)] [ asvs ] provides developers
67+ with a list of requirements for secure development,
68+ * the [ Mobile Application Security project] [ masproject ] provides a security standard for mobile applications
69+ and [ SecurityRAT] [ srat ] helps identify an initial set of security requirements.
6970
70- * Design: it is important to design security into the development - it is never too late to do this
71- but the earlier the better ( and easier) . OWASP provides two tools, [ Pythonic Threat Modeling] [ pytm ]
71+ * ** Design** : it is important to design security into the application - it is never too late to do this
72+ but the earlier the better and easier to do . OWASP provides two tools, [ Pythonic Threat Modeling] [ pytm ]
7273 and [ Threat Dragon] [ tdtm ] , for threat modeling along with security gamification using [ Cornucopia] [ cornucopia ] .
7374
74- * Implementation: the OWASP [ Top 10 Proactive Controls] [ proactive10 ] project states that they are
75+ * ** Implementation** : the OWASP [ Top 10 Proactive Controls] [ proactive10 ] project states that they are
7576 "the most important control and control categories that every architect and developer should absolutely,
7677 100% include in every project" and this is certainly good advice. Implementing these controls can provide
7778 a high degree of confidence that the application or system will be reasonably secure.
@@ -81,47 +82,47 @@ There are many OWASP tools and resources to help build security into the SDLC.
8182 that help implement these proactive controls. In addition the OWASP [ Cheat Sheet Series] [ cheatproject ]
8283 is a valuable source of information and advice on all aspects of applications security.
8384
84- * Verification: OWASP provides a relatively large number of projects that help with testing and verification.
85- This is the subject of a section in this Developer Guide, and the projects are listed below .
85+ * ** Verification** : OWASP provides a relatively large number of projects that help with testing and verification.
86+ This is the subject of a section in this Developer Guide, and the projects are listed at the end of this section .
8687
87- * Training: development teams continually need security training. Although not part of the inner SDLC iterative loop,
88- training should be factored into the project lifecycle.
88+ * ** Training** : development teams continually need security training.
89+ Although not part of the inner SDLC iterative loop training should still be factored into the project lifecycle.
8990 OWASP provides many training environments and materials - see the list at the end of this section.
9091
91- * Culture Building: a good security culture within a business organization will help greatly in keeping
92+ * ** Culture Building** : a good security culture within a business organization will help greatly in keeping
9293 the applications and systems secure. There are many activities that all add up to create the
9394 security culture, the OWASP [ Security Culture] [ culture ] project goes into more detail on these activities,
9495 and a good Security Champion program within the business is foundational to a good security posture.
9596 The OWASP [ Security Champions Guide] [ champions ] provides guidance and material to create security champions
9697 within the development teams - ideally every team should have a security champion that has
9798 a special interest in security and has received further training, enabling the team to build security in.
9899
99- * Operation: the OWASP [ DevSecOps Guideline] [ devsecops ] explains how to best implement a secure pipeline,
100+ * ** Operation** : the OWASP [ DevSecOps Guideline] [ devsecops ] explains how to best implement a secure pipeline,
100101 using best practices and introducing automation tools to help 'shift-left'.
101102 Refer to the DevSecOps Guideline for more information on any of the topics within DevSecOps
102103 and in particular sections on Operation.
103104
104- * Supply chain: attacks that leverage the supply chain can be devastating
105+ * ** Supply chain** : attacks that leverage the supply chain can be devastating
105106 and there have been several high profile of products being successfully exploited.
106107 A Software Bill of Materials (SBOM) is the first step in avoiding these attacks and
107108 it is well worth using the OWASP [ CycloneDX] [ cyclone ] full-stack Bill of Materials (BOM) standard
108109 for risk reduction in the supply chain.
109110 In addition the OWASP [ Dependency-Track] [ deptrack ] project is a Continuous SBOM Analysis Platform
110111 which can help prevent these supply chain exploits by providing control of the SBOM.
111112
112- * Third party libraries : keeping track of what third party libraries are included in the application,
113+ * ** Third party dependencies ** : keeping track of what third party libraries are included in the application,
113114 and what vulnerabilities they have, is easily automated. Many public repositories such as [ github] [ github ]
114115 and [ gitlab] [ gitlab ] offer this service along with some commercial vendors.
115116 OWASP provides the [ Dependency-Check] [ depcheck ] Software Composition Analysis (SCA) tool
116117 to track external libraries.
117118
118- * Application security testing: there are various types of security testing that can be automated on pull-request,
119+ * ** Application security testing** : there are various types of security testing that can be automated on pull-request,
119120 merge or nightlies - or indeed manually but they are most powerful when automated. Commonly there is
120121 Static Application Security Testing (SAST), which analyses the code without running it,
121- Dynamic Application Security Testing (DAST), which applies input to the application while running it in a sandbox
122- or other isolated environment .
123- Interactive Application Security Testing (IAST) on the other hand is designed to be run manually as well,
124- providing instant feedback on the tests as they are run.
122+ and Dynamic Application Security Testing (DAST), which applies input to the application while running it in a sandbox
123+ or other isolated environments .
124+ Interactive Application Security Testing (IAST) is designed to be run manually as well as being automated ,
125+ and provides instant feedback on the tests as they are run.
125126
126127#### Further reading from OWASP
127128
0 commit comments