🤖 AI Summary
This work addresses the lack of effective security verification mechanisms for IoT devices in smart spaces, which undermines the assurance of security properties under multi-routine coordination. To tackle this challenge, the paper proposes Knox, a novel system that introduces the first formal security specification language tailored for smart spaces and designs an interpretable, efficient static verification algorithm. By integrating combinatorial optimization with runtime acceleration techniques, Knox effectively mitigates the computational hardness of the underlying NP-hard problem. Experimental evaluation on real-world datasets demonstrates that Knox substantially reduces security verification time while maintaining high accuracy, successfully detecting a wide range of security violations.
📝 Abstract
Internet of Things (IoT) devices in smart spaces and buildings are an emerging class of distributed systems with critical safety requirements. This paper presents Knox, the first system to enable safety checking in IoT-enabled smart spaces. Knox's contributions include (i) safety specifications: a new language for safety clauses in such smart spaces, and (ii) static safety checking: two new algorithms for static verification of multiple safety properties across multiple routines running inside a smart space. Since the latter problem is NP-hard, we present and analyze novel and explainable algorithms for the static version of the problem. We also present optimizations that further reduce runtime. Our analysis and experimental results with real datasets show that Knox reduces checking time significantly compared to baselines, while providing high accuracy in catching safety violations.