CN104778403A - 一种基于序列模式软件安全漏洞的检测方法 - Google Patents

一种基于序列模式软件安全漏洞的检测方法 Download PDF

Info

Publication number
CN104778403A
CN104778403A CN201410020119.5A CN201410020119A CN104778403A CN 104778403 A CN104778403 A CN 104778403A CN 201410020119 A CN201410020119 A CN 201410020119A CN 104778403 A CN104778403 A CN 104778403A
Authority
CN
China
Prior art keywords
security breaches
sequence
security
security vulnerability
breaches
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410020119.5A
Other languages
English (en)
Inventor
傅涛
蔡圣闻
石进
潘健翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JIANGSU NANDASOFT TECHNOLOGY Co Ltd
Original Assignee
JIANGSU NANDASOFT TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JIANGSU NANDASOFT TECHNOLOGY Co Ltd filed Critical JIANGSU NANDASOFT TECHNOLOGY Co Ltd
Priority to CN201410020119.5A priority Critical patent/CN104778403A/zh
Publication of CN104778403A publication Critical patent/CN104778403A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于序列模式软件安全漏洞的检测方法,步骤包括:A、将已知的安全漏洞记录存入数据库,将数据库中的安全漏洞记录进行分类,形成若干个安全漏洞序列;B、将每个安全漏洞序列提取特征向量,作为每个安全漏洞序列的标示;C、在线监控模块将运行的程序语句与步骤B中的特征向量进行对比,离线扫描模块将软件系统的源代码于步骤A中的安全漏洞序列进行对比;D、将步骤C中得到的安全漏洞对比结果进行去噪后将被认定为的安全漏洞的对比结果存入与其最接近的安全漏洞序列中,将未被认定为安全漏洞的对比结果通过人机交互模块输出。本发明能够改进现有技术的不足,同时提高了检测的速度和精度。

Description

