Dissertation
Improving the resiliency of IoT systems
University of Iowa
Doctor of Philosophy (PhD), University of Iowa
Summer 2021
DOI: 10.17077/etd.006011
Abstract
Internet of Things (IoT), as a new emerging technology, has gained a foothold in many different domains such as smart home, health care, and industrial manufacturing for its customization capability to meet varying application domain needs. Such customization is mostly realized through programmable IoT platforms, where seamless automation tasks are performed using various IoT apps to increase the productivity of the systems. Prior work has shown that there are several vulnerabilities associated with the misbehavior in these IoT apps which expose such IoT platforms to a variety of security, privacy, and safety threats. In an attempt to identify/prevent such misbehavior, however, those solutions suggested so far still suffer from one or more of the following limitations: (a) requiring a significant amount of human intervention; (b) only designed for analyzing IoT apps in isolation and thus not suitable for mitigating misbehavior involving multiple apps in concert; (c) lacking more precise analysis (i.e., they tend to have higher false positives); (d) only addressing a limited number of misbehavior classes; and (e) using a restricted form of ground truth (representing the misbehavior) make them not expressive enough to capture the complexities of misbehaviors.In this study, we first propose two techniques, called EXPAT and PATRIoT, addressing those limitations in the prior solutions and demonstrate some empirical evaluation of our techniques indicating that they can effectively mitigate the misbehavior in the programmable IoT systems while incurring only a moderate overhead.
We then investigate a class of vulnerabilities in the implementations of a security mechanism
— RSA PKCS#1-v1.5 signature verification — that underlies many security guarantees in the loT systems. These vulnerabilities are variants of Bleichenbacher-style low public exponent RSA signature forgery, which occurs when a signature verification implementation leaves a significant area of the signature’s encoded message unchecked, while the signer’s public key uses a low public exponent. To detect such vulnerabilities, our proposed approach, called MORPHEUS, features a formally verified implementation of RSA PKCS#1-v1.5 signature verification, acting as the oracle to detect bugs in implementation under test. MORPHEUS works in a black box fashion and thus is a programming language agnostic framework to target various implementations. We have used MORPHEUS to test against 45 PKCS#1-v1.5 signature verification implementations and dis- covered 6 implementations are susceptible to the variants of the Bleichenbacher-style low public exponent RSA signature forgery, 1 implementation with buffer overflow attack, 33 implementations with incompatibility issue, and 8 implementations with minor leniencies. All our findings have been responsibly disclosed to the affected vendors and 12 new CVEs have been assigned to the immediately exploitable ones.
Details
- Title: Subtitle
- Improving the resiliency of IoT systems
- Creators
- Moosa Yahyazadeh
- Contributors
- Omar Chowdhury (Advisor)Alberto Maria Segre (Committee Member)Kasturi R Varadarajan (Committee Member)Octav Chipara (Committee Member)Rishab Nithyanand (Committee Member)
- Resource Type
- Dissertation
- Degree Awarded
- Doctor of Philosophy (PhD), University of Iowa
- Degree in
- Computer Science
- Date degree season
- Summer 2021
- DOI
- 10.17077/etd.006011
- Publisher
- University of Iowa
- Number of pages
- xii, 186 pages
- Copyright
- Copyright 2021 Moosa Yahyazadeh
- Language
- English
- Description illustrations
- illustrations (some color)
- Description bibliographic
- Includes bibliographical references (pages 122-134)
- Public Abstract (ETD)
This dissertation seeks to use formal methods, as mathematical approaches, to address security threats in an IoT system, which is a collection of smart devices connected to the Internet. Based on those approaches, we propose two defensive mechanisms to prevent bad behaviors leading to a security breach in an IoT system. We have also presented another technique to reveal bugs in some fundamental software — responsible to provide some security services for IoT – that can cause a breach into the IoT systems. We have responsibly disclosed our findings with the affected vendors and collaborated in providing and evaluating the countermeasures.
- Academic Unit
- Computer Science
- Record Identifier
- 9984124471702771
Metrics
13 File views/ downloads
73 Record Views