摘要
近几年物联网设备数量飞速增长,随着物联网的普及,物联网设备所面临的安全问题越来越多。与物联网设备相关的安全攻击事件中,危害最大的是利用设备漏洞获得设备最高权限,进而窃取用户敏感数据、传播恶意代码等。对物联网设备进行漏洞挖掘,及时发现物联网设备中存在的安全漏洞,是解决上述安全问题的重要方法之一。通过模糊测试可有效发现物联网设备中的安全漏洞,该方法通过向被测试目标发送大量非预期的输入,并监控其状态来发现潜在的漏洞。然而由于物联网设备动态执行信息难获取以及模糊测试固有的测试深度问题,使得当前流行的反馈式模糊测试技术在应用到物联网设备中面临困难。本文提出了一种基于物联网设备局部仿真的反馈式模糊测试技术。为了获取程序动态执行信息又保持一定的普适性,本文仅对于不直接与设备硬件交互的网络服务程序进行局部仿真和测试。该方法首先在物联网设备的固件代码中自动识别普遍存在并易存在漏洞的网络数据解析函数,针对以该类函数为入口的网络服务组件,生成高质量的组件级种子样本集合。然后对网络服务组件进行局部仿真,获取目标程序代码覆盖信息,实现反馈式模糊测试。针对6个厂商的9款物联网设备的实验表明,本文方法相比Firm AFL多支持4款物联网设备的测试,平均可以达到83.4%的函数识别精确率和90.1%的召回率,针对识别得到的364个目标函数对应的网络服务组件共触发294个程序异常并发现8个零日漏洞。实验结果证明了我们方法的有效性和实用性。
-
单位中国科学院; 中国科学院大学; 中国科学院信息工程研究所