blob: 8a493ac4fcce7806d18ecc595bd2e5c6e1b374a3 [file] [log] [blame]
Gyorgy Szingd4a86562022-04-07 15:30:34 +02001Generic Threat Model
2====================
3
Gyorgy Szing0bbd4ed2025-02-21 01:01:59 +01004The Generic Threat Model discusses an abstract physical Secure Partition and captures service independent security
5related information like assets, threats, and mitigations.
Gyorgy Szingd4a86562022-04-07 15:30:34 +02006
Gyorgy Szing0bbd4ed2025-02-21 01:01:59 +01007This model serves as the foundation for assessing the security of any specific deployment involving one or more Trusted
8Services.
Gyorgy Szingd4a86562022-04-07 15:30:34 +02009
10Target evaluation
11-----------------
12
13In this threat model, the target of evaluation is the S-EL0 SPs part of the PSA RoT hosting a "generalized" trusted
14service.
15
16This evaluation is based on the following assumptions:
17
18 * The implementation is based on the |FF-A| standard.
19 * Trusted boot is enabled. This means an attacker cant boot arbitrary images that are not approved by platform
20 providers.
21 * Each trusted service is running in an S-EL0 secure partition. Access to memory and hardware is controlled by the
22 SPM based on the FF-A manifest or FF-A framework messages.
23 * Components running at higher privilege levels than S-EL0 are to be inherently trusted. (I.e. the SPM).
24
25Data flow diagram
26-----------------
27
28The data flow diagram visualizes the connection between components and where the data flow crosses security boundaries.
29
30.. image:: ./generic-data-flow.svg
31 :target: Attachments_
32
Imre Kis17ea5262025-03-11 16:46:44 +010033.. list-table:: List of generic data flows
34 :header-rows: 1
35 :widths: auto
Gyorgy Szingd4a86562022-04-07 15:30:34 +020036
Imre Kis17ea5262025-03-11 16:46:44 +010037 * - Data flow
38 - Description
39 - In scope
40 * - DF1
41 - Trusted Service interacts with NWd client directly.
42 - Yes
43 * - DF2
44 - Trusted Service interacts with NWd client through SPM.
45 - Yes
46 * - DF3
47 - Trusted Services interact through SPM.
48 - Yes
49 * - DF4
50 - Trusted Service logs debug information.
51 - Yes
52 * - DF5
53 - Trusted Services interact directly.
54 - Yes
55 * - DF6, DF7
56 - Trusted Services interacts with shared hardware.
57 - Yes
58 * - DF8
59 - Trusted Service interacts with dedicated peripheral interface.
60 - Yes
61 * - DF9, DF10
62 - Trusted Service interacts with shared, external hardware.
63 - Yes
64 * - DF11
65 - Trusted Service interacts with dedicated, external hardware.
66 - Yes
67 * - DF12
68 - NWd interacts with more privileged software.
69 - No
70 * - DF13
71 - FF-A manifest and other data is handed over to a Trusted Service
72 - No
73 * - DF14
74 - Trusted Service interacts with dedicated, physically protected hardware.
75 - Yes
Gyorgy Szingd4a86562022-04-07 15:30:34 +020076
Gyorgy Szingf4f91fa2025-02-21 01:25:57 +010077It is worth highlighting two different dataflow types between the service and its clients:
78 1. Direct communication through shared memory. DF1 and DF5 represents this type of communication and it may be
79 sensitive to TOCTTOU attacks. See threat 10 below.
80 2. Indirect communication through registers. DF2 and DF3 represents this type. This type is more secure and less
81 performant.
82
Gyorgy Szingd4a86562022-04-07 15:30:34 +020083Trust boundaries
84----------------
85
86.. list-table:: List of trust boundaries
Imre Kis17ea5262025-03-11 16:46:44 +010087 :header-rows: 1
88 :widths: auto
Gyorgy Szingd4a86562022-04-07 15:30:34 +020089
90 * - Trust boundary
91 - Description
92 * - TB1
93 - Trust boundary between TEE and normal world.
94 * - TB2
95 - Trust boundary between higher privilege level SW and Trusted Services.
96 * - TB3, TB4
97 - Trust boundary between trusted services.
98 * - TB5
99 - Trust boundary to physically accessible external hardware.
100
101Assets
102------
103
104The above dataflow identifies the following generalized assets.
105
Imre Kis17ea5262025-03-11 16:46:44 +0100106.. list-table:: Assets
107 :header-rows: 1
108 :widths: auto
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200109
Imre Kis17ea5262025-03-11 16:46:44 +0100110 * - Asset
111 - Description
112 * - ``availability``
113 - Availability of a trusted service to clients.
114 * - ``code execution``
115 - Code or code flow of a trusted service.
116 * - ``sensitive data``
117 - Data that an attacker must not tamper with. These include device identity key, Initial Attestation Key,
118 Protected Storage Key, UEFI variables, TPM event log.
119 * - ``sensitive hardware``
120 - Hardware that an attacker must not be tamper with. Examples are control interface of storage medium, true
121 random number generator, crypto accelerator.
122
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200123
124Attackers and threat agents
125---------------------------
126
127This section identifies the generalized stakeholders interacting with secure services.
128
129.. list-table::
Imre Kis17ea5262025-03-11 16:46:44 +0100130 :header-rows: 1
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200131 :widths: 20,70,10
132
133 * - Attacker/Threat agent
134 - Description
135 - In scope
136 * - ``NSClient``
137 - Client executing in the normal world.
138 - Yes
139 * - ``SClient``
140 - Client running in SWd.
141 - Yes
142 * - ``HPComponent``
143 - Components running at higher privilege level than the trusted service.
144 - No
145 * - ``AppDebug``
146 - Physical attacker using debug signals to access resources.
147 - Yes
148 * - ``PhysAcc``
149 - Physical attacker having access to the external device communication bus and to the external flash communication
150 bus using common hardware.
151 - Yes
152 * - ``AdvPhysAcc``
153 - Attackers who are able to use specialist hardware for attacks that require irreversible changes to the target
154 system (e.g., "rewiring" a chip using a Focused IonBeam FIB workstation).
155 - No
156
157
Imre Kis17ea5262025-03-11 16:46:44 +0100158.. _generic_threat_priority:
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200159
160Threat Priority
161---------------
162
163Threat priority calculation is based on `Common Vulnerability Scoring System`_ (CVSS) Version 3.1. The threat priority
164is represented by the `Severity Rating Scale`_ calculated from the CVSS score of each threat. The CVSS score is
165calculated using the `Vulnerability Calculator`_.
166
167For each threat the priority and a link to CVSS calculator capturing the calculator settings will be listed.
168
Imre Kis17ea5262025-03-11 16:46:44 +0100169.. _generic_threat_types:
170
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200171Threat Types
172------------
173
174In this threat model we categorize threats using the `STRIDE threat analysis technique`_. In this technique a threat is
175categorized as one or more of these types: ``Spoofing``, ``Tampering``, ``Repudiation``, ``Information disclosure``,
176``Denial of service`` or ``Elevation of privilege``.
177
Imre Kis17ea5262025-03-11 16:46:44 +0100178.. _generic_threat_1:
179
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200180.. list-table::
181 :widths: 15,80
Imre Kis17ea5262025-03-11 16:46:44 +0100182 :width: 100%
183
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200184
185 * - **ID**
Imre Kis17ea5262025-03-11 16:46:44 +0100186 - GEN1
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200187 * - Description
188 - Information leak via debug logs.
189
190 During development it is common practice to help understanding code execution by emitting
191 debug logs.
192 * - Data flow
193 - DF4
194 * - Asset(s)
195 - ``Sensitive Data``
196 * - Threat Agent/Attacker
197 - ``AppDebug``
198 * - Threat type
199 - ``Information disclosure``
200 * - Impact
201 - Sensitive information may get to unauthorized people. Information can potentially help
202 compromising the target or other systems.
203 * - Scoring/CVSS
204 - Medium, 4.6 `CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N <https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N>`_
205 * - Mitigation
206 - Log messages are put to "verbosity categories". Release builds limit printed log messages
207 to "error" category.
208 * - Mitigation in place
209 - yes
210
Imre Kis17ea5262025-03-11 16:46:44 +0100211.. _generic_threat_2:
212
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200213.. list-table::
214 :widths: 15,80
Imre Kis17ea5262025-03-11 16:46:44 +0100215 :width: 100%
216
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200217
218 * - **ID**
Imre Kis17ea5262025-03-11 16:46:44 +0100219 - GEN2
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200220 * - Description
221 - An attacker can tamper with sensitive data and execute arbitrary code through hardware-assisted
222 debug interface.
223 * - Data flow
224 - N/A.
225 * - Asset(s)
226 - ``Sensitive Data``, ``Code Execution``, ``Sensitive Hardware``
227 * - Threat Agent/Attacker
228 - ``AppDebug``
229 * - Threat type
230 - ``Information disclosure``, ``Tampering``
231 * - Impact
232 - Sensitive information may get to unauthorized people. Information can potentially help
233 compromising the target or other systems.
234
235 An attacker may modify sensitive data and alter device behavior and thus compromise the
236 target or other systems.
237 * - Scoring/CVSS
238 - Medium, 6.8 `CVSS:3.1/AV:P/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H <https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:P/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H>`_
239 * - Mitigation
240 - Hardware platform specific means to disable or limit access to debug functionality.
241 * - Mitigation in place
242 - yes
243
Imre Kis17ea5262025-03-11 16:46:44 +0100244.. _generic_threat_3:
245
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200246.. list-table::
247 :widths: 15,80
Imre Kis17ea5262025-03-11 16:46:44 +0100248 :width: 100%
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200249
250 * - **ID**
Imre Kis17ea5262025-03-11 16:46:44 +0100251 - GEN3
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200252 * - Description
253 - An attacker can perform a denial-of-service attack by using a broken service call that
254 causes the service to enter an unknown state.
255
256 Secure and non-secure clients access a trusted service through FF-A calls. Malicious code
257 can attempt to place the service into an inconsistent state by calling unimplemented
258 calls or by passing invalid arguments.
259 * - Data flow
260 - DF1, DF2, DF3, DF5
261 * - Asset(s)
262 - ``Availability``
263 * - Threat Agent/Attacker
264 - ``NSclient``, ``SClient``
265 * - Threat type
266 - ``Denial of service``
267 * - Impact
268 - The service or the whole system may temporarily or permanently enter an unusable state.
269 * - Scoring/CVSS
270 - Medium, 6.8 `CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H <https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H>`_
271 * - Mitigation
272 - The service must validate all inputs before usage. Input validation shall be checked during
273 code review and by testing.
274 * - Mitigation in place
275 - yes
276
Imre Kis17ea5262025-03-11 16:46:44 +0100277.. _generic_threat_4:
278
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200279.. list-table::
280 :widths: 15,80
Imre Kis17ea5262025-03-11 16:46:44 +0100281 :width: 100%
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200282
283 * - **ID**
Imre Kis17ea5262025-03-11 16:46:44 +0100284 - GEN4
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200285 * - Description
286 - Memory corruption due to memory overflows and lack of boundary checking when accessing
287 resources.
288
289 Allows an attacker to execute arbitrary code, modify memory content to change
290 program flow.
291 * - Data flow
292 - DF1, DF2, DF3, DF5
293 * - Asset(s)
294 - ``Code execution``, ``Sensitive Data``, ``Denial of service``
295 * - Threat Agent/Attacker
296 - ``SClient``, ``NSClient``, ``HSComponent``
297 * - Threat type
298 - ``Tampering``, ``Information disclosure``, ``Elevation of privilege``, ``Denial of service``
299 * - Impact
300 - The service or the whole system may temporarily or permanently enter an unusable state.
301
302 Malicious code might be executed in the context of the compromised service.
303 Leakage of sensitive data.
304 * - Scoring/CVSS
305 - High, 8.4 `CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H <https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H>`_
306 * - Mitigation
307 - The service must validate boundaries and sanity check incoming data. Validation shall be
308 checked during code reviews and by testing.
309 * - Mitigation in place
310 - yes
311
Imre Kis17ea5262025-03-11 16:46:44 +0100312.. _generic_threat_5:
313
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200314.. list-table::
315 :widths: 15,80
Imre Kis17ea5262025-03-11 16:46:44 +0100316 :width: 100%
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200317
318 * - **ID**
Imre Kis17ea5262025-03-11 16:46:44 +0100319 - GEN5
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200320 * - Description
321 - External devices connected to the system storing sensitive data. An attacker could eavesdrop external signals.
322 * - Data flow
323 - DF9, DF10, DF11
324 * - Asset(s)
325 - ``Sensitive Data``
326 * - Threat agent/Attacker
327 - ``PhysAcc``
328 * - Threat type
329 - ``Information disclosure``
330 * - Impact
331 - An attacker may get access to sensitive data, could tamper with sensitive data, or could attack the service
332 using the external device by injecting malicious data, which could lead to malfunction or execution of malicious
333 code.
334 * - Scoring/CVSS
335 - Medium, 5.9 `CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H <https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H>`_
336 * - Mitigation
337 - When designing the use case, storage services must be assessed to understand which protection type they can
338 implement (integrity, authenticity, confidentiality, rollback-protection). Sensitive data must be categorized
339 and mapped to the storage service which can provide the needed protection.
340
341 For example integrity can be safeguarded by using checksums. Authenticity by using digital signatures.
342 Confidentiality by using encryption. Rollback protection by using nonce values.
343 * - Mitigation in place
344 - yes
345
Imre Kis17ea5262025-03-11 16:46:44 +0100346.. _generic_threat_6:
347
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200348.. list-table::
349 :widths: 15,80
Imre Kis17ea5262025-03-11 16:46:44 +0100350 :width: 100%
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200351
352 * - **ID**
Imre Kis17ea5262025-03-11 16:46:44 +0100353 - GEN6
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200354 * - Description
355 - State of external devices connected to the system might be modified by an attacker.
356
357 This includes modifying signals, replacing the device, or modifying device content.
358 * - Data flow
359 - DF9, DF10, DF11
360 * - Asset(s)
361 - ``Sensitive Data``, ``Denial of service``, ``Code execution``
362 * - Threat agent/Attacker
363 - ``PhysAcc``
364 * - Threat type
365 - ``Tampering``, ``Denial of service``, ``Code execution``
366 * - Impact
367 - An attacker could tamper with sensitive data, or could attack the system by injecting malicious data, which
368 could lead to malfunction, execution of malicious code, or using old state with known vulnerability.
369 * - Scoring/CVSS
370 - High, 7.3 `CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H <https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H>`_
371 * - Mitigation
372 - When designing the use case, storage services must be assessed to understand which protection type they can
373 implement (integrity, authenticity, confidentiality, rollback-protection). Sensitive data must be categorized
374 and mapped to the storage service which can provide the needed protection.
375
376 For example integrity can be safeguarded by using checksums. Authenticity by using digital signatures.
377 Confidentiality by using encryption. Rollback protection by using hardware backed nonce values.
378 * - Mitigation in place
379 - yes
380
Imre Kis17ea5262025-03-11 16:46:44 +0100381.. _generic_threat_7:
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200382
383.. list-table::
384 :widths: 15,80
Imre Kis17ea5262025-03-11 16:46:44 +0100385 :width: 100%
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200386
Imre Kis17ea5262025-03-11 16:46:44 +0100387 * - **ID**
388 - GEN7
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200389 * - Description
390 - Invalid or conflicting access to shared hardware.
391
392 * - Data flow
393 - DF6, DF7, DF9, DF10
394 * - Asset(s)
395 - ``Sensitive Data``, ``Denial of service``, ``Code execution``
396 * - Threat Agent/Attacker
397 - ``SClient``, ``NSClient``, ``HPComponent``
398 * - Threat type
399 - ``Tampering``, ``Information disclosure``, ``Denial of service``, ``Code execution``
400 * - Impact
401 - A trusted service relying on shared hardware usage might get compromised or misbehaving if other stakeholders
402 affect shared hardware in unexpected way.
403
404 * - Scoring/CVSS
405 - High, 7.0 `CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:H <https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:H>`_
406 * - Mitigation
407 - Access to peripherals must be limited to the smallest possible set of services. Ideally each peripheral should be
408 dedicated to a single trusted service and sharing of peripherals should be avoided is possible. If sharing can
409 not be avoided, a strict handover process shall be implemented to allow proper context switches, where hardware
410 state can be controlled.
411 * - Mitigation in place
412 - yes
413
Imre Kis17ea5262025-03-11 16:46:44 +0100414.. _generic_threat_8:
415
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200416.. list-table::
417 :widths: 15,80
Imre Kis17ea5262025-03-11 16:46:44 +0100418 :width: 100%
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200419
420 * - **ID**
Imre Kis17ea5262025-03-11 16:46:44 +0100421 - GEN8
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200422 * - Description
423 - Unauthenticated access to hardware.
424
425 A trusted service relying on hardware usage might get compromised or misbehaving if hardware state is
426 maliciously altered.
427 * - Data flow
428 - DF6, DF7, DF9, DF10
429 * - Asset(s)
430 - ``Sensitive Data``, ``Denial of service``, ``Code execution``
431 * - Threat Agent/Attacker
432 - ``SClient``, ``NSClient``, ``HPComponent``
433 * - Threat type
434 - ``Tampering``, ``Information disclosure``, ``Denial of service``, ``Code execution``
435 * - Impact
436 - An attacker may get access to sensitive data of might make a trusted service or the system enter an unusable
437 state by tampering with hardware peripherals.
438 * - Scoring/CVSS
439 - Medium, 6.4 `CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H <https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H>`_
440 * - Mitigation
441 - Access to peripherals must be limited to the smallest possible set of services. Ideally each peripheral should be
442 dedicated to a single trusted service, and sharing of peripherals should be avoided is possible. If sharing can
443 not be avoided, a strict handover process shall be implemented to allow proper context switches, where register
444 values can be controlled.
445 * - Mitigation in place
446 - yes
447
Imre Kis17ea5262025-03-11 16:46:44 +0100448.. _generic_threat_9:
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200449
450.. list-table::
451 :widths: 15,80
Imre Kis17ea5262025-03-11 16:46:44 +0100452 :width: 100%
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200453
454 * - **ID**
Imre Kis17ea5262025-03-11 16:46:44 +0100455 - GEN9
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200456 * - Description
457 - Unauthenticated access to sensitive data.
458 * - Data flow
459 - DF1, DF2, DF3, DF5
460 * - Asset(s)
461 - ``Sensitive Data``, ``Denial of service``
462 * - Threat Agent/Attacker
463 - ``SClient``, ``NSClient``, ``HPComponent``
464 * - Threat type
465 - ``Tampering``, ``Information disclosure``, ``Denial of service``
466 * - Impact
467 - A trusted service may manage data of multiple clients. Different clients shall not be able to access each
468 other's data unless in response to explicit request.
469 * - Scoring/CVSS
470 - Medium, 6.8 `CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N <https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N>`_
471 * - Mitigation
472 - Trusted services must implement access control based on identification data provided by higher privileged
473 components (i.e. FF-A endpoint ID).
474 * - Mitigation in place
475 - yes
476
Imre Kis17ea5262025-03-11 16:46:44 +0100477.. _generic_threat_10:
478
Gyorgy Szingf4f91fa2025-02-21 01:25:57 +0100479.. list-table::
480 :widths: 15,80
Imre Kis17ea5262025-03-11 16:46:44 +0100481 :width: 100%
Gyorgy Szingf4f91fa2025-02-21 01:25:57 +0100482
483 * - **ID**
Imre Kis17ea5262025-03-11 16:46:44 +0100484 - GEN10
Gyorgy Szingf4f91fa2025-02-21 01:25:57 +0100485 * - Description
486 - Time-of-Check to Time-of-Use (TOCTTOU) attack trough shared memory.
487 * - Data flow
488 - DF1, DF5
489 * - Asset(s)
490 - ``Sensitive Data``, ``Code execution``, ``Availability``
491 * - Threat Agent/Attacker
492 - ``SClient``, ``NSClient``
493 * - Threat type
494 - ``Tampering``, ``Information disclosure``, ``Denial of service``, ``Elevation of privilege``
495 * - Impact
496 - An attacker may cause incorrect operation of the service, and thus:
497 - make the system enter an unusable state,
498 - breach logical isolation boundary within the trust domain of the service and impersonate other client
499 - execute unauthentic code.
500 * - Scoring/CVSS
501 - High, 7.4 `CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H <https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H>`_
502 * - Mitigation
503 - - The Trusted service must copy data to a private buffer when executing TOCTTOU sensitive operation.
504 - The service implementation must not read the input buffer multiple times.
505 * - Mitigation in place
506 - yes
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200507
508--------------
509
510.. _Attachments:
511.. Rubric:: Attachments
512
513Source file of the `Data flow diagram`_. Please use the yEd_ for editing. :download:`./generic-data-flow.graphml`
514
515--------------
516
517.. _`Common Vulnerability Scoring System`: https://www.first.org/cvss/v3.1/specification-document
518.. _`Vulnerability Calculator`: https://www.first.org/cvss/calculator/3.1
519.. _`Severity Rating Scale`: https://www.first.org/cvss/v3.1/specification-document#Qualitative-Severity-Rating-Scale
520.. _`STRIDE threat analysis technique`: https://docs.microsoft.com/en-us/azure/security/develop/threat-modeling-tool-threats#stride-model
521.. _yEd: https://www.yworks.com/products/yed
522
Gyorgy Szing0bbd4ed2025-02-21 01:01:59 +0100523*Copyright (c) 2022-2025, Arm Limited and Contributors. All rights reserved.*
Gyorgy Szingd4a86562022-04-07 15:30:34 +0200524
525SPDX-License-Identifier: BSD-3-Clause