发明名称 一种基于序列模式挖掘的软件安全漏洞检测方法
摘要 本发明提出一种基于序列模式挖掘的软件安全漏洞检测方法。首先利用已检测到的、大量的软件安全漏洞相关操作序列数据,创建安全漏洞相关操作序列数据库,然后利用数据挖掘技术中的闭序列模式挖掘算法挖掘频繁发生的漏洞相关操作序,将挖掘到的频繁发生的漏洞相关操作序列用来检测当前软件系统的安全漏洞,从而降低漏洞检测漏报率,提高安全漏洞检测效率。随着漏洞数据的积累,本发明的安全漏洞检测效率高的优点会更加突出。
申请公布号 CN101710378A 申请公布日期 2010.05.19
申请号 CN200910235658.X 申请日期 2009.10.10
申请人 北京理工大学;燕山大学;中国航天科技集团公司第七一○研究所 发明人 胡昌振;任家东;王崑声;马瑞青;孟丽丽;王立波;张冬梅
分类号 G06F21/22(2006.01)I;G06F17/30(2006.01)I 主分类号 G06F21/22(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 付雷杰
主权项 一种基于序列模式挖掘的软件安全漏洞检测方法,其特征在于:具体操作步骤如下:步骤一、利用已有的软件安全漏洞数据,创建软件安全漏洞序列数据库;收集已有漏洞检测工具检测到的安全漏洞数据,创建软件安全漏洞序列数据库;序列数据库用S表示,包含已确认的软件安全漏洞对应的操作序列;S是元组<SID,s,time>的集合,其中SID是该漏洞相关操作序列的序列号;s是漏洞相关操作序列,序列s记作<e1,e2,e3,......,ei>,ei表示该漏洞的一个操作;time表示该漏洞操作序列的最近一次访问时间;步骤二、对软件安全漏洞序列数据库进行预处理在步骤一的基础上,利用数据挖掘中数据预处理阶段的数据清洗、数据集成和数据消减方法清除掉安全漏洞相关操作序列数据库中存在错误或异常的数据、不完整的数据、不一致数据以及冗余数据;步骤三、挖掘频繁发生的漏洞相关操作序列在步骤二的基础上,采用闭序列模式挖掘算法从软件安全漏洞序列数据库中挖掘出频繁发生的漏洞相关操作序列;经过上述步骤,即可创建安全漏洞序列数据库以及挖掘出频繁发生的漏洞相关操作序列集,用B表示频繁发生的漏洞相关操作序列集;步骤四、进行软件安全漏洞检测在步骤三挖掘出频繁发生的漏洞相关操作序列的基础上进行软件安全漏洞检测;其具体操作步骤如下:第1步:从源程序中抽取程序执行路径利用安全特性模型检验程序MOPS生成源程序的控制流图;然后利用转换命令将压缩后的控制流图转换为对应的程序路径,进一步生成程序可能执行路径序列集,用T表示;第2步:检测软件安全漏洞对频繁发生的漏洞相关操作序列集B和可能执行路径序列集T取交集,若B与T的交集为空,则说明源程序不存在这些频繁发生的漏洞, 结束操作;若B与T的交集不为空,则说明源程序存在这些频繁发生的漏洞,输出检测到的漏洞相关操作序列。
地址 100081 北京市海淀区中关村南大街5号