Skip to content

Commit a5945f3

Browse files
committed
Fix: #70. Structured implementation fields.
1 parent fe6e618 commit a5945f3

File tree

13 files changed

+355
-141
lines changed

13 files changed

+355
-141
lines changed

data-new/BuildAndDeployment/Sub-Dimensions.yaml

Lines changed: 65 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ _meta:
55
A markdown description of this dimension.
66
_yaml_references:
77
tools:
8-
ci-cd: &ci-cd CI/CD tools, eg. Jenkins
8+
ci-cd: &ci-cd
9+
name: CI/CD tools
10+
tags: [ci-cd]
11+
description: |-
12+
CI/CD tools such as jenkins, gitlab-ci or github-actions
913
1014
Build:
1115
Building and testing of artifacts in virtual environments:
@@ -31,8 +35,10 @@ Build:
3135
usefulness: 2
3236
level: 2
3337
implementation:
34-
- Container technologies and orchestration like Docker, Kubernetes
35-
- *ci-cd
38+
- name: Container technologies and orchestration like Docker, Kubernetes
39+
tags: []
40+
- name: CI/CD tools, eg. Jenkins
41+
tags: []
3642
references:
3743
samm2:
3844
- i-secure-build|A|2
@@ -55,7 +61,8 @@ Build:
5561
level: 1
5662
implementation:
5763
- *ci-cd
58-
- Container technologies and orchestration like Docker, Kubernetes
64+
- name: Container technologies and orchestration like Docker, Kubernetes
65+
tags: []
5966
references:
6067
samm2:
6168
- i-secure-build|A|1
@@ -94,8 +101,12 @@ Build:
94101
usefulness: 4
95102
level: 3
96103
implementation:
97-
- <a href="https://docs.docker.com/notary/getting_started/">Docker Content Trust</a>
98-
- <a href="https://in-toto.github.io/">in-toto</a>
104+
- name: Docker Content Trust
105+
tags: []
106+
url: https://docs.docker.com/notary/getting_started/
107+
- name: in-toto
108+
tags: []
109+
url: https://in-toto.github.io/
99110
dependsOn:
100111
- Defined build process
101112
references:
@@ -119,8 +130,11 @@ Deployment:
119130
usefulness: 4
120131
level: 2
121132
implementation:
122-
- A complete database backup might be performed*. For large and complex environments
123-
- ' a Point in Time Recovery for databases should be implemented.'
133+
- name: A complete database backup might be performed*. For large and complex
134+
environments
135+
tags: []
136+
- name: a Point in Time Recovery for databases should be implemented.
137+
tags: []
124138
dependsOn:
125139
- Defined deployment process
126140
references:
@@ -144,8 +158,9 @@ Deployment:
144158
usefulness: 2
145159
level: 4
146160
implementation:
147-
- <a href='https://martinfowler.com/bliki/BlueGreenDeployment.html'>Blue/Green
148-
Deployments</a>
161+
- name: Blue/Green Deployments
162+
tags: []
163+
url: https://martinfowler.com/bliki/BlueGreenDeployment.html
149164
dependsOn:
150165
- Smoke Test
151166
references:
@@ -171,8 +186,9 @@ Deployment:
171186
usefulness: 4
172187
level: 1
173188
implementation:
174-
- Jenkins
175-
- ' Docker'
189+
- *ci-cd
190+
- name: Docker
191+
tags: []
176192
references:
177193
samm2: i-secure-deployment|A|1
178194
iso27001-2017:
@@ -238,9 +254,12 @@ Deployment:
238254
usefulness: 2
239255
level: 3
240256
implementation:
241-
- Docker
242-
- ' Webserver'
243-
- ' rolling update'
257+
- name: Docker
258+
tags: []
259+
- name: Webserver
260+
tags: []
261+
- name: rolling update
262+
tags: []
244263
dependsOn:
245264
- Defined deployment process
246265
samm2: i-secure-deployment|A|1
@@ -261,7 +280,8 @@ Deployment:
261280
usefulness: 4
262281
level: 3
263282
implementation:
264-
- Docker
283+
- name: Docker
284+
tags: []
265285
dependsOn:
266286
- Defined build process
267287
samm: OE2-A
@@ -284,7 +304,8 @@ Deployment:
284304
usefulness: 2
285305
level: 3
286306
implementation:
287-
- Docker
307+
- name: Docker
308+
tags: []
288309
dependsOn:
289310
- Same artifact for environments
290311
samm: EG1-B
@@ -300,8 +321,9 @@ Deployment:
300321
measure: Create image assessment criteria, perform an evaluation of images and
301322
create a whitelist of artifacts/container images/virtual machine images.
302323
implementation:
303-
- Kubernetes Admission Controller can whitelist registries and/or whitelist a
304-
signing key.
324+
- name: Kubernetes Admission Controller can whitelist registries and/or whitelist
325+
a signing key.
326+
tags: []
305327
difficultyOfImplementation:
306328
knowledge: 1
307329
time: 1
@@ -385,8 +407,11 @@ Patch Management:
385407
- 12.6.1
386408
- 14.2.5
387409
implementation:
388-
- <a href="https://dependabot.com/">dependabot</a>
389-
- Jenkins
410+
- name: dependabot
411+
tags: []
412+
url: https://dependabot.com/
413+
- name: Jenkins
414+
tags: []
390415
Usage of a maximum lifetime for images:
391416
risk:
392417
- Vulnerabilities in images of running containers stay for too long and might
@@ -420,16 +445,19 @@ Patch Management:
420445
iso27001-2017:
421446
- 12.6.1
422447
implementation:
423-
- Sample concept:<br/>(1) each container has a set lifetime and is killed / replaced
424-
with a new container multiple times a day where you have some form of a graceful
425-
replacement to ensure no (short) service outage will occur to the end users.<br/>(2)
426-
twice a day a rebuild of images is done. The rebuilds are put into a automated
427-
testing pipeline. If the testing has no blocking issues the new images will
428-
be released for deployment during the next "restart" of a container. What has
429-
to be done, is to ensure the new containers are deployed in some canary deployment
430-
manner, this will ensure that if (and only if) something buggy has been introduced
431-
which breaks functionality the canary deployment will make sure the "older version"
432-
is being used and not the buggy newer one.
448+
- name: "Sample concept: \n(1"
449+
tags: []
450+
description: "Sample concept: \n(1) each container has a set lifetime and is\
451+
\ killed / replaced with a new container multiple times a day where you have\
452+
\ some form of a graceful replacement to ensure no (short) service outage\
453+
\ will occur to the end users. \n(2) twice a day a rebuild of images is done.\
454+
\ The rebuilds are put into a automated testing pipeline. If the testing has\
455+
\ no blocking issues the new images will be released for deployment during\
456+
\ the next \"restart\" of a container. What has to be done, is to ensure the\
457+
\ new containers are deployed in some canary deployment manner, this will\
458+
\ ensure that if (and only if) something buggy has been introduced which breaks\
459+
\ functionality the canary deployment will make sure the \"older version\"\
460+
\ is being used and not the buggy newer one."
433461
Reduction of the attack surface:
434462
risk:
435463
- Components, dependencies, files or file access rights might have vulnerabilities,
@@ -447,5 +475,9 @@ Patch Management:
447475
- hardening is missing in ISO 27001
448476
- 14.2.1
449477
implementation:
450-
- <a href="https://github.com/GoogleContainerTools/distroless">Distroless</a>
451-
- <a href="https://getfedora.org/coreos?stream=stable">Fedora CoreOS</a>
478+
- name: Distroless
479+
tags: []
480+
url: https://github.com/GoogleContainerTools/distroless
481+
- name: Fedora CoreOS
482+
tags: []
483+
url: https://getfedora.org/coreos

