2022-11 a Vulnerability Management Solution for Constrained IoT Devices With Trusted Execution Enviroment Using a Hardware Root of Trust
2022-11 a Vulnerability Management Solution for Constrained IoT Devices With Trusted Execution Enviroment Using a Hardware Root of Trust
vorgelegt von
Larissa Groth
Name: Groth
Vorname: Larissa
Ich erkläre gegenüber der Freien Universität Berlin, dass ich die vorliegende
Dissertation selbstständig und ohne Benutzung anderer als der angegebenen Quellen
und Hilfsmittel angefertigt habe. Die vorliegende Arbeit ist frei von Plagiaten.
Alle Ausführungen, die wörtlich oder inhaltlich aus anderen Schriften entnommen
sind, habe ich als solche kenntlich gemacht. Diese Dissertation wurde in gleicher
oder ähnlicher Form noch in keinem früheren Promotionsverfahren eingereicht.
Mit einer Prüfung meiner Arbeit durch ein Plagiatsprüfungsprogramm erkläre ich
mich einverstanden.
Datum: 01.11.2022
(Larissa Groth)
iv
v
Abstract
The popularity and prevalence of Internet of Things (IoT) devices has been ever
increasing. They have found their way into our everyday lives and increasingly
transform our living environments into smart homes. However, most of these
constrained devices do not possess sufficient computational power, memory, and
battery runtime in order to implement security features that are common for gen-
eral purpose personal computers. Hence, the increasing numbers of interconnected
consumer IoT devices are followed by an increase of their attack surface and vul-
nerabilities.
The following thesis approaches this security issue by providing a novel ap-
proach for a Runtime IoT Security Score that provides the inexperienced user of a
smart home system with profound insight into the security state of the connected
IoT devices during runtime. This is achieved by combining Vulnerability Assess-
ment with Trustworthiness Assessment of the connected devices, which has never
been proposed before and represents a very valuable contribution to the state of
current research.
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
vii
viii Contents
6 Evaluation 109
References 124
Appendices 130
List of Figures
2.1 Visual layout 1 (a) and 2 (b) for displaying the IoT facts explained
in 2.1, taken from [54] . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Exemplary prototype label for a hypothetical security camera with
poor privacy and security practices, taken from [18] . . . . . . . . . 11
2.3 Visual layout for displaying the primary layer (a) and secondary
layer (b), taken from [17] . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 MUD Architecture taken from [33] . . . . . . . . . . . . . . . . . . 23
2.5 Screenshot with exemplary Live Results of the Nessus professional
scanner, taken from [58] . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6 Screenshot with exemplary vulnerability scorecard report of Qualys
VM, taken from [48] . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.7 Screenshot of the default dashboard of InsightVM, taken from [49] 31
2.8 Lifecycle for any CVE Record in the CVE List, taken from [63] . . 32
2.9 Metric groups of the Common Vulnerability Scoring System (CVSS)
v3.1, taken from [22] . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.10 Results of evaluating 20 IoT devices’ confidentiality and integrity
using the test suite proposed by Loi et al., taken from [35] . . . . . 40
2.11 Results of evaluating 20 IoT devices’ access control and availability
using the test suite proposed by Loi et al., taken from [35] . . . . . 41
2.12 Security rating results of evaluating 20 IoT devices using the test
suite proposed by Loi et al. with ”A” being secure, ”B” being
moderately secure/insecure, and ”C” being insecure, taken from [35] 41
2.13 Exemplary list of CVEs and their CVSS score, taken from [2] . . . 43
2.14 Exemplary extract of scorecards, taken from [70] . . . . . . . . . . 44
2.15 Overview of the Sancus system model, taken from [42] . . . . . . . 48
2.16 Memory layout of the Sancus architecture, taken from [42] . . . . . 49
2.17 Architectural overview of Multizone Security, taken from [26] . . . 50
2.18 Graphical representation of the compiling process of Multizone Se-
curity, resulting in one firmware image, taken from [26] . . . . . . . 51
2.19 Relations of the Target and Attesting Environment within the At-
tester with the Verifier, taken from [7] . . . . . . . . . . . . . . . . 53
ix
x List of Figures
5.1 Example for the overview of all connected devices in the gateway
application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.2 Initial appearance of the route /devices/scan before starting the
device registration process . . . . . . . . . . . . . . . . . . . . . . . 99
5.3 List of all devices found in the scanning process during the device
registration process . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
2.1 Overview of selected fields and their identifiers of the described soft-
ware inventory information formats. Mandatory fields are written
in bold letters. Where applicable, similar fields are grouped in one
row. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1 Overview of all fields of the VAM SBOM format, adopted from
the SPDX 2.2 specification, and their description [59]. For better
readability, fields related with licensing are omitted, even if they
are mandatory for SPDX 2.2 compliance. Fields which are manda-
tory according to the SPDX 2.2 specification are written in bold
letters. Note, however, that for compliance with the VAM SBOM
specification presented in this thesis, all fields are mandatory. . . . 71
4.2 Decision matrix for the warning/recommended action in depen-
dence of the scoring result and the IoT device’s relevance level . . 92
xiii
xiv List of Tables
List of Abbreviations
CM Continuous Monitoring
HW Hardware
xv
xvi List of Tables
OS Operating System
PC Personal Computer
RA Remote Attestation
SW Software
SM Software Module
SP Software Provider
TA Trustworthiness Assessment
VA Vulnerability Assessment
VM Vulnerability Management
Introduction
1.1 Motivation
In the last few years, the popularity of Internet of Things (IoT) devices has been
ever increasing. This results in more and more devices being connected to the
Internet while becoming smaller and smaller in terms of form factor, CPU perfor-
mance, memory, and energy consumption. The Internet Engineering Task Force
(IETF) refers to this device class as ”constrained devices” [10]. With the rise
of the IoT, simple appliances became smart and interconnected and found their
way into smart homes and our everyday lives. Whereas in 2017, the growth of
IoT devices had been estimated to reach 8.4 billion IoT devices by 2017 and 20.4
billion by 2020 [23], a more recent forecast from 2020 anticipates 28 billion IoT
devices by 2025 [32].
1
2 1. Introduction
as virtual memory, memory protection or privilege levels are not easily applicable
to IoT devices [42]. Their network connectivity opposes additional limitations:
Such constrained devices need to rely on low-power network communication pro-
tocols as they cannot afford the power consumption required by Wi-Fi [72]. All
this leaves the devices prone to a range of malware and other attacks.
Although it can be concluded here that IoT devices have an increasing im-
pact not only on our everyday lives, but also on critical infrastructures, they are
most often not well-secured and ”’security’ is not a word that gets associated
with this category of devices, leaving consumers potentially exposed to massive
attacks” [54]. As a result, calls for ”security by design” to be built in and to secure
the device on several system levels are getting louder all the time. Hence, making
the device’s security state measurable and therefore comparable would then put
the end user in a much more comfortable position.
According to Shen et al., pre-purchase labels may not be limited to static de-
vice factors. Security vulnerabilities, e.g. in the IoT device’s firmware, can be
patched through firmware updates. Therefore, the security and privacy state of
the device under consideration may change over time. This idea of dynamic met-
1.2 Contributions 3
rics can be extended towards online security states of the IoT device in operation.
I propose such an extension towards a set of security metrics that measure the
security state of the device during operation in a smart home network. Such a
security index may support the user’s buying decision (”which of the considered
devices is the most secure?”) but can also serve as online index for the current
system security state at runtime. Vulnerability Assessment (VA) and Vulnerabil-
ity Management (VM) are wide areas of research both in industry and academia.
Whereas protective measures are well-established for PCs (firewalls, e-mail fil-
ters, anti-virus scanners, etc.), solutions dedicated to the IoT domain are scarce.
Nevertheless, the aforementioned security architectures provide functions enabled
through hardware that can be utilized to actually attest the state of software run-
ning on the device and thereby provide interesting opportunities for enhancing
this security index. To the best of our knowledge, combining the idea of a runtime
security index with fundamental hardware support that provides a hardware root
of trust is a novel approach.
1.2 Contributions
Constrained IoT devices offer a wide field of attack and suffer from a large number
of vulnerabilities. Hence, they require security measures by design on all system
levels. Those security measures are not as well-known and generic as those for PCs
are nowadays. Actually quite the contrary is true: several approaches by various
manufacturers exist. Therefore, users would benefit from a security state that is
measurable and comparable across different devices. With this thesis, I make the
following contributions to meet this need.
Therefore, I propose a concept for the effective interaction of the proposed Vul-
nerability Assessment and Management solution with the constrained IoT device,
its Manufacturer, and a CVE database that includes all relevant specifications and
descriptions of interfaces.
In order to provide the user with a profound insight into the security state of
the smart home system at runtime, I propose a precise specification for the calcula-
tion of a novel online IoT security score that represents a significant enhancement
of existing pre-purchase IoT security indices and brings together several branches
of research.
Chapter 7 concludes this thesis and provides a detailed presentation of the pos-
sibilities of future extension of the proposed software system architecture. Since
this thesis represents the first work in this new research area, its main contribution
is the thoroughly designed architecture itself. Due to the carefully specified inter-
faces and the modular design, it is very well extendable and lays the foundation
6 1. Introduction
The main driver of the research that led to this thesis is the idea of present-
ing security information in a comprehensible way to the user of an IoT device in
a smart home environment. Approaches for pre-purchase combined security and
privacy labels exist and are discussed in Section 2.1. However, the proposed label
designs all focus on pre-purchase information, whereas the aim of the work pre-
sented in this thesis is to assess the security state of devices in operation.
When the results of such Vulnerability Assessment are then combined with fur-
ther risk assessment, a numerical security score can be derived from the gathered
information. A selection of appropriate IoT security scoring systems is discussed
in Section 2.4.
7
8 2. Background and Related Work
With this extensive literature review, the foundation is provided for the devel-
opment of an enhanced runtime security score, presented in Chapter 3, and the
architectural design of a comprehensive Vulnerability Management Solution for
the IoT, presented in Chapter 4.
Informative consumer labels are widely used in many areas: there exist the nu-
trition facts label [66], the fuel economy and environment label [65], and the EU
energy labels for many classes of electrical devices [19], just to name a few. Anal-
ogously, informative pre-purchase labels that represent an IoT device’s security or
privacy state is subject of ongoing research.
Whereas other efforts in this research area mainly focus on privacy labels [29,
30], Shen et al. [54] and Emami-Naeini et al. [18] both propose a hypothetical
design for combined security and privacy labels. Since this thesis focusses on pro-
viding the user with valuable information about the security state of the operated
smart home network, this section provides an overview of the approaches for se-
curity labels proposed by Shen et al. and Emami-Naeini et al.
In [54], Shen et al. propose a prototype label design based on the authors’
expert knowledge. An exploratory study with customers or experts has, to the
best of our knowledge, not yet been conducted. Opposed to that, Emami-Naeini
et al. follow a strongly interview-driven approach. Their first prototype label has
been published in 2019 [18] and was followed by an enhanced label design based
on expert and consumer interviews in 2020 [17]. Their research efforts result in a
detailed specification of a label design that coincides with the proposed prototype
labels.
2.1 Security Labels 9
Figure 2.1: Visual layout 1 (a) and 2 (b) for displaying the IoT facts explained in
2.1, taken from [54]
According to Shen et al., their label design provides both concise and com-
pletely ”independent quality metrics”, so called ”IoT facts” [54]. They are divided
into security metrics, privacy metrics and plain information. The security metrics
consist of system-related, and communication-related facts.
10 2. Background and Related Work
• a checkbox that indicates whether the product has a secure boot mechanism
• and whether the device aims for communication with other devices in the
local network
• and storage
The sensory-related privacy metrics are intended to give the user full infor-
mation about the sensors the IoT device is equipped with. These metrics include
checkboxes for:
• audio,
• video,
• motion,
• geolocation,
Plain information is given about the device connectivity, hence, the commu-
nication protocols used by the IoT device. The protocols considered here are
Ethernet/LAN, Wi-Fi, Bluetooth, Zigbee, and Z-Wave.
2.1 Security Labels 11
Figure 2.2: Exemplary prototype label for a hypothetical security camera with
poor privacy and security practices, taken from [18]
Figure 2.3: Visual layout for displaying the primary layer (a) and secondary layer
(b), taken from [17]
from academia, industry, government and NGOs. Based on this elicitation study,
they propose another layered prototype label (see Figure 2.3) that has been pre-
sented to 15 consumers in semi-structured interviews. In a layered label approach,
the primary layer is supposed to be printed on the device packaging or advertised
at the shelf in store. A link or QR-code in the primary layer then refers the cus-
tomer to a secondary layer found online. Since this secondary layer resides on a
homepage that can be updated, it may contain information that is more likely to
change over time.
Factors that, according to the experts, should be excluded completely from the
label were e.g. a software and hardware bill of material, because of ”the lack of
relevance to privacy and security and inability to convey risk to consumers”, and
information on whether the device manufacturer has a vulnerability disclosure and
management program. Nevertheless, Emami-Naeini et al. decided to include both
on their prototype label on the secondary layer and received supportive feedback
during the consumer survey.
Additional to the specification of each label field, best practices are given, sup-
posedly addressed to device manufacturers. Recommended best practices for the
device’s hardware safety are an irrevocable secure boot process and a hardware-
based Root of Trust for updates. Best practices for the device’s software safety
include that executables of critical applications shall be stored in read-only mem-
ory section, that software shall not be ”overly complex” and ”not susceptible to
crashes” [16]. Additionally, ”system software should be tested to check for publicly
disclosed and undisclosed vulnerabilities” and ”should not use unsafe libraries”.
Concerning Encryption and Key Management, the use of a Trusted Execution
Environment (TEE) is recommended to be used for key storage and encryption.
Starting with the first prototype privacy and security label, Emami-Naeini con-
ducted expert and consumer interviews to come up with the privacy and security
label specification described above.
2.1 Security Labels 15
Apart from Vulnerability Assessment, SBOMs also play an important role con-
cerning software licensing aspects. Nevertheless, software licensing is considered
out of scope for this thesis. Additionally, discovery tools that automatically de-
tect and collect the Software Modules installed on a device without a predefined
description are not the focus of this thesis.
Especially in the IoT domain, heterogeneous networks with devices from vari-
ous manufacturers with different software platforms and different communication
protocols are prevalent. Therefore, it is a common use case that a heterogeneous
fleet of devices and software platforms is required to interoperate neatly in order
to provide the best user experience and in order not to miss disclosed vulnerabili-
ties [28]. SBOMs act as important interfaces between device manufacturers, soft-
ware providers, vulnerability databases and Vulnerability Assessment solutions.
Parallel standardization efforts for a common format to describe an SBOM are
ongoing work of several initiatives and since standardization is of such great im-
portance in this research area, those are in the focus of this thesis and individual
proposals are omitted. Note, though, that e.g. Emami-Naeini et al. propose a
”list of software and hardware components that are used in the device” (see [16])
without giving further details in their ”Specification for CMU IoT Security and
Privacy Label” discussed in Chapter 2.1.
2.2 Software Inventory Information 17
2. it provides a universal unique identifier for each and every Software Module
in that very version
In addition to file formats for software inventory information, there exist pro-
posals for a standardization of the SBOM file retrieval process as well. The Internet
Engineering Task Force (IETF) is actively working on a draft for discovering and
retrieving an SBOM [34] based on the IETF RFC 8520 for a Manufacturer Usage
Description (MUD) [33]. Both approaches are described in detail in the following
Section 2.2.2.
ISO SWID [28] IETF CoSWID [integer index] text label [6] SPDX [59]
SoftwareIdentity.name [1] concise-swid-tag.software-name PackageName
SoftwareIdentity.tagId [0] concise-swid-tag.tag-id SPDXID
SoftwareIdentity.version [13] concise-swid-tag.software-version PackageVersion
SoftwareIdentity.corpus [8] concise-swid-tag.corpus -
for tagCreator: Entity.role [33] concise-swid-tag.entity-entry.role -
for tagCreator: Entity.regid [32] concise-swid-tag.entity-entry.reg-id -
for tagCreator: Entity.name [31] concise-swid-tag.entity-entry.entity-name Creator
Payload.File.name [17] concise-swid-tag.payload.file.filesystem-item FileName
Payload.File.size [20] concise-swid-tag.payload.file.size -
Payload.File.hash [7] concise-swid-tag.payload.file.hash FileChecksum
Table 2.1: Overview of selected fields and their identifiers of the described soft-
ware inventory information formats. Mandatory fields are written in bold letters.
Where applicable, similar fields are grouped in one row.
18 2. Background and Related Work
The proposed description is called SWID tag and is created by the SWID tag
producer. This could e.g. be a Software Provider. This SWID tag is then used by
the SWID tag consumer, e.g. an IT discovery and processing tool. An SBOM of
a device could then consist of the SWID tags of all software modules deployed on
the device.
The file format for the SWID tag file is required to be an XML data structure.
The corresponding defect-corrected XML schema definition is made available here:
http://standards.iso.org/iso/19770/-2/2015-current/schema.xsd.
Selected fields of the SWID tag file specified in this ISO standard are presented
in Table 2.1 in column 1.
An example for a minimal XML file for the presented SWID tag specification
can be found in Appendix 7.
Among the key benefits claimed for the proposed SWID tag specification are
the following (see[28], p.vi-vii):
• The opportunity for entities other than original software creators (e.g. in-
dependent providers or in-house personnel) to create software identification
tags for legacy software, and for software from software creators who do not
provide software identification tags themselves.”
Based on the ISO SWID tag format described above, the IETF proposes a con-
cise representation of SWID tags targeting constrained IoT devices as described
by the IETF in RFC 7228 [10]: the Concise Software Identification (CoSWID)
tags [6]. This draft is declared as work in progress and hence, it may be subject
to change or removal. All information given here are based on the draft version
from March 7, 2022.
Selected fields of the CoSWID tag file specified in this draft are presented in
Table 2.1 in column 2. The underlying implicit information model is supposed
to be identical between SWID tags and CoSWID tags. Therefore, mappings for
all mandatory and optional fields in the ISO/IEC 19770-2:2015 standard and the
CoSWID specification in the referenced version are provided. Note, that ”future
revisions of ISO/IEC 19770-2:2015 or this specification might cause this implicit
information model to diverge, since these specifications are maintained by differ-
ent standards groups” (see [6], p. 3). The textual labels in the CoSWID tag are
closely-coupled to their SWID tag analogue. In most cases, the naming conven-
tion has only been changed from the CamelCase notation to the hyphen- separated
KebabCase notation. Therefore, it is referred to the description of all fields in the
SWID tag model given above.
The last software inventory information format presented here is the open
source Software Package Data Exchange (SPDX) format in Version 2.2 proposed
by the Linux Foundation [59] and listed as appropriate SBOM format in the IETF
Internet-Draft ”Discovering and Retrieving Software Transparency and Vulnera-
bility Information” described below. It is advertised as standard format for com-
municating software inventory information. The term ”software package” used in
the standard specification coincides to the term ”Software Module” used through-
out this thesis.
2.2 Software Inventory Information 21
In contrast to the CoSWID tag format described above, the SPDX format is
required to be human readable. The underlying implicit information model can
be represented in several data formats, e.g. YAML, JSON or as flat text file using
tag : value notation. Support of XML format is currently work in progress and
expected for Version 2.3.
Selected fields of the SPDX file are presented in Table 2.1 in column 3. For
better readability, the tag : value notation is used.
• CreatorW ebsite refers to the domain of the entity providing the SPDX file.
• DocumentN ame contains the name of the SPDX file, which is recommended
to be constituted from the Software Module’s name and its version number.
Similar to the SWID tag format described above, the SPDX format is not
focussed on IoT devices. Nevertheless, in addition to the regular SPDX format, a
reduced file format called ”SPDX Lite” is specified as well. The SPDX Lite format
contains a subset of the regular SPDX fields with more basic information.
The SPDX Lite format contains all of the fields presented in Table 2.1 except
for the F ileN ame and the F ileChecksum. However, the less fine-grained field
P ackageF ileN ame is included to refer to files that have been aggregated into a
package.
22 2. Background and Related Work
This draft does not propose a new SBOM format, but refers to the afore-
mentioned SWID tags and the Software Package Data Exchange (SPDX) format
described above. In extension to those SBOM formats, this IETF Internet-Draft
elaborates on possible approaches for transmitting SBOM files and proposes a
data model for transmitting the SBOM URI.
In the second case, the device only provides an interface for retrieving the URI
for the SBOM file hosted on a Manufacturer webserver. In order to transmit this
URI, a model extension for a MUD file is proposed. This so-called ”mud-sbom
extension” is realized as YANG augmentation of the MUD YANG model and is
described below.
In the last case, the vendor is able to add conditions to the dispatching of the
SBOM (e.g. a registration or authentication) or to monitor and evaluate SBOM
accesses. Moreover, another communication channel could be established by mak-
ing the SBOM URI available in the device documentation or in a QR-code printed
on the device packaging. Of course, this process could not be fully automated then.
device’s supply chain that takes responsibility for informing the network that in-
tegrates the device about its purpose. Hence, it is not necessarily the entity that
constructs the Thing, but could be a system integrator or a component provider.
The purpose of a MUD file is to inform the network about the intended network
functionality and access limitations of the device.
The device manufacturer is responsible for configuring the IoT device in such
a way that it emits the MUD URL in https-scheme after being requested by the
MUD manager via GET-method [20]. Based on the MUD URL, the MUD man-
ager requests the MUD file from the corresponding MUD file server, a simple web
server that hosts the MUD file. The MUD file itself contains a description of the
Thing in YANG-based JSON and associated suggested specific network behaviour.
.......................................
. ____________ . _____________
. | | . | |
. | MUD |-->get URL-->| MUD |
. | Manager | .(https) | File Server |
. End system network |____________|<-MUD file<-<|_____________|
. . .
. . .
. _______ _________ .
.| | (DHCP et al.) | router | .
.| Thing |---->MUD URL-->| or | .
.|_______| | switch | .
. |_________| .
.......................................
In [33], different means for emitting the MUD URL are proposed. A general
overview of the MUD architecture is given in Figure 2.4.
The MUD URL can be included as additional option in the Dynamic Host
Configuration Protocol (DHCP) so that the DHCP client (here: the IoT device)
informs the DHCP server (here: the MUD manager) about the MUD URL. Alter-
natively, the MUD URL can serve as a non-critical extension to the IEEE standard
802.1AR (the ”IEEE Standard for Local and metropolitan area networks - Secure
Device Identity” [27]), or it can be emitted as a Link Layer Discovery Protocol
(LLDP) frame. In case the IoT device has too limited capabilities to emit the
MUD URL, it may be possible for the manufacturer to map the device’s identity
(e.g. according to its serial number or public key) to the MUD URL or the MUD
file using an alternative resolution mechanism.
24 2. Background and Related Work
As soon as the MUD URL has been discovered, it is forwarded to the MUD
Manager (a network management system) for further processing. Then, a HTTP-
GET-request is sent to the MUD File Server that answers with the MUD file. If
the MUD Manager is not able to retrieve the MUD file, an appropriate timeout
should be awaited before the failure is logged.
By default, the MUD file does not expire. Nevertheless, its description can be
used for communicating an expiration date through the cache-validity node [34].
According to the current RFC version of March 2019, the MUD file format is
the YANG Data Modeling Language [8], serialized using JSON [12]. An example
MUD file using the mud-sbom extension can be found in Listing 2.1. Selected
fields of the mud-sbom extension are described based on this example. The full
mud-sbom augmentation of the MUD YANG model may be found in Appendix 7.
Listing 2.1: An example MUD file using the mud-sbom extension, taken from [34]
{
" ietf - mud : mud " : {
" mud - version " : 1 ,
" mud - url " : " https :// iot - device . example . com / dnsname " ,
" last - update " : " 2019 -01 -15 T10 :22:47+00:00 " ,
" cache - validity " : 48 ,
" is - supported " : true ,
" systeminfo " : " device that wants to talk to a cloud service " ,
" mfg - name " : " Example , Inc . " ,
" documentation " : " https :// frobinator . example . com / doc / frob2000 " ,
" model - name " : " Frobinator 2000 " ,
" extensions " : [
" sbom " ] ,
" sboms " : [ {
" version - info " : " FrobOS Release 1.1 " ,
" sbom - url " : " https :// frobinator . example . com / sboms / f20001 .1 " ,
}
] }
}
sbom − type can be one of the following cases. sboms.sbom − url refers to a
statically located Internet URI. sboms.sbom − local can either state coap, coaps,
http or https as the protocol of choice for retrieving the SBOM file from a well-
known location on the device. sboms.contact − uri can either state a tel, http,
https or mailto URI schema in order to contact the Manufacturer for the SBOM
file.
The proposed mud-sbom extension can optionally be extended with access lists.
Since access considerations are not the focus of this thesis, details are omitted here.
2.2 Software Inventory Information 25
2.2.3 Conclusion
As described in the introduction to this Chapter, the 3 main requirements for
software inventory information formats are:
2. they provide a universal identifier for each and every Software Module in
that very version
3. they provide a model and a format for its description as SBOM file
Three proposals for software inventory information formats have been de-
scribed above. The first requirement is met by all three proposals due to the
initial assumption that there is an entity providing the software inventory infor-
mation for the Software Module the entity is responsible for.
Both the SWID tag specification and the CoSWID specification are developed
by internationally operating and recognized standardization organizations. The
SPDX specification is proposed by the Linux Foundation, but is referenced in
the IETF Internet-Draft for ”Discovering and Retrieving Software Transparency
and Vulnerability Information” as appropriate software inventory information for-
mat. Standardization is key on the way to finding an agreement between device
manufacturers, Software Providers, vulnerability databases and Vulnerability As-
sessment solutions, which makes the discussed proposals very valuable. Of course,
none of these candidates has yet prevailed.
The ISO SWID tag specification contains a globally unique tagId for every
Software Module, hence it is fulfilling requirement (2). The SWID tag file is
an XML and can contain one SoftwareIdentity-region for every Software Module,
hence it is fulfilling requirement (3). Nevertheless, this specification is not ded-
icated to IoT devices and does not provide precise recommendations for storing
and retrieving the SWID tag file of a constrained IoT device, where the file can
not be stored on the device itself. Therefore, it is not the best suited candidate for
the IoT domain and hence, for the Vulnerability Management solution proposed
by this thesis.
This issue is aimed at with the CoSWID tags proposed by the IETF. Those
are based on the same underlying implicit information model as SWID tags, which
is why they fulfill the requirements (2) und (3) just as well. But they require less
mandatory fields and allow for a resource-efficient binary representation. However,
the resulting software inventory information file is not human readable anymore
and handling the CBOR format requires additional implementation overhead.
Since it is not a main requirement for the Vulnerability Management solution
26 2. Background and Related Work
proposed in this thesis to store the software inventory information file directly
on the IoT device, the file size is neglectable.
On the other hand, the SPDX format is required to be human readable, allows
for several data formats (thereby fulfilling requirement (3)) and does not impose
any demands as to where the SPDX file is supposed to be stored or how it is
supposed to be retrieved. The specification also provides a recommendation for
the composition of a universally unique URI (thereby fulfilling requirement (2))
to access the SPDX file on the public Internet. Thus, the SPDX format is par-
ticularly suitable for combining it with the IETF proposal for ”Discovering and
Retrieving Software Transparency and Vulnerability Information” and is chosen
for the Vulnerability Management solution proposed in this thesis.
For the rest of this thesis, the term ”Vulnerability Assessment” includes identi-
fying and collecting vulnerabilities of a device or system under consideration. The
term ”Vulnerability Management” includes Vulnerability Assessment, but extends
it with additional management functionality to counteract or prevent vulnerabil-
ities. This includes, but is not limited to, prioritizing vulnerabilities, deploying
software updates or patches that eliminate a disclosed vulnerability after this vul-
nerability has been discovered to be present on a managed device, and continuous
monitoring.
The results of this chapter are concluded in a concept for a VM solution for
the IoT described in Chapter 4.
2.3 Vulnerability Assessment (VA) and Vulnerability Management (VM) 29
An important feature of Nessus professional are live results (see Figure 2.5 for
an exemplary screenshot). In order to achieve real-time visibility, an offline scan
for newly published vulnerabilities using historical scan data is performed. Indi-
cation exists that scanning for open ports using nmap is part of the vulnerability
assessment procedure [67] and the claim of very high CVE coverage raises the
presumption that linking to a CVE database is also performed. However, further
information on how the scanning is performed is not provided. The range of sup-
ported Operating Systems (OS) does not include an OS typically used in the IoT
domain.
Figure 2.5: Screenshot with exemplary Live Results of the Nessus professional
scanner, taken from [58]
30 2. Background and Related Work
According to [46], vulnerabilities are divided into common classes first, and
then combined with sets of rules. Based on these rules, hosts that appear or
disappear in the network or run an unexpected operating system are detected.
When an alert is detected, the host’s name, IP address, DNS name, NetBIOS
name, operating system, open ports, installed software, and vulnerabilities affect-
2.3 Vulnerability Assessment (VA) and Vulnerability Management (VM) 31
ing the host are collected. Further details as to how vulnerabilities are assessed
and scored into severity levels, or on the process of suggesting appropriate patches
are not provided.
With InsightVM, Rapid7 offers yet another proprietary industry software so-
lution for (network) vulnerability assessment and management. Rapid7 claims
to combine the Common Vulnerability Score System (CVSS) with their rating
of exploitability, exposure to malware and vulnerability age resulting in a ”Real
Risk Score” between 1 and 1000 [50]. In accordance with Nessus professional and
QualysVM, InsightVM extends mere vulnerability assessment with management
and real-time reporting functionality [49]. An exemplary screenshot of the result-
ing default dashboard is given in Figure 2.7.
Figure 2.7: Screenshot of the default dashboard of InsightVM, taken from [49]
Again, further information on how the actual scanning and scoring are per-
formed and which devices or operating systems are supported is not provided
online. There is also no indication that Rapid7 targets IoT devices.
32 2. Background and Related Work
Figure 2.8: Lifecycle for any CVE Record in the CVE List, taken from [63]
The lifecycle of every such CVE record is depicted in Figure 2.8. Whenever a
new, independently fixable vulnerability is discovered by either a private individ-
ual or an organization, it is reported to a CVE Program participant. The CVE
Program participant is then responsible for requesting a unique CVE ID that is
reserved upon request by a CVE Numbering Authority (CNA). As next step to-
wards publishing the new vulnerability, details concerning the reserved CVE ID
are to be submitted. ”Details include but are not limited to affected product(s);
affected or fixed product versions; vulnerability type, root cause, or impact; and
at least one public reference.” [63] Finally, when the minimum required informa-
tion are included in the CVE Record, it is published by the responsible CNA and
added to the official, publicly disclosed CVE List.
2.3 Vulnerability Assessment (VA) and Vulnerability Management (VM) 33
The CVE ID is composed of the prefix ”CVE”, the year either the CVE ID
was reserved or the vulnerability was made public and a sequence of four or more
arbitrary digits. Hence, for example CVE-2021-12345.
The full XML Schema Design for the CVE List available for download can
be found in Listing 1 in the appendix. Vulnerabilities that result in a new CVE
record can be found by private individuals, organizations or the affected product
vendor itself.
2.3.3 Conclusion
To conclude, the most popular Vulnerability Assessment and Management solu-
tions according to Gartner [24] are all targeting business customers and no end-
users. Information on whether IoT devices and typical IoT operating systems are
supported is sparse, if available at all. Since all discussed solutions are proprietary,
deep information on how the scanning process is implemented or how the scoring
and prioritization of vulnerabilities is performed are not provided.
The CVE database is fast growing with tens of new entries per day [9]. It is
widely used among many large organizations, but not yet as popular in the IoT
domain. Nevertheless, it can be expected that vendors of IoT devices will incor-
porate CVEs in their product vulnerability management in the future, since it is
one of the largest public sources of vulnerability information:
34 2. Background and Related Work
However, being able to rate the severity of assessed vulnerabilities not only
serves as the foundation for further risk assessment, but also abstracts the details
that might overwhelm an inexperienced user and provides a numeral basis for the
computation of a Security Label (see Section 2.1).
Such scoring systems for the IoT domain are subject of current research and
selected approaches are presented in the following section. The most widely used
scoring system is the Common Vulnerability Scoring System (CVSS). Its enormous
practical relevance makes it the de-facto standard in industry. However, it is not
explicitly targeting the IoT domain. With [35], Loi et al. propose a three-level
rating for selected IoT devices that may serve as a basis for a star-rating or for
deriving a single numerical score value from it. However, the rating mechanism
is solely based on the authors’ expert knowledge and cannot be automated. A
precicely specified scoring system based on CVSS but extended with additional
metrics is provided by Alrawi et al. [2].
To assess the CVSS v3.1 base score [22], eight questions about the vulnerabil-
ity have to be answered by an expert with deep knowledge about the vulnerability
and its impacts. This input is then translated to a score between 0 and 10, where
36 2. Background and Related Work
relative importance is reflected in ratio values [55]. The purpose of the base score
is to reflect the constant, intrinsic characteristics of the vulnerability [22]. In an
optional extension on top of this base score, temporal and environmental metrics
can be taken into account to further refine the risk assessment. Since it is common
for entities responsible of the vulnerable product to only provide the base score,
which is constant over time and across user environments, this overview focusses
on the base score computation.
Figure 2.9: Metric groups of the Common Vulnerability Scoring System (CVSS)
v3.1, taken from [22]
The base metric group consists of exploitability metrics and impact metrics [22]
as presented in Figure 2.9. The temporal and environmental metric groups are pro-
vided for completeness. The exploitability metrics are the attack vector, the attack
complexity, the privileges required, and the user interaction. They characterize
the vulnerable component, which is typically a software component (application,
module, driver, etc.), but may also be a hardware device. The exploitability met-
rics result in a exploitability sub-score.
• Attack Vector
The attack vector metric value is larger the more remotely the vulnerability
can be exploited. Possible metric values with their numerical values are
N etwork (0.85), Adjacent (0.62), Local (0.55), and P hysical (0.2).
• Attack Complexity
The attack complexity metric value reflects whether specific configurations
and conditions beyond the attacker’s control are necessary for the exploit.
Possible metric values are Low (0.77) and High (0.44).
2.4 IoT Security Scoring Systems 37
• Privileges Required
The privileges required metric value is larger the less privileges the attacker
has to possess for executing the exploit. Possible metric values are N one
(0.85), Low (0.62, resp. 0.68 if Scope is Changed), and High (0.27, resp.
0.5 if Scope is Changed).
• User Interaction
The user interaction metric value is larger when a successful exploit does
not require a user input other than the attacker’s. Possible metric values are
N one (0.85) and Required (0.62).
• Confidentiality
The confidentiality metric value is larger when a successful exploit results
in more extensive disclosure of information to unauthorized users. Possible
metric values are High (0.56), Low (0.22), and N one (0).
• Integrity
The integrity metric value is larger when the trustworthiness and veracity of
information is more extensively impaired. Possible metric values are High
(0.56), Low (0.22), and N one (0).
• Availability
The availability metric value is larger when the availability of the impacted
component is more extensively impaired. Possible metric values are High
(0.56), Low (0.22), and N one (0).
The Impact sub score (ISS) and the Impact are defined as:
In addition to the exploitability and impact metrics, the scope of the exploit
is incorporated as eighth metric value. It reflects a change of the security scope of
a vulnerable component. Possible metric values are Changed and U nchanged.
Please, refer to the specification document for further details on the metric
values [22].
Despite the worldwide utilization of the CVSS, however, Spring et al. argue
that ”it is not justified, either formally or empirically”. They criticise that ”the
CVSS v3.0 documentation offers no evidence or argument that the formula or
construction method are robust. The calculation method is clear, though
unjustified. ” [55] Additionally, Figueroa-Lorenzo et al. criticise that the CVSS
is not properly adapted to industrial IoT environments [21]. Despite all criticism,
the Common Vulnerability Scoring System convinces with its practical relevance
and the availability of scoring data for all disclosed CVEs through the National
Vulnerability Database. The search for more justified severity assessment systems
better suited for the IoT domain is subject to ongoing research and as long as
no candidate has prevailed there, the CVSS is a good starting point for the risk
assessment of this VAM solution (see Section 3).
However, since the CVSS is not targeted to the IoT domain, other approaches
for scoring systems are considered as well.
2.4 IoT Security Scoring Systems 39
In [35], Loi et al. propose a security test suite that supports 20 consumer
IoT devices and automatically checks for attack vectors that threaten the con-
fidentiality of data, the integrity of data, and the access control and that allow
for reflective attacks launched from another IoT device. All measures concerning
these dimensions are given below. Loi et al. claim that the proposed methodology
may serve as basis for a star-based security rating for IoT devices.
– plaintext,
– encoded, or
– encrypted
• Integrity:
the device only performs intended functions and all exchanged messages are
unmodified
includes tests for:
– replay attacks
∗ legitimate packets from user application to device are captured and
replayed using a Python script
∗ for non-encrypted-packets: certain packet fields are modified and
send to the device to check the device’s response
– DNS spoofing
∗ check DNS queries for DNSSEC
∗ perform DNS spoofing, if DNSSEC is not used
It is not explained in detail if and how the proposed tests can be completely
automated without any user interaction, e.g. for capturing or inspecting packets.
However, the proposed checks for integrity and access control and availability are
not applicable to a runtime risk assessment system during normal operation of the
device under test in a smart home environment, since they stop the device from
functioning properly.
Loi et al. performed the proposed tests on 20 consumer IoT devices. The
results are shown in figures 2.10 and 2.11.
In order to derive a score from the test suite’s result, a three-level rating
is proposed for the 20 consumer IoT devices under test (see figure 2.12), where a
rating of A represents the device being secure, B being moderately secure/insecure,
and C being insecure. It is not explained in further detail, how the differentiation
is being made. Instead, the proposed rating is described as ”subjective and given
based on authors perceptions”. Deriving a single score by giving weights to each
dimension is described as future work.
Figure 2.11: Results of evaluating 20 IoT devices’ access control and availability
using the test suite proposed by Loi et al., taken from [35]
Figure 2.12: Security rating results of evaluating 20 IoT devices using the test
suite proposed by Loi et al. with ”A” being secure, ”B” being moderately se-
cure/insecure, and ”C” being insecure, taken from [35]
review of literature and the evaluation of 45 home-based IoT devices using Nessus
Scanner is performed. As explained in Section 2.3.1, Nessus Scanner scans devices
for services and performs a vulnerability scoring based on the Common Vulnera-
bility Scoring System explained above. An exemplary list of detected CVEs and
their corresponding CVSS for one device can be found in Figure 2.13.
· 1-5 (8 Points)
∗ High
· 11 or more highly severe vulnerabilities (7 Points)
· 6-10 (6 Points)
· 1-5 (5 Points)
∗ Medium
· 11 or more medium severe vulnerabilities (4 Points)
· 6-10 (3 Points)
· 1-5 (2 Points)
∗ Low
· 11 or more low severe vulnerabilities (3 Points)
· 6-10 (2 Points)
· 1-5 (1 Point)
Based on those points, a simple score is calculated for each rubric: divide the
sum of points by the total number of points of that rubric and subtract the result
from one (therefore, a higher score means less security vulnerabilities detected).
Based on general cutoffs, a grade letter can be assigned (A - 0.9+, B - 0.8+, etc.).
Scorecards for currently 45 devices are proposed as well (see Figure 2.14) [70].
Figure 2.13: Exemplary list of CVEs and their CVSS score, taken from [2]
44 2. Background and Related Work
Although the scoring system proposed by Alrawi et al. does not provide jus-
tification of their score computation either, they rely on the globally used CVSS
and therefore benefit from its practical relevance. But based on CVE assessment
and their attribution with CVSS scores, further risk assessment is provided with
additional metrics that are of special interest in the smart home IoT domain.
Therefore, the device scoring system proposed by Alrawi et al. serves as a basis
for the runtime security score proposed with this thesis and described in detail in
Section 3.
2.5 Trusted Execution Environments through Hardware Root of Trust 45
In contrast, the concept of processes separated from each other is not com-
monly supported in the embedded domain. Especially devices with a very simple
and dedicated functionality do not support interleaved execution of different pro-
cesses and hence do not provide isolation mechanisms. Nevertheless, more and
more embedded devices are connected to the worldwide Internet and form the
IoT sector. It is increasingly becoming a use case that an entity, e.g. the device
Manufacturer, merges different software products (firmware, application software,
third-party software, libraries) into one binary file that is flashed on the device be-
fore shipment, hence gathering several pieces of software from different providers
on the device.
applications in. Such a TEE could then be used to securely provide services
such as remote attestation (see Section 2.6) in order to determine the system se-
curity state.
An optional Memory Protection Unit (MPU) can be included in the SoC design
and provides additional opportunities for assigning memory access permissions for
privileged and unprivileged software. It is possible to add an MPU for only the
secure world, or only the non-secure world, or both. Both the secure and the non-
secure MPU can be implemented to allow different numbers of protected memory
regions.
In practise, Trustzone allows for not having to trust the OS by loading a se-
cure firmware in the secure world through a secure bootloading mechanism. This
secure firmware then takes responsibility for ”setting up its internal data struc-
tures, configuring the interrupt controller of the entire system, and setting up
protections for secure memory regions and peripherals” [44]. Upon completion,
execution can be handed over to the bootloader of the rich OS in non-secure world.
2.5.2 Sancus
The main proposal of the Sancus project is the Sancus security architecture.
It is claimed to provide strong isolation, remote attestation, and secure communi-
cation [42]. The underlying system model is shown in Figure 2.15 and is based on
the idea that the infrastructure provider IP owns and administrates the hardware,
hence nodes N1 to Nk . The Software deployed on the devices is then provided by
the software providers SP1 to SPj in the form of software modules SM1,1 to SMj,k .
This use case requires strong isolation in particular due to the extensibility pro-
vided by new software modules from the software providers.
48 2. Background and Related Work
Figure 2.15: Overview of the Sancus system model, taken from [42]
The main advantage of the Sancus architecture is that only the hardware has
to be trusted. There is no software Trusted Computing Base (TCB), all iso-
lation is strongly hardware-enforced and based on a set of three cryptographic
primitives for symmetric encryption. These are a cryptographic hash function,
a key derivation function ”to derive a cryptographic key from a master key and
some diversification data”, and an authenticated encryption with associated data,
providing both encryption and decryption of data. For a hardware TCB, these
cryptographic primitives have to be implemented in hardware.
Figure 2.16: Memory layout of the Sancus architecture, taken from [42]
Based on the base ISA and the combination of extensions, there exist ap-
proaches that provide Trusted Execution Environments. A lightweight represen-
tative is Multizone, a software layer that manages the hardware security blocks to
provide secure isolation of TEEs. In contrast to Trustzone, Multizone provides a
configurable number of hardware-enforced, software-defined isolated zones instead
of only one secure and one non-secure world. Additionally, it provides a dedicated
TEE in machine mode (the Multizone nanoKernel) with a secure inter-zone com-
munication service to monitor switches to other zones. It requires a rv32i, rv32e,
50 2. Background and Related Work
or rv64i RISC-V base with the U-mode extension and the Physical Memory Pro-
tection.
2.5.4 Conclusion
With ARM’s Trustzone, a widespread processor architecture for providing a Trusted
Execution Environment from industry has been presented. In contrast, the Sancus
architecture is a sophisticated approach from academia. The Multizone Security
approach for RISC-V is a project for an instruction set architecture that originated
in academia but has large partners in industry as well. All three architectural con-
cepts have in common that they provide lightweight hardware-enforced isolation
mechanisms for software components of constrained devices in the IoT domain.
Nevertheless, they differ in many details.
First, both Trustzone and Sancus only rely on a hardware Trusted Computing
Base (TCB). A software provider of a software component running in isolation on
a Trustzone or Sancus-based device does not need to trust any other software, not
even the operating system. Contrasting, Multizone requires a lightweight mon-
itoring software layer for orchestration purposes and to manage the inter-zone
communication.
do not require an additional unit for memory access control (note, however, that
only the optional Memory Protection Unit for Trustzone enables fine-grain differ-
entiation of permissions within the secure world). Additionally, both Sancus and
Trustzone divide the memory in secure/protected and non-secure/unprotected re-
gions and derive the processor state directly from the instruction/program counter.
And last, Trustzone and Sancus introduce designated entry instructions for
entering the secure/protected region whereas in Multizone, the nanoKernel moni-
tors the scheduling of all zones and only allows for message-based communication
between zones.
2.6 Remote Attestation (RA) 53
.--------------------------------.
| |
| Verifier |
| |
’--------------------------------’
^
|
.-------------------------|----------.
| | |
| .----------------. | |
| | Target | | |
| | Environment | | |
| | | | Evidence |
| ’--------------+-’ | |
| | | |
| | | |
| Collect | | |
| Claims | | |
| | | |
| v | |
| .-------+-----. |
| | Attesting | |
| | Environment | |
| | | |
| ’-------------’ |
| Attester |
’------------------------------------’
Figure 2.19: Relations of the Target and Attesting Environment within the At-
tester with the Verifier, taken from [7]
This draft attempts to provide ”a model that is neutral towards processor ar-
chitectures, the content of claims, and protocols”. The proposed model includes
an ”Attester” that is able to produce trustworthy information about itself, hence
54 2. Background and Related Work
”Evidence”, to send it to a remote ”Relying Party” that can analyse the Evidence
(e.g., compare it with an expected attesting result, or consult an external ”Veri-
fier”), and decide about the trustworthiness of the Attester. However, an entity
is allowed to take on multiple roles simultaneously.
.-----------------------------.
| Verifier |
’-----------------------------’
^
|
| Evidence of
| Composite Device
|
.----------------------------------|-------------------------------.
| .--------------------------------|-----. .------------. |
| | Collect .---------+--. | | | |
| | Claims .--------->| Attesting |<--------+ Attester B +-. |
| | | |Environment | | ’------------’ | |
| | .--------+-------. | |<----------+ Attester C +-. |
| | | Target | | | | ’------------’ | |
| | | Environment(s) | | |<------------+ ... | |
| | | | ’------------’ | Evidence ’------------’ |
| | ’----------------’ | of |
| | | Attesters |
| | lead Attester A | (via Internal Links or |
| ’--------------------------------------’ Network Connections) |
| |
| Composite Device |
’------------------------------------------------------------------’
is shown in Figure 2.20. There, the overall trustworthiness of the device is de-
termined by collecting the Evidence from all underlying Attesting Environments
(Attester B, Attester C, etc.). In this example, only the leading Attesting Envi-
ronment provides Evidence of the overall device to the Verifier. Note, that again,
the Relying Party is omitted in this example.
.------------.
| | Compare Evidence
| Verifier | against appraisal policy
| |
’--------+---’
^ |
Evidence | | Attestation
| | Result
| v
.---+--------. .-------------.
| +------------->| | Compare Attestation
| Attester | Attestation | Relying | Result against
| | Result | Party | appraisal policy
’------------’ ’-------------’
Figure 2.21: Example topology called ”Passport Model” with Attester, Relying
Party and Verifier, taken from [7]
.-------------.
| | Compare Evidence
| Verifier | against appraisal
| | policy
’--------+----’
^ |
Evidence | | Attestation
| | Result
| v
.------------. .----|--------.
| +-------------->|---’ | Compare Attestation
| Attester | Evidence | Relying | Result against
| | | Party | appraisal policy
’------------’ ’-------------’
Two basic examples for the overall system topology are proposed as ”Passport
Model” and ”Background-Check Model” and shown in Figures 2.21 and 2.22,
respectively. Both include one entity each for the roles of Attester, Relying Party
and Verifier. They differ in the positioning of the Verifier. In the Passport Model,
56 2. Background and Related Work
the Attester sends its Evidence to the Verifier first, to then receive the Attes-
tation Result from the Verifier and forward it to the Relying Party.
The appraisal policy used to appraise Evidence and Attestation Result may
consist of a comparison with a reference value.
2.7 Conclusion
Among the main contributions of this thesis is a holistic architectural concept
for a Vulnerability Assessment and Management solution for IoT devices with a
Hardware Root of Trust. Due to the scale and complexity of this approach, many
large research areas are touched upon. This requires the extensive study of related
work in the different research areas, that has been presented with this chapter and
that lays the foundation for further design decisions.
Approaches for pre-purchase combined security and privacy labels exist and
have been discussed. However, the proposed label designs all focus on pre-purchase
information, whereas the aim of the work presented in this thesis is to assess the
security state of devices in operation. Although Emami-Naeini et al. acknowl-
edge the relevance of such post-purchase security information [16], it has not yet
been the subject of research. Additionally, the use of TEEs is mentioned as best
practise, but the label designs themselves do not focus on hardware security ar-
chitectures that provide a TEE.
When the results of such Vulnerability Assessment are then combined with
further risk assessment, a numerical security score can be derived from the gath-
ered information. A selection of appropriate IoT security scoring systems has been
58 2. Background and Related Work
discussed. Since the scoring system proposed by Alrawi et al. relies on the globally
used CVSS, it serves as a basis for the runtime security score proposed with this
thesis and described in detail in Section 3.
With this extensive literature review, the foundation is provided for the devel-
opment of an enhanced runtime security score, presented in Chapter 3, and the
architectural design of a comprehensive Vulnerability Management Solution for
the IoT, presented in Chapter 4.
Chapter 3
In Section 2.1, the idea of including a security star rating in the primary layer of a
combined security and privacy label is mentioned. However, a precise specification
for the underlying computation of such a rating is not provided.
Instead, such calculation formulae are provided by security scoring systems for
the IoT domain as presented in Section 2.4. Although there exists critique on the
formally not justifiable CVSS specification (see [55]), such a security scoring sys-
tem that translates experts’ input to a score with respect to relative importance
of some aspects over others, can become a de-facto standard and serve as a very
valuable basis for further risk assessment.
59
60 3. Runtime Security Score
A proposal for incorporating the hereby proposed scoring system into the Vul-
nerability Assessment and Management (VAM) solution proposed with this thesis
is given in Section 4.
In accordance with the proposed scoring system of Alrawi et al., this continuous
VA should receive the largest weighting in the security scoring system proposed
with this thesis. Disclosed vulnerabilities always pose a risk to the impacted de-
vice and with every CVSS severity level, a higher risk can be assumed. Therefore,
the weighting proposed by Alrawi et al. is adopted as follows:
3.2 Trustworthiness Assessment 61
• Critical
• High
• Medium
• Low
Finally, the question remains as with what frequency the Vulnerability Assess-
ment is to be performed. In [46], Qualys, Inc. suggest to perform vulnerability
scans at least on a daily basis. A discussion of this aspect is provided in Section 4.
about any software module deployed on a device - ranging from firmware over op-
erating system to application software. Therefore, breaches in the Trustworthiness
Assessment procedure have far-reaching consequences. A failed Trustworthiness
Assessment of a software module always has to be interpreted as a malicious al-
teration of the software as it was intended by its Software Provider.
However, this is highly individual risk assessment and therefore, it requires user
configuration. For some classes of devices, generally accepted rules for differences
in their relevance to the user experience may be found, but there definitely is no
universal ranking of device relevance levels. Therefore, the user is required to con-
figure its individual risk assessment during the initial device connection process.
This coincides with Qualys, Inc., who suggest to assign custom weighted values to
assets to denote ”the business value of critical assets” [46].
The relevance level of the device under consideration for the entire system or
for the user experience shall not directly factor into the runtime security score. An
extensive and undisturbed security report with the bare results of the proposed
3.4 Non-Numerical Representation 63
security state assessment may provide valuable information to the user. Instead,
it is proposed to make the warnings and recommendations for action depending
on the individual relevance level of this device. Thereby, a device whose security
state is highly relevant to the user may receive a recommendation for immediate
shutdown once a pre-defined threshold is exceeded. A detailed discussion of these
management aspects can be found in Section 4.
Loi et al. suggest a three-level rating based on the letters A − C, similar to the
EU energy labels for electrical devices [35]. However, this rating is solely based
on expert opinion. Although Alrawi et al. also suggest a letter-based rating, they
propose a mapping based on general cutoffs as explained in Section 2.4.
3.5 Conclusion
To conclude, the runtime security scoring system proposed with this chapter is
based on the scoring system proposed by Alrawi et al., but with decisive exten-
sions. Thereby, it represents a major contribution in this research area. It focusses
on the proposed Vulnerability Assessment and extends it towards Continuous Mon-
itoring. Thereby, the user is enabled to continuously monitor the security state of
all operated devices and provided with insight into disclosed vulnerabilities.
64 3. Runtime Security Score
This assessment of the security state lays the foundation and can be combined
with individual risk assessment in order to provide the most useful warnings or
recommendations for actions to the user.
Vulnerability Management
Solution for IoT
In addition to the Runtime Security Index for IoT devices described in Chapter 3,
a process for retrieving software inventory information, a format for SBOM files,
and an architectural concept for a complete Vulnerability Management Solution
for the IoT are further main contributions of this thesis. The following Section 4.1
provides a system model definition which forms the basis for further work. The
Device and Software Module Management is then described in Section 4.2.
The actual computation procedure of the Runtime Security Index for IoT de-
vices at runtime is then described in Section 4.4 and followed by the description
of further risk assessment in Section 4.5 on Vulnerability Management.
65
66 4. Vulnerability Management Solution for IoT
way (e.g. IKEA’s TRÅDFRI gateway), bridge, hub, base (e.g. Telekom’s Magenta
SmartHome router or SmartHome Home Base), or base station (e.g. IETF RFC
7228 [10]). Other cloud-based solutions exist (e.g. Amazon’s Alexa, Samsung’s
Smart Things), but are not the focus of this work. Nevertheless, the additional
functionality proposed by this work could be adapted to such smarthome systems
as well.
For generalization, this dedicated control unit will be called gateway in the fol-
lowing. Typically, it is far less resource-constrained than the IoT devices connected
to it, as described by the IETF in [10]. Hence, it comes with more computational
power, more memory, more interfaces (most notably, the full TCP/IP-protocol
stack and often a range of wireless communication protocols, e.g. Wi-Fi, Blue-
tooth Low Energy (BLE), Zigbee) and a larger battery or direct connection to
the domestic power supply. This makes it a vital link between the connected IoT
devices and the user and opens up a wide range of possibilities. Especially for
constrained IoT devices, it is common that they only support very lightweight
wireless communication protocols such as BLE or Zigbee. Hence, any access from
the Internet has to be realized via the gateway. This is actually beneficial from a
security perspective as security measures can be put in place at the gateway more
easily due to the availability of more powerful resources.
4.1 System Model Definition 67
Apart from automated control functions, some kind of graphical user interface
is typically provided to enable the user to access the network and comfortably
perform management functions. Whether this access is enabled through a smart-
phone application, a browser interface, or voice control is considered irrelevant for
this work. All details concerning user-centered design decisions make up a whole
branch of research and are out of scope here.
Software Providers can deploy Software Modules (SM 1, 1, etc. in Figure 4.1)
on the connected IoT devices. During the initial connection setup, these software
modules are registered at the gateway. Subsequently, the gateway is responsible
for further device and software module management and tracks available updates
for all deployed software modules using the depicted interface to the Software
Providers as described in detail in Section 4.2.
To summarize this system model definition, the results of this work can be
adapted to any smart home system with the following features:
4. There exists one standardized description for Software Modules that is com-
plied with by all components and provides fields equivalent to the VAM
SBOM format described in Section 4.2.1.
5. There exists an entity called Manufacturer that provides such an SBOM file
in a way that is compliant with the procedure specified in Section 4.2.2.
During the initial connection of a new IoT device to a Gateway (the device
registration) this software inventory information needs to be transmitted to the
Gateway. Only afterwards, the Software Modules can be appropriately managed:
they can be linked against a vulnerability database, the manufacturer can be
queried for more recent software updates or patches, and the IoT device can be
updated to that new software version. The proposed procedure for device registra-
tion focussing on these Software Module Management tasks is described in detail
in Section 4.2.2.
4.2 Device and Software Module Management 69
Lots of terms in this research area exist. This ambiguity has already been
discussed in chapter 2.2. For the remainder of this thesis, the term ”Software
Bill of Material (SBOM)” describes the Software Inventory Information needed to
reliably discriminate a certain Software Module with designated version number,
components, and licenses. The latter is mentioned for the sake of completeness,
but is not the focus of this thesis.
• CreatorW ebsite refers to the domain of the entity providing the SPDX file;
File Information
FileName Provides the full path (relative to the root of the Package)
and the full file name (including the file type) for every file
belonging to the Package.
SPDXID Provides a unique identifier for the file. Since in the context
of this thesis, the SPDX file is accessible on the Internet, the
format of this field is [DocumentN amespace]#SP DXRef −
[idstring], where idstring is a unique string containing let-
ters, numbers, ’.’ and ’-’.
FileChecksum Provides a checksum for every file belonging to the Package.
Providing a SHA1-checksum is mandatory, other optional
algorithms may be: SHA224, SHA256, SHA384, SHA512,
MD2, MD4, MD5, MD6.
Table 4.1: Overview of all fields of the VAM SBOM format, adopted from the
SPDX 2.2 specification, and their description [59]. For better readability, fields
related with licensing are omitted, even if they are mandatory for SPDX 2.2 com-
pliance. Fields which are mandatory according to the SPDX 2.2 specification are
written in bold letters. Note, however, that for compliance with the VAM SBOM
specification presented in this thesis, all fields are mandatory.
In the initial version of the VAM SBOM format described here, the
P ackageDownloadLocation must be the URL to the Manufacturer webserver. An
extension towards version control systems is provided by the underlying SPDX for-
mat and planned as independent future extension for the VAM SBOM format.
An example for a VAM SBOM file as specified above is provided in the follow-
ing listing:
SPDXVersion: SPDX-2.2
DataLicense: CC0-1.0
SPDXID: SPDXRef-RISC-V
DocumentName: risc-V
DocumentNamespace: https://SoftwareProvider.org/spdxdocs/devices/
risc-v/PhysicalMemoryProtection/sifive-hifive1-revB-01-2.11.1
Creator: Organization: Software Provider A
Created: 2022-01-01T18:30:22Z
PackageName: freeRTOS
SPDXID: https://SoftwareProvider.org/spdxdocs/devices/risc-v/
PhysicalMemoryProtection/
sifive-hifive1-revB-01#SPDXRef-freeRTOS-2.11.1
PackageVersion: 2.11.1
72 4. Vulnerability Management Solution for IoT
PackageDownloadLocation: https://SoftwareProvider.org/downloads/
devices/risc-v/PhysicalMemoryProtection/sifive-hifive1-revB-01.tar
FilesAnalyzed: true
PackageLicenseConcluded: LGPL-2.0
PackageLicenseDeclared: LGPL-2.0
PackageCopyrightText: <text>
Copyright 2020-2022 Jane Roe
</text>
FileName: ./bin/foo.
SPDXID: https://SoftwareProvider.org/spdxdocs/devices/risc-v/
PhysicalMemoryProtection/
sifive-hifive1-revB-01#SPDXRef-freeRTOS-2.11.1-foo
FileChecksum: SHA1: d6a770ba38583ed4bb4525bd96e50461655d2758
Concerning this initial version of the VAM SBOM format described here, the
CoSWID-format was considered irrelevant due to the fact that the SBOM file
is not directly received from the device. Nevertheless, this could be a beneficial
extension for more capable devices. If the device is able to transmit its SBOM
file directly, the Manufacturer would not need to host a dedicated webserver. As
demonstrated in Section 2.2.1, most SPDX format fields have equivalents in the
SWID and CoSWID formats, respectively. However, there are mandatory fields
in the SWID/CoSWID-formats that do not have obvious equivalents in the SPDX
format. Hence, an extension of the VAM SBOM format towards SWID/CoSWID-
compliance requires an appropriate mapping. The support of yet another SBOM
format is not crucial for proving the general feasibility of the architectural concept,
however, and is therefore planned for future work.
is dedicated to the main Software Module Management tasks: the check for new
vulnerabilities and the check for trustworthiness. As explained above, all other
common tasks of operating a smart home IoT device, e.g. the pairing of the device
with the gateway on host-to-network-layer, are not considered here.
1. There exists a communication interface between the gateway and the con-
strained IoT device. Details of the communication protocol do not matter. It
may be a wired serial interface, a wifi connection or one of the in the IoT do-
main widely used Zigbee, Zwave or Bluetooth Low Energy (BLE) protocols.
Since System-on-Chips (SoC) with Hardware Root of Trust functionality
that enables Trusted Execution Environments are a fairly new development,
they have not yet found their way into retail customer smart home devices.
Therefore, hardware development boards that are available for research pur-
poses most often do not provide a large variety of communication interfaces.
The modularity of the concept and of the reference implementation proposed
in this thesis allows the network connection to be expanded with the release
of corresponding hardware.
2. It is assumed that the IoT device has been connected to the same local
network that the gateway operates in. This is reasonable, since the pairing
of the device with the gateway is considered out of scope for this work as
described above.
3. There exists an entity called Manufacturer that provides a VAM SBOM file
for the IoT device in accordance with the procedure specified in the following.
4. The IoT device is associated with a product ID, a serial number, an URL to
the Manufacturer webservice that provides the software inventory informa-
tion, and a version of the binary by the Manufacturer before shipment.
Based on these requirements, the proposed procedure for the device registra-
tion is specified in the following. Figure 4.2 shows the exchanged messages for the
error-free case accordingly.
Please remark that the following specification for discovering and retrieving
software inventory information is in accordance with the IETF Draft ”Discovering
and Retrieving Software Transparency and Vulnerability Information” and falls
into the second category described thereby: ”objects may be found in one of three
ways: [. . . ], on a web site (e.g., via URI), [. . . ]” [34].
74 4. Vulnerability Management Solution for IoT
Figure 4.2: Message sequence chart showing the device registration procedure
2. Initially, the gateway is in idle mode and becomes ready for pairing with a
new device, e.g. due to a user input. Then, it is in the state waiting. As soon
as the gateway receives the broadcast hello-message in the waiting state, it
4.2 Device and Software Module Management 75
3. The gateway then changes to state new dev.sbom req and sends the re-
quest as https-GET message to the composed address. From the P ID and
version in the url, the webserver can differentiate different products and
different software binary versions and selects the appropriate VAM SBOM
file.
The gateway receives the VAM SBOM file, changes to new dev.sbom ok
and analyses the received VAM SBOM file. At this point, additional secu-
rity measures such as certificates and encryption of the VAM SBOM file may
be implemented to guarantee authenticity and integrity but are considered
out of scope for this thesis.
Finally, the IoT device stores the received device ID locally and changes to
registered state.
Note, that the gateway’s idle state could be any state where the gateway per-
forms tasks that are not related to the procedure described above. Analogously,
the IoT device can leave the registered state and start performing tasks that are
related to its purpose as smart home IoT device.
The specification above strictly defines the format of the url to the Manufac-
turer webserver. In order to achieve broad acceptance and standardization across
many manufacturers, it is always preferable to give as few restrictions as possible.
76 4. Vulnerability Management Solution for IoT
Hence, the given specification can easily be expanded to support other interfaces
between the gateway and the manufacturer. As proposed by [34] and described in
Chapter 2.2, this interface may not only support http, but there could be a more
sophisticated API established. And if the device was able to directly transmit
its SBOM from its local storage itself, a Manufacturer webserver would even be
dispensable. All of this is a valuable but independent future extension.
After the device is properly set up at the gateway, it can take up its dedicated
function as smart home IoT device. All further Software Module Management
tasks are taken care of by the gateway as described in Section 4.3.
During operation, the gateway is responsible of finding new CVE records that
are related to the software modules deployed on any connected device. To realize
this, the gateway has to provide the following functionality.
third-party software, and libraries into one binary that is flashed on the device be-
fore shipment: the Manufacturer. Therefore, the Manufacturer is also the entity
responsible for assigning CVE records to its Software Modules and providing the
corresponding Vulnerability Information.
First case: If compliance with the SPDX format is not mandatory, the VAM
SBOM format specified in 4.2.1 can be extended with a
V ulnerabilityInf ormationDownloadLocation field in the Package Information-
area. This field provides the URL for downloading the Vulnerability Information
for this Software Module in the specified version from the Manufacturer webserver.
The corresponding message sequence chart is based on the Device Registration
procedure described above and shown in Figure 4.3.
0) Message 0) represents the last message from the Manufacturer to the Gate-
way during the device registration process described in Section 4.2.2 and
shown in Figure 4.2. Note, that all previous messages of the device registra-
tion process are omitted here for better readability.
1) Initially, the Gateway is in idle mode and starts searching for new Vul-
nerability Information based on the configurable frequency f reqnewCV E de-
scribed below. Based on the V ulnerabilityInf ormationDownloadLocation
received with the VAM SBOM during device registration, the Gateway
changes to state vulninf req and sends a https-GET message to the corre-
sponding address.
Afterwards, the gateway proceeds with retrieving the CVE records corre-
sponding to the received Vulnerability Information as described below.
Note, that the message 0) only has to be exchanged once during the De-
vice Registration process described in Section 4.2.2. The sequence of messages
1) and 2) is issued periodically during the continuous monitoring process with
frequency f reqnewCV E for every connected IoT device.
Second case: If compliance with the SPDX format is necessary, the IoT device
has to provide a dedicated interface for retrieving the
V ulnerabilityInf ormationDownloadLocation. The corresponding message se-
quence chart is shown in Figure 4.4.
4.3 Continuous Monitoring 79
Note, that the messages 0.1) and 0.2) only have to be exchanged once. Hence,
they extend the device registration process described in Section 4.2.2.
Figure 4.4: Message sequence chart showing the download procedure of the
Vulnerability Information for case 2: The VAM SBOM does not provide the
V ulnerabilityInf ormationDownloadLocation. Instead, the IoT device provides
a dedicated interface to answer requests from the Gateway with the Manufacturer’s
webserver address
0.1) Message 0.1) replaces the last OK-message of the device registration process
shown in Figure 4.2. Thereby, the Gateway changes to vulninf locator req
state and sends a REQU EST V U LN IN F LOCAT OR-message to the IoT
device. Note, that all other messages of the device registration process are
omitted here for better readability.
0.2) Upon receiving the REQU EST V U LN IN F LOCAT OR-message from the
Gateway, the IoT device changes to state reply vulninf locator and answers
with the V ulnerabilityInf ormationDownloadLocation.
1)-2) The messages 1) and 2) are equivalent to the ones in Figure 4.3.
80 4. Vulnerability Management Solution for IoT
Note, that the IoT device’s and the Gateway’s idle states could be any states
where both entities perform tasks that are not related to the procedure described
above.
For the initial version described in this thesis, the Vulnerability Information
is a plain string including all CVE IDs related to the Software Module separated
with semicolon. For expandability in the future, this can be replaced with a more
sophisticated data format, such as json, supporting other vulnerability databases
apart from the CVE database, e.g. the Open Source Vulnerability Database [43].
For both cases, the well-defined interface to the Manufacturer is thereby spec-
ified and the Gateway’s local database is updated with all CVE IDs that are
currently assigned to the Software Module deployed on the IoT device under con-
sideration.
1) The Gateway starts in cve req state and sends a https-GET message to the
webserver provided by NIST at the address
https://services.nvd.nist.gov/rest/json/cve/1.0/[CVE_ID].
2) The NIST webserver answers the request with the corresponding CVE record
in json format. Upon receiving, the Gateway changes to cve rec state, anal-
yses the file and updates its local databases accordingly. Afterwards, it
changes to idle state.
Figure 4.5: Message sequence chart showing the download procedure of the CVE
record in json format
the corresponding CVE records as described in Section 4.3.1 is necessary for every
such CVE ID. Introducing this kind of periodical search for new vulnerabilities
makes the proposed system a solution providing Continuous Monitoring as de-
scribed in Section 2.3.
It can be argued that a very sophisticated user may want to have additional
functionality. Hence, the user can be provided with the possibility of manually
triggering an immediate search for new CVEs. Additionally, the user can be
enabled to enter CVEs and manually assign it to a certain type of device or a
Software Module to overcome the issue of a not properly working manual assign-
ment. Another additional feature could be an ignore list for CVE records the user
specifically wants to exclude from the vulnerability check. Certainly, this option is
clearly not recommended and poses the risk of severe failure of the VA process for
inexperienced users. All these extensions and their analysis are considered future
work.
this VA procedure allows for providing the user with detailed Vulnerability Infor-
mation concerning the operated IoT devices and lays the foundation for further
Vulnerability Scoring as described in Section 3.
The Gateway Application of the VAM solution proposed by this thesis is com-
parable to the ”Trusted Application Manager (TAM)” described in the use case
of ”Trusted Execution Environment Provisioning” in the IETF Internet-Draft for
”Remote Attestation Procedures Architectures” (RATS) [7]. There, the TAM is
responsible for managing software components deployed in a TEE and for assessing
their trustworthiness. Therefore, it performs a Remote Attestation as described
in Section 2.6 for software components in the TEE.
Figure 4.7: Message sequence chart showing the download procedure of the Evi-
dence in the Remote Attestation procedure
The IoT device serves as Attester and contains one or more Target Envi-
ronments with the isolated Software Modules. They may reside in one or more
separated TEEs, or in unprotected memory areas. In addition to these Target
Environments, an Attesting Environment provides the actual Remote Attestation
service to the Gateway. This service has to be trusted, hence, it is required to re-
side in a TEE. Ideally, its Trusted Computing Base should be as small as possible.
When using one of the security architectures presented in Section 2.5 for the IoT
device, the TEE is implemented with a Hardware Root of Trust. In this case, no
software has to be trusted to guarantee the TEE’s trustworthiness (with exception
of Multizone, which is hardware-enforced, but requires a small, verifiable software
layer).
84 4. Vulnerability Management Solution for IoT
When challenged with a TA request, the RA service collects the Claims of all
challenged Target Environments, hence, Software Modules. Details of what these
Claims may contain are described below.
The Relying Party in the context of this VAM solution is the Gateway Appli-
cation. It runs the hereby described Trustworthiness Assessment service. Therein,
it sends its TA request and a nonce as Challenge to the RA service of connected
devices as shown in the message sequence chart in Figure 4.7 with message 1). As
described in Section 2.6, the nonce is incorporated into processing the Claims in
order to guarantee freshness of the provided Evidence. If the process of calculating
the next nonce is a secret, a man-in-the-middle-attacker cannot guess it properly
and use it to proclaim an old or maliciously modified Evidence. The RA service
on the IoT device processes the nonce and the collected Claims and answers the
TA request with the Evidence as response in message 2).
Figure 4.8: Message sequence chart showing the download procedure of the refer-
ence Evidence during the device registration procedure
In order to enable symmetric encryption of the Evidence between the IoT de-
vice and the Gateway during the remote attestation, a symmetric key is necessary.
In general, this key could be generated by:
1. the Software Provider and transmitted with the VAM SBOM as described
above, or
2. the Gateway during the Device Registration procedure.
The latter has the clear advantage, that identical IoT devices can receive differ-
ent symmetric keys in order to guarantee authenticity of the encrypted message.
Therefore, this option is chosen for the VAM solution proposed with this thesis.
In both cases, the symmetric key has to be securely stored in a TEE.
Since the reference Evidence is crucial for appraising the Evidence received
from the IoT device, its creation and receipt has to be trusted as well.
In order to verify the attestation result, the Evidence is compared to its corre-
sponding reference value for every Software Module. If they are equal, the Remote
86 4. Vulnerability Management Solution for IoT
When discussing trust and trust anchors, the role of the Gateway has to be
taken into consideration as well. As described in Section 4.1, the hardware prop-
erties fulfilled by the Gateway are not as precisely specified as the ones of the con-
strained IoT devices. It is generally assumed that it is less resource-constrained
than the IoT devices. In order to keep the solution proposed by this thesis as
generic as possible, further restrictions should be avoided at this point. However,
if the Gateway is nearly as restricted as the IoT devices, a security architecture
comparable to those described in Section 2.5 may be used to enable a TEE that
contains all components of the proposed VAM solution as they are all crucial for
the Vulnerability Assessment and Management tasks of the Gateway.
If the Gateway has more powerful hardware, there exist security architectures
such as Intel SGX [13] or ARM Trustzone for Cortex-A [44]. However, the focus
of this thesis is placed on assessing the overall security of constrained IoT devices
in a smart home environment and hence, such architectures are omitted here.
Reference Evidence
A universal specification for the reference Evidence expected by the Verifier is
necessary to provide support of different security architectures. For Sancus [42],
one of the security architectures described in Section 2.5, such an identity of a
Software Module has been proposed and serves as a basis here.
For better reference, the representation of the Memory layout of the Sancus ar-
chitecture is included here again in Figure 4.9. The Software Module in memory is
separated into its text section and its data section. The layout of the SM consists
of the start and end addresses of both the text section and the data section. The
identity of the SM consists of a hash of the text section and the layout. Thereby,
the resulting identity of two identical Software Modules running in parallel on the
device will have different identities.
4.3 Continuous Monitoring 87
In addition to this identity, there exists a private key KN,SP,SM for this Soft-
ware Module of this Software Provider for this very device. This key is stored in
a protected TEE and can be used for symmetric encryption of the Evidence.
Figure 4.9: Memory layout of the Sancus architecture, taken from [42]
To keep the TCB within the secure world small, it shall only contain a Secure
Boot process, the RA service described hereby, and the necessary metadata. Ac-
cordingly, it is assumed that the actual Software Module resides in the non-secure
world. A Secure Boot is necessary to start up the IoT Device in a state where the
secure world can be set up securely before handing control over to the non-secure
world (e.g. to the bootloader of a rich OS in non-secure world [44]). To reduce
complexity, the focus of this work is set to the RA service and details of the Secure
Boot process are omitted here.
88 4. Vulnerability Management Solution for IoT
For the Software Module deployed on the IoT Device, the RA service has to be
informed about the SM’s memory layout. It is suggested that this is done during
the Linking of the SM image by the Manufacturer, since the IoT Device’s memory
layout is determined there, and following the assumption that the development
process at the Manufacturer is not compromised.
Later changes on this memory layout are only legal, if the TCB is extended
with a Secure Update process in the secure world. During every update of the
Software Module, the RA service has to be updated as well.
In addition to the SM’s layout, the private key for encryption is required. As
part of the Device Registration procedure, the Gateway chooses a private key and
transmits it to the RA service in the secure world. Mechanisms for securing the
private key during transmission are subject of future work.
Thereby, the secure RA service is able to keep track of the start and end
addresses of the text and data sections of all Software Modules on the device.
Whenever an RA is requested for a Software Module, the RA service computes a
hash of its text section and its layout.
The resulting hash and the nonce are then encrypted using the SM’s private
key and sent back to the Gateway by the RA service.
During compiling (see Figure 2.18), the zone binaries are arranged and assigned
to memory addresses. Hence, at this point, the layouts of all Software Modules
can be determined and have to be made available to the nanoKernel.
Again, the private key for encryption is required and is supplied by the Gate-
way during Device Registration as described above for ARM’s Trustzone. A secure
Bootloader is already included in the nanoKernel.
the RA service within the nanoKernel computes a hash of the text section of the
corresponding zone and its layout. The resulting hash and the nonce are then
encrypted using the corresponding private key and sent to the Gateway.
Except for the nanoKernel, no other zone has the permission to access the
other zones’ memory for computing the hash of the text section. In fact, this is
the purpose behind the memory protection. Therefore, it is inevitable to extend
the nanoKernel. Doing so shall not break its qualities of being ”lightweight, for-
mally verifiable, bare metal” [26].
Both the identity and the KN,SP,SM are stored in a protected memory area
that is inaccessible directly from software, and can only implicitly be used by dedi-
cated processor instructions. Additionally, KN,SP,SM is derived from the Software
Module’s identity and since it is stored in protected memory and this protec-
tion is trusted, it only has to be computed once. This key is then used program
counter-dependent: If the program counter resides in the text section of Soft-
ware Module SMn , cryptographic processor instructions will automatically use
the corresponding KN,SP,SMn for encryption and decryption. Additionally, these
instructions can only be invoked if the memory protection of this Software Module
has been enabled. ”It follows that only a well-isolated SM installed on behalf of SP
on [node] N can compute cryptographic primitives with KN,SP,SM , and this is the
basis for implementing both remote attestation and secure communication.” [42]
To provide Remote Attestation, the Software Module only has to encrypt any
message (e.g. the nonce) implicitly with its KN,SP,SM and the Receiving Party
”will have high assurance that it has been produced by SM since, as mentioned
above, only SM is able to use this key.” [42] Since after the memory protection has
been enabled, this SM is considered to be well-isolated, and since the encryption
key can only be used by a SM with enabled memory protection, only the encryp-
tion key of the received Evidence has to be verified.
For this RA procedure, the isolation and memory protection mechanisms of the
underlying security architecture have to be completely trusted. If an additional
security layer on top of this hardware Root of Trust is requested, an additional
layer with extended permission similar to the nanoKernel in Multizone is required.
90 4. Vulnerability Management Solution for IoT
This would require extensive changes to the Sancus security architecture and is
considered out of scope here.
On the other hand, if an attacker has been able to gain access to the memory
assigned to a Software Module, this may have severe consequences. Hence, it is
desirable to become aware of this security breach as soon as possible.
It might be argued that a Software Module residing in a TEE does not re-
quire Remote Attestation at all. This can only be true, if it can be unmistakenly
guaranteed that the underlying security architecture providing this TEE is error
free and works completely as intended. However, these are developed by humans
and errors occur. Therefore, performing Trustworthiness Assessment on a regular
basis serves as an additional layer of security.
However, the sweet spot between occupying the constrained IoT Device too
much, and not being able to react to successful attacks fast enough, still has to be
studied.
For this VAM solution, the total number of points is set to 100.
Since the NIST NVD is used for retrieving the CVE record during VA (see Sec-
tion 4.3.1), the CVSS base score and the base severity can be directly extracted
from the query result at the fields ”baseScore” and ”baseSeverity”. Therefore, the
vulnerabilities present in the device under consideration can be counted and clas-
sified into the four severity levels: LOW , M EDIU M , HIGH, and CRIT ICAL.
The points are then assigned with respect to the weighting suggested in Section 3.
In order to keep the security score up-to-date, its computation has to be trig-
gered with the following events:
As discussed in Section 3.4, this score is then mapped to a traffic light color
and displayed to the user based on the following mapping:
either LOW or HIGH for this IoT device. This configuration is then stored
in the database as well.
Relevance Level
LOW HIGH
Scoring Result
GREEN no action no action
Y ELLOW no action send informa-
tive warning
RED send informative warning send recom-
mendation
for shutting
down this
IoT Device
The decision matrix for sending warnings, resp. recommendations for action
to the user is provided with Table 4.2. If the security scoring result is GREEN ,
hence, the device is less likely to possess severe vulnerabilities and all deployed
Software Modules are considered to be trustworthy, no action is required indepen-
dent of the configured relevance level.
If the security scoring result is Y ELLOW , hence, the device is more likely to
possess a medium number of vulnerabilities with a medium level of severity on
average, and all deployed Software Modules are considered to be trustworthy, the
system’s reaction depends on the configured relevance level. If it is set to LOW ,
no action is required. If it is set to HIGH, an informative warning is issued.
If the security scoring result is RED, hence, the device is very likely to possess
a larger number of more severe vulnerabilities, and/or at least one of the deployed
Software Modules is not considered to be trustworthy anymore, the system’s re-
action depends on the configured relevance level again. If it is set to LOW , an
informative warning is issued. If it is set to HIGH, a recommendation for shutting
down this IoT Device immediately is issued.
In both cases, the informative warning includes the security report that is also
provided with the Gateway Application. The method of transfer depends on the
configuration of the VAM solution. It could be a push message on a mobile device
or an email with normal priority to the user’s email address.
The method of transfer for the recommendation for shutting down this IoT
Device immediately depends on the configuration of the VAM solution as well. It
4.6 Conclusion 93
could be a push message with high priority on a mobile device or an email with
high priority to the user’s email address.
Since this proposal is the first attempt for combining a security score with a
level of individual relevance, it is kept fairly simple. Effects of a alternative differ-
entiations of relevance levels have to be investigated in future work.
4.6 Conclusion
To conclude, the Runtime Security Index for IoT devices described in Chapter 3
has been extended with a process for retrieving software inventory information,
a precise specification for a standardized SBOM file format that can be used in
a network with heterogeneous IoT devices, and an architectural concept for a
complete Vulnerability Management Solution for the IoT. Those are further main
contributions of this thesis and have been presented in detail, starting with the
system model definition and the Device and Software Module Management.
In order to provide the user with the security state of the smart home system
at runtime, a precise specification for the calculation of a novel online IoT security
score has been presented in detail, that represents a significant enhancement of
existing pre-purchase IoT security indices and brings together several branches of
research. The actual computation procedure of the Runtime Security Index for
IoT devices at runtime has been described and followed by the description of fur-
ther risk assessment on Vulnerability Management.
Proof of Concept
Implementation
Based on the related work discussed in Chapter 2, a system architecture for a Vul-
nerability Assessment and Management solution has been presented in Chapter 4.
In order to show the general feasibility and functionality of the proposed approach,
a Proof of Concept (PoC) implementation has been realized and is presented in
the following sections.
• Sancus:
Depending on the number of available platforms and on the size of the research
community, the amount of open source software for these development boards is
95
96 5. Proof of Concept Implementation
rather limited and most often, only provides basic support and limited documen-
tation. Starting points can be the FreeRTOS port [1], or the STM32CubeL5 MCU
Firmware Package [56] for the ARMv8-M architecture with Trustzone, the Multi-
zone SDK for RISC-V architectures [25] or the Sancus TEE Project for the Sancus
architecture [53]. Due to improvable documentation, dependence on certain IDEs
(e.g. STM32CubeIDE for STMicroelectronics boards, Keil Microcontroller De-
velopment Kit (MDK) for Microchip boards), constraints on the availability of
development boards, and other unexpected challenges, the entry barrier for pro-
ducing high quality software is quite high.
In the following sections, the relevant aspects of this PoC implementation are
described, both for the gateway application and for the constrained device mock-
up. In Section 5.1, the general setup is described. Thereupon, Section 5.2 describes
the implementation of the Device and Software Module Management procedure
as it has been defined in Section 4.2.
Figure 5.1: Example for the overview of all connected devices in the gateway
application
for this thesis and the traffic light icon proposed in this PoC implementation may
be replaced with another user-friendly representation of the underlying security
score with neglectable effort.
Figure 5.2: Initial appearance of the route /devices/scan before starting the device
registration process
Figure 5.3: List of all devices found in the scanning process during the device
registration process
After the user has chosen a device for adding it, the gateway changes to
new dev.sbom req state and a background task is started that sends a http-GET -
request to the CreatorW ebsite-URL. Upon receiving the VAM SBOM file from
100 5. Proof of Concept Implementation
the Manufacturer, the gateway changes to new dev.sbom ok state and performs
basic sanity-checks. At this point, the PoC implementation is prepared for fur-
ther security measures to be implemented in the future, e.g. encryption and/or
certificates. When the file analysis succeeds, the gateway changes its state to
new dev.update db, parses the file, and stores it into a persistent device database.
For the first case described in Section 4.3.1, the VAM SBOM format is ex-
tended with a V ulnerabilityInf ormationDownloadLocation field in the Package
Information-area. Hence, the file parsing during the device registration procedure
described in Section 5.2.1 is extended accordingly and the URL is stored in the
persistent local device database of the gateway.
For the second case, the IoT device has to provide a dedicated interface for re-
trieving the V ulnerabilityInf ormationDownloadLocation during the device reg-
istration procedure. Therefore, the device registration procedure described in Sec-
tion 5.2.1 remains unchanged until the gateway would normally send the OK;{id}-
message back to the device. Instead, the gateway changes to vulninf locator req
state and sends a REQU EST V U LN IN F LOCAT OR-message with the pay-
load REQ_VULNINF_LOCATOR to the IoT device using the UDP-socket described
above. Upon receiving the device’s response, the gateway responses with the OK-
message of the original device registration process as described above, changes
to vulninf locator rec state and stores the URL in its persistent local device
database.
The PoC implementation of the gateway application proposed with this thesis
supports both cases.
For retrieving the CVE records for all CVE IDs stored in the gateway’s device
database, another background task is used that periodically sends requests to the
102 5. Proof of Concept Implementation
API provided for the National Vulnerability Database by the U.S. National Insti-
tute of Standards and Technology [38]. Therefore, the gateway changes to cve req
state and sends http-GET -requests to the webserver provided by NIST at the ad-
dress https://services.nvd.nist.gov/rest/json/cve/1.0/[CVE_ID] for ev-
ery CVE ID stored in the database. Upon receiving the corresponding CVE record
in json format, the Gateway changes to cve rec state, parses the file, and updates
its local databases accordingly. Afterwards, it changes to idle state.
In addition to the periodical procedure described above, the search and re-
trieval process is also triggered exclusively for the affected Software Modules when-
ever the internal database of all deployed Software Modules is changed (e.g. be-
cause a new IoT device is registered at the gateway). Combining this exception
with the periodical procedure, both the search for new CVE IDs and the retrieval
of the corresponding CVE records from a CVE database at the gateway are com-
plete. This results in a device database with vulnerability information that is as
actual as the frequency f reqnewCV E allows it.
The second case requires the constrained device to provide an interface for
requesting the V ulnerabilityInf ormationDownloadLocation during the device
registration procedure. As described in Section 5.2.2, a dedicated thread is used
to listen on another UDP-socket on the well-defined device port. All received
messages are then subjected to a pattern matching for the regular expression
r"^REQ_VULNINF_LOCATOR$". If such a message is received, the device changes
to reply vulninf locator state, the thread is terminated, and it joins the main
application thread. This event is used to stop the broadcasting thread as well.
The retrieval process of the corresponding CVE records from a CVE database
does not involve the constrained device and therefore does not require any changes
whatsoever.
As presented in Section 4.3.2, Remote Attestation is chosen for assessing the trust-
worthiness of the Software Modules deployed on connected constrained devices.
The Trustworthiness Assessment procedure depends on the configurable frequency
f reqT A that is valid for all connected constrained devices.
In order to provide the Gateway with the reference Evidence that is necessary
to verify the Evidence received from the constrained device as described in Sec-
tion 4.3.2, it is necessary to extend the device registration procedure accordingly.
As described in Section 5.2.1, a background task is responsible for the commu-
nication with the Manufacturer webservice. With this extension, the Gateway
application does not only expect to receive the VAM SBOM file, but also the
reference Evidence in form of a hash of the Claims. Upon receiving both, the
Gateway changes to new dev.sbom ok state. When the VAM SBOM file handling
succeeds, the Gateway changes its state to new dev.update db, and stores both
the VAM SBOM file and the reference Evidence into a persistent device database.
Concerning the OK-message that the device receives in the final step of the
device registration procedure, the pattern matching for the regular expression is
changed to r"^OK;\d+;.*$" and the symmetric key for the encryption of future
Evidences is stored in persistent memory.
For composing the response message to the Gateway, the device changes to
compute evidence state, the Evidence stored on the device is encrypted together
with the received nonce and sent back to the Gateway via the TCP-connection.
Afterwards, the device changes to idle state.
5.4 Security Score Computation 105
During the security score computation in another background task, the Gate-
way application iterates through all local device database entries, looks up the lat-
est results of the Vulnerability Assessment and the Trustworthiness Assessment,
and computes the score as follows. If the latest result of the Trustworthiness
Assessment is ”f alse”, the security score is immediately set to 100 and the com-
putation procedure breaks.
Otherwise, the stored CVE records are iterated and the occurrences of the
CVSS ”baseSeverity” levels LOW , M EDIU M , HIGH, and CRIT ICAL are
counted. Based on the number of vulnerabilities found, the security score is incre-
mented with the indicated points as described in Section 3.1:
• Critical
• High
• M edium
• Low
As described in Section 3.4, the resulting score is then stored in the device
database, mapped to a traffic light color, and displayed to the user based on the
following mapping:
Then, the background task that performs the security score computation de-
scribed in Section 5.4.1 is extended as follows. After the computation of the
security score is complete and has been mapped to the traffic light color, the
5.6 Conclusion 107
decision matrix presented in Table 4.2 in Section 4.5 is implemented. The ”infor-
mative warning” is displayed as highlighted text box in the device overview view
shown in Figure 5.1 with the warning text that ”The security state of this device
is {Y ELLOW |RED}! More details on possible vulnerabilities can be found in
the security report.”
5.6 Conclusion
Based on the related work discussed in Chapter 2 and the system architecture for
a Vulnerability Assessment and Management solution presented in Chapter 4, a
Proof of Concept (PoC) implementation, that shows the general feasibility and
functionality of the proposed approach, has been realized and presented. It con-
sists of the actual implementation of a Gateway application and a mock-up of a
constrained IoT device that provides the following features:
With the contributions of this chapter, the effective and functional interaction
of all relevant system components has been shown.
Chapter 6
Evaluation
With these contributions, this thesis represents the first step into a new re-
search direction by combining findings from several research areas to a novel ap-
proach. This required the thorough analysis of the related research fields in Chap-
ter 2 that laid the foundation for following design decisions.
Before the numerical runtime security score was proposed in Chapter 3, there
existed scoring systems for the IoT domain based on the Common Vulnerability
Scoring System and on experts’ manual assessments of device characteristics, e.g.
its update process, open ports, its susceptibility for replay attacks, etc. However,
the identification of these device characteristics can hardly be automated and does
not prove suitable for a computation at runtime. Most often, this manual assess-
ment requires to disrupt the device’s normal operation. Additionally, to the best
of our knowledge, there exists no approach for an IoT scoring system that takes
Trustworthiness Assessment into account at all. Therefore, the runtime security
score proposed with this thesis provides a concise overview of the overall system
health at a glance during operation. It incorporates both database-based Vulner-
ability Assessment and Trustworthiness Assessment based on remote attestation
and targets constrained devices in the IoT domain. This represents a novel ap-
proach and an important scientific advance in this field of research.
109
110 6. Evaluation
One of the main building blocks for Vulnerability Assessment and Trustworthi-
ness Assessment is a concept for a standardized description of the software inven-
tory in order to reliably discriminate a certain Software Module with designated
version number and components. Based on the proposed VAM SBOM format, a
standardized device registration procedure with SBOM retrieval is proposed. It
only requires an existing communication interface between the gateway and the
IoT device, the existence of a Manufacturer as entity responsible for providing the
VAM SBOM file and the existence of a product ID and a serial number, an URL
to the Manufacturer webservice assigned by the Manufacturer and stored on the
device. For the IoT device to implement the specified interface to the gateway, it
only has to be capable of sending a broadcast message with the device identifica-
tion information and the SBOM URL to the gateway at a well-defined gateway
port and of receiving a response at a well-defined device port.
Besides being suitable for constrained IoT devices, another advantageous fea-
ture of the proposed VAM solution is that it is fully automated. Opposed to
approaches where the SBOM URL is e.g. in the device documentation or within
a QR code on the packaging, the proposed SBOM retrieval mechanism does not
require any such user interaction.
The number of messages between the Gateway and the constrained IoT de-
vice that the communication protocol for the Vulnerability Assessment procedure
requires, depends on the implementation of the interface for retrieving the down-
load location for the Vulnerability Information as specified in Section 4.3.1. If the
V ulnerabilityInf ormationDownloadLocation can be found as additional field in
the VAM SBOM, the whole Vulnerability Assessment does not require any addi-
tional messages between the Gateway and the constrained IoT device: the VAM
SBOM is retrieved during the device registration, the V ulnerabilityInf ormation
DownloadLocation is stored in the local Gateway database and the further search
for new CVE IDs and the retrieval of the corresponding CVE records only involves
the Manufacturer webserver and the NIST webserver.
If on the other hand, the IoT device has to provide a dedicated interface to
transmit the V ulnerabilityInf ormationDownloadLocation to the Gateway, the
device registration process has to be adjusted accordingly, introducing 3 additional
112 6. Evaluation
messages between the Gateway and the constrained IoT device. As argued above,
the system’s scalability depends on the scalability of the Gateway.
The security score computation solely takes place at the Gateway and does
not require any message exchange with the constrained IoT device. Therefore, the
system’s scalability only depends on the scalability of the Gateway.
The individual risk assessment solely takes place at the Gateway and does not
require any message exchange with the constrained IoT device. Therefore, the
system’s scalability only depends on the scalability of the Gateway.
In the IoT domain, heterogeneous devices from different manufacturers are of-
ten operated in the same network and require interoperability. This can only be
achieved when all components agree upon standardized interfaces. The modular
and extensible Vulnerability Assessment and Management solution proposed in
this thesis requires standardization for a shared SBOM format and for the com-
munication interfaces between the IoT device and the gateway, and the gateway
and the manufacturer webserver. Complying to these standards can set incentives
for device manufacturers when the thereby achieved insight into the security state
of the connected devices during runtime positively affects the consumers’ buying
decision. An analysis of the effects on the consumer is planned for future work.
Providing a Graphical User Interface in form of a web application for the Gate-
way application as proposed with this thesis is a convenient choice. It enables a
browser-based representation that is platform-independent and provides extensive
design possibilities.
With the contributions of this thesis, I propose the concept of a software system
architecture for networked constrained IoT devices, that can provide the user with
a profound insight into the security state of the connected devices during runtime.
I achieve this by combining findings from several areas of ongoing research.
115
116 7. Conclusion and Outlook
This Runtime Security Score is a novel approach that enables the ongoing as-
sessment of the security state of a smart home network. However, this thesis is
the first to set a foot into this new research direction. Therefore, it opens up a
new field of research opportunities that can be covered in the upcoming years. In
Figure 7.1, a concise presentation of the identified research opportunities is given.
soon as a candidate has prevailed there, the proposed Runtime Security Score
can be extended accordingly.
The existing, though formally not justifiable Runtime Security Score incorpo-
rates the CVSS as proposed by Alrawi et al. Further research can be done towards
the incorporation of device-specific characteristics apart from disclosed vulnerabil-
ities, that also contribute to its vulnerability: how does it implement the internet
pairing process? Does it force the user to perform an individual device configu-
ration? Does it provide an automatic upgrade process? It shall be investigated
how such characteristics can be included in an automated score computation that
requires as little standardization as possible.
In Chapter 4, the ideas of this Runtime Security Score have been transferred
to an actual software system architecture for a holistic Vulnerability Management
Solution for constrained IoT devices. The underlying system model definition
that incorporates the modular components and entities of the concept and whose
well-defined interfaces provide interchangeability and extensibility of the compo-
nents was presented in Section 4.1. Figure 7.2 presents the research opportunities
identified for this system model.
In the context of this thesis, the underlying system model requires exactly one
Gateway and implements the Vulnerability Assessment and Management solution
as application for this Gateway. With moderate effort, this can be extended to-
wards systems with multiple interconnected Gateways and towards a cloud-based
application. Identifying the most preferable user-friendly Graphical User Interface
is another identified research opportunity in the field of human-centered comput-
118 7. Conclusion and Outlook
ing.
In the context of this thesis, the software inventory information is not stored
directly on the constrained IoT device, but is provided by the Manufacturer in-
stead. Among the candidates, the SPDX format has been identified as the most
suitable and has therefore been incorporated in the concept with its representa-
tion as flat text file. The P ackageDownloadLocation-field has been chosen to
contain the URL to the Manufacturer webserver for SBOM retrieval. With mod-
erate effort, the architecture can be extended towards support of version control
systems for SBOM retrieval and alternative file format such as JSON and YAML.
In addition to the SPDX-compliant VAM SBOM format, support of alternative
SBOM specifications such as SWID and CoSWID can be incorporated with mod-
erate effort as well. The latter is characterized by a very lightweight footprint
and would therefore support the extension of the SBOM retrieval process towards
SBOM information that are stored directly on the IoT device.
This SBOM retrieval process is covered in the Device and Software Module
Management process that has been described in Section 4.2.2. Figure 7.4 presents
the corresponding identified research opportunities.
119
In the context of this thesis, the number of supported Software Modules per
IoT device was limited to one Software Module that is bundled up by the Man-
ufacturer. This is a common case in the IoT domain. However, the proposed
concept will gain generality when being extended towards the support of several
Software Modules per IoT device that can be provided by independent Software
Providers.
In order to retrieve the VAM SBOM file, the corresponding webserver URL has
to be transmitted to the Gateway. In the context of this thesis, this is effectively
solved by broadcasting the URL from the IoT device during the device registration
process. However, the proposed concept will gain generality when being extended
towards the support of the URL being transmitted within a Manufacturer Usage
Description file.
In the context of this thesis, the symmetric key is exchanged during the device
registration process using a potentially insecure channel. It may be more beneficial
to e.g. ship the IoT device with a private key. Further research shall be conducted
here.
In the context of this thesis, common tasks of operating a smart home IoT
device, e.g. the pairing of the device with the gateway or the performance of ac-
tual tasks that are related to the device’s purpose as smart home IoT device, are
excluded, as they do not provide a contribution to the state of research. However,
they may improve the suitability of the reference implementation for demonstra-
tion or teaching purposes and can be put in place with moderate effort.
124 7. Conclusion and Outlook
In Chapter 6, this thesis was concluded with a qualitative evaluation of the pro-
posed software system architecture and the reference implementation. The added
value of this concept with regard to the resulting overhead has been discussed here.
[3] A. Amro. IoT Vulnerability Scanning: A State of the Art, pages 84–99. 12
2020.
[8] M. Björklund. The YANG 1.1 Data Modeling Language. RFC 7950, Aug.
2016.
125
126 References
[12] T. Bray. The JavaScript Object Notation (JSON) Data Interchange Format.
RFC 8259, Dec. 2017.
[13] V. Costan and S. Devadas. Intel sgx explained. IACR Cryptol. ePrint Arch.,
2016:86, 2016.
[17] P. Emami Naeini, Y. Agarwal, L. Cranor, and H. Hibshi. Ask the experts:
What should be on an iot privacy and security label? pages 447–464, 05 2020.
[23] Gartner. Gartner says 8.4 billion connected ”things” will be in use in 2017,
up 31 percent from 2016. https://www.gartner.com/en/newsroom/press-
releases/2017-02-07-gartner-says-8-billion-connected-things-will-be-in
-use-in-2017-up-31-percent-from-2016, Accessed: 2021-07-15.
[27] IEEE. Standard for local and metropolitan area networks - secure device
identity. IEEE Std 802.1AR-2018 (Revision of IEEE Std 802.1AR-2009).
[32] Knud Lasse Lueth (IoT Analytics GmbH). Iot 2019 in review: The 10 most
relevant iot developments of the year. Online, https://iot-analytics.com/
iot-2019-in-review/, Accessed: 2021-07-15.
[34] E. Lear and S. Rose. Discovering and Retrieving Software Transparency and
Vulnerability Information. Internet-Draft draft-ietf-opsawg-sbom-access-05,
Internet Engineering Task Force, Mar. 2022. Work in Progress.
[36] Lum, Brandon and Chang, Oliver (Google Open Source Security
Team). Sbom in action: finding vulnerabilities with a software
bill of materials. Online, https://security.googleblog.com/2022/06/
sbom-in-action-finding-vulnerabilities.html, Accessed: 2022-06-18,
June 2022.
[43] OSV. A distributed vulnerability database for open source. Online, https:
//osv.dev, Accessed: 2022-07-29.
[52] E. Ronen, A. Shamir, A.-O. Weingarten, and C. O’Flynn. Iot goes nuclear:
Creating a zigbee chain reaction. In 2017 IEEE Symposium on Security and
Privacy (SP), pages 195–212, 2017.
[54] Y. Shen and P.-A. Vervier. IoT Security and Privacy Labels, pages 136–147.
06 2019.
[60] The MITRE Corporation. About the cve progam. Online, https://www.
cve.org/About/Overview, Accessed: 2022-01-06.
[62] The MITRE Corporation. Cve numbering authority (cna) rules. On-
line, https://www.cve.org/ResourcesSupport/AllResources/CNARules,
Accessed: 2022-01-18.
131
Appendix A
Die Popularität und Verbreitung von Geräten des Internets der Dinge (engl. In-
ternet of Things, IoT) nimmt ständig zu. Sie haben Einzug in unser tägliches
Leben gehalten und verwandeln unsere Wohnumgebung zunehmend in ein intelli-
gentes Zuhause. Die meisten dieser eingeschränkten Geräte verfügen jedoch nicht
über genügend Rechenleistung, Speicher und Akkulaufzeit, um Sicherheitsfunk-
tionen zu implementieren, die für allgemeine Personal Computer üblich sind. Mit
der zunehmenden Zahl der vernetzten IoT-Geräte für Verbraucher steigen daher
auch deren Angriffsfläche und Schwachstellen.
Die vorliegende Arbeit widmet sich diesem Sicherheitsproblem, indem sie einen
neuartigen Ansatz für einen Runtime IoT Security Score vorstellt, der dem uner-
fahrenen Benutzer eines Smart-Home-Systems einen tiefen Einblick in den Sicher-
heitszustand der angeschlossenen IoT-Geräte zur Laufzeit gibt. Dies wird durch
die Kombination von Vulnerability Assessment mit einer Bewertung der Ver-
trauenswürdigkeit der angeschlossenen Geräte erreicht. Dies stellt einen neuar-
tigen Ansatz darf und leistet damit einen sehr wertvollen Beitrag zum aktuellen
Stand der Forschung.
Neben dem Runtime Security Score wird als weiterer wichtiger Beitrag dieser
Arbeit ein ganzheitliches Konzept für eine Vulnerability Assessment and Manage-
ment (VAM) Lösung vorgeschlagen. Die effektive und funktionale Interoperabilität
aller relevanten Komponenten, die in diesem Konzept spezifiziert sind, wird mit
einer Proof of Concept Implementierung gezeigt.
133
134
Appendix B
Listing 1: XML Schema Design for the CVE List available for download[61]
<? xml version ="1.0" encoding =" UTF -8" ? >
< xsd : schema xmlns : xsd = " http :// www . w3 . org /2001/ XMLSchema "
xmlns = " http :// cve . mitre . org / cve / downloads /1.0 "
t ar ge tN a me sp ac e = " http :// cve . mitre . org / cve / downloads /1.0 "
e l e m e n t F o r m D e f a u l t = " qualified " a t t r i b u t e F o r m D e f a u l t = " unqualified "
,→ version = " 1.0 " >
<! - - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
<! - - Changelog :
1.0 - Initial version
-->
<! - - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
< xsd : annotation >
< xsd : documentation xml : lang = " en " > Simple schema that defines the
,→ format of the CVE List
provided by MITRE </ xsd : documentation >
</ xsd : annotation >
<! - - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
<! - - Start Item Element Definition -->
<! - - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
< xsd : element name = " cve " >
< xsd : annotation >
< xsd : documentation xml : lang = " en " > cve is the top level element
,→ of the CVE List provided
by MITRE . It represents holds all CVE Items . </ xsd :
,→ documentation >
</ xsd : annotation >
< xsd : complexType >
< xsd : sequence >
< xsd : element name = " item " type = " ItemType " minOccurs = " 1 "
,→ maxOccurs = " unbounded " / >
</ xsd : sequence >
< xsd : attribute name = " schemaVersion " type = " xsd : token " use = "
,→ optional " / >
</ xsd : complexType >
</ xsd : element >
<! - - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
<! - - Simple Types -->
<! - - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
<! - - CUSTOM TYPE DEFINITIONS -->
< xsd : simpleType name = " typeEnumType " >
< xsd : restriction base = " xsd : token " >
< xsd : enumeration value = " CAN " / >
< xsd : enumeration value = " CVE " / >
135
136
<! - - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
<! - - Complex Types -->
<! - - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
< xsd : complexType name = " ItemType " >
< xsd : sequence >
< xsd : element name = " status " type = " stat usEnumTy pe " minOccurs = " 1 "
,→ maxOccurs = " 1 " / >
< xsd : element name = " phase " type = " s p e c i f i c P h a s e T y p e " minOccurs = " 0 "
,→ maxOccurs = " 1 " / >
< xsd : element name = " desc " type = " xsd : string " minOccurs = " 1 "
,→ maxOccurs = " 1 " / >
< xsd : element name = " refs " type = " refsType " minOccurs = " 1 " maxOccurs
,→ = " 1 " / >
< xsd : element name = " votes " type = " votesType " minOccurs = " 0 "
,→ maxOccurs = " 1 " / >
< xsd : element name = " comments " type = " commentsType " minOccurs = " 0 "
,→ maxOccurs = " 1 " / >
</ xsd : sequence >
<! - - Need to Verify Enumeration -->
< xsd : attribute name = " type " type = " typeEnumType " use = " required " / >
< xsd : attribute name = " name " type = " xsd : token " use = " required " / >
< xsd : attribute name = " seq " type = " xsd : token " use = " required " / >
</ xsd : complexType >
Listing 2: An example for a minimal XML file for the SWID tag specification
described in Chapter 2.2, taken from [28]
<? xml version =~"1.0~" encoding =~" utf -8~" ? >
< SoftwareIdentity
xmlns =~" http :// standards . iso . org / iso /19770/ -2/2015/ schema . xsd ~"+
xmlns : xsi =~" http :// www . w3 . org /2001/ XMLSchema - instance ~"
xmlns : ds =~" http :// www . w3 . org /2000/09/ xmldsig #~"
xmlns : SHA256 =~" http :// www . w3 . org /2001/04/ xmlenc # sha256 ~"
xsi : s chemaLoc ation =~" http :// standards . iso . org / iso /19770/ -2/2015/
,→ schema . xsd ~"
name =~" ACME System Protection ~ "
tagId =~ " iso - sid - app - acme - endpoint - protection - v12 -1 - mp1 ~ "
version =~ " 12.1.1~ "
versionScheme =~ " m u l t ip a r t n u m e r i c ~ "
corpus =~ " true ~ " >
< Payload >
< File name =~ " EPV12 . cab ~ " size =~ " 1024000~ "
SHA256 : hash =~ "
,→ a 3 1 4 f c 2 d c 6 6 3 a e 7 a 6 b 6 b c 6 7 8 7 5 9 4 0 5 7 3 9 6 e 6 b 3 f 5 6 9 c d 5 0 f d 5 d d b 4 d 1 b b a f d 2 b 6 a ~ " / >
< File name =~ " installer . exe ~ " size =~ " 524012~ "
SHA256 : hash =~ " 54
,→ e 6 c 3 f 5 6 9 c d 5 0 f d 5 d d b 4 d 1 b b a f d 2 b 6 a c 4 1 2 8 c 2 d c 6 6 3 a e 7 a 6 b 6 b c 6 7 8 7 5 9 4 0 5 7 3 ~ " / >
</ Payload >
</ SoftwareIdentity >
139
140
Appendix D
141
142
list sboms {
key " version - info " ;
leaf version - info {
type string ;
description
" A version string that is applicable for this SBOM list entry .
The format of this string is left to the device manufacturer .
How the network administrator determines the version of
software running on the device is beyond the scope of this
memo . " ;
}
choice sbom - type {
case url {
leaf sbom - url {
type inet : uri ;
description
" A statically located URI . " ;
}
}
case local - uri {
leaf - list sbom - local {
type enumeration {
enum coap {
description
" Use COAP schema to retrieve SBOM " ;
}
enum coaps {
description
" Use COAPS schema to retrieve SBOM " ;
}
enum http {
description
" Use HTTP schema to retrieve SBOM " ;
}
enum https {
description
" Use HTTPS schema to retrieve SBOM " ;
}
}
description
" The choice of sbom - local means that the SBOM resides at
a location indicated by an indicted scheme for the
device in question , at well known location
/. well - known / sbom . For example , if the MUD file
indicates that coaps is to be used and the host is
located at address 10.1.2.3 , the SBOM could be retrieved
at coaps ://10.1.2.3/. well - known / sbom . N . B . , coap and
http schemes are NOT RECOMMENDED . " ;
} }
case contact - info {
leaf contact - uri {
type inet : uri ;
description
" This MUST be either a tel , http , https , or
mailto uri schema that customers can use to
contact someone for SBOM information . " ;
} }
description
" choices for SBOM retrieval . " ;
}
description
" list of methods to get an SBOM . " ;
143
}
}
augment " / mud : mud " {
description
" Add extension for SBOMs . " ;
uses mud - sbom - extension ;
} }