Skip to content

Commit 7857233

Browse files
committed
move dos and donts to appendices
1 parent 93fd8dc commit 7857233

33 files changed

+337
-202
lines changed

.wordlist.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -480,3 +480,5 @@ proscriptive
480480
devsecops
481481
Janca
482482
Tesauro
483+
SAFEcode
484+
Ecommerce

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ is via the OWASP Slack [#project-developer-guide][project] project channel
4242

4343
----
4444

45-
OWASP Developer Guide: _accessible security for system and application developers_
45+
OWASP Developer Guide: _accessible security for developers_
4646

4747
[conduct]: code_of_conduct.md
4848
[guide]: contributing.md

_data/draft.yaml

Lines changed: 43 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ docs:
44
- title: '1. Introduction'
55
url: introduction
66

7-
- title: '2. Foundations'
7+
- title: '*2. Foundations*'
88
url: foundations
99

1010
- title: '2.1 Security fundamentals'
@@ -142,33 +142,6 @@ docs:
142142
- title: '5.3.3 OWASP Secure Headers Project'
143143
url: implementation/secure_libraries/secure_headers
144144

145-
- title: '5.4 Implementation Do''s and Don''ts'
146-
url: implementation/dos_donts
147-
148-
- title: '5.4.1 Container security'
149-
url: implementation/dos_donts/container_security
150-
151-
- title: '5.4.2 Secure coding'
152-
url: implementation/dos_donts/secure_coding
153-
154-
- title: '5.4.3 Cryptographic practices'
155-
url: implementation/dos_donts/cryptographic_practices
156-
157-
- title: '5.4.4 Application spoofing'
158-
url: implementation/dos_donts/application_spoofing
159-
160-
- title: '5.4.5 Content Security Policy (CSP)'
161-
url: implementation/dos_donts/content_security_policy
162-
163-
- title: '5.4.6 Exception and error handling'
164-
url: implementation/dos_donts/exception_error_handling
165-
166-
- title: '5.4.7 File management'
167-
url: implementation/dos_donts/file_management
168-
169-
- title: '5.4.8 Memory management'
170-
url: implementation/dos_donts/memory_management
171-
172145
- title: '6. Verification'
173146
url: verification
174147

@@ -214,18 +187,6 @@ docs:
214187
- title: '6.4.1 DefectDojo'
215188
url: verification/vulnerability_management/defectdojo
216189

217-
- title: '6.5 Verification Do''s and Don''ts'
218-
url: verification/dos_donts
219-
220-
- title: '6.5.1 Secure environment'
221-
url: verification/dos_donts/secure_environment
222-
223-
- title: '6.5.2 System hardening'
224-
url: verification/dos_donts/system_hardening
225-
226-
- title: '6.5.3 Open Source software'
227-
url: verification/dos_donts/open_source_software
228-
229190
- title: '7. Training and Education'
230191
url: training_education
231192

@@ -330,3 +291,45 @@ docs:
330291

331292
- title: '11.2 Bug Logging Tool'
332293
url: security_gap_analysis/bug_logging_tool
294+
295+
- title: '12. Appendices'
296+
url: appendices
297+
298+
- title: '12.1 Implementation Do''s and Don''ts'
299+
url: appendices/implementation_dos_donts
300+
301+
- title: '12.1.1 Container security'
302+
url: appendices/implementation_dos_donts/container_security
303+
304+
- title: '12.1.2 Secure coding'
305+
url: appendices/implementation_dos_donts/secure_coding
306+
307+
- title: '12.1.3 Cryptographic practices'
308+
url: appendices/implementation_dos_donts/cryptographic_practices
309+
310+
- title: '12.1.4 Application spoofing'
311+
url: appendices/implementation_dos_donts/application_spoofing
312+
313+
- title: '12.1.5 Content Security Policy (CSP)'
314+
url: appendices/implementation_dos_donts/content_security_policy
315+
316+
- title: '12.1.6 Exception and error handling'
317+
url: appendices/implementation_dos_donts/exception_error_handling
318+
319+
- title: '12.1.7 File management'
320+
url: appendices/implementation_dos_donts/file_management
321+
322+
- title: '12.1.8 Memory management'
323+
url: appendices/implementation_dos_donts/memory_management
324+
325+
- title: '12.2 Verification Do''s and Don''ts'
326+
url: appendices/verification_dos_donts
327+
328+
- title: '12.2.1 Secure environment'
329+
url: appendices/verification_dos_donts/secure_environment
330+
331+
- title: '12.2.2 System hardening'
332+
url: appendices/verification_dos_donts/system_hardening
333+
334+
- title: '12.2.3 Open Source software'
335+
url: appendices/verification_dos_donts/open_source_software

draft/02-toc.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,6 @@ permalink:
6565
5.3.1 [Enterprise Security API library](#enterprise-security-api-library)
6666
5.3.2 [CSRFGuard library](#csrfguard-library)
6767
5.3.3 [OWASP Secure Headers Project](#owasp-secure-headers-project)
68-
5.4 [Implementation Do's and Don'ts](#implementation-dos-and-donts)
69-
5.4.1 [Container security](#container-security)
70-
5.4.2 [Secure coding](#secure-coding)
71-
5.4.3 [Cryptographic practices](#cryptographic-practices)
72-
5.4.4 [Application spoofing](#application-spoofing)
73-
5.4.5 [Content Security Policy (CSP)](#content-security-policy)
74-
5.4.6 [Exception and error handling](#exception-and-error-handling)
75-
5.4.7 [File management](#file-management)
76-
5.4.8 [Memory management](#memory-management)
7768

7869
6 **[Verification](#verification)**
7970
6.1 [Guides](#verification-guides)
@@ -90,10 +81,6 @@ permalink:
9081
6.3.1 [secureCodeBox](#securecodebox)
9182
6.4 [Vulnerability management](#verification-vulnerability-management)
9283
6.4.1 [DefectDojo](#defectdojo)
93-
6.5 [Verification Do's and Don'ts](#verification-dos-and-donts)
94-
6.5.1 [Secure environment](#secure-environment)
95-
6.5.2 [System hardening](#system-hardening)
96-
6.5.3 [Open Source software](#open-source-software)
9784

9885
7 **[Training and Education](#training-and-education)**
9986
7.1 [Vulnerable Applications](#vulnerable-applications)
@@ -135,4 +122,19 @@ permalink:
135122
11.1.3 [Mobile Application Security](#mobile-application-security)
136123
11.2 [Bug Logging Tool](#bug-logging-tool)
137124

125+
12 **[Appendices](#appendices)**
126+
12.1 [Implementation Do's and Don'ts](#implementation-dos-and-donts)
127+
12.1.1 [Container security](#container-security)
128+
12.1.2 [Secure coding](#secure-coding)
129+
12.1.3 [Cryptographic practices](#cryptographic-practices)
130+
12.1.4 [Application spoofing](#application-spoofing)
131+
12.1.5 [Content Security Policy (CSP)](#content-security-policy)
132+
12.1.6 [Exception and error handling](#exception-and-error-handling)
133+
12.1.7 [File management](#file-management)
134+
12.1.8 [Memory management](#memory-management)
135+
12.2 [Verification Do's and Don'ts](#verification-dos-and-donts)
136+
12.2.1 [Secure environment](#secure-environment)
137+
12.2.2 [System hardening](#system-hardening)
138+
12.2.3 [Open Source software](#open-source-software)
139+
138140
\newpage

draft/06-design/01-threat-modeling/02-pytm.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ permalink: /draft/design/threat_modeling/pytm/
1414

1515
<style type="text/css">
1616
.image-right {
17-
height: 180px;
17+
height: 200px;
1818
display: block;
1919
margin-left: auto;
2020
margin-right: auto;
@@ -101,6 +101,15 @@ mkdir -p tm
101101
./tm.py --seq | java -Djava.awt.headless=true -jar $PLANTUML_PATH -tpng -pipe > tm/seq.png
102102
```
103103

104+
#### References
105+
106+
* [Graphviz][graphviz]
107+
* [pandoc][pandoc]
108+
* [PlantUML][plantuml]
109+
* [pytm][pytmrepo]
110+
* [Spotlight][spotlight06] on pytm
111+
* [Threat Modeling: a practical guide for development teams][TMchap4]
112+
104113
----
105114

106115
The OWASP Developer Guide is a community effort; if there is something that needs changing

draft/06-design/01-threat-modeling/04-cornucopia.md

Lines changed: 64 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,26 +36,63 @@ Cornucopia provides a [set of cards][cornucopia-cards] designed to gamify threat
3636
This is designed so that agile development teams can identify weaknesses in web applications
3737
and then record remediations or requirements.
3838

39-
Cornucopia comes with the cards in various suits that cover the various security domains:
39+
There are three versions of the Cornucopia deck of threat modeling cards:
4040

41-
* Data validation and encoding
41+
* Website App Edition
42+
* Mobile App Edition
43+
* Enterprise App Edition
44+
45+
The decks come with different suits according to the application, and always contain a 'Cornucopia' suit.
46+
47+
There is no one 'right' way to play Cornucopia but there is a suggested [set of rules][cornucopia-play]
48+
to start the game off.
49+
Cornucopia provides a [score sheet][cornucopia-score] to help keep track of the game session and to record outcomes.
50+
51+
#### Website App Edition
52+
53+
Each card in the Website App deck describes a common error or anti-pattern that allows systems to be vulnerable to attack.
54+
Vulnerabilities are arranged in domains as five key suits, with the additional Cornucopia suit ranging across domains:
55+
56+
* Data Validation and Encoding
4257
* Authentication
43-
* Session management
58+
* Session Management
4459
* Authorization
4560
* Cryptography
4661
* Cornucopia
4762

48-
There is no one 'right' way to play Cornucopia but there is a suggested [set of rules][cornucopia-play]
49-
to start the game off.
50-
Cornucopia provides a [score sheet][cornucopia-score] to help keep track of the game session and to record outcomes.
63+
To provide context the Cornucopia Website App cards reference other projects:
5164

52-
To provide context each card in the Cornucopia deck references other OWASP projects:
65+
* OWASP Application Security Verification Standard ([ASVS][asvs])
66+
* OWASP Secure Coding Practices ([SCP][scp-v21]]) quick reference guide
67+
* OWASP [AppSensor][appsensor]
68+
* Mitre's Common Attack Pattern Enumeration and Classification ([CAPEC][capec])
69+
* [SAFEcode][safecode]
5370

54-
* Application Security Verification Standard ([ASVS][asvs])
55-
* Secure Coding Practices ([SCP][scp-v21]]) Quick Reference Guide
56-
* [AppSensor][appsensor]
71+
The SCP quick reference guide has now been incorporated as part of this [Developer Guide](../02-web-app-checklist/toc.md).
5772

58-
The SCP reference guide has now been incorporated into part of the [Developer Guide](../02-web-app-checklist/toc.md) itself.
73+
#### Mobile App Edition
74+
75+
Similarly to the website application deck, the mobile application deck has five domains/suits,
76+
with Cornucopia cross domain:
77+
78+
* Platform and Code
79+
* Authentication and Authorization
80+
* Network and Storage
81+
* Resilience
82+
* Cryptography
83+
* Cornucopia
84+
85+
To provide context the Cornucopia Mobile App cards reference other projects:
86+
87+
* OWASP Mobile Application Security Verification Standard ([MASVS][masvs])
88+
* OWASP Mobile Application Security Testing Guide ([MASTG][mastg])
89+
* Mitre's Common Attack Pattern Enumeration and Classification ([CAPEC][capec])
90+
* [SAFEcode][safecode]
91+
92+
#### Ecommerce Website Edition
93+
94+
This is the original Cornucopia deck and has the same domains/suits, including the Cornucopia cross domain suit,
95+
as the Website App Edition. Some of the vulnerabilities are specific to Ecommerce, and it references the same projects.
5996

6097
#### Why use it?
6198

@@ -90,19 +127,35 @@ The suggested order of play is:
90127
Remember that the outcome of the game is to identify possible threats and propose remediations,
91128
as well as having a good time.
92129

130+
#### References
131+
132+
* [AppSensor][appsensor]
133+
* Application Security Verification Standard, [ASVS][asvs]
134+
* Common Attack Pattern Enumeration and Classification, [CAPEC][capec]
135+
* [Cornucopia][cornucopia]
136+
* Mobile Application Security Verification Standard, [MASVS][masvs])
137+
* Mobile Application Security Testing Guide, [MASTG][mastg])
138+
* [Secure Coding Practices][scp-v21] quick reference guide
139+
* [SAFEcode][safecode]
140+
* [Spotlight][spotlight16] on Cornucopia
141+
93142
----
94143

95144
The OWASP Developer Guide is a community effort; if there is something that needs changing
96145
then [submit an issue][issue060104] or [edit on GitHub][edit060104].
97146

98147
[appsensor]: https://owasp.org/www-project-appsensor/
99148
[asvs]: https://owasp.org/www-project-application-security-verification-standard/
149+
[capec]: https://capec.mitre.org/
100150
[cornucopia]: https://owasp.org/www-project-cornucopia/
101151
[cornucopia-cards]: https://owasp.org/www-project-cornucopia#div-cards
102152
[cornucopia-score]: https://owasp.org/www-project-cornucopia/assets/files/Cornucopia-scoresheet.pdf
103153
[cornucopia-play]: https://owasp.org/www-project-cornucopia#div-play
104154
[edit060104]: https://github.com/OWASP/www-project-developer-guide/blob/main/draft/06-design/01-threat-modeling/04-cornucopia.md
105155
[issue060104]: https://github.com/OWASP/www-project-developer-guide/issues/new?labels=content&template=request.md&title=Update:%2006-design/01-threat-modeling/04-cornucopia
156+
[mastg]: https://mas.owasp.org/MASTG/
157+
[masvs]: https://mas.owasp.org/MASVS/
158+
[safecode]: https://safecode.org/
106159
[scp-v21]: https://owasp.org/www-project-secure-coding-practices-quick-reference-guide/assets/docs/OWASP_SCP_Quick_Reference_Guide_v21.pdf
107160
[spotlight16]: https://youtu.be/NesxjEGX58s
108161

draft/06-design/03-mas-checklist.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,15 @@ permalink: /draft/design/mas_checklist/
2929
The OWASP [Mobile Application Security][masproject] (MAS) flagship project has the mission statement:
3030
"Define the industry standard for mobile application security".
3131

32-
The MAS project covers the processes, techniques, and tools used for security testing a mobile application,
33-
as well as an exhaustive set of test cases that enables testers to deliver consistent and complete results.
3432
The OWASP MAS project provides the [Mobile Application Security Verification Standard][masvs] (MASVS)
3533
for mobile applications and a comprehensive [Mobile Application Security Testing Guide][mastg] (MASTG).
3634

3735
The [Mobile Application Security Checklist][masc] contains links to the MASTG test cases for each MASVS control.
3836

3937
#### What is MAS Checklist?
4038

41-
The MAS Checklist provides a checklist that keeps track of the MASTG test cases for each MASVS control,
42-
and the checklist is split out into categories that match the MASVS categories:
39+
The MAS Checklist provides a checklist that keeps track of the MASTG test cases for a given MASVS control.
40+
This MAS Checklist is split out into categories that match the MASVS categories:
4341

4442
* [MASVS-STORAGE](https://mas.owasp.org/checklists/MASVS-STORAGE/) sensitive data storage
4543
* [MASVS-CRYPTO](https://mas.owasp.org/checklists/MASVS-CRYPTO/) cryptography best practices
@@ -65,6 +63,12 @@ The [spreadsheet download][masxls] allows the status of each test to be recorded
6563
with a separate sheet for each MASVS category.
6664
This record of test results can be used as evidence for compliance purposes.
6765

66+
#### References
67+
68+
* Mobile Application Security ([MAS][masproject]) project
69+
* MAS [Checklist][masc]
70+
* MAS Verification Standard ([MASVS][masvs])
71+
6872
----
6973

7074
The OWASP Developer Guide is a community effort; if there is something that needs changing

draft/07-implementation/00-toc.md

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,6 @@ Sections:
4949
5.3.1 [Enterprise Security API library](#enterprise-security-api-library)
5050
5.3.2 [CSRFGuard library](#csrfguard-library)
5151
5.3.3 [OWASP Secure Headers Project](#owasp-secure-headers-project)
52-
5.4 [Implementation Do's and Don'ts](#implementation-dos-and-donts)
53-
5.4.1 [Container security](#container-security)
54-
5.4.2 [Secure coding](#secure-coding)
55-
5.4.3 [Cryptographic practices](#cryptographic-practices)
56-
5.4.4 [Application spoofing](#application-spoofing)
57-
5.4.5 [Content Security Policy (CSP)](#content-security-policy)
58-
5.4.6 [Exception and error handling](#exception-and-error-handling)
59-
5.4.7 [File management](#file-management)
60-
5.4.8 [Memory management](#memory-management)
6152

6253
----
6354

draft/07-implementation/toc.md

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,6 @@ Sections:
6262
5.3.1 [Enterprise Security API library](03-secure-libraries/01-esapi.md)
6363
5.3.2 [CSRFGuard library](03-secure-libraries/02-csrf-guard.md)
6464
5.3.3 [OWASP Secure Headers Project](03-secure-libraries/03-secure-headers.md)
65-
5.4 [Implementation Do's and Don'ts](04-dos-donts/toc.md)
66-
5.4.1 [Container security](04-dos-donts/01-container-security.md)
67-
5.4.2 [Secure coding](04-dos-donts/02-secure-coding.md)
68-
5.4.3 [Cryptographic practices](04-dos-donts/03-cryptographic-practices.md)
69-
5.4.4 [Application spoofing](04-dos-donts/04-application-spoofing.md)
70-
5.4.5 [Content Security Policy (CSP)](04-dos-donts/05-content-security-policy.md)
71-
5.4.6 [Exception and error handling](04-dos-donts/06-exception-error-handling.md)
72-
5.4.7 [File management](04-dos-donts/07-file-management.md)
73-
5.4.8 [Memory management](04-dos-donts/08-memory-management.md)
7465

7566
----
7667

draft/08-verification/00-toc.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,6 @@ Sections:
5151
6.3.1 [secureCodeBox](#securecodebox)
5252
6.4 [Vulnerability management](#verification-vulnerability-management)
5353
6.4.1 [DefectDojo](#defectdojo)
54-
6.5 [Do's and Don'ts](#verification-dos-and-donts)
55-
6.5.1 [Secure environment](#secure-environment)
56-
6.5.2 [System hardening](#system-hardening)
57-
6.5.3 [Open Source software](#open-source-software)
5854

5955
----
6056

0 commit comments

Comments
 (0)