-
题名目标导向的多线程程序UAF漏洞预测方法
- 1
-
-
作者
鲁法明
唐梦凡
包云霞
曾庆田
李彦成
-
机构
山东科技大学计算机科学与工程学院
山东科技大学数学与系统科学学院
百度在线网络技术(北京)有限公司
-
出处
《软件学报》
EI
CSCD
北大核心
2023年第7期3043-3063,共21页
-
基金
国家自然科学基金(61602279)
山东省泰山学者工程专项基金(ts20190936)
+2 种基金
山东省高等学校青创科技支持计划(2019KJN024)
山东省自然科学基金智慧计算联合基金(ZR2021LZH004)
青岛市西海岸新区2022年“揭榜挂帅”技术攻关项目。
-
文摘
Use-after-free(UAF)漏洞是多线程程序的常见并发缺陷.预测性UAF漏洞检测方法因兼顾误报率和漏报率而备受关注.然而,已有的预测性UAF检测方法未结合待检测目标作针对性优化,当程序规模大或行为复杂时会导致检测效率低下.为了解决上述问题,提出一种目标导向的多线程程序UAF漏洞检测方法.首先,由程序运行轨迹挖掘程序的Petri网模型;之后,针对每一个潜在可构成UAF漏洞的内存Free/Use操作对,以触发该漏洞为目标导向,在程序的Petri网模型中添加保持操作间因果约束和数据一致性的行为控制结构;在此基础上,设计了一种基于Petri网反向展开的UAF漏洞检测方法.该方法每次只针对1个潜在的UAF漏洞,有针对性地验证其真实性,从而保证检测的效率.与此同时,为了减少待检测的潜在UAF漏洞数量,提出了一种新型向量时钟进行Free操作与Use操作间的因果关系自动识别,据此对潜在的UAF漏洞进行筛选.结合多个程序实例对所提方法进行了实验评估.实验结果表明,所提方法在检测的效率和准确性方面较主流方法有所提高.
-
关键词
软件验证
并发漏洞
PETRI网
UAF漏洞
反向展开
-
Keywords
software verification
concurrency vulnerability
Petri net
UAF vulnerability
reverse unfolding
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-