TAPInspector: Safety and Liveness Verification of Concurrent Trigger-Action IoT Systems
Abstract
Trigger-action programming (TAP) is a popular end-user programming framework that can simplify the Internet of Things (IoT) automation with simple trigger-action rules. However, it also introduces new security and safety threats. A lot of advanced techniques have been proposed to address this problem. Rigorously reasoning about the security of a TAP-based IoT system requires a well-defined model and verification method both against rule semantics and physical-world features, e.g., concurrency, rule latency, extended action, tardy attributes, and connection-based rule interactions, which has been missing until now. By analyzing these features, we find 9 new types of rule interaction vulnerabilities and validate them on two commercial IoT platforms. We then present TAPInspector, a novel system to detect these interaction vulnerabilities in concurrent TAP-based IoT systems. It automatically extracts TAP rules from IoT apps, translates them into a hybrid model by model slicing and state compression, and performs semantic analysis and model checking with various safety and liveness properties. Our experiments corroborate that TAPInspector is practical: it identifies 533 violations related to rule interaction from 1108 real-world market IoT apps and is at least 60000 times faster than the baseline without optimization.
- Publication:
-
arXiv e-prints
- Pub Date:
- February 2021
- DOI:
- 10.48550/arXiv.2102.01468
- arXiv:
- arXiv:2102.01468
- Bibcode:
- 2021arXiv210201468Y
- Keywords:
-
- Computer Science - Cryptography and Security;
- Computer Science - Human-Computer Interaction;
- Computer Science - Networking and Internet Architecture;
- Computer Science - Software Engineering;
- D.2.4;
- F.3.1;
- C.2.0
- E-Print:
- IEEE Transactions on Information Forensics and Security 2022