TAPFixer: Automatic Detection and Repair of Home Automation Vulnerabilities based on Negated-property Reasoning
Yinbo Yu, Yuanqi Xu, Kepu Huang, Jiajia Liu

TL;DR
TAPFixer is an automated framework that detects and repairs vulnerabilities in home automation rules caused by unsafe interactions, using negated-property reasoning and model checking to improve safety.
Contribution
It introduces a novel negated-property reasoning algorithm for automatically repairing home automation rule vulnerabilities, enhancing safety in user-friendly systems.
Findings
Achieves 86.65% success rate in repairing vulnerabilities
Effectively detects rule interaction vulnerabilities in real-world apps
User study confirms practical usefulness of TAPFixer
Abstract
Trigger-Action Programming (TAP) is a popular end-user programming framework in the home automation (HA) system, which eases users to customize home automation and control devices as expected. However, its simplified syntax also introduces new safety threats to HA systems through vulnerable rule interactions. Accurately fixing these vulnerabilities by logically and physically eliminating their root causes is essential before rules are deployed. However, it has not been well studied. In this paper, we present TAPFixer, a novel framework to automatically detect and repair rule interaction vulnerabilities in HA systems. It extracts TAP rules from HA profiles, translates them into an automaton model with physical and latency features, and performs model checking with various correctness properties. It then uses a novel negated-property reasoning algorithm to automatically infer a patch via…
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.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Security and Verification in Computing · Adversarial Robustness in Machine Learning
