Skip to content

Commit 5d419a4

Browse files
committed
use 5 levels and adopt levels of activities
1 parent 1ddb59e commit 5d419a4

16 files changed

+260
-223
lines changed

src/assets/YAML/default/BuildAndDeployment/Deployment.yaml

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -266,27 +266,30 @@ Build and Deployment:
266266
isImplemented: false
267267
evidence: ""
268268
comments: ""
269-
Usage of trusted images:
270-
risk: Developers or operations might start random images in the production cluster
271-
which have malicious code or known vulnerabilities.
272-
measure: Create image assessment criteria, perform an evaluation of images and
273-
create a whitelist of artifacts/container images/virtual machine images.
274-
implementation:
275-
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/kubernetes-admission
269+
Evaluation of the trust of used components:
270+
risk:
271+
- Application and system components like Open Source libraies or images can have implementation flaws or deployment flaws.
272+
- Developers or operations might start random images in the production cluster
273+
which have malicious code or known vulnerabilities.
274+
measure:
275+
- Each components source is evaluated to be trusted. For example the source, number of developers included, email configuration used by maintainers to prevent maintainer account theft, typo-squatting, ...
276+
- Create image assessment criteria, perform an evaluation of images and create a whitelist of artifacts/container images/virtual machine images.
276277
difficultyOfImplementation:
277-
knowledge: 1
278-
time: 1
278+
knowledge: 3
279+
time: 3
279280
resources: 1
280281
usefulness: 3
281282
level: 2
283+
implementation:
284+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/kubernetes-admission
285+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/packj
282286
references:
283287
samm2:
284-
- I-SD-2-A
288+
- O-EM-1-A
285289
iso27001-2017:
286-
- 15.1.1
287-
- 15.1.2
288-
- 15.1.3
289-
- 14.1.3
290+
- not explicitly covered by ISO 27001 - too specific
291+
- 14.2.1
292+
- 14.2.5
290293
isImplemented: false
291294
evidence: ""
292295
comments: ""

src/assets/YAML/default/BuildAndDeployment/PatchManagement.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,11 @@ Build and Deployment:
2626
risk: Known vulnerabilities components might stay for long and get exploited,
2727
even when a patch is available.
2828
measure: Fast patching of third party component is needed. The DevOps way is
29-
to have an automated pull request for new components. This includes <ul> <li>Applications</li><li>Virtualized
30-
operating system components (e.g. container images)</li> <li>Operating Systems</li><li>Infrastructure
31-
as Code/GitOps (e.g. argocd)</li> </ul>
29+
to have an automated pull request for new components. This includes
30+
* Applications
31+
* Virtualized operating system components (e.g. container images)
32+
* Operating Systems
33+
* Infrastructure as Code/GitOps (e.g. argocd based on a git repository or terraform)
3234
difficultyOfImplementation:
3335
knowledge: 2
3436
time: 2
@@ -38,6 +40,8 @@ Build and Deployment:
3840
implementation:
3941
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/dependabot
4042
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/jenkins
43+
# - $ref: src/assets/YAML/default/implementations.yaml#/implementations/argocd TODO
44+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/terraform
4145
references:
4246
samm2:
4347
- O-EM-1-B

src/assets/YAML/default/CultureAndOrganization/Design.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Culture and Organization:
1010
time: 3
1111
resources: 2
1212
usefulness: 3
13-
level: 3
13+
level: 4
1414
dependsOn:
1515
- Conduction of simple threat modeling on technical level
1616
- Creation of threat modeling processes and standards
@@ -233,8 +233,8 @@ Culture and Organization:
233233
knowledge: 1
234234
time: 1
235235
resources: 1
236-
usefulness: 4
237-
level: 1
236+
usefulness: 3
237+
level: 2
238238
implementation: []
239239
references:
240240
samm2: []

