[发明专利]一种基于序列模式软件安全漏洞的检测方法在审
申请号: | 201410261419.2 | 申请日: | 2014-06-10 |
公开(公告)号: | CN105279075A | 公开(公告)日: | 2016-01-27 |
发明(设计)人: | 傅涛 | 申请(专利权)人: | 江苏博智软件科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/56 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 序列 模式 软件 安全漏洞 检测 方法 | ||
技术领域
本发明涉及信息安全技术领域,尤其是一种基于序列模式软件安全漏洞的检测方法。
背景技术
随着计算机技术的发展,各种软件被越来越广泛地应用在生产生活的各个领域。由于软件的编写思路是优选考虑其能实现的功能,再考虑其不能实现的功能,所以软件漏洞在实际中是不可避免的。软件漏洞就是从能够实现区域到不能实现区域的通道。为了提高软件的安全性,需要对一款软件进行长期的检测,以发现隐藏的安全漏洞。现有的软件漏洞检测方法普遍存在检测手段单一,检测速度和检测精度无法兼顾的问题。
发明内容
本发明要解决的技术问题是提供一种基于序列模式软件安全漏洞的检测方法,能够解决现有技术的不足,实现了执行语句和源代码的双向检测,并根据不同的检测手段设计了与其符合的检测方法,同时提高了检测的速度和精度。
为解决上述技术问题,本发明所采取的技术方案如下。
一种基于序列模式软件安全漏洞的检测方法,其特征在于包括以下步骤:
A、将已知的安全漏洞记录存入数据库,将数据库中的安全漏洞记录进行分类,形成若干个安全漏洞序列;
B、将每个安全漏洞序列提取特征向量,作为每个安全漏洞序列的标示;
C、在软件系统中设置在线监控模块和离线扫描模块,在线监控模块将运行的程序语句与步骤B中的特征向量进行对比,离线扫描模块将软件系统的源代码于步骤A中的安全漏洞序列进行对比;
D、将步骤C中得到的安全漏洞对比结果进行去噪后将被认定为的安全漏洞的对比结果存入与其最接近的安全漏洞序列中,将未被认定为安全漏洞的对比结果通过人机交互模块输出,进行人工判定,使用人工判定为安全漏洞的对比结果建立新的安全漏洞序列,并存入数据库。
作为优选,步骤A中,将安全漏洞记录按照关键字进行分类,在同一个关键字的安全漏洞序列中,按照副关键字进行排序,在同一个副关键字的安全漏洞序列部分中按照出现频率进行排序。
作为优选,步骤B中,将安全漏洞序列中的每种元素进行加权操作,将加权后的元素求和后取对数,得到特征向量。
作为优选,步骤C中,运行的程序语句与步骤B中的特征向量通过求两项的交集进行对比,软件系统的源代码根据安全漏洞记录出现的频率由高到低依次与安全漏洞序列的关键字和副关键字进行对比。
作为优选,步骤D中,通过安全漏洞与安全漏洞序列特征向量的特征值的欧氏距离作为安全漏洞与安全漏洞序是否接近的判断标准。
作为优选,将提取的任意两个安全漏洞序列的关键字的差别作为第一区别度,将任意两个特征向量的内积作为第二区别度,并遍历全部的安全漏洞序列组合和特征向量组合;步骤C中,在线监控模块首先随机选取一个特征向量进行对比,如果认定为安全漏洞则停止本次对比,否则选取与本次对比所用特征向量第二区别度最小的特征向量作为下一次对比的特征向量,依此循环,直至认定为安全漏洞或遍历完所有特征向量,离线扫描模块首先随机选取一个安全漏洞序列进行对比,如果认定为安全漏洞则停止本次对比,否则选取与本次对比所用安全漏洞序第一区别度最小的安全漏洞序作为下一次对比的安全漏洞序,依此循环,直至认定为安全漏洞或遍历完所有安全漏洞序。
采用上述技术方案所带来的有益效果在于:
1、通过对运行的程序语句,可以在程序运行中发现运行语句中的安全漏洞,对软件系统的源代码的双向检测,可以对未执行的程序语句和程序的底层设计进行检测,两种检测方式进行互补,提高了检测的精度。
2、由于运行的程序语句存在更新速度快的特点,采用特征向量的对比方式,可以极大的提高对比检测的速度;由于软件系统的源代码是相对静止的,所以采用与安全漏洞序列进行对比,可以保证检测精度。
3、特征向量采用加权取对数的方式获得,可以提高特征向量中元素的代表性,提高特征向量对比检测时的准确性。安全漏洞记录通过关键字、副关键字和出现频率进行分类形成安全漏洞序列,可以提高对安全漏洞序列检测的速度。
4、采用与安全漏洞序列特征向量的欧氏距离作为判断与其是否接近的标准,可以全面的覆盖安全漏洞序列特征向量所有的元素,实现对比的准确性。
5、利用区别度的高低将待对比的对象进行排序,可以减少对比次数,提高检测速度。
具体实施方式
一种基于序列模式软件安全漏洞的检测方法,其特征在于包括以下步骤:
A、将已知的安全漏洞记录存入数据库,将数据库中的安全漏洞记录进行分类,形成若干个安全漏洞序列;
B、将每个安全漏洞序列提取特征向量,作为每个安全漏洞序列的标示;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏博智软件科技有限公司,未经江苏博智软件科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410261419.2/2.html,转载请声明来源钻瓜专利网。