[发明专利]一种基于编程模式和模式匹配的漏洞聚类方法在审

专利信息
申请号: 201610053379.1 申请日: 2016-01-26
公开(公告)号: CN105718801A 公开(公告)日: 2016-06-29
发明(设计)人: 李京春;张小松;梁利;许云清;王少杰;朱迦南;万仁忠;李霞;胡剑青;陈琳;刘楠 申请(专利权)人: 国家信息技术安全研究中心
主分类号: G06F21/56 分类号: G06F21/56
代理公司: 北京市商泰律师事务所 11255 代理人: 毛燕生
地址: 100084 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 编程 模式 匹配 漏洞 方法
【权利要求书】:

1.一种基于编程模式和模式匹配的漏洞聚类方法,其特征在于能够将程序内所有函数进行统一分析,根据每个函数中出现的不同的关键词、API符号,将每个函数映射到向量空间,并利用矩阵分析方法提取出这些函数中占据主导地位的编程模式,以及每个函数最倾向的编程模式;通过计算欧几里得距离,将编程模式相近的函数发现并聚类为一类,并藉此发现潜在的、和已知漏洞相似的漏洞。

2.根据权利要求1所述的一种基于编程模式和模式匹配的漏洞聚类方法,其特征在于包括以下步骤:

步骤1.编程模式提取;对于一个包含了Cf个函数的程序源代码,进行如下步骤的操作:

步骤1-1:统计出现的关键词数量Cn,包括:保留字、函数名、变量名;

步骤1-2:为每个函数创建一个维度为Cn的列向量Mi(i=1,2,…Cf)并一一赋值,然后将创建的Cf个列向量合并为一个Cn*Cf的矩阵M;其中,列向量Vi的每个分量对应于一个程序的关键词;对于一个函数,若它包含了某个关键词,则向量中对应该关键词的分量的值为1;若不包含该关键词,则该值为0;

步骤1-3:根据Cf和Cn,选取合适的数值D;D代表了之后步骤从源代码中提取出的模式种类的数量的最大值;

步骤1-4:对矩阵M进行截断奇异值分解,并取前D个特征,分解之后得到矩阵U,矩阵S,矩阵V;其中:矩阵U为Cn*D阶矩阵,矩阵S为D*D阶矩阵,矩阵V为Cf*D阶矩阵;矩阵U的每一列反映了D种主要的编程模式,显示出该模式里某个关键字的使用频率;矩阵S的对角线上的每个奇异值反映了矩阵U中每个编程模式的重要程度;矩阵V的每一行反映了函数对D种编程模式的“倾向”;

矩阵V的每一行即代表该函数的模式块;

步骤2.模式匹配聚类;对于步骤1中提取出的Cf个函数的模式块,和已知存在漏洞的函数F,进行如下步骤的操作:

步骤2-1:以步骤1中的模式块中选取F所对应的模式块为基准,计算其余函数模式块(Fi[a1,a2…aD])与函数F模式块(F[b1,b2...bD])的欧几里得距离;

步骤2-2:基于步骤2-1得到的结果,从海量函数中筛选出有可能与漏洞函数同类的函数,将具有较近距离即较高相似度的函数聚类为一类,并作为进一步审阅的参考。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家信息技术安全研究中心,未经国家信息技术安全研究中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610053379.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top