发明名称 一种软件漏洞特征操作序列的提取方法
摘要 本发明涉及一种软件漏洞特征操作序列的提取方法,特别涉及一种基于闭合序列模式挖掘的软件漏洞特征操作序列的提取方法,属于信息安全技术领域。本发明利用函数调用关系分析技术,对软件漏洞程序进行处理,将软件漏洞程序抽象为软件漏洞程序操作序列的数据形式,然后采用加权闭合序列模式挖掘算法挖掘加权的闭合序列,提高了软件漏洞特征操作序列的提取效率。
申请公布号 CN101727391A 申请公布日期 2010.06.09
申请号 CN200910241892.3 申请日期 2009.12.14
申请人 北京理工大学 发明人 胡昌振;任家东;王崑声;武群惠;杨东旭
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 付雷杰
主权项 1.一种软件漏洞特征操作序列的提取方法,其特征在于:具体操作步骤如下:步骤一、收集已有的软件漏洞程序;步骤二、对步骤一收集的软件漏洞程序进行预处理,过滤掉软件漏洞程序中与软件漏洞分析无关的函数块和语句;步骤三、从步骤二预处理过的软件漏洞程序中得到软件漏洞程序操作序列;步骤四、对步骤三得到的软件漏洞程序操作序列采用加权闭合序列模式挖掘算法WCSMining进行挖掘,得到软件漏洞特征操作序列集合;其具体操作步骤如下:第1步:设置最小支持度阈值的初始值min_sup,并设置用于存储挖掘结果的加权闭合序列树WClosedTree为空;第2步:扫描软件漏洞程序操作序列数据库SDB一次,通过软件漏洞程序操作序列出现的频率和定义的权值度量方法,计算所有项的权值;第3步:得到软件漏洞程序操作序列数据库SDB基于最小支持度阈值min_sup长度为1的所有频繁序列1-sequence,并且记录它们的位置数据,把这些长度为1的频繁序列1-sequence加入到加权闭合序列树WClosedTree中,即创建加权闭合序列树结点;第4步:对于长度为1的每一个频繁序列,将它与所有的长度为1的频繁序列1-sequence相连接,生成长度为2的频繁序列2-sequence和相应的位置数据,执行闭集检查,把这些长度为2的频繁序列2-sequence加入到WClosedTree中,即创建加权闭合序列树结点;第5步:设置两个新的集合P和P<sub>1</sub>为空集;第6步:通过加权闭合序列树WClosedTree对长度为2的每一个频繁序列s<sub>1</sub>检查逆向超模式和相同位置数据;第7步:如果它们符合逆向超模式或有相同的位置数据,更新加权闭合序列树WClosedTree中相应的连接和结点信息,即如果长度为2的频繁序列2-sequence中某一序列<maths num="0001"><![CDATA[<math><mrow><msub><mi>s</mi><mn>1</mn></msub><mo>&Superset;</mo><mi>s</mi></mrow></math>]]></maths>并且s<sub>1</sub>_sup=s_sup,则将该长度为1的频繁序列s的结点的支持数s_sup记为0;否则把s<sub>1</sub>加入到一个新的集合P中以备扩展;第8步:如果步骤7操作以后,集合P为空,结束操作;否则对于集合P中的每个序列s<sub>1</sub>执行第9步到14步;第9步:用长度为2的频繁序列和它们的位置数据将序列s<sub>1</sub>进行扩展,并且得到比序列s<sub>1</sub>长1的新序列s<sub>2</sub>,用j表示新序列s<sub>2</sub>的长度,并计算该新序列s<sub>2</sub>的位置数据;第10步:判断每一个长度为j的序列s<sub>2</sub>是否为频繁序列;第11步:如果当前长度为j的序列s<sub>2</sub>是频繁序列,创建加权闭合序列树结点Cnode,把长度为j的频繁序列加入到加权闭合序列树WClosedTree中;否则,丢弃该长度为j的序列s<sub>2</sub>;第12步:通过加权闭合序列树对长度为j的序列s<sub>2</sub>检查其是否符合逆向超模式或有相同的位置数据;第13步:如果长度为j的序列s<sub>2</sub>满足第12步中两种情况中的任一情况,更新WClosedTree中相应的连接和结点信息,即如果长度为j的频繁序列中某一序列<maths num="0002"><![CDATA[<math><mrow><msub><mi>s</mi><mn>2</mn></msub><mo>&Superset;</mo><mi>s</mi></mrow></math>]]></maths>并且s<sub>2</sub>_sup=s_sup,将长度小于j的频繁序列s的节点的支持数记为0;第14步:把s<sub>2</sub>加入到集合P<sub>1</sub>中,置P=P<sub>1</sub>,<img file="F2009102418923C00022.GIF" wi="152" he="47" />
地址 100081 北京市海淀区中关村南大街5号