一种基于序列模式软件安全漏洞的检测方法
技术领域
本发明涉及信息安全技术领域,尤其是一种基于序列模式软件安全漏洞的检测方法。
背景技术
随着计算机技术的发展,各种软件被越来越广泛地应用在生产生活的各个领域。由于软件的编写思路是优选考虑其能实现的功能,再考虑其不能实现的功能,所以软件漏洞在实际中是不可避免的。软件漏洞就是从能够实现区域到不能实现区域的通道。为了提高软件的安全性,需要对一款软件进行长期的检测,以发现隐藏的安全漏洞。现有的软件漏洞检测方法普遍存在检测手段单一,检测速度和检测精度无法兼顾的问题。
发明内容
本发明要解决的技术问题是提供一种基于序列模式软件安全漏洞的检测方法,能够解决现有技术的不足,实现了执行语句和源代码的双向检测,并根据不同的检测手段设计了与其符合的检测方法,同时提高了检测的速度和精度。
为解决上述技术问题,本发明所采取的技术方案如下。
一种基于序列模式软件安全漏洞的检测方法,其特征在于包括以下步骤:
A、将已知的安全漏洞记录存入数据库,将数据库中的安全漏洞记录进行分类,形成若干个安全漏洞序列;
B、将每个安全漏洞序列提取特征向量,作为每个安全漏洞序列的标示;
C、在软件系统中设置在线监控模块和离线扫描模块,在线监控模块将运行的程序语句与步骤B中的特征向量进行对比,离线扫描模块将软件系统的源代码于步骤A中的安全漏洞序列进行对比;
D、将步骤C中得到的安全漏洞对比结果进行去噪后将被认定为的安全漏洞的对比结果存入与其最接近的安全漏洞序列中,将未被认定为安全漏洞的对比结果通过人机交互模块输出,进行人工判定,使用人工判定为安全漏洞的对比结果建立新的安全漏洞序列,并存入数据库。
作为优选,步骤A中,将安全漏洞记录按照关键字进行分类,在同一个关键字的安全漏洞序列中,按照副关键字进行排序,在同一个副关键字的安全漏洞序列部分中按照出现频率进行排序。
作为优选,步骤B中,将安全漏洞序列中的每种元素进行加权操作,将加权后的元素求和后取对数,得到特征向量。
作为优选,步骤C中,运行的程序语句与步骤B中的特征向量通过求两项的交集进行对比,软件系统的源代码根据安全漏洞记录出现的频率由高到低依次与安全漏洞序列的关键字和副关键字进行对比。
作为优选,步骤D中,通过安全漏洞与安全漏洞序列特征向量的特征值的欧氏距离作为安全漏洞与安全漏洞序是否接近的判断标准。
作为优选,将提取的任意两个安全漏洞序列的关键字的差别作为第一区别度,将任意两个特征向量的内积作为第二区别度,并遍历全部的安全漏洞序列组合和特征向量组合;步骤C中,在线监控模块首先随机选取一个特征向量进行对比,如果认定为安全漏洞则停止本次对比,否则选取与本次对比所用特征向量第二区别度最小的特征向量作为下一次对比的特征向量,依此循环,直至认定为安全漏洞或遍历完所有特征向量,离线扫描模块首先随机选取一个安全漏洞序列进行对比,如果认定为安全漏洞则停止本次对比,否则选取与本次对比所用安全漏洞序第一区别度最小的安全漏洞序作为下一次对比的安全漏洞序,依此循环,直至认定为安全漏洞或遍历完所有安全漏洞序。
采用上述技术方案所带来的有益效果在于:
1、通过对运行的程序语句,可以在程序运行中发现运行语句中的安全漏洞,对软件系统的源代码的双向检测,可以对未执行的程序语句和程序的底层设计进行检测,两种检测方式进行互补,提高了检测的精度。
2、由于运行的程序语句存在更新速度快的特点,采用特征向量的对比方式,可以极大的提高对比检测的速度;由于软件系统的源代码是相对静止的,所以采用与安全漏洞序列进行对比,可以保证检测精度。
3、特征向量采用加权取对数的方式获得,可以提高特征向量中元素的代表性,提高特征向量对比检测时的准确性。安全漏洞记录通过关键字、副关键字和出现频率进行分类形成安全漏洞序列,可以提高对安全漏洞序列检测的速度。
4、采用与安全漏洞序列特征向量的欧氏距离作为判断与其是否接近的标准,可以全面的覆盖安全漏洞序列特征向量所有的元素,实现对比的准确性。
5、利用区别度的高低将待对比的对象进行排序,可以减少对比次数,提高检测速度。
具体实施方式
一种基于序列模式软件安全漏洞的检测方法,其特征在于包括以下步骤:
A、将已知的安全漏洞记录存入数据库,将数据库中的安全漏洞记录进行分类,形成若干个安全漏洞序列;
B、将每个安全漏洞序列提取特征向量,作为每个安全漏洞序列的标示;
C、在软件系统中设置在线监控模块和离线扫描模块,在线监控模块将运行的程序语句与步骤B中的特征向量进行对比,离线扫描模块将软件系统的源代码于步骤A中的安全漏洞序列进行对比;在线监控模块对运行的程序语句进行对比的同时,监控单位时间运行的程序语句的数量,当数量超过设定阈值时,离线扫描模块暂停对比,这可以充分利用硬件运算资源,使软件漏洞的检测不影响系统的运行速度。
D、将步骤C中得到的安全漏洞对比结果进行去噪后将被认定为的安全漏洞的对比结果存入与其最接近的安全漏洞序列中,将未被认定为安全漏洞的对比结果通过人机交互模块输出,进行人工判定,使用人工判定为安全漏洞的对比结果建立新的安全漏洞序列,并存入数据库。去噪操作采用阈值放大方法进行处理,处理步骤如下:
D1、将对比结果进行傅里叶变换,
F ( w ) = ∫ - ∞ + ∞ f ( t ) e - jwt dt
D2、将D1步骤中的变换结果带入一下程序段进行放大,
public:
void init_wls(int x,int a,int y,int b);
CvPoint2D32f get_predict(float x,float y);
ceil(int x=0,int a=0,int y=0,int b=0);
f1=min((x-y),(a-b));
f2=(x+y)/2;wc2=(a+b)/2;
subplot(3,1,2);
plot(f1/pi,15*log2(abs(f2)));
f3=fir(N-1,[f1,f2]/pi,hamming(x));
f4=ffshift(fft2(y));
End;
D3、将放大后的结果带入下面的程序段进行噪声筛选,
r1=cos(log2(f4)/f4)*tan((f1*k1+f2*k2+f3*k3)/3);
ylabel(r1);
subplot(2,2,4);plot(x);
xlabel(y);
[r2,r3]=freqz(x,y);
r=(r12+r22+r32)1/2
值得注意的是,步骤A中,将安全漏洞记录按照关键字进行分类,在同一个关键字的安全漏洞序列中,按照副关键字进行排序,在同一个副关键字的安全漏洞序列部分中按照出现频率进行排序。
值得注意的是,步骤B中,将安全漏洞序列中的每种元素进行加权操作,将加权后的元素求和后取对数,得到特征向量。对数底数取2。
值得注意的是,步骤C中,运行的程序语句与步骤B中的特征向量通过求两项的交集进行对比,软件系统的源代码根据安全漏洞记录出现的频率由高到低依次与安全漏洞序列的关键字和副关键字进行对比。
值得注意的是,步骤D中,通过安全漏洞与安全漏洞序列特征向量的特征值的欧氏距离作为安全漏洞与安全漏洞序是否接近的判断标准。
值得注意的是,将提取的任意两个安全漏洞序列的关键字的差别作为第一区别度,将任意两个特征向量的内积作为第二区别度,并遍历全部的安全漏洞序列组合和特征向量组合;步骤C中,在线监控模块首先随机选取一个特征向量进行对比,如果认定为安全漏洞则停止本次对比,否则选取与本次对比所用特征向量第二区别度最小的特征向量作为下一次对比的特征向量,依此循环,直至认定为安全漏洞或遍历完所有特征向量,离线扫描模块首先随机选取一个安全漏洞序列进行对比,如果认定为安全漏洞则停止本次对比,否则选取与本次对比所用安全漏洞序第一区别度最小的安全漏洞序作为下一次对比的安全漏洞序,依此循环,直至认定为安全漏洞或遍历完所有安全漏洞序。
本发明实现了执行语句和源代码的双向检测,并根据不同的检测手段设计了与其符合的检测方法,同时提高了检测的速度和精度。具体有以下几点:
1、通过对运行的程序语句,可以在程序运行中发现运行语句中的安全漏洞,对软件系统的源代码的双向检测,可以对未执行的程序语句和程序的底层设计进行检测,两种检测方式进行互补,提高了检测的精度。
2、由于运行的程序语句存在更新速度快的特点,采用特征向量的对比方式,可以极大的提高对比检测的速度;由于软件系统的源代码是相对静止的,所以采用与安全漏洞序列进行对比,可以保证检测精度。
3、特征向量采用加权取对数的方式获得,可以提高特征向量中元素的代表性,提高特征向量对比检测时的准确性。安全漏洞记录通过关键字、副关键字和出现频率进行分类形成安全漏洞序列,可以提高对安全漏洞序列检测的速度。
4、采用与安全漏洞序列特征向量的欧氏距离作为判断与其是否接近的标准,可以全面的覆盖安全漏洞序列特征向量所有的元素,实现对比的准确性。
5、利用区别度的高低将待对比的对象进行排序,可以减少对比次数,提高检测速度。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (6)

