华南理工大学学报(自然科学版) ›› 2018, Vol. 46 ›› Issue (8): 81-87.doi: 10.3969/j.issn.1000-565X.2018.08.012
黄宁1,黄曙光1,梁智超2
HUANG Ning1 HUANG Shuguang1 LIANG Zhichao2
摘要: Unlink攻击是一种Linux平台下面向堆溢出漏洞的攻击方式。已有的缓冲区溢出漏洞攻击检测技术通过检查程序控制流状态,确定程序漏洞触发点,并生成测试用例。但由于堆溢出数据很少直接导致程序控制流劫持以及相关保护机制的限制,已有的检测技术很难判断程序是否满足堆溢出攻击条件。为了提高程序的安全性,实现对unlink攻击的检测,本文通过对已有unlink攻击实例的分析,总结了unlink攻击特征,建立了unlink攻击检测模型,并根据该模型提出了unlink攻击检测方法。该方法使用污点分析实现了对程序输入数据以及敏感操作的监控;使用选择性符号执行技术构建程序污点变量传播的路径约束以及触发unlink攻击的数据约束;通过对上述约束的求解,判断程序堆溢出漏洞是否满足unlink攻击触发条件,并生成测试用例。实验证明,该方法能有效地实现针对unlink攻击的检测。
中图分类号: