Skip to content

Commit 19db69c

Browse files
authored
🤖 fmt
1 parent e462bb5 commit 19db69c

File tree

2 files changed

+146
-69
lines changed

2 files changed

+146
-69
lines changed

‎CHANGELOG.md‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
# [1.15.0](https://github.com/devsecopsmaturitymodel/DevSecOps-MaturityModel-data/compare/v1.14.3...v1.15.0) (2025-02-23)
2+
3+
4+
### Bug Fixes
5+
6+
* add meta.yaml via download ([95d8577](https://github.com/devsecopsmaturitymodel/DevSecOps-MaturityModel-data/commit/95d8577b248fb7d56c1e49b7adbd49280255dd14))
7+
8+
9+
### Features
10+
11+
* enhance descriptions ([2bc6246](https://github.com/devsecopsmaturitymodel/DevSecOps-MaturityModel-data/commit/2bc6246e0adb2db2ceb05ac8d975ac3be2418aeb))
12+
113
# [1.14.0](https://github.com/devsecopsmaturitymodel/DevSecOps-MaturityModel-data/compare/v1.13.0...v1.14.0) (2024-11-07)
214

315

‎src/assets/YAML/generated/generated.yaml‎

Lines changed: 134 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,15 @@ Build and Deployment:
5252
C: false
5353
Defined build process:
5454
uuid: f6f7737f-25a9-4317-8de2-09bf59f29b5b
55+
description: "A *build process* include more than just compiling your source
56+
code. \nIt also includes steps such as managing (third party) dependencies,
57+
\nenvironment configuration, running the unit tests, etc. \n\nA *defined build
58+
process* has automated these steps to ensure consistency.\n\nThis can be done
59+
with a Jenkinsfile, Maven, or similar tools.\n"
5560
risk: Performing builds without a defined process is error prone; for example,
5661
as a result of incorrect security related configuration.
5762
measure: A well defined build process lowers the possibility of errors during
5863
the build process.
59-
description: |
60-
Sample evidence as an attribute in the yaml: The build process is defined in [REPLACE-ME Pipeline](https://replace-me/jenkins/job)
61-
in the folder _vars_. Projects are using a _Jenkinsfile_ to use the
62-
defined process.
6364
difficultyOfImplementation:
6465
knowledge: 2
6566
time: 3
@@ -2429,13 +2430,17 @@ Culture and Organization:
24292430
C: false
24302431
Definition of simple BCDR practices for critical components:
24312432
uuid: c72da779-86cc-45b1-a339-190ce5093171
2432-
risk: In case of an emergency, like a power outage, DR actions to perform are
2433-
not clear. This leads to reaction and remediation delays.
2433+
description: A _Business Continuity and Disaster Recovery_ (BCDR) is a plan
2434+
and a process that helps a business to return to normal operations if a disaster
2435+
occurs.
2436+
risk: If the disaster recovery actions are not clear, you risk slow reaction
2437+
and remediation delays. This applies to cyber attacks as well as natural emergencies,
2438+
such as a power outage.
24342439
measure: By understanding and documenting a business continuity and disaster
24352440
recovery (BCDR) plan, the overall availability of systems and applications
24362441
is increased. Success factors like responsibilities, Service Level Agreements,
24372442
Recovery Point Objectives, Recovery Time Objectives or Failover must be fully
2438-
documented and understood.
2443+
documented and understood by the people involved in the recovery.
24392444
difficultyOfImplementation:
24402445
knowledge: 4
24412446
time: 3
@@ -2859,21 +2864,40 @@ Implementation:
28592864
Default: false
28602865
B: false
28612866
C: false
2862-
Contextualized Encoding:
2867+
Context-aware output encoding:
28632868
uuid: e1f37abb-d848-4a3a-b3df-65e91a89dcb7
2864-
risk: The generation of interpreter directives from user-provided data poses
2865-
difficulties and can introduce vulnerabilities to injection attacks.
2866-
measure: |
2867-
Implementing contextualized encoding, such as employing object-relational mapping tools or utilizing prepared statements, nearly removes the threat of injection vulnerabilities.
2869+
description: "**Input validation** stops malicious data from entering your system.
2870+
\\\n**Output encoding** neutralizes malicious data before rendering to user,
2871+
or the next system.\n\nInput validation and output encoding work together.
2872+
Apply both. \n\n**Context-aware output encoding** encodes data differently,
2873+
depending on its context. In the sample below the `{{bad_data}}` must be encoded
2874+
differently, depending on its context, to render safe HTML.\n\n```html\n<div>{{bad_data}}</div>\n<a
2875+
href=\"{{bad_data}}\">Click me</a>\n<script>var x = '{{bad_data}}';</script>\n<script>/**
2876+
Comment {{bad_data}} */</script>\n``` \n"
2877+
risk: If an attacker manages to slip though your input validation, the attacker
2878+
may gain control over the user session or execute arbitrary actions.
2879+
measure: "* Use modern secure frameworks such as React/Angular/Vue/Svelte. The
2880+
default method here renders data in a safe way.\n* Use established and well-maintained
2881+
encoding libraries such as OWASP\u2019s Java Encoder and Microsoft\u2019s
2882+
AntiXSS.\n* Implement content security policies (CSP) to restrict the types
2883+
of content that can be loaded and executed.\n"
28682884
difficultyOfImplementation:
2869-
knowledge: 2
2885+
knowledge: 1
28702886
time: 2
28712887
resources: 1
28722888
usefulness: 3
28732889
level: 1
2874-
description: |
2875-
Bear in mind that utilizing frameworks is a recommended approach; however, they can develop known security weaknesses over time. Diligent and regular patching is crucial.
2876-
implementation: []
2890+
implementation:
2891+
- uuid: 2d61e48f-bade-4332-a383-adc50c29673a
2892+
name: OWASP DOM based XSS Prevention CheatSheet
2893+
url: https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html
2894+
tags: []
2895+
- uuid: ae97c9b0-308c-4dab-bff9-bf3330a897dc
2896+
name: CWE-838 Inappropriate Encoding for Output Context
2897+
tags:
2898+
- documentation
2899+
- cwe
2900+
url: https://cwe.mitre.org/data/definitions/838.html
28772901
references:
28782902
samm2:
28792903
- D-SR-1-A
@@ -2886,6 +2910,58 @@ Implementation:
28862910
openCRE:
28872911
- https://www.opencre.org/rest/v1/standard/DevSecOps+Maturity+Model+(DSOMM)/Application
28882912
Hardening/e1f37abb-d848-4a3a-b3df-65e91a89dcb7
2913+
comments: ""
2914+
tags:
2915+
- none
2916+
teamsImplemented:
2917+
Default: false
2918+
B: false
2919+
C: false
2920+
Parametrization:
2921+
uuid: 00e91a8a-3972-4692-8679-674ab8547486
2922+
description: |
2923+
By concatenating strings from user input to build SQL queries, an attacker can manipulate the query to do other unintentional SQL commands as well.
2924+
2925+
This is called *SQL injection* but the principle applies to NoSql, and anywhere that your code is building commands that will be executed.
2926+
2927+
Pay attention to these two lines of code. They seem similar, but behave very differently.
2928+
2929+
* `sql.execute("SELECT * FROM table WHERE ID = " + id);`
2930+
* `sql.execute("SELECT * FROM table WHERE ID = ?", id);`
2931+
The second line is parameterized. The same principle applies to other types, such as command line execution, etc.
2932+
risk: "Systems vulnerable to injections may lead to data breaches, loss of data,
2933+
\nunauthorized alteration of data, or complete database compromise or downtime.\n\nThis
2934+
applies to SQL, NoSql, LDAP, XPath, email headers OS commands, etc. \n"
2935+
measure: |
2936+
* Identify which of the types your application is using. Check that you use:
2937+
* Use _parametrized queries_ (or _prepared statements_)
2938+
* For database queries, you may also use:
2939+
* Use _stored procedures_ ()
2940+
* Use ORM (Object-Relational Mapping) tools that automatically handle input sanitization
2941+
difficultyOfImplementation:
2942+
knowledge: 1
2943+
time: 2
2944+
resources: 1
2945+
usefulness: 3
2946+
level: 1
2947+
implementation:
2948+
- uuid: d880fa0f-9dbb-454e-a003-d844fad31ab4
2949+
name: OWASP Parameterization CheatSheet
2950+
url: https://cheatsheetseries.owasp.org/cheatsheets/Query_Parameterization_Cheat_Sheet.html
2951+
tags: []
2952+
references:
2953+
samm2:
2954+
- D-SR-1-A
2955+
iso27001-2017:
2956+
- Hardening is not explicitly covered by ISO 27001 - too specific
2957+
- 13.1.3
2958+
iso27001-2022:
2959+
- Hardening is not explicitly covered by ISO 27001 - too specific
2960+
- 8.22
2961+
openCRE:
2962+
- https://www.opencre.org/rest/v1/standard/DevSecOps+Maturity+Model+(DSOMM)/Application
2963+
Hardening/00e91a8a-3972-4692-8679-674ab8547486
2964+
comments: ""
28892965
tags:
28902966
- none
28912967
teamsImplemented:
@@ -4025,9 +4101,12 @@ Implementation:
40254101
Usage of edge encryption at transit:
40264102
uuid: ad23be9c-5661-4f1f-81a3-5a5dc7061629
40274103
risk: Evil actors might be able to perform a man in the middle attack and sniff
4028-
confidential information (e.g. authentication factors like passwords)
4029-
measure: By using encryption at the edge of traffic in transit, it is impossible
4030-
or at least harder to sniff credentials being outside of the organization.
4104+
confidential information (e.g. authentication factors like passwords).
4105+
measure: |-
4106+
By using encryption at the edge of traffic in transit, it is impossible
4107+
or at least harder to sniff credentials or information being outside of the organization.
4108+
4109+
Using standard secure protocols like HTTPS is recommended.
40314110
difficultyOfImplementation:
40324111
knowledge: 2
40334112
time: 2
@@ -4287,7 +4366,7 @@ Implementation:
42874366
usefulness: 3
42884367
level: 3
42894368
dependsOn:
4290-
- Contextualized encoding
4369+
- Context-aware output encoding
42914370
implementation: []
42924371
references:
42934372
samm2:
@@ -4986,8 +5065,19 @@ Information Gathering:
49865065
Simple application metrics:
49875066
uuid: e9a6d403-a467-445e-b98a-74f0c29da0b1
49885067
risk: Attacks on an application are not recognized.
4989-
measure: Gathering of application metrics helps to identify incidents like brute
4990-
force attacks, login/logout.
5068+
measure: |-
5069+
Gathering of application metrics helps to identify incidents like brute force attacks, login/logout patterns, and unusual spikes in activity. Key metrics to monitor include:
5070+
- Authentication attempts (successful/failed logins)
5071+
- Transaction volumes and patterns (e.g. orders, payments)
5072+
- API call rates and response times
5073+
- User session metrics
5074+
- Resource utilization
5075+
5076+
Example: An e-commerce application normally processes 100 orders per hour. A sudden spike to 1000 orders per hour could indicate either:
5077+
- A legitimate event (unannounced marketing campaign, viral social media post)
5078+
- A security incident (automated bulk purchase bots, credential stuffing attack)
5079+
5080+
By monitoring these basic metrics, teams can quickly investigate abnormal patterns and determine if they represent security incidents requiring response.
49915081
difficultyOfImplementation:
49925082
knowledge: 2
49935083
time: 2
@@ -5729,7 +5819,7 @@ Test and Verification:
57295819
- The number of network hops required to reach the asset (recommended)
57305820
- Authentication requirements for access (recommended)
57315821
dependsOn:
5732-
- 38d1bd10-7b5f-4ae1-868c-0ec813285425
5822+
- 44f2c8a9-4aaa-4c72-942d-63f78b89f385
57335823
- 2a44b708-734f-4463-b0cb-86dc46344b2f
57345824
implementation: ~
57355825
references:
@@ -5754,43 +5844,6 @@ Test and Verification:
57545844
Default: false
57555845
B: false
57565846
C: false
5757-
Fix based on severity:
5758-
uuid: 38d1bd10-7b5f-4ae1-868c-0ec813285425
5759-
risk: Overwhelming volume of security findings from automated testing tools.
5760-
This might lead to ignorance of findings.
5761-
measure: |
5762-
Implement a very simple risk-based prioritization framework for vulnerability remediation based on the severity of the findings.
5763-
5764-
On level one, fix only critical findings.
5765-
difficultyOfImplementation:
5766-
knowledge: 2
5767-
time: 2
5768-
resources: 1
5769-
usefulness: 3
5770-
level: 1
5771-
implementation: ~
5772-
references:
5773-
samm2:
5774-
- I-DM-3-B
5775-
iso27001-2017:
5776-
- 16.1.4
5777-
- 8.2.1
5778-
- 8.2.2
5779-
- 8.2.3
5780-
iso27001-2022:
5781-
- 5.25
5782-
- 5.12
5783-
- 5.13
5784-
- 5.1
5785-
openCRE:
5786-
- https://www.opencre.org/rest/v1/standard/DevSecOps+Maturity+Model+(DSOMM)/Consolidation/38d1bd10-7b5f-4ae1-868c-0ec813285425
5787-
tags:
5788-
- vuln-action
5789-
- defect-management
5790-
teamsImplemented:
5791-
Default: false
5792-
B: false
5793-
C: false
57945847
Integration in development process:
57955848
uuid: 123e4567-e89b-12d3-a456-426614174000
57965849
risk: "Not integrating vulnerability handling into the development process may
@@ -5961,10 +6014,19 @@ Test and Verification:
59616014
Simple false positive treatment:
59626015
uuid: c1acc8af-312e-4503-a817-a26220c993a0
59636016
risk: As false positive occur during each test, all vulnerabilities might be
5964-
ignored.
5965-
measure: False positives are suppressed so they will not show up on the next
5966-
tests again. Most security tools have the possibility to suppress false positives.
5967-
A Vulnerability Management System might be used.
6017+
ignored. Specially, if tests are automated an run daily.
6018+
measure: |-
6019+
Findings from security tests must be triaged and outcomes persisted/documented to:
6020+
- Prevent re-analysis of known issues in subsequent test runs
6021+
- Track accepted risks vs false positives
6022+
- Enable consistent decision-making across teams
6023+
6024+
At this maturity level, a simple tracking system suffices - tools need only distinguish between "triaged" and "untriaged" findings, without complex categorization. Some tools refer to this as "suppression" of findings.
6025+
6026+
Samples for false positive handling:
6027+
- [OWASP Dependency Check](https://jeremylong.github.io/DependencyCheck/general/suppression.html)
6028+
- [Kubescape with VEX](https://kubescape.io/blog/2023/12/07/kubescape-support-for-vex-generation/)
6029+
- [OWASP DefectDojo Risk Acceptance](https://docs.defectdojo.com/en/working_with_findings/findings_workflows/risk_acceptances/) and [False Positive Handling](https://docs.defectdojo.com/en/working_with_findings/intro_to_findings/#triage-vulnerabilities-using-finding-status)
59686030
difficultyOfImplementation:
59696031
knowledge: 1
59706032
time: 1
@@ -6095,9 +6157,10 @@ Test and Verification:
60956157
- 5.25
60966158
openCRE:
60976159
- https://www.opencre.org/rest/v1/standard/DevSecOps+Maturity+Model+(DSOMM)/Consolidation/b2f77606-3e6c-41e9-b72d-7c0b1d3d581d
6098-
comments: ""
60996160
tags:
6100-
- none
6161+
- vuln-action
6162+
- defect-management
6163+
comments: ""
61016164
teamsImplemented:
61026165
Default: false
61036166
B: false
@@ -6198,7 +6261,8 @@ Test and Verification:
61986261
- https://www.opencre.org/rest/v1/standard/DevSecOps+Maturity+Model+(DSOMM)/Consolidation/44f2c8a9-4aaa-4c72-942d-63f78b89f385
61996262
implementation: []
62006263
tags:
6201-
- none
6264+
- vuln-action
6265+
- defect-management
62026266
teamsImplemented:
62036267
Default: false
62046268
B: false
@@ -6227,7 +6291,8 @@ Test and Verification:
62276291
- https://www.opencre.org/rest/v1/standard/DevSecOps+Maturity+Model+(DSOMM)/Consolidation/9cac3341-fe83-4079-bef2-bfc4279eb594
62286292
implementation: []
62296293
tags:
6230-
- none
6294+
- vuln-action
6295+
- defect-management
62316296
teamsImplemented:
62326297
Default: false
62336298
B: false
@@ -8421,7 +8486,7 @@ Test and Verification:
84218486
uuid: ab0a4b51-3b18-43f1-a6fc-a98e4b28453d
84228487
risk: Time pressure and ignorance might lead to false predictions for the test
84238488
intensity.
8424-
measure: The intensity of the used tools are not modified to safe time.
8489+
measure: The intensity of the used tools are not modified to save time.
84258490
difficultyOfImplementation:
84268491
knowledge: 1
84278492
time: 1

0 commit comments

Comments
 (0)