src/assets/YAML/default/CultureAndOrganization/EducationAndGuidance.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ Culture and Organization:
2929
measure: By coaching teams, teams are getting a better understanding and adoptiing security practices.
3030
difficultyOfImplementation:
3131
knowledge: 4
32-
time: 2
33-
resources: 1
32+
time: 3
33+
resources: 1 # e.g. system resources
3434
usefulness: 3
3535
implementation:
3636
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/sammancoaching
@@ -322,7 +322,7 @@ Culture and Organization:
322322
time: 2
323323
resources: 1
324324
usefulness: 3
325-
level: 1
325+
level: 2
326326
implementation:
327327
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/cwe25
328328
credits: |
@@ -401,7 +401,7 @@ Culture and Organization:
401401
time: 3
402402
resources: 1
403403
usefulness: 3
404-
level: 2
404+
level: 3
405405
credits: |
406406
AppSecure-nrw [Security Belts](https://github.com/AppSecure-nrw/security-belts/)
407407
implementation:
Lines changed: 111 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,68 @@
11
---
22
Implementation:
33
Application Hardening:
4-
App. Hardening Level 2:
5-
risk: Using an insecure application might lead to a compromised application.
6-
This might lead to total data theft or data modification.
7-
measure: |
8-
Following frameworks like the
9-
<ul>
10-
<li>OWASP Application Security Verification Standard Level 2</li>
11-
<li>OWASP Mobile Application Security Verification Standard Level 2</li>
12-
</ul>
13-
difficultyOfImplementation:
14-
knowledge: 4
15-
time: 4
16-
resources: 2
17-
usefulness: 4
18-
level: 2
19-
implementation:
20-
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/owasp-asvs
21-
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/owasp-masvs
22-
references:
23-
samm2:
24-
- D-SR-2-A
25-
iso27001-2017:
26-
- hardening is not explicitly covered by ISO 27001 - too specific
27-
- 13.1.3
28-
isImplemented: false
29-
evidence: ""
30-
comments: ""
31-
App. Hardening Level 3:
4+
App. Hardening Level 1 (50%):
325
risk: Using an insecure application might lead to a compromised application.
336
This might lead to total data theft or data modification.
347
measure: |
358
Following frameworks like the
36-
<ul>
37-
<li>OWASP Application Security Verification Standard Level 3</li>
38-
<li>OWASP Mobile Application Security Verification Standard Maturity Requirements</li>
39-
</ul>
40-
and gain around 75% coverage of both.
9+
* OWASP Application Security Verification Standard Level 1
10+
* OWASP Mobile Application Security Verification Standard
11+
12+
in all applications provides a good baseline. Implement 50% of the recommendations.
4113
difficultyOfImplementation:
42-
knowledge: 4
43-
time: 4
44-
resources: 2
45-
usefulness: 4
46-
level: 3
14+
knowledge: 2
15+
time: 2
16+
resources: 1
17+
usefulness: 3
18+
level: 1
19+
description: |
20+
To tackle the security of code developed in-house, OWASP offers an extensive collection of [Cheatsheets](https://cheatsheetseries.owasp.org/) demonstrating how to implement features securely. Moreover, the Security Knowledge Framework[1] offers an extensive library of code patterns spanning several programming languages. These patterns can be used to not only jumpstart the development process, but also do so securely.
21+
22+
[...]
23+
24+
### Planning aka Requirements Gathering & Analysis
25+
The Requirements gathering process tries to answer the question: _"What is the system going to do?"_ At this stage, the [SAMM project](https://owaspsamm.org/model/) offers 3 distinct maturity levels covering both [in-house](https://owaspsamm.org/model/design/security-requirements/stream-a/) software development and [third party](https://owaspsamm.org/model/design/security-requirements/stream-b/) supplier security.
26+
27+
![SAMM Requirements](https://github.com/OWASP/www-project-integration-standards/raw/master/writeups/owasp_in_sdlc/images/OWASP-in0.png)
28+
29+
Organizations can use these to add solid security considerations at the start of the Software Development or Procurement process.
30+
31+
These general security considerations can be audited by using a subsection of the ASVS controls in section V1 as a questionnaire. This process attempts to ensure that every feature has concrete security considerations.
32+
33+
In case of internal development and if the organization maps Features to Epics, the [Security Knowledge Framework](https://securityknowledgeframework.org/) can be used to facilitate this process by leveraging its questionnaire function, shown below.
34+
35+
Source: [OWASP Project Integration](https://raw.githubusercontent.com/OWASP/www-project-integration-standards/master/writeups/owasp_in_sdlc/index.md)
4736
implementation:
48-
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/owasp-asvs
49-
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/owasp-masvs
37+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/owasp-asvs
38+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/owasp-masvs
39+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/apimaturity
5040
references:
5141
samm2:
52-
- D-SR-3-A
42+
- D-SR-1-A
5343
iso27001-2017:
54-
- hardening is not explicitly covered by ISO 27001 - too specific
55-
- 13.1.3
44+
- hardening is not explicitly covered by ISO 27001 - too specific
45+
- 13.1.3
5646
isImplemented: false
5747
evidence: ""
5848
comments: ""
59-
Application Hardening Level 1:
49+
App. Hardening Level 1:
6050
risk: Using an insecure application might lead to a compromised application.
6151
This might lead to total data theft or data modification.
6252
measure: |
6353
Following frameworks like the
64-
<ul>
65-
<li>OWASP Application Security Verification Standard Level 1</li>
66-
<li>OWASP Mobile Application Security Verification Standard Level 1</li>
67-
</ul>
68-
69-
in all applications provides a good baseline.
54+
* OWASP Application Security Verification Standard Level 1
55+
* OWASP Mobile Application Security Verification Standard
56+
57+
in all applications provides a good baseline. Implement 95%-100% of the recommendations.
7058
difficultyOfImplementation:
71-
knowledge: 4
72-
time: 4
73-
resources: 2
59+
knowledge: 2
60+
time: 2
61+
resources: 1
7462
usefulness: 4
75-
level: 1
63+
level: 2
64+
dependsOn:
65+
- App. Hardening Level 1 (50%)
7666
description: |
7767
To tackle the security of code developed in-house, OWASP offers an extensive collection of [Cheatsheets](https://cheatsheetseries.owasp.org/) demonstrating how to implement features securely. Moreover, the Security Knowledge Framework[1] offers an extensive library of code patterns spanning several programming languages. These patterns can be used to not only jumpstart the development process, but also do so securely.
7868
@@ -103,22 +93,80 @@ Implementation:
10393
isImplemented: false
10494
evidence: ""
10595
comments: ""
106-
Full Coverage of App. Hardening Level 3:
96+
97+
App. Hardening Level 2 (75%):
10798
risk: Using an insecure application might lead to a compromised application.
10899
This might lead to total data theft or data modification.
109100
measure: |
110101
Following frameworks like the
111-
<ul>
112-
<li>OWASP Application Security Verification Standard Level 3</li>
113-
<li>OWASP Mobile Application Security Verification Standard Maturity Requirements</li>
114-
</ul>
115-
and gain around 95% coverage of both.
102+
* OWASP Application Security Verification Standard Level 2
103+
* OWASP Mobile Application Security Verification Standard Level 2
104+
105+
Implement 75% of the recommendations.
106+
difficultyOfImplementation:
107+
knowledge: 3
108+
time: 3
109+
resources: 1
110+
usefulness: 3
111+
level: 3
112+
implementation:
113+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/owasp-asvs
114+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/owasp-masvs
115+
references:
116+
samm2:
117+
- D-SR-2-A
118+
iso27001-2017:
119+
- hardening is not explicitly covered by ISO 27001 - too specific
120+
- 13.1.3
121+
isImplemented: false
122+
evidence: ""
123+
comments: ""
124+
dependsOn:
125+
- App. Hardening Level 1
126+
App. Hardening Level 2:
127+
risk: Using an insecure application might lead to a compromised application.
128+
This might lead to total data theft or data modification.
129+
measure: |
130+
Following frameworks like the
131+
* OWASP Application Security Verification Standard Level 2
132+
* OWASP Mobile Application Security Verification Standard Level 2
133+
134+
Implement 95%-100% of the recommendations.
135+
difficultyOfImplementation:
136+
knowledge: 3
137+
time: 3
138+
resources: 1
139+
usefulness: 3
140+
level: 4
141+
implementation:
142+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/owasp-asvs
143+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/owasp-masvs
144+
references:
145+
samm2:
146+
- D-SR-2-A
147+
iso27001-2017:
148+
- hardening is not explicitly covered by ISO 27001 - too specific
149+
- 13.1.3
150+
isImplemented: false
151+
evidence: ""
152+
comments: ""
153+
dependsOn:
154+
- App. Hardening Level 2 (75%)
155+
App. Hardening Level 3:
156+
risk: Using an insecure application might lead to a compromised application.
157+
This might lead to total data theft or data modification.
158+
measure: |
159+
Following frameworks like the
160+
* OWASP Application Security Verification Standard Level 3
161+
* OWASP Mobile Application Security Verification Standard
162+
163+
Implement 95%-100% of the recommendations.
116164
difficultyOfImplementation:
117165
knowledge: 4
118166
time: 4
119167
resources: 2
120168
usefulness: 4
121-
level: 4
169+
level: 5
122170
implementation:
123171
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/owasp-asvs
124172
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/owasp-masvs
@@ -131,4 +179,6 @@ Implementation:
131179
isImplemented: false
132180
evidence: ""
133181
comments: ""
182+
dependsOn:
183+
- App. Hardening Level 2
134184
...

src/assets/YAML/default/Implementation/DevelopmentAndSourceControl.yaml

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -22,27 +22,6 @@ Implementation:
2222
isImplemented: false
2323
evidence: ""
2424
comments: ""
25-
Pre-Commit checks and validations:
26-
risk: Using an insecure application might lead to a compromised application.
27-
This might lead to total data theft or data modification.
28-
measure: |
29-
Implement pre-commit checks to prevent secrets & other security issues being commit to source code.
30-
difficultyOfImplementation:
31-
knowledge: 4
32-
time: 4
33-
resources: 2
34-
usefulness: 4
35-
level: 2
36-
implementation:
37-
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/pre-commit-microsoft
38-
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/pre-commit-synopsis
39-
references:
40-
samm2:
41-
- V-ST-1-A
42-
iso27001-2017: []
43-
isImplemented: false
44-
evidence: ""
45-
comments: ""
4625
API design validation:
4726
risk: Creation of insecure or non-compliant API.
4827
measure: |
@@ -54,7 +33,7 @@ Implementation:
5433
time: 2
5534
resources: 2
5635
usefulness: 4
57-
level: 2
36+
level: 3
5837
implementation:
5938
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/stoplight-spectral
6039
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/api-oas-checker

0 commit comments

Comments
 (0)