TL;DR
IoTSan is a practical system that uses model checking to identify interaction-level flaws in IoT systems, helping detect unsafe states caused by buggy apps or device failures, and attributes malicious apps.
Contribution
The paper introduces IoTSan, a novel model checking-based system tailored for IoT, with techniques to reduce state explosion and an attribution mechanism for root cause analysis.
Findings
Detected 147 vulnerabilities in 76 systems
Successfully identified malicious apps causing safety violations
Effectively attributes unsafe states to specific apps
Abstract
Today's IoT systems include event-driven smart applications (apps) that interact with sensors and actuators. A problem specific to IoT systems is that buggy apps, unforeseen bad app interactions, or device/communication failures, can cause unsafe and dangerous physical states. Detecting flaws that lead to such states, requires a holistic view of installed apps, component devices, their configurations, and more importantly, how they interact. In this paper, we design IoTSan, a novel practical system that uses model checking as a building block to reveal "interaction-level" flaws by identifying events that can lead the system to unsafe states. In building IoTSan, we design novel techniques tailored to IoT systems, to alleviate the state explosion associated with model checking. IoTSan also automatically translates IoT apps into a format amenable to model checking. Finally, to understand…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
