摘要
移动通信设备中的基带固件运行于独立的计算环境,其漏洞既可危及设备安全,又无法通过设备主操作系统的安全机制进行防护,因此其安全性备受攻防研究者的关注。实验中发现,得到的基带固件由于函数重写、调试信息剥离等原因,现有对比工具难以准确识别其危险函数,进而无法进行后续的漏洞发掘工作。本文提出一种基于动态执行的函数安全性分析方法DEx。根据预处理过程得到的基带固件的函数信息和段内容,在交叉编译和虚拟机环境下对基带固件函数实现动态执行。基于运行过程中产生的语义特征,设计优先级排序以对函数的安全性进行分析,识别得到内存拷贝函数。基于DEx方法构造了dyndiff工具,与基于二进制代码相似性方法的主流工具BinDiff对比,dyndiff的危险函数识别率是BinDiff的5.5倍。最后,阐述了本文工作在后续漏洞挖掘工作中的应用。
- 单位