期刊:IEEE Access

作者:TINGYU SONG , XIAOHONG LI , ZHIYONG FENG , GUANGQUAN XU

1.框架

框架

2.方法

方法概述:
概述

2.1 提取消毒

对比补丁文件,找出改变的代码,将条件语句作为作为消毒。

diff文件

2.2 提取槽

目的:用变化集合计算影响集合。如果语句依赖于条件语句进行控制,则应在受影响的集合中添加这些语句。

al1

影响图

我们需要借助现有的source-sink lists提取sinks。 对于影响集中包含的每个元素,我们通过查询现有的source-sink lists来确定元素是否为sink。 如果在source-sink lists中找到该元素,则该元素为sink。

2.3 提取源

对于油漆式的漏洞,从source到sink的路径是可以到达的。 因此,可以通过计算从汇到源的数据流可达性来确定源。

从sink开始,我们在程序依赖图上反向遍历。 如果节点Vn可以通过消毒节点Vsan从槽节点Vsink到达,并包含在源-槽列表中,则此节点Vn被视为源节点。

al2

2.4 聚类和生成搜索模式

使用完全链接聚类方法分别对每个槽的消毒和源进行聚类。借鉴使用了自动推断污染类型漏洞的搜索模式的聚类方法。

论文原文

使用安全补丁推断污染型漏洞.pdf

感谢观看,如有不足或错误,恳请大佬指正 (^_^)#