基于语义冲突的硬编码后门检测方法
Hard-coded backdoor detection method based on semantic conflict作者机构:数学工程与先进计算国家重点实验室河南郑州450001 郑州工业应用技术学院信息工程学院河南郑州451100
出 版 物:《网络与信息安全学报》 (Chinese Journal of Network and Information Security)
年 卷 期:2023年第9卷第1期
页 面:150-157页
学科分类:12[管理学] 1201[管理学-管理科学与工程(可授管理学、工学学位)] 08[工学] 081201[工学-计算机系统结构] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:科技委基础加强项目(2019-JCJQ-ZD-113)
摘 要:路由器安全问题主要聚焦于内存型漏洞的挖掘与利用,对后门的检测与发现的研究较少。硬编码后门是较常见的后门之一,设置简单方便,仅仅需要少量代码就能实现,然而却难以被发现,往往造成严重的危害和损失。硬编码后门的触发过程离不开字符串比较函数,因此硬编码后门的检测借助于字符串比较函数,主要分为静态分析方法和符号执行方法。前者自动化程度较高,但存在较高的误报率,检测效果不佳;后者准确率高,但无法自动化大规模检测固件,面临着路径爆炸甚至无法约束求解的问题。针对上述问题,在静态分析的基础上,结合污点分析的思想,提出了基于语义冲突的硬编码后门检测方法——Stect。Stect从常用的字符串比较函数出发,结合MIPS和ARM体系结构的特点,利用函数调用关系、控制流图和分支选择依赖的字符串,提取出具有相同起点和终点的路径集合,如果验证成功的路径集合中的字符串具有语义冲突,则判定路由器固件中存在硬编码后门。为了评估Stect对路由器硬编码后门的检测效果,对收集的1074个设备固件进行了测试,并与其他的后门检测方法进行了对比。实验结果表明,相比现有的后门检测方法Costin和Stringer,Stect具有更好的检测效果:从数据集中成功检测出8个固件后门口令,召回率达到88.89%。