< Back to previous page

Publication

Software-based Trusted Computing Architecture for Resource-constrained Internet of Things Devices

Book - Dissertation

The past years have witnessed a proliferation of a wide variety of small-integrated special-purpose computing platforms, so-called embedded or Internet of Things (IoT) devices, that are connected to the Internet to send and receive data. The number of such devices is increasing dramatically in all application domains. They are, for instance, massively integrated in medical instruments, vehicles, planes, industrial control systems, military equipment, personal apparatuses, and home appliances. In many of these applications, such devices handle privacy-sensitive information and perform safety-critical tasks that might threaten people's lives. Thus, it is not surprising that IoT devices have become attractive targets for real-world cyber-attacks, highlighting the need for effective security measures that take into account their resource constraints. For this purpose, several trusted computing architectures have been proposed by both academia and industry. However, all of these architectures, despite their strong security guarantees, require some kind of hardware support or modification that would significantly increase the cost if applied on low-end embedded devices, limiting their applicability to only mid-range and high-end IoT platforms. Low-end IoT devices are characterized by their low cost, small size, low power consumption, and highly constrained hardware, lacking even basic memory protection units.In this thesis, we tackle the challenge of realizing guaranteed security features on the low-end range of IoT devices while requiring no hardware support or modification. In particular, we follow the bottom-up approach to build a pure-software trusted computing architecture that is highly optimized for the purpose of performance and minimized energy consumption. First, we address the issue of software isolation, a security primitive that is required to bootstrap trust in any system. We achieve so using selective software virtualization and assembly-level code verification that is done using a minimal trusted code that is initially deployed on the target device to act as a hypervisor, creating two protected and unprotected memory zones with different access rules. Second, we leverage the software isolation primitive to deploy a set of software-based security services in the protected memory area to help in detecting compromised software and recovering malware-infected devices. Particularly, we design and implement remote attestation, secure verifiable erasure, and secure code update and recovery services. Remote attestation is a security service that helps in verifying the software integrity and detecting compromised devices. We guarantee the reliability of the entire trusted computing architecture by formally verifying certain memory safety and freedom from crashes properties. Finally, given that current application scenarios envision systems consisting of a large number of IoT devices, we show that our trusted computing architecture is scalable by developing on top of it an efficient lightweight swarm attestation scheme, as an exemplar security service, to detect compromised devices at a large scale, targeting the IoT devices that are enriched by the proposed trust anchor. In reality, cyber-physical systems are heterogeneous, consisting of different embedded devices with various hardware and software capabilities, where each device performs a specific task as a part of the main objective of the entire system. We, therefore, further proceed by proposing two different swarm attestation schemes for static and dynamic heterogeneous IoT networks that might contain IoT devices accommodating different trusted computing architectures, including ours. In the first scheme, we consider scenarios where IoT devices are physically reachable, and thus the adversary is able to mount both remote and physical attacks. In the latter, we seriously study the high-performance overhead and safety issues that are caused in critical systems consisting of variant devices in terms of speed and computation capabilities, highlighting the main drawback of the one-size-fits-all approach followed by all existing swarm attestation schemes. As a result, we propose an intelligent swarm attestation approach based on machine learning techniques to efficiently handle the heterogeneity issue. In nutshell, both of the proposed attestation schemes are lightweight, robust, suitable for all classes of IoT devices, and scalable to networks consisting of thousands of embedded devices.In summary, this thesis contributes to enhancing the security of resource-constrained IoT devices by proposing the first and only full-fledged trusted computing architecture in pure software, taking into account the efficiency and performance of both the target class of devices and the possibly heterogeneous networks in which they operate.
Publication year:2021
Accessibility:Closed