Abstract
背景: IoT设备普遍,在IoT上找bug必要;但是fireware复杂而且不标准,因此往往只能用黑盒,但黑盒产生的输入往往无效;使用companion app是一种方法,但是往往只能够产生app-side validation code相关的fuzzing input,这限制了测试能力
本文: 设计DIANE
前提: companion apps中存在一些可以用来辅助生成fuzzing inputs的函数,本文称其为fuzzing triggers。程序逻辑一般是按照输入验证,triggers,数据转换这样的顺序执行的,因此,利用这些triggers能生成不被app-side sanitization code限制,同时也能通过一部分输入检查的输入。
目的:利用companion app来生成输入,但是不被app-side validation code限制
方法:1. 利用静态+动态方法找到fuzzing triggers 2. 利用fuzzing triggers生成输入对IoT设备做检测
实验:
对象: 11 popular IoT devices
效果:
- 找到11 bugs(9个0-day漏洞)
- 证明了某些bugs只有通过triggers才能构建输入并触发