研究原因和工具的优点

  • Firmadyne模拟覆盖率太低
  • 通过启发式可以解决一些模拟困难
  • 大大提高了模拟率的同时,也提高了工具发现漏洞的能力

研究背景

  • IoT设备大量使用
  • 许多IoT是接入网络的,这可能对入侵网络带来的新的途径
  • 固件模拟可以在不用获取真实设备的情况下,进行动态调试,并且扩大安全分析面

问题

  • 真实环境与虚拟环境差异性大
    1. 不同的IoT有不同的架构
    2. 固件依赖于特定的硬件配置

观察

通过使用Firmadyne模拟两个漏洞:1. CVE-2014-3936 2. CVE-2017-5521,发现只需要对设备配置做出细小的改变就能成功模拟

实验步骤

  1. 调研大量的Firmadyne模拟失败案例

  2. 分析出模拟失败主要分为以下5类:

    1. 启动相关
    2. 网络配置相关
    3. 非易失性RAM
    4. 内核相关
    5. 其他
  3. 提出解决方案:通过启发式+仲裁

  4. 验证:用已知的漏洞来验证模型的成功率,最后才确定是提高了成功率,并且工具还集成了Fuzz

关键手法

将启发式集成形成仲裁模拟

仲裁仿真背后的关键思想是,确保高级行为足以对内部程序执行动态分析(这相对容易做到),而不是查找和修复仿真失败的确切根本原因

仲裁的特点

  • 采用了干预