IoT repackaging refers to an attack devoted to tampering with a legitimate firmware package by modifying its content (e.g., injecting some malicious code) and re-distributing it in the wild. In such a scenario, the firmware delivery and update processes play a central role in ensuring firmware integrity. Unfortunately, several existing solutions lack proper integrity verification, exposing firmware to repackaging attacks. If this is not the case, they still require an external trust anchor (e.g., signing keys or secure storage technologies), which could limit their adoption in resource-constrained environments. In addition, state-of-the-art frameworks do not cope with the entire firmware production and delivery process, thereby failing to protect the content generated by the firmware producers through the whole supply chain. To mitigate such a problem, in this paper, we introduce PARIOT, a novel self-protecting scheme for IoT that allows the injection of integrity checks, called anti-tampering (AT) controls, directly into the firmware. The AT controls enable the runtime detection of repackaging attempts without needing external trust anchors or computationally expensive systems. PARIOT can be adopted on top of existing state-of-the-art solutions ensuring the widest compatibility with current IoT ecosystems and update frameworks. Also, we have implemented this scheme into PARIOTIC, a prototype to automatically protect C/C++ IoT firmware. The evaluation phase of 50 real-world firmware samples demonstrated the feasibility of the proposed methodology and its robustness against practical repackaging attacks without altering the firmware behavior or severe overheads.
翻译:IMT 重新包装是指专门用来修改其内容(例如,输入一些恶意代码)和在野外重新散布其内容,从而篡改一个合法的固态软件包的攻击。在这种情况下,固态软件的交付和更新过程在确保固态软件完整性方面发挥着核心作用。不幸的是,一些现有的解决方案缺乏适当的完整性核查,暴露了重新包装袭击的固态软件。如果不是这种情况,它们仍然需要外部信任定位(例如,签署钥匙或安全存储技术),这可能会限制其在资源限制环境中的采用。此外,最先进的框架无法应对整个固态软件的生产和交付过程,从而无法在整个供应链中保护固态软件制作者生成的内容。为了缓解这样一个问题,我们在本文件中引入了一种全新的IOT自我保护计划,允许对完整性进行检查,将防腐蚀(AT)控制直接纳入固态软件。 AT AT AT 控制可以使重新包装尝试的运行时间得到检测,而无需外部信任的固态软件锚值或对当前高压系统进行升级。 PROT PROT 也能够对当前系统进行实时检查,我们不需要外部的直态的直态系统进行彻底的固化的硬态安全定位或对正态系统进行更新。