【技术实现步骤摘要】
一种基于两阶段类比推理的未知敏感函数发现方法
[0001]本专利技术属于网络安全
,具体涉及一种基于两阶段类比推理的未知敏感函数发现方法。
技术介绍
[0002]敏感函数是一类容易导致各种潜在缺陷的函数。敏感函数往往配对出现,例如对于free函数这样的资源释放类函数,有着malloc函数这样的资源分配函数与之配对。当开发者不恰当的使用这些函数时,有可能引发诸如敏感信息泄露,数据损坏,甚至是执行任意代码等危险后果。不幸的是,有大量的敏感函数在大型软件系统中并不为人们所熟知,事实上这些敏感函数往往只被部分程序开发者所知。而相关缺陷检测、系统安全防护等工作必须知晓这些敏感函数才能有效地进行。因此发现这些敏感函数对于相关工作至关重要。
[0003]在自然语言处理领域,词嵌入技术能将一个高维的独热向量嵌入到一个在实数域上连续的低维稠密向量中,从而较好地支持语义搜索和情感分析等下游任务。除了可以直接比较相似度外,嵌入后的词向量还有一个重要的特征,依据向量间的相似度能支持类比推理(Analogical Reasoning), ...
【技术保护点】
【技术特征摘要】
1.一种基于两阶段类比推理的未知敏感函数发现方法,其特征在于,包括:对待检测的目标系统代码进行预处理,得到函数调用序列;根据所述函数调用序列,通过频繁模式挖掘,得到若干频繁函数对;利用所述函数调用序列训练得到的词向量模型,得到每个所述频繁函数对对应的嵌入向量;计算初始种子函数与每个所述频繁函数对之间的第一相似度,根据计算结果选取至少一个所述频繁函数对作为二次种子函数对;计算每个所述二次种子函数对与每个所述频繁函数对之间的第二相似度,根据计算结果得到每个所述二次种子函数对的潜在敏感函数对候选集;根据所述潜在敏感函数对候选集,合并去重后得到潜在敏感函数对集合。2.根据权利要求1所述的基于两阶段类比推理的未知敏感函数发现方法,其特征在于,对待检测的目标系统代码进行预处理,得到函数调用序列,包括:对所述待检测的目标系统代码进行程序切片操作,得到若干切片;遍历所述切片,收集函数调用,组成所述函数调用序列。3.根据权利要求1所述的基于两阶段类比推理的未知敏感函数发现方法,其特征在于,根据所述函数调用序列,得到若干频繁函数对,包括:利用Apriori或FP
‑
Growth频繁模式挖掘算法从所述函数调用序列中,挖掘出频繁同时出现的函数对,得到若干所述频繁函数对。4.根据权利要求1所述的基于两阶段类比推理的未知敏感函数发现方法,其特征在于,所述词向量模型通过以所述函数调用序列为训练集,采用FastText、Word2Vec或Bert算法训练得到。5.根据权利要求1所述的基于两阶段类比推理的未知敏感函数发现方法,其特征在于,计算初始种子函数与每个所述频繁函数对之间的第一相似度,根据计算结果选取至少一个所述频繁函数对作为二次种子函数对,包括:采用3CosAvg算法计算所述初始种子函数与每个所述频繁函数对之间的相似度,计算公式如下:sim1(avg_offset,(c1,c2))=max(cos(v
c1
,v
c2
+v
avg_offset
),cos(v
c2
,v
c1
+v
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。