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
Copy file name to clipboardExpand all lines: Documentation/framework.md
+46-40Lines changed: 46 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,7 +55,7 @@ OCP Security Workgroup
55
55
</td>
56
56
<td>Eric Eilertson
57
57
</td>
58
-
<td>
58
+
<td>Publish release framework
59
59
</td>
60
60
</tr>
61
61
<tr>
@@ -68,6 +68,16 @@ OCP Security Workgroup
68
68
<td>Add manifest support
69
69
</td>
70
70
</tr>
71
+
<tr>
72
+
<td>1.2
73
+
</td>
74
+
<td>August, 2025
75
+
</td>
76
+
<td>Rob Wood
77
+
</td>
78
+
<td>Clarify publication process
79
+
</td>
80
+
</tr>
71
81
</table>
72
82
73
83
# Glossary
@@ -79,7 +89,7 @@ OCP Security Workgroup
79
89
80
90
# Executive Summary
81
91
82
-
Today’s modern data centers are comprised of a wide variety of processing devices (CPU, GPU, FPGA, etc.)and peripheral
92
+
Today’s modern data centers are comprised of a wide variety of processing devices (CPU, GPU, FPGA, etc.)and peripheral
83
93
components (network controllers, accelerators, storage devices, etc.). These devices typically run updatable software,
84
94
firmware, or microcode which can reside internally or externally to the device. The provenance, code quality, and
85
95
software supply chain for firmware releases and patches that run on these devices requires a strong degree of security
@@ -121,19 +131,19 @@ The conditions under which these reviews take place, are of two main types:
121
131
122
132
At a high level, the process flows through the following sequence of steps:
123
133
124
-
1. DV selects an SRP.
125
-
2. DV and SRP prepare a scope for the security review.
134
+
1. DV selects an SRP from the list of [approved providers](./security_review_providers.md).
135
+
2. DV and SRP prepare a scope for the security review according to the [Security Review Scope](#security-review-scope) information provided below and in the supplementary [review areas](./review_areas.md).
126
136
3. SRP performs the security review.
127
137
4. DV addresses any findings from the SRP.
128
138
5. SRP reviews the changes and issues the final reports.
129
139
6. DV and SRP prepare the necessary deliverables.
130
-
7. The DV provides them to the [OCP Security WG](https://www.opencompute.org/wiki/Security) for publication.
140
+
7. The DV provides them to the [OCP Security WG](https://www.opencompute.org/wiki/Security) for publication in the form of a GitHub Pull Request (see [OCP Report Deliverables](#ocp-report-deliverables) below).
131
141
132
142
Device Vendors are encouraged to engage an SRP early in the architectural definition process and continue with reviews
133
143
at major architectural or implementation milestones, e.g. 0.8 of architectural and implementation specifications, and
134
144
when ROM or firmware codes are nearing completion. This will help the device vendor avoid costly code rewrites or chip
135
-
respins to address critical vulnerabilities. The results of these engagements during product development need not be
136
-
published.
145
+
re-spins to address critical vulnerabilities. The results of these engagements during product development need not be
146
+
published, only assessments of released products is within scope of the OCP S.A.F.E. program.
137
147
138
148
## Objectives
139
149
@@ -151,7 +161,7 @@ The key objectives of this framework are:
151
161
152
162
The reputation and integrity of the Security Review Providers are as important as their technical expertise. If there is
153
163
a belief that the SRP delivers work of variable quality this brings into question all the reports they produce.
154
-
Similarly, a conflict of interest degrades the value of the reports and in turns decreases the value of the SAFE
164
+
Similarly, a conflict of interest degrades the value of the reports and in turn decreases the value of the SAFE
155
165
program.
156
166
157
167
The [SRP requirements document](./srp_requirements.md) contains requirements for the SRPs business, management, and
@@ -175,7 +185,7 @@ an SRP must be nominated and approved by the TAC.
175
185
176
186
SRPs may have their endorsement suspended or revoked at any time for issues that cause SAFE to question the SRPs
177
187
security practices, commitment to quality, or allegiances. Examples of such issues include losing control of a private
178
-
signing key, endorsing firmware with hardcoded credentials. Beyond egregious technical mistakes, an SRP must not be
188
+
signing key or overlooking hard-coded credentials in firmware. Beyond egregious technical mistakes, an SRP must not be
179
189
controlled by a company it is auditing or affiliated with a firm that sells vulnerabilities or exploits.
180
190
181
191
## Security Review Scope
@@ -206,9 +216,9 @@ description of the scopes is provided in the [review areas](./review_areas.md) d
206
216
non-volatile storage media.
207
217
***Critical Assets**: A listing of all security-impacting assets within
208
218
the firmware, and the corresponding Confidentiality, Integrity and Availability requirements for each. Examples of
209
-
critical assets may include secret keys, the fuse config, or configuration data residing in external flash.
219
+
critical assets may include secret keys, the fuse configuration, or any configuration data residing in external flash.
210
220
211
-
The SAFE program defines 3 security review scopes. These scopes increase the complexity of attacks in the threat model.
221
+
The SAFE program defines 3 security review scopes. These scopes increase with complexity of attacks in the threat model.
212
222
It is expected that devices will have reviews done with different review scopes. For example, a CPU may have a scope 3
213
223
review of the root of trust due to the need for glitch protection when using a long-term device private key. This CPU
214
224
may use a scope 2 review for the application cores.
@@ -226,7 +236,7 @@ may use a scope 2 review for the application cores.
226
236
* Discovery of hard-coded credentials, seeds, private keys, or symmetric secrets.
227
237
* Identifying temporal and spatial memory safety issues that arise due to improper input validation or race
228
238
conditions that may occur along the attack surfaces that were identified in the threat model.
229
-
* Discovery of remnant debug handles on production builds
239
+
* Discovery of remnant debug handlers on production builds
230
240
* Analysis of the cryptographic constructions employed by the firmware when protecting the confidentiality or
231
241
integrity of any critical assets.
232
242
* Improper handling of cryptographic material, e.g. keys, counters, nonces, seeds.
@@ -247,7 +257,7 @@ may use a scope 2 review for the application cores.
247
257
* Safe generation and handling of all cryptographic material.
***Scope 2 - Focusing on Trust boundaries:** Includes all of the areas of Scope 1 above, with deeper review focus of the following areas:
251
261
* Trusted execution environment assessment
252
262
* Handling of trust boundaries
253
263
* Attestation and non-repudiation across boundaries
@@ -259,37 +269,38 @@ may use a scope 2 review for the application cores.
259
269
## OCP Report Deliverables
260
270
261
271
This framework stipulates that the following be delivered to the OCP SAFE program for publication in the appropriate
262
-
public [GitHub](https://github.com/opencomputeproject/OCP-Security-SAFE) repositories after the review (and re-testing,
263
-
and any embargo periods end) has concluded:
272
+
public [GitHub](https://github.com/opencomputeproject/OCP-Security-SAFE) repositories after the review (and remediation and re-testing)
273
+
has concluded:
264
274
265
275
***Scope Document**\
266
276
DV and SRP should jointly negotiate the scope of the review, based on the
267
277
[review areas](#security-review-scope). As alluded to above, the areas are neither exhaustive nor complete, therefore
268
278
the DV is encouraged to socialize the Scope with the OCP Security WG, either through its regular calls, or on its
269
-
mailing list.
270
-
271
-
* The scope itself can be any number of documents, as long as the concatenation of them is provided to the OCP Security
272
-
WG. Aside from level of effort estimates, no part of the DV/SRP statement of work, NDAs, etc. needs to be published.
273
-
279
+
mailing list. The scope itself can be any number of documents, as long as the concatenation of them is provided to the OCP Security
280
+
WG. Aside from level of assessment effort, no part of the DV/SRP statement of work, NDAs, etc. needs to be published.
274
281
***Short-Form Report**\
275
-
The SRP must produce a cryptographically signed machine-readable short-form report. This document will summarize the
276
-
audit scope, and uniquely identify the vendor, device and firmware version by means of a firmware hash. This report
277
-
will enumerate all vulnerabilities with a CVSS score and a brief summary. The short-form report specification can be
278
-
found in [Appendix B](#appendix-b-machine-readable-short-form-report-format). To claim OCP SAFE endorsement for a
279
-
product-firmware combination this report must
280
-
be published to the OCP GitHub repository.
282
+
The SRP must produce a cryptographically signed machine-readable short-form report. Only the final results are to be
283
+
in the signed SFR (after remediation and retesting). This document will summarize the audit scope, and uniquely identify
284
+
the vendor, device and firmware version by means of a firmware hash. This report will enumerate all vulnerabilities
285
+
with a CVSS score and a brief summary. The short-form report specification can be found in
286
+
[Appendix B](#appendix-b-machine-readable-short-form-report-format). To claim OCP SAFE endorsement for a
287
+
product-firmware combination this report must be published to the OCP GitHub repository. This signed SFR is delivered
288
+
to the DV for publication.
281
289
***GitHub Pull Request Submission**\
282
-
The Pull Request for the submission to GitHub could from the SRP or the Device Vendor. If there are issues in the SFR
283
-
it is *suggested* that the DV submit the PR. This *suggestion* helps to ensure that the DV is in control of messaging
284
-
around any potential vulnerability disclosures.
290
+
The Pull Request (PR) for the submission to GitHub *must* be from the Device Vendor. This ensures that the DV is in
291
+
control of timing and messaging around any potential unfixed vulnerability disclosures. Previous versions of this document allowed
292
+
for the SRP to publish the PR on behalf of the DV, however this created ambiguity and allowed the possibility that an
293
+
SRP might publish an SFR without the DV's blessing. The DV, at their discretion, may elect to delay the publication, or not to publish at all and
294
+
forgo OCP SAFE endorsement.
285
295
***Signed Git Commits**\
286
-
The OCP GitHub repository is configured to require all commits to be signed. Please remember this when preparing the submission.
296
+
The OCP GitHub repository is configured to require all commits to be [signed](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits). Please remember this when preparing the submission (use [--amend --signoff](https://stackoverflow.com/a/15667644) if you forget).
297
+
***SRF Pull Request Path**\
298
+
The signed SFRs are published to the location Reports/$Vendor/$Year/$Product. As a convenience,
299
+
the submission may choose to additionally include the human-readable SFR documents.
300
+
***SRP Public Key Pull Request Path**\
301
+
The public signing key of each SRP is published to the location SRP_certificates/$SRP. These are to be published and maintained by
302
+
the SRP, and may be revoked by the TAC (see [Disqualification](#Disqualification) above).
287
303
288
-
***Pull Request Path**\
289
-
The location of the signed SFRs and signing public key should be in Reports/$Vendor/$Year/$Product. As a convience,
290
-
the submission may choose to additionally include the human-readable JSON documents.
291
-
292
-
293
304
294
305
In addition to the short-form report, the SRP should deliver to the DV a detailed report. This report will likely be
295
306
protected by NDA and will not be published. The DV should address the findings in the report. The DV is encouraged to
@@ -315,11 +326,6 @@ use the findings in the report to improve design, engineering, build, and test p
315
326
316
327
Several SRP sample reports can be found in [Appendix A](#appendix-a-example-reports).
317
328
318
-
***Embargos**\
319
-
If the SRP identifies vulnerabilities that might need a significant amount of time to fix or mitigate, the DV may opt
320
-
to embargo the report until such a time as the issues have been resolved. Note that the DV may, at their discretion,
321
-
share the findings from an embargoed report directly with their CSP customers under NDA.
0 commit comments