1.一种基于序列模式软件安全漏洞的检测方法,其特征在于包括以下步骤:
A、将已知的安全漏洞记录存入数据库,将数据库中的安全漏洞记录进行分类,形成若干个安全漏洞序列;
B、将每个安全漏洞序列提取特征向量,作为每个安全漏洞序列的标示;
C、在软件系统中设置在线监控模块和离线扫描模块,在线监控模块将运行的程序语句与步骤B中的特征向量进行对比,离线扫描模块将软件系统的源代码于步骤A中的安全漏洞序列进行对比;
D、将步骤C中得到的安全漏洞对比结果进行去噪后将被认定为的安全漏洞的对比结果存入与其最接近的安全漏洞序列中,将未被认定为安全漏洞的对比结果通过人机交互模块输出,进行人工判定,使用人工判定为安全漏洞的对比结果建立新的安全漏洞序列,并存入数据库。
2.根据权利要求1所述的基于序列模式软件安全漏洞的检测方法,其特征在于:步骤A中,将安全漏洞记录按照关键字进行分类,在同一个关键字的安全漏洞序列中,按照副关键字进行排序,在同一个副关键字的安全漏洞序列部分中按照出现频率进行排序。
3.根据权利要求1所述的基于序列模式软件安全漏洞的检测方法,其特征在于:步骤B中,将安全漏洞序列中的每种元素进行加权操作,将加权后的元素求和后取对数,得到特征向量。
4.根据权利要求2所述的基于序列模式软件安全漏洞的检测方法,其特征在于:步骤C中,运行的程序语句与步骤B中的特征向量通过求两项的交集进行对比,软件系统的源代码根据安全漏洞记录出现的频率由高到低依次与安全漏洞序列的关键字和副关键字进行对比。
5.根据权利要求1所述的基于序列模式软件安全漏洞的检测方法,其特征在于:步骤D中,通过安全漏洞与安全漏洞序列特征向量的特征值的欧氏距离作为安全漏洞与安全漏洞序是否接近的判断标准。
6.根据权利要求4所述的基于序列模式软件安全漏洞的检测方法,其特征在于:将提取的任意两个安全漏洞序列的关键字的差别作为第一区别度,将任意两个特征向量的内积作为第二区别度,并遍历全部的安全漏洞序列组合和特征向量组合;步骤C中,在线监控模块首先随机选取一个特征向量进行对比,如果认定为安全漏洞则停止本次对比,否则选取与本次对比所用特征向量第二区别度最小的特征向量作为下一次对比的特征向量,依此循环,直至认定为安全漏洞或遍历完所有特征向量,离线扫描模块首先随机选取一个安全漏洞序列进行对比,如果认定为安全漏洞则停止本次对比,否则选取与本次对比所用安全漏洞序第一区别度最小的安全漏洞序作为下一次对比的安全漏洞序,依此循环,直至认定为安全漏洞或遍历完所有安全漏洞序。
CN201410020119.5A 2014-01-15 2014-01-15 一种基于序列模式软件安全漏洞的检测方法 Pending CN104778403A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410020119.5A CN104778403A (zh) 2014-01-15 2014-01-15 一种基于序列模式软件安全漏洞的检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410020119.5A CN104778403A (zh) 2014-01-15 2014-01-15 一种基于序列模式软件安全漏洞的检测方法