data-new/CultureAndOrganization/Design.yaml

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,9 @@ Design:
6262
usefulness: 3
6363
level: 1
6464
implementation:
65-
- <a href="https://github.com/Toreon/threat-model-playbook">Threat modeling Playbook</a>
65+
- name: Threat modeling Playbook
66+
tags: []
67+
url: https://github.com/Toreon/threat-model-playbook
6668
md-description: |2
6769
6870
Once requirements are gathered and analysis is performed, implementation specifics need to be defined. The outcome of this stage is usually a diagram outlining data flows and a general system architecture. This presents an opportunity for both threat modeling and attaching security considerations to every ticket and epic that is the outcome of this stage.
@@ -126,9 +128,12 @@ Design:
126128
- may be part of risk assessment
127129
- 8.1.2
128130
implementation:
129-
- <a href='https://www.owasp.org/index.php/Agile_Software_Development:_Don%27t_Forget_EVIL_User_Stories'>Don't
130-
Forget EVIL User Stories</a> and <a href='http://safecode.org/publication/SAFECode_Agile_Dev_Security0712.pdf'>Practical
131-
Security Stories and Security Tasks for Agile Development Environments</a>
131+
- name: "[Don't Forget EVIL U"
132+
tags: []
133+
url: https://www.owasp.org/index.php/Agile_Software_Development
134+
description: "[Don't Forget EVIL User Stories](https://www.owasp.org/index.php/Agile_Software_Development:_Don%27t_Forget_EVIL_User_Stories)\
135+
\ and [Practical Security Stories and Security Tasks for Agile Development\
136+
\ Environments](http://safecode.org/publication/SAFECode_Agile_Dev_Security0712.pdf)"
132137
Creation of simple abuse stories:
133138
risk:
134139
- User stories mostly don't consider security implications. Security flaws are
@@ -148,9 +153,12 @@ Design:
148153
- may be part of risk assessment
149154
- 8.1.2
150155
implementation:
151-
- <a href='https://www.owasp.org/index.php/Agile_Software_Development:_Don%27t_Forget_EVIL_User_Stories'>Don't
152-
Forget EVIL User Stories</a> and <a href='http://safecode.org/publication/SAFECode_Agile_Dev_Security0712.pdf'>Practical
153-
Security Stories and Security Tasks for Agile Development Environments</a>
156+
- name: "[Don't Forget EVIL U"
157+
tags: []
158+
url: https://www.owasp.org/index.php/Agile_Software_Development
159+
description: "[Don't Forget EVIL User Stories](https://www.owasp.org/index.php/Agile_Software_Development:_Don%27t_Forget_EVIL_User_Stories)\
160+
\ and [Practical Security Stories and Security Tasks for Agile Development\
161+
\ Environments](http://safecode.org/publication/SAFECode_Agile_Dev_Security0712.pdf)"
154162
Information security targets are communicated:
155163
risk:
156164
- Employees don't known their organizations security targets. Therefore security

data-new/CultureAndOrganization/Process.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ Process:
6767
- 12.5.1
6868
- 12.6.1
6969
implementation:
70-
- 'Example: All docker images used by teams need to be based on standard images.'
70+
- name: 'Example: All docker images used by teams need to be based on standard
71+
images.'
72+
tags: []
7173
comment: By preventing teams from trying out new components, innovation might
7274
be hampered

data-new/Implementation/ApplicationHardening.yaml

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,12 @@ Application Hardening:
3535
3636
Source: [OWASP Project Integration](https://raw.githubusercontent.com/OWASP/www-project-integration-standards/master/writeups/owasp_in_sdlc/index.md)
3737
implementation:
38-
- <a href='https://owasp.org/www-project-application-security-verification-standard/'>OWASP
39-
ASVS</a>
40-
- <a href="https://github.com/OWASP/owasp-masvs">OWASP MASVS</a>
38+
- name: OWASP ASVS
39+
tags: []
40+
url: https://owasp.org/www-project-application-security-verification-standard/
41+
- name: OWASP MASVS
42+
tags: []
43+
url: https://github.com/OWASP/owasp-masvs
4144
samm2: software-requirements|A|1
4245
iso27001-2017:
4346
- hardening is not explicitly covered by ISO 27001 - too specific
@@ -59,9 +62,12 @@ Application Hardening:
5962
usefulness: 4
6063
level: 2
6164
implementation:
62-
- <a href='https://owasp.org/www-project-application-security-verification-standard/'>OWASP
63-
ASVS</a>
64-
- <a href="https://github.com/OWASP/owasp-masvs">OWASP MASVS</a>
65+
- name: OWASP ASVS
66+
tags: []
67+
url: https://owasp.org/www-project-application-security-verification-standard/
68+
- name: OWASP MASVS
69+
tags: []
70+
url: https://github.com/OWASP/owasp-masvs
6571
samm2: software-requirements|A|2
6672
iso27001-2017:
6773
- hardening is not explicitly covered by ISO 27001 - too specific
@@ -84,9 +90,12 @@ Application Hardening:
8490
usefulness: 4
8591
level: 3
8692
implementation:
87-
- <a href='https://owasp.org/www-project-application-security-verification-standard/'>OWASP
88-
ASVS</a>
89-
- <a href="https://github.com/OWASP/owasp-masvs">OWASP MASVS</a>
93+
- name: OWASP ASVS
94+
tags: []
95+
url: https://owasp.org/www-project-application-security-verification-standard/
96+
- name: OWASP MASVS
97+
tags: []
98+
url: https://github.com/OWASP/owasp-masvs
9099
samm2: software-requirements|A|3
91100
iso27001-2017:
92101
- hardening is not explicitly covered by ISO 27001 - too specific
@@ -109,9 +118,12 @@ Application Hardening:
109118
usefulness: 4
110119
level: 4
111120
implementation:
112-
- <a href='https://owasp.org/www-project-application-security-verification-standard/'>OWASP
113-
ASVS</a>
114-
- <a href="https://github.com/OWASP/owasp-masvs">OWASP MASVS</a>
121+
- name: OWASP ASVS
122+
tags: []
123+
url: https://owasp.org/www-project-application-security-verification-standard/
124+
- name: OWASP MASVS
125+
tags: []
126+
url: https://github.com/OWASP/owasp-masvs
115127
samm2: software-requirements|A|3
116128
iso27001-2017:
117129
- hardening is not explicitly covered by ISO 27001 - too specific

data-new/InformationGathering/Logging.yaml

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,14 @@ Logging:
3333
usefulness: 1
3434
level: 1
3535
implementation:
36-
- rsyslog
37-
- logstash
38-
- fluentd
39-
- bash
36+
- name: rsyslog
37+
tags: []
38+
- name: logstash
39+
tags: []
40+
- name: fluentd
41+
tags: []
42+
- name: bash
43+
tags: []
4044
samm2: o-incident-management|A|1
4145
iso27001-2017:
4246
- not explicitly covered by ISO 27001 - too specific
@@ -56,10 +60,14 @@ Logging:
5660
dependsOn:
5761
- PII logging concept
5862
implementation:
59-
- rsyslog
60-
- logstash
61-
- fluentd
62-
- bash
63+
- name: rsyslog
64+
tags: []
65+
- name: logstash
66+
tags: []
67+
- name: fluentd
68+
tags: []
69+
- name: bash
70+
tags: []
6371
samm2: o-incident-management|A|1
6472
iso27001-2017:
6573
- 12.4.1
@@ -77,8 +85,10 @@ Logging:
7785
usefulness: 2
7886
level: 1
7987
implementation:
80-
- rsyslog
81-
- ' Logstash'
88+
- name: rsyslog
89+
tags: []
90+
- name: Logstash
91+
tags: []
8292
samm2: o-incident-management|A|1
8393
iso27001-2017:
8494
- not explicitly covered by ISO 27001 - too specific
@@ -120,7 +130,8 @@ Logging:
120130
- Centralized system logging
121131
- Centralized application logging
122132
implementation:
123-
- ELK-Stack
133+
- name: ELK-Stack
134+
tags: []
124135
samm2: o-incident-management|A|1
125136
iso27001-2017:
126137
- not explicitly covered by ISO 27001 - too specific

0 commit comments

Comments
 (0)