I. Introduction
The Internet of Things (IoT) connects resource-limited devices and applications that interact with the physical world to aid in automation of routine human activity. Previous research has demonstrated that the IoT is vulnerable to various software-based cyber attacks that can compromise the privacy of users and the integrity of critical services [1] [2] [3]. In this context, resource-limited IoT systems are especially vulnerable to attackers who exploit vulnerable software to inject malicious code or otherwise change the behavior of the IoT devices to their benefit [4] [5].