Publications (1)

Publication Number Publication Date
CN104778403A true CN104778403A (zh) 2015-07-15

Family

ID=53619859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410020119.5A Pending CN104778403A (zh) 2014-01-15 2014-01-15 一种基于序列模式软件安全漏洞的检测方法

Country Status (1)

Country Link
CN (1) CN104778403A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279075A (zh) * 2014-06-10 2016-01-27 江苏博智软件科技有限公司 一种基于序列模式软件安全漏洞的检测方法
CN106778279A (zh) * 2015-11-25 2017-05-31 阿里巴巴集团控股有限公司 漏洞挖掘方法及装置
CN106980788A (zh) * 2016-12-30 2017-07-25 中国银联股份有限公司 用于处理支付系统安全漏洞信息的装置和方法
CN111694701A (zh) * 2020-05-25 2020-09-22 佛山科学技术学院 一种嵌入式系统硬件模块离线状态的检测方法及系统
CN113886112A (zh) * 2021-09-27 2022-01-04 深圳开源互联网安全技术有限公司 一种漏洞修复确认方法、装置、终端及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710378A (zh) * 2009-10-10 2010-05-19 北京理工大学 一种基于序列模式挖掘的软件安全漏洞检测方法
CN101739337A (zh) * 2009-12-14 2010-06-16 北京理工大学 一种基于聚类的软件漏洞序列特征的分析方法
CN101996292A (zh) * 2010-12-10 2011-03-30 北京理工大学 一种基于序列聚类的软件安全特性分析方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710378A (zh) * 2009-10-10 2010-05-19 北京理工大学 一种基于序列模式挖掘的软件安全漏洞检测方法
CN101739337A (zh) * 2009-12-14 2010-06-16 北京理工大学 一种基于聚类的软件漏洞序列特征的分析方法
CN101996292A (zh) * 2010-12-10 2011-03-30 北京理工大学 一种基于序列聚类的软件安全特性分析方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279075A (zh) * 2014-06-10 2016-01-27 江苏博智软件科技有限公司 一种基于序列模式软件安全漏洞的检测方法
CN106778279A (zh) * 2015-11-25 2017-05-31 阿里巴巴集团控股有限公司 漏洞挖掘方法及装置
CN106778279B (zh) * 2015-11-25 2020-05-15 阿里巴巴集团控股有限公司 漏洞挖掘方法及装置
CN106980788A (zh) * 2016-12-30 2017-07-25 中国银联股份有限公司 用于处理支付系统安全漏洞信息的装置和方法
CN111694701A (zh) * 2020-05-25 2020-09-22 佛山科学技术学院 一种嵌入式系统硬件模块离线状态的检测方法及系统
CN111694701B (zh) * 2020-05-25 2023-04-25 佛山科学技术学院 一种嵌入式系统硬件模块离线状态的检测方法及系统
CN113886112A (zh) * 2021-09-27 2022-01-04 深圳开源互联网安全技术有限公司 一种漏洞修复确认方法、装置、终端及存储介质

