摘要
一种基于模拟和策略选择的MCU固件灰盒模糊测试方法和装置,其方法包括以下步骤:1)将MCU固件二进制文件加载至Unicorn模拟器,并从固件入口点开始运行;2)拦截固件运行时产生的所有MMIO访问,并判断是否存在对应MMIO访问模型;3)节能模糊器选择产生新路径概率最大的变异策略对种子进行变异,并输入到模拟器中;4)模拟器获取变异种子,根据访问模型选择对种子的处理方式,从而生成固件所需的外设输入,使得模拟运行恢复;5)记录并反馈变异种子的执行情况至探索‑利用模型,同时决定变异种子是否被丢弃或加入种子样本集;6)探索‑利用模型根据种子运行结果的反馈信息计算出不同变异方式的概率,供步骤3)进行策略选择。本发明将MCU固件外设建模与节能模糊器相结合,使用输入开销判断和突变选择策略对全模拟固件进行漏洞挖掘。通过模拟器的输入开销判断和模糊器的探索‑利用模型降低了外设建模的输入开销,减少了多余种子的生成,并保证了模糊测试的代码覆盖率。
技术关键词
模糊测试方法
固件
模拟器
种子
灰盒模糊测试
变异策略
动态符号执行
代码覆盖率
程序计数器
内存
决策
数据
处理器
样本
算法
入口
可读存储介质
PC机
系统为您推荐了相关专利信息
量子随机数生成器
动态密钥
接收端
动态加密密钥
数据重传机制
测试设备
神经网络处理器
模拟器
图形处理器
设备测试装置
红外仿真
三维温度场
五轴仿真转台
飞行器
相机成像模型