**Common Weakness Enumeration (CWE):** A community-developed list of software and hardware weaknesses that can become vulnerabilities. https://cwe.mitre.org/
**Elevated Privilege:**
**Elevated Privilege:** A level of access that allows accessing or changing security-relevant configuration, data, or functions on a system.
**Command Shell:**
**Process Isolation:**
> FIXME add any other terms we need to define
**Command Shell:** A text-based interface allowing execution of system programs.
**Process Isolation:** Techniques to prevent processes from accessing or changing each other's state.
## 3.2 Abbreviations
@@ -306,8 +302,6 @@ For the purposes of the present document, the following abbreviations apply:
| MMU | Memory Management unit |
| IO | Input/Output |
> FIXME add more abbreviations
# 4 Product context
## 4.1 General
@@ -353,7 +347,6 @@ The internal structure/architecture/security design of an operating system depen
> FIXME: Use generic architectural descriptions (monolithic, microkernel, ...) or create a list of orthogonal properties (hardware access control for drivers, address space separation, ...) and differentiate based on that?
### 4.3.0 Hybrid monolithic/micro kernel operating systems
> FIXME: Use the definition from section 4.5 as a starting point?
@@ -479,6 +472,7 @@ Note: "account" refers to a user in the operating systems sense: a unique system
#### 4.5.1.1 Number of Users
**[NUSR]:** Manufacturers of operating systems which are intended to store personal data, including user login data, shall account for the risk to such data in the risk calculation and ensure that appropriate protections are available. System-level users (such as root) do not count towards this risk.
* NUSR-0: the operating system is designed not to allow end-users to authenticate
* NUSR-1: the operating system is designed to only allow one end-user to authenticate; to switch users, the device must be reset
* NUSR-2: the operating system is designed to allow for more than one end-user account
@@ -486,6 +480,7 @@ Note: "account" refers to a user in the operating systems sense: a unique system
#### 4.5.1.2 User Concurrency
**[CUSR]:** Manufacturers of operating systems which are intended to support end-user accounts, either concurrently or sequentially, shall account for the increased risk to per-user data from other users and ensure that appropriate protections are available. System-level users (such as root) count towards this if they are configurable or accessible by end-users.
* CUSR-0: the operating system is designed not to allow end-users to authenticate
* CUSR-1: the operating system is designed to only allow one end-user to authenticate; to switch users,t he device must be reset.
* CUSR-2: the operating system is designed to allow for more than one end-user account, and end-user accounts may be simultaneously active on the device.
@@ -493,6 +488,7 @@ Note: "account" refers to a user in the operating systems sense: a unique system
#### 4.5.1.3 Sensitive or Artibrary Data Storage
**[DATA]:** Manufacturers of operating systems may implement measures to prevent the on-device storage of user data, and shall document this and implement appropriate steps to ensure that no user data is stored on the device. Manufacturers may also enable the storage of specific types of data or generally of any user-specified data, and shall document the measures available for the protection of such data.
* DATA-0: the operating system is effectively unable to store per-user data in its forseeable use
* DATA-1: the operating system is designed only to store limited data types
* DATA-2: the operating system is designed to store arbitrary data
@@ -500,6 +496,7 @@ Note: "account" refers to a user in the operating systems sense: a unique system
#### 4.5.1.4 Physical Access by Threat Actors to the Device
**[PHYS]:** Manufacturers of operating systems may implement protective measures, such as preventing peripheral device driver loading or relying on hardware capabilities such as tamper-evident mechanisms, to mitigate physical access based threats to the device.
* PHYS-0: only used in environments with authorized users **[
* PHYS-1: may be incidentally exposed to untrusted users
* PHYS-2: used primarily by untrusted users, e.g. the general public
@@ -507,6 +504,7 @@ Note: "account" refers to a user in the operating systems sense: a unique system
#### 4.5.1.5 Probability of Loss of the Device
**[LOSS]:** likelihood of loss or theft should be accounted for in the risk calculation, particularly for devices that store sensitive personal data.
* LOSS-0: forseeable use of the operating system is limited to stationary devices or devices with other loss-prevention mechanisms
* LOSS-1: forseeable use of the operating system is in a device with only incidental loss likelyhood
* LOSS-2: forseeable use of the operating system is in a device with a high loss likelyhood, such as devices which are common targets of theft such as mobile phones
@@ -514,6 +512,7 @@ Note: "account" refers to a user in the operating systems sense: a unique system
#### 4.5.1.6 Hardware Modifiabiliy by End Users
**[HWMD]:** Manufacturers of operating systems shall account for forseeable risks from hardware modifications within the intended use of the product.
* HWMD-0: forseeable use of the operating system is limited to devices with hardware that is not modifiable by end-users
* HWMD-1: forseeable use of the operating system includes hardware modifications by skilled or trusted users, such as corporate IT support staff
* HWMD-2: forseeable use of the operating system includes hardware modification by unskilled users, such as in a personal computer
@@ -521,6 +520,7 @@ Note: "account" refers to a user in the operating systems sense: a unique system
#### 4.5.1.7 Software Modifiability by End Users
**[SWMD]:** Manufacturers of operating systems which are designed to allow end-users to install or substantially modify the software shall account for the risks from arbitrary software execution.
* SWMD-0: forseeable use lacks any reasonable means for end-users to install or modify the software
* SWMD-1: forseeable use only allows the installation of trusted and verified software
* SWMD-2: forseeable use allows for the installation of arbitrary software or for substantial modification of pre-installed software
@@ -528,6 +528,7 @@ Note: "account" refers to a user in the operating systems sense: a unique system
#### 4.5.1.8 Untrusted Peripheral Devices
**[DVCS]:** Manufacturers of operating systems which are intended for devices that support attached peripheral devices, such as those utilizing USB or PCI conenctions, shall account for the risk posed by untrusted or compromised peripheral devices and implement appropriate safeguards.
* DVCS-0: forseeable use has no accessible peripheral ports
* DVCS-1: forseeable use includes only trusted and safe peripheral devices
* DVCS-2: forseeable use allows for arbitrary peripheral device attachment
@@ -535,6 +536,7 @@ Note: "account" refers to a user in the operating systems sense: a unique system
#### 4.5.1.9 Access To The Internet
**[TNET]:** Manufacturers of operating systems designed to provide end-users with access to the internet shall implement appropriate safeguards based on the nature of internet access and forseeable use of the operating system.
* TNET-0: forseeable use has no mechanism to reasonably connect to the internet
* TNET-1: forseeable use allows internet access for only highly restricted functions, such as retrieving security updates
* TNET-2: forseeable use allows for arbitrary access to the internet, such as by browsing the web
@@ -542,6 +544,7 @@ Note: "account" refers to a user in the operating systems sense: a unique system
#### 4.5.1.10 Accessed From Untrusted Networks Including The Internet
**[FNET]:** Manufacturers of operating systems designed to be connected to directly from the internet, rather than placed behind NAT or a firewall, shall implement appropriate safeguards to mitigate risks.
* FNET-0: forseeable use is limited to trusted and private networks.
* FNET-1: forseeable use includes untrusted local networks but not the open internet.
* FNET-1: forseeable use includes being connected directly to the open internet.
@@ -549,6 +552,7 @@ Note: "account" refers to a user in the operating systems sense: a unique system
#### 4.5.1.11 Configurability
**[CONF]:** Manufacturers of operating systems which are intended to be configurable by end users shall provide secure-by-default configurations and document all available configuration options. Such documentation shall detail any effects on safety and security that such configuration changes may cause.
* CONF-0: forseeable use of the operating system prevents or is incapable of storing configuration changes.
* CONF-1: forseeable use allows operating system configuration changes only by skilled or trusted users, such as corporate IT support staff.
* CONF-2: forseeable use of the operating system includes configuration changes by end-users.
@@ -569,124 +573,6 @@ Note: "account" refers to a user in the operating systems sense: a unique system
@@ -730,26 +616,7 @@ A few risk factors extracted from the use cases:
* End user configurability (how locked down)
* End user modifiability to hardware
* Running on bare metal vs. hypervisor
We may be able to use these risk factors to calculate a recommended
security level for special purpose operating systems not covered by
use cases.
Les: level of exposure to the internet (proxy for an attacker)
How easy is it for an attacker to get access?
Break down mobile as proxy for physical access, wifi, much network
game os for consoles
rtos for an oscilloscope
Carl-Daniel: Any smart phone has two operating systems anyway: The user-facing operating system (Android/iOS) and the modem/baseband operating system (usually some RTOS, usually 5 years behind with patching security holes). So the smart phone is also a nice model for compound devices.
Baseband OS - think about distinction with chips a la boot managers
Many devices have multiple OS's for elements
* Many devices have multiple OS's for elements
## 4.6 Security levels
@@ -761,9 +628,8 @@ Security levels are an informative resource to the manufacturer. Each security l
Security levels are associated with sets of risk factor levels.