Similar Documents

Publication Publication Date Title
CN104778403A (zh) 一种基于序列模式软件安全漏洞的检测方法
Sobhani et al. New drift detection method for data streams
Giron-Nava et al. Quantitative argument for long-term ecological monitoring
Goldberg et al. Prediction of nanoparticle transport behavior from physicochemical properties: machine learning provides insights to guide the next generation of transport models
CN105279075A (zh) 一种基于序列模式软件安全漏洞的检测方法
US11221904B2 (en) Log analysis system, log analysis method, and log analysis program
BR112018067363A2 (pt) método e sistema para previsão e rastreamento de roubos, e, método para rastreamento de roubos.
Nair et al. ChIPnorm: a statistical method for normalizing and identifying differential regions in histone modification ChIP-seq libraries
Radley et al. Entropy sorting of single-cell RNA sequencing data reveals the inner cell mass in the human pre-implantation embryo
CN105701470A (zh) 一种基于最优小波包分解的模拟电路故障特征提取方法
CN110837874B (zh) 基于时间序列分类的业务数据异常检测方法
Sokolov et al. Research of classical machine learning methods and deep learning models effectiveness in detecting anomalies of industrial control system
AU2014321074B2 (en) Method and apparatus for detecting magnetic signal of paper money
CN104244016A (zh) 一种h264视频内容篡改检测方法
US11500112B2 (en) Gamma-ray spectrum classification
Jones et al. Machine learning techniques to repurpose Uranium Ore Concentrate (UOC) industrial records and their application to nuclear forensic investigation
Atluri et al. Discovering groups of time series with similar behavior in multiple small intervals of time
Saadawia et al. Improved process monitoring and supervision based on a reliable multi-stage feature-based pattern recognition technique
Petrantonakis et al. A simple method to simultaneously detect and identify spikes from raw extracellular recordings
Normolle et al. Statistical classification of multivariate flow cytometry data analyzed by manual gating: Stem, progenitor, and epithelial marker expression in nonsmall cell lung cancer and normal lung
Czech et al. A dictionary approach to identifying transient RFI
CN104980442A (zh) 一种基于元样本稀疏表示的网络入侵检测方法
Zheng et al. Using principal component analysis to solve a class imbalance problem in traffic incident detection
CN114490797A (zh) 一种时间序列的定性趋势分析方法和装置
CN111562423B (zh) 一种地铁杂散电流对埋地管线影响范围计算方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150715

RJ01 Rejection of invention patent application after publication