Integrity Issues for IoT: From Experiment to Classification
Introducing Integrity Probes
Pascal Urien
Telecom ParisTech, 23 Avenue d’Italie, Paris, France
Keywords: Security, Trust, Internet of Things, Software Update.
Abstract: This paper presents a tentative classification of IoT devices. The goal is to provide a qualitative estimation of
risks induced by device hardware and software resources involved in firmware update operations. We present
technical features available in existing devices, and comment associated threats. From this analysis we extract
five basic security attributes: one time programmable memory, firmware downloader, secure firmware
downloader, tamper resistant hardware, and diversified keys. From these parameters we deduce and comment
six security classes. We describe an innovative integrity probe working with commercial programmers, of
which goal is to verify a bootloader integrity.
1 INTRODUCTION
According to a report (SIA and SRC, 2015) from the
Semiconductor Industry Association (SIA) and the
Semiconductor Research Corporation (SRC), the
Internet of Things (IoT) could involve trillions of
devices by 2030. In this context "security and privacy
are two of the biggest challenges for future systems".
The paper (Ronen and Shamir, 2016) introduces "a
new taxonomy of attacks on IoT devices, which is
based on how the attacker deviates feature from their
official functionality". It defines four types of
attacking behavior, 1) Ignoring the functionality, 2)
Reducing the functionality, 3) Misusing the
functionality, 4) Extending the functionality. This
raises a critical issue about the trust level needed by
IoT devices, and how to get some integrity insurance
for embedded firmware. We propose a classification
model based on three software properties (bootloader,
secure bootloader, and diversified keys) and two
physical characteristics: OTP (One Time
Programmable) memory, and tamper resistance. This
approach results from experiments or analysis
performed on multiple processors. We also introduce
the integrity probe (ITP) concept, a firmware
downloaded thanks to bootloader, of which goal is to
verify the bootloader integrity.
The paper is constructed according to the
following outline. Section 2 presents IoT architecture
in our context; it introduces device programming
protocols, bootloader, device firmware upgrade,
secure bootloader and tamper resistant requirements.
Section 3 comments some processors used in IoT
systems and they update mechanisms; it details
FLASH controller, Bluetooth SoC, Wi-Fi SoC, and
AVR processors. Section 4 describes our security
classification proposal dealing with six classes, based
on five security attributes OTP, firmware loader,
secure firmware loader, tamper resistant hardware,
and diversified keys. Section 5 introduces integrity
probes tested with commercial SPI programmer
tokens. Finally section 6 concludes this paper.
2 IoT DEVICE ARCHITECTURE
This section attempts to define the hardware structure
of IoT devices addressed by this paper.
Figure 1: IoT device architecture.
An object is built (see figure 1) around a micro-
controller (that we call Main Processor, MP)
including RAM memory 1-10KB), non volatile
memory (such as FLASH 10-100KB), and optional
ROM (10-100KB). An optional second processor
(Communication Processor, CP) provides
communication resources (Wi-Fi, Bluetooth),
344
Urien, P.
Integrity Issues for IoT: From Experiment to Classification Introducing Integrity Probes.
DOI: 10.5220/0007746903440350
In Proceedings of the 4th International Conference on Internet of Things, Big Data and Security (IoTBDS 2019), pages 344-350
ISBN: 978-989-758-369-8
Copyright
c
2019 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved