You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The attributes of the template are described in :ref:`process_requirements_security_analysis_attributes`.
85
87
88
+
The analysis is done by as described in the flowchart :ref:`platform_security_analysis`.
89
+
86
90
**Steps:**
87
91
88
-
#. For each architectural element check if a threat from the threat scenarios :need:`gd_guidl__sec_ana_threat_scenarios` applies.
89
-
#. If a threat scenario applies, use the template :need:`gd_temp__plat_threat_scenario`, :need:`gd_temp__feat_sec_ana_threat` or :need:`gd_temp__comp_sec_ana_threat` to perform the analysis.
90
-
#. The title of the analysis should be easily recognizable e.g. "Component xy unauthorized access".
91
-
#. Link the violated architecture with the "violates" attribute.
92
-
#. Replace the placeholders in the "id" attribute with the name of the feature or component and a short description of the element so that it can be easily identified.
93
-
#. Document the threat ID from the threat scenario :need:`gd_guidl__sec_ana_threat_scenarios` that applies to the element in the "threat_id" attribute.
94
-
#. Describe the threat effect of the threat scenario on the element in the "threat_effect" attribute. Use the violation cause description and enlarge it if it's applicable to the considered element.
95
-
#. Document the mitigation. This can be (accept, avoid, reduce, share) of the threat.
92
+
#. Define the trust boundary model for the platform under analysis. An example trust boundary definition is given in :ref:`trust_boundary_example`. The trust boundary model should be defined in a way that it can be easily recognized which architectural elements are located in which trust boundary. The trust boundary model should be defined before starting the analysis and should be used as an input for the analysis. The trust boundary model should be updated if there are changes in the platform architecture or if there are changes in the threat scenarios.
93
+
#. Identify the assets of the platform. The assets are the elements of the platform that have to be protected. The assets can be identified by using the trust boundary model and the platform architecture. The assets can be identified using the following questions:
94
+
95
+
- What are the critical
96
+
- features, interfaces, components (HW and SW), data of the platform?
97
+
- communication paths and interfaces of the platform?
98
+
- configurations of the platform?
99
+
- What critical information is shared between the components?
100
+
- Compromise of which assets can have an impact on security properties such as confidentiality, integrity, availability, authenticity, accountability, non-repudiation?
101
+
- What are the process assets such as development, production, maintenance processes that could be exploited by attackers?
102
+
103
+
#. Identify how each asset flows through the features in the platform. The asset flow can be identified by using the platform architecture and the trust boundary model. The asset flow can be identified by using the following questions:
104
+
105
+
- How critical functions of the platform interact with each other?
106
+
- How critical data of the platform flow through the platform?
107
+
- How critical components of the platform interact with each other?
108
+
- How critical interfaces and communication paths are used in the platform?
109
+
- How critical information is shared between the functions/components of the platform?
110
+
#. For each identified assets, identify the attack surfaces. The attack surfaces can be any interface or entry point that could be exploited by an attacker. Some examples are as follows:
- Backend services for OTA, fleet management, mobile apps, web portals
123
+
- Data centers, PKI/signing services, identity and access management, APIs
124
+
- Development, production and service infrastructure
125
+
- Build servers, version control, CI/CD, signing infrastructure
126
+
- Manufacturing/test equipment, configuration tools, dealer/service tools, update media
127
+
128
+
#. For each attack surface, identify the potential threats that can be used by an attacker to compromise the asset. The potential threats can be identified using the following sources as input:
- `Capec Catalog of Attack Patterns <https://capec.mitre.org/data/index.html>`_
134
+
- `CWE Common Weakness Enumeration <https://cwe.mitre.org/data/index.html/>`_
135
+
- Other relevant sources such as security advisories, research papers, etc.
136
+
137
+
#. If a threat scenario applies, use the template :need:`gd_temp__plat_threat_scenario` to perform the analysis.
138
+
#. For each identified potential threat, identify and document the potential mitigations. The potential mitigations are security requirements that then serve as the stakeholder requirements for features.
139
+
#. Document the Security assumptions derived from this process.
140
+
#. Risk treatment can be done by using the following options: accept, avoid, reduce, share. The chosen risk treatment shall be documented.
96
141
#. If there is no mitigation or the mitigation is not sufficient, a mitigation issue has to be created in the Issue Tracking system and linked in the "mitigation_issue" attribute.
97
-
#. The analysis is finished if for each identified threat a sufficient mitigation exists.
98
-
#. Unless the attribute sufficient is yes, mitigation and argument attributes can be still empty.
99
-
#. Continue the analysis until all applicable threat scenarios are checked.
142
+
#. Continue the analysis until all applicable threat scenarios for each attack surface of each asset are checked.
100
143
#. The verification is done by applying the checklist :need:`gd_chklst__security_analysis`.
101
144
102
145
.. note::
103
146
If there are changes they have to be analyzed with an impact analysis
104
147
:need:`gd_temp__change_impact_analysis`. If needed the Security Analysis has to be
105
148
updated accordingly. Therefore all necessary steps have to be repeated.
Copy file name to clipboardExpand all lines: process/process_areas/security_analysis/security_analysis_concept.rst
+23-5Lines changed: 23 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -107,22 +107,40 @@ Also requirements of standards need to be taken into consideration:
107
107
How to analyze?
108
108
===============
109
109
110
-
The Security Analysis are done on the feature and component architecture.
110
+
The Security Analysis are done on the platform, feature and component architecture.
111
111
The Security Analysis shall be done accompanying to the development.
112
112
So the results can directly be used for the development of the feature and component.
113
113
With an iterative approach it is needed to provide the evidence of the cybersecurity of
114
114
the functions.
115
-
The analysis were applied at static and dynamic architecture diagrams. Examples will
116
-
be added here in an future PR (https://github.com/eclipse-score/process_description/issues/409).
115
+
116
+
Platform security analysis
117
+
==========================
118
+
.. figure:: _assets/PlatformAnalysisFLowChart.png
119
+
:align:center
120
+
:width:80%
121
+
:name:platform_security_analysis
122
+
123
+
Platform Architecture
124
+
125
+
A step-by-step-approach is described in :need:`gd_guidl__security_analysis`.
126
+
As shown above in the flow diagram, the first step in the platform security analysis is the definition of the trust boundary. An example definition is shown below.
127
+
128
+
.. figure:: _assets/exampleTrustBoundary.png
129
+
:align:center
130
+
:width:80%
131
+
:name:trust_boundary_example
132
+
133
+
Trust Boundary
134
+
117
135
118
136
How to mitigate?
119
137
================
120
-
121
-
Identified risks without a mitigation remain open and are tracked in the issue tracking
138
+
Security requirements resulting from the Platform analysis become :need:`wp__requirements_stkh` for the features. Identified risks without a mitigation remain open and are tracked in the issue tracking
122
139
system :need:`wp__issue_track_system` until they are resolved.
123
140
Resolving includes acceptance of the risk or avoidance.
124
141
Further a new security control may be needed to reduce the risk.
125
142
Finally also the risk may shared, if applicable.
143
+
Security assumptions resulting from the analysis are documented properly as :need:`wp__requirements_sw_platform_aou`.
0 commit comments