@@ -33,7 +33,7 @@ in detail. As depicted in Figure 1, these main steps are:
33
33
countermeasures designed. Their correct implementation and the
34
34
validity of the threat models are checked by code reviews.
35
35
Finally, a process shall be defined for reporting, classifying,
36
- and mitigating security issues..
36
+ and mitigating security issues.
37
37
38
38
3. **Security Certification: ** Defines the certifiable part of the
39
39
Zephyr RTOS. This includes an evaluation target, its assets, and
@@ -97,8 +97,8 @@ The three major security measures currently implemented are:
97
97
98
98
- **Security ** **Functionality ** with a focus on cryptographic
99
99
algorithms and protocols. Support for cryptographic hardware is
100
- scoped for future releases.The Zephyr runtime architecture is a
101
- monolithic binary and removes the need for dynamic loaders ,
100
+ scoped for future releases. The Zephyr runtime architecture is a
101
+ monolithic binary and removes the need for dynamic loaders,
102
102
thereby reducing the exposed attack surface.
103
103
104
104
- **Quality Assurance ** is driven by using a development process that
@@ -111,7 +111,7 @@ The three major security measures currently implemented are:
111
111
- **Execution Protection ** including thread separation, stack and
112
112
memory protection is currently available in the upstream
113
113
Zephyr RTOS starting with version 1.9.0 (stack protection). Memory
114
- protection and thread separation was added in version 1.10.0 for X86
114
+ protection and thread separation were added in version 1.10.0 for X86
115
115
and in version 1.11.0 for ARM and ARC.
116
116
117
117
These topics are discussed in more detail in the following subsections.
@@ -123,10 +123,10 @@ The security functionality in Zephyr hinges mainly on the inclusion of
123
123
cryptographic algorithms, and on its monolithic system design.
124
124
125
125
The cryptographic features are provided through a set of cryptographic
126
- libraries. Applications can choose TinyCrypt2 or mbedTLS based on their
126
+ libraries. Applications can choose TinyCrypt2 or Mbed TLS based on their
127
127
needs. TinyCrypt2 supports key cryptographic algorithms required by the
128
- connectivity stacks. Tinycrypt2 , however, only provides a limited set of
129
- algorithms. mbedTLS supports a wider range of algorithms, but at the
128
+ connectivity stacks. TinyCrypt2 , however, only provides a limited set of
129
+ algorithms. Mbed TLS supports a wider range of algorithms, but at the
130
130
cost of additional requirements such as malloc support. Applications can
131
131
choose the solution that matches their individual requirements. Future
132
132
work may include APIs to abstract the underlying crypto library choice.
@@ -147,7 +147,7 @@ protection mechanisms are provided to protect against stack overruns.
147
147
In addition, applications can take advantage of thread separation
148
148
features to split the system into privileged and unprivileged execution
149
149
environments. Memory protection features provide the capability to
150
- partition system resources (memory, peripheral address space, etc) and
150
+ partition system resources (memory, peripheral address space, etc. ) and
151
151
assign resources to individual threads or groups of threads. Stack,
152
152
thread execution level, and memory protection constraints are enforced
153
153
at the time of context switch.
@@ -191,7 +191,7 @@ started on the definition of vulnerability categorization and mitigation
191
191
processes within Jira.
192
192
193
193
Issues determined by Coverity should have more stringent reviews before
194
- they are closed as non issues (at least another person educated in
194
+ they are closed as non- issues (at least another person educated in
195
195
security processes need to agree on non-issue before closing).
196
196
197
197
A security subcommittee has been formed to develop a security process in
@@ -433,12 +433,12 @@ Lifecycle management contains several aspects:
433
433
cycle, documenting releases, and maintaining a record of known
434
434
vulnerabilities and mitigations. Especially for certification
435
435
purposes the integrity of the release needs to be ensured in a
436
- way that later manipulation (e.g. inserting of backdoors, etc.)
436
+ way that later manipulation (e.g., inserting of backdoors, etc.)
437
437
can be easily detected.
438
438
439
439
- **Rights management and NDAs: ** if required by the chosen
440
440
certification, the confidentiality and integrity of the system
441
- needs to be ensured by an appropriate rights management (e.g.
441
+ needs to be ensured by an appropriate rights management (e.g.,
442
442
separate source code repository) and non-disclosure agreements
443
443
between the relevant parties. In case of a repository shared
444
444
between several parties, measures shall be taken that no
@@ -523,7 +523,7 @@ this, the individual steps include:
523
523
confidentiality, manipulation of user data, etc.
524
524
525
525
3. **Definition of requirements ** regarding security and protection of
526
- the assets, e.g. countermeasures or memory protection schemes.
526
+ the assets, e.g., countermeasures or memory protection schemes.
527
527
528
528
The security architecture shall be harmonized with the existing system
529
529
architecture and implementation to determine potential deviations and
@@ -553,7 +553,7 @@ vulnerabilities, as well as the description of the potential exploits of
553
553
these vulnerabilities. Additionally, the impact on the asset, the module
554
554
it resides in, and the overall system is to be estimated. This threat
555
555
model is then considered in the module and system security architecture
556
- and appropriate counter-measures are defined to mitigate the threat or
556
+ and appropriate countermeasures are defined to mitigate the threat or
557
557
limit the impact of exploits.
558
558
559
559
In short, the threat modeling process can be separated into these steps
@@ -571,7 +571,7 @@ In short, the threat modeling process can be separated into these steps
571
571
572
572
This procedure shall be carried out during the design phase of modules
573
573
and before major changes of the module or system architecture.
574
- Additionally, new models shall be created or existing ones shall be
574
+ Additionally, new models shall be created, or existing ones shall be
575
575
updated whenever new vulnerabilities or exploits are discovered. During
576
576
security reviews, the threat models and the mitigation techniques shall
577
577
be evaluated by the responsible security architect.
@@ -619,7 +619,7 @@ Security Certification
619
619
620
620
One goal of creating a secure branch of the Zephyr RTOS is to create a
621
621
certifiable system or certifiable submodules thereof. The certification
622
- scope and scheme is yet to be decided. However, many certification such
622
+ scope and scheme are yet to be decided. However, many certifications such
623
623
as Common Criteria [CCITSE12 ]_ require evidence that the evaluation
624
624
claims are indeed fulfilled, so a general certification process is
625
625
outlined in the following. Based on the final choices for the
@@ -685,7 +685,7 @@ pursued:
685
685
including a specific hardware, the Zephyr RTOS, and an
686
686
application is certified.
687
687
688
- In all three cases, the certification scheme (e.g. FIPS 140-2 [NIST02 ]_
688
+ In all three cases, the certification scheme (e.g., FIPS 140-2 [NIST02 ]_
689
689
or Common Criteria [CCITSE12 ]_), the scope of the certification
690
690
(main-stream Zephyr, security branch, or certain modules), and the
691
691
certification/assurance level need to be determined.
0 commit comments