CN111274123A - 基于软件基因的安全防护软件测试集自动生成方法、架构 - Google Patents

基于软件基因的安全防护软件测试集自动生成方法、架构 Download PDF

Info

Publication number
CN111274123A
CN111274123A CN201910397360.2A CN201910397360A CN111274123A CN 111274123 A CN111274123 A CN 111274123A CN 201910397360 A CN201910397360 A CN 201910397360A CN 111274123 A CN111274123 A CN 111274123A
Authority
CN
China
Prior art keywords
sample
cluster
software
grid
samples
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
CN201910397360.2A
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.)
Shanghai Roarpanda Network Technology Co ltd
Original Assignee
Shanghai Roarpanda Network 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 Shanghai Roarpanda Network Technology Co ltd filed Critical Shanghai Roarpanda Network Technology Co ltd
Priority to CN201910397360.2A priority Critical patent/CN111274123A/zh
Publication of CN111274123A publication Critical patent/CN111274123A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3628Software debugging of optimised code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Virology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Apparatus Associated With Microorganisms And Enzymes (AREA)

Abstract

本发明提供一种基于软件基因的安全防护软件测试集自动生成方法、架构,涉及网络与信息安全领域,所述方法包括以下步骤:S1:准备待检测数据集的样本,提取所述样本中的软件基因代码片段;S2:通过对比每一个样本的软件基因代码片段的相似性,对样本进行基于密度的聚类中心自动确定的混合属性数据聚类,形成多个不同大小的聚类;S3:对每个聚类进行基于可变网格的密度偏差抽样,得到测试样本,把所有聚类中得到的测试样本进行汇总,得到测试样本集。其不受限于人工经验分析样本行为特征而形成测试样本集,用于解决现有技术中大多数测试集自动生成架构性能不稳定、耗时长、测试集不能很好的体现原数据集密度分布特性等的技术问题。

Description

基于软件基因的安全防护软件测试集自动生成方法、架构
技术领域
本发明涉及网络与信息安全领域,特别是涉及一种基于软件基因的安全防护软件测试集自动生成方法、架构。
背景技术
恶意软件和安全防护策略以互相博弈的形式共同演进,提高对恶意样本的识别准确度成为研究机构的主要工作。不同的安全防护软件对于恶意程序的识别能力和定义是不同的,构造高质量的测试样本集可以更充分地评估安全防护软件的性能,有助于提升安全防护策略,测试样本集应当具有体量适当、种类丰富和保留原始数据集密度分布特征等特点。考虑到样本集来源问题,安全防防护软件对于不同测试集的识别准确度不尽相同,但不能根据识别准确度来定判测试集及生成测试集方法的性能。
许多行业都通过制定或构造测评标准对相应的工作提供标准化的评估,在网络安全领域,需要持续更新原始样本库以保障生成最新的、有效的测试样本集。有学者通过AV-TEST或AV-Comparatives获得恶意样本及相关数据,用来测试安全防护软件的性能;也有研究人员主要通过基于沙箱的程序动态特征,检测和获取样本的行为特征;或者通过基于静态分析的样本特征码从而生成测试样本集。
但是他们的方法存在一些比较严重的问题:1.现在越来越多的样本有较强的甄别沙箱的能力,在沙箱环境中个,他们的很多行为不会暴露,由此造成观测结果不准确;2.样本变异速度过快,更新样本库越来越难以满足及时性的要求;3.由于恶意程序变种速度加快以及采用加壳技术等原因,使得恶意程序样本库加快老化或失效,以至于不能适用于研究新的恶意程序。这些传统分析方法均具有一定的局限性,并且过度依赖人工经验,相对于快速更新的恶意程序有严重的滞后性。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于软件基因的安全防护软件测试集自动生成方法、架构,其不受限于人工经验分析样本行为特征而形成测试样本集,用于解决现有技术中大多数测试集自动生成架构性能不稳定、耗时长,测试样本集不能很好的体现原数据集密度分布特性的技术问题。
本发明提供一种基于软件基因的安全防护软件测试集自动生成方法,所述方法包括以下步骤:
S1:准备待检测数据集的样本,提取所述样本中的软件基因代码片段;
S2:通过对比每一个样本的软件基因代码片段的相似性,对样本进行基于密度的聚类中心自动确定的混合属性数据聚类,形成多个不同大小的聚类;
S3:对每个聚类进行基于可变网格的密度偏差抽样,得到测试样本,把所有聚类中得到的测试样本进行汇总,得到测试样本集。
于本发明的一实施例中,所述步骤S1具体包括:
S11:输入样本,对样本进行反汇编得到待处理代码;
S12:获取所述待处理代码中调用系统API的代码所在的位置,以相邻的两条调用系统API的代码之间的部分作为一个软件代码基因片段,将所述待处理代码切割成为多个软件基因代码片段。
于本发明的一实施例中,步骤S2具体包括:
S21:从所述软件基因代码片段的数值型属性和分类型属性两个维度的数据进行计算,得出每个样本的位置和任意两个样本的距离;
S22:根据聚类中心自动确定方法和所述距离,计算得出聚类个数K和聚类中心;
S23:再结合粒子群算法,确定出每个聚类的最佳阶段距离;
S24:通过比较每个样本所在位置与每个聚类中心之间的距离,判断所述每个样本具体属于哪一个聚类。
于本发明的一实施例中,步骤S24具体包括:
S241:比较样本与聚类的聚类中心之间的距离;
S242:当所述距离小于或者等于聚类的最佳阶段距离时,则找出所述样本所属的聚类;
S243:当所述距离大于聚类的最佳阶段距离时,再重复步骤S241和S242,直到找出所述样本所属的聚类。
于本发明的一实施例中,步骤S3具体包括:
S31:将每个聚类中软件基因代码片段的所述两个维度的数据进行排序,等深度将排序后的数据划分成多个网格单元;
S32:计算所述网格单元的密度信息,分别比较两个维度中的相邻网格单元的密度信息的相似性,合并密度信息相似的网格后形成网格空间;每个聚类相对应的形成一个网格空间,每个网格空间中包含不同数量的网格,每个网格中包含不同数量的样本。
S33:对每个网格空间内的样本进行抽取。
于本发明的一实施例中,步骤S34具体包括:
S341:每个网格空间中包含多个网格,网格中所含样本的个数为该网格密度,抽取时,同一个网格中的样本抽取率相等,不同网格中的样本抽取率由其密度占比率决定,密度占比率越高的网格所抽取的样本数越多;
S342:网格空间中抽取出的样本为测试样本,将每个网格空间中所获得的测试样本进行汇总,得到测试样本集。
一种基于软件基因的安全防护软件测试集自动生成架构,所述架构包括:
预处理模块,用于提取待检测数据集的样本中的软件基因代码片段;
聚类分析模块,用于对比每一个样本的软件基因代码片段的相似性,对样本进行基于密度的聚类中心自动确定的混合属性数据聚类,形成多个不同大小的聚类;
抽样模块,用于对每个聚类进行基于可变网格的密度偏差抽样,得到测试样本,把所有聚类中得到的测试样本进行汇总,得到测试样本集。
具体地,所述预处理模块包括反汇编子模块和切割子模块,
所述反汇编子模块用于对样本进行反汇编得到待处理代码;
所述切割子模块用于获取所述待处理代码中调用系统API的代码所在的位置,以相邻的两条调用系统API的代码之间的部分作为一个软件代码基因片段,将所述待处理代码切割成为多个软件基因代码片段。
具体地,所述聚类分析模块包括样本位置计算子模块、聚类中心计算子模块、最佳阶段距离计算子模块及判断子模块,
所述样本位置计算子模块用于从所述软件基因代码片段的数值型属性和分类型属性两个维度的数据进行计算,得出每个样本的位置和任意两个样本的距离;
所述聚类中心计算子模块用于根据聚类中心自动确定方法和所述距离,计算得出聚类个数K和聚类中心;
所述最佳阶段距离计算子模块用于结合粒子群算法,确定出每个聚类的最佳阶段距离;
所述判断子模块用于通过比较每个样本所在位置与每个聚类中心之间的距离,判断所述每个样本具体属于哪一个聚类。
具体地,所述抽样模块包括网格单元划分子模块、网格单元合并子模块及样本抽取子模块;
所述网格单元划分子模块:用于将每个聚类中软件基因代码片段的所述两个维度的数据进行排序,等深度将排序后的数据划分成多个网格单元;
所述网格单元合并子模块:用于计算所述网格单元的密度信息,分别比较两个维度中的相邻网格单元的密度信息的相似性,合并密度信息相似的网格后形成网格空间;每个聚类相对应的形成一个网格空间,每个网格空间中包含不同数量的网格,每个网格中包含不同数量的样本;
所述样本抽取子模块用于对每个网格空间内的样本进行抽取。
如上所述,本发明具有以下有益效果:
1.本发明采用了软件基因技术对待检测数据集的样本进行分析,由于恶意样本在变异或更新方面具有显著的“遗传特性”,即新一代的恶意样本会借鉴或者直接使用较早的版本中的相当一部分代码,因此根据软件基因对样本进行分类可以有效避免由于恶意样本迭代过快而导致的样本集过快失效或无法生成优质测试样本集的问题;避免了由于样本行为暴露不充分而导致的样本分类不准确。
2.本发明采用了基于密度的聚类中心自动确定的混合属性数据聚类算法,对样本关于软件基因的混合属性聚类,所得到聚类中的样本的基因表达非常相似,具有高度的同源性。
3.本发明通过一种基于可变网格的密度偏差抽样算法,对聚类中的样本进行合理化抽样,构造出体积不高于原始数据集百分之一的测试样本集,所得到的测试样本集质量高,抗噪声能力强,较好地保持了和原始数据一致的分布特征。
4.本发明提供了一种自动化生产架构,其具有十分稳定的性能表现,且处理样本速度快,从输入待检测数据集样本到输出测试样本集,所需要的平均时间为1秒。
附图说明
图1显示为本发明实施例基于软件基因的安全防护软件测试集自动生成方法公开的流程示意图。
图2显示为本发明实施例中步骤S2公开的流程示意图。
图3显示为本发明实施例中步骤S22公开的聚类中心自动确定方法的算法流程图。
图4显示为本发明实施例中步骤S3公开的流程示意图。
图5显示为本发明实施例中基于软件基因的安全防护软件测试集自动生成架构公开的示意图。
元件标号说明
01-预处理模块;011-反汇编子模块;012-切割子模块;02-聚类分析模块;021样本位置计算子模块;022-聚类中心计算子模块;023-最佳阶段距离计算子模块;024判断子模块;03-抽样模块;031-网格单元划分子模块;032-网格单元合并子模块;033-样本抽取子模块。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1,本发明提供一种基于软件基因的安全防护软件测试集自动生成方法,其特征在于,所述方法包括以下步骤:
S1:准备待检测数据集的样本,提取所述样本中的软件基因代码片段;
S11:输入样本,对样本进行反汇编得到待处理代码;
S12:获取所述待处理代码中调用系统API(应用程序编程接口)的代码所在的位置,以相邻的两条调用系统API的代码之间的部分作为一个软件代码基因片段,将所述待处理代码切割成为多个软件基因代码片段。
请参阅图2,基于以上实施例,步骤S2:通过对比每一个样本的软件基因代码片段的相似性,对样本进行基于密度的聚类中心自动确定的混合属性数据聚类,形成多个不同大小的聚类;
具体地,步骤S2具体包括:
S21:从所述软件基因代码片段的数值型属性和分类型属性两个维度的数据进行计算,得出每个样本的位置和任意两个样本的距离;
S22:根据聚类中心自动确定方法和所述距离,计算得出聚类个数K和聚类中心;
S23:再结合粒子群算法,确定出每个聚类的最佳阶段距离;
S24:通过比较每个样本所在位置与每个聚类中心之间的距离,判断所述每个样本具体属于哪一个聚类。
具体地,步骤S24具体包括:
S241:比较样本与聚类的聚类中心之间的距离;
S242:当所述距离小于或者等于聚类的最佳阶段距离时,则找出该样本所属的聚类;
S243:当所述距离大于聚类的最佳阶段距离时,再重复步骤S241和S242,直到找出所述样本所属的聚类。
本实施例中,所述步骤S22具体为:所述软件基因代码片段共有两个维度,包括数值型属性r维1和分类型属性q为1,所述数值型属性为每个样本所包含的基因量,所述分类型属性为每种基因的数量,根据UCI数据集(用于机器学习的数据库,目前包括335个数据集)的测试结果将占优因子α设置为0.75,由此可以分析出基因数据属于均衡性混合属性数据,设样本基因数据集为D,对于D中任意两个样本Xi和Yi之间的距离表述为:
Figure BDA0002058604210000061
d指每个样本d个维属性,p指的第p个维度上Xi和Xj之间的距离,得出任意两个样本之间的距离Di后,采用聚类中心自动确定方法自动确定聚类中心Ci,所述聚类中心自动确定方法基于以下思想:
聚类中心被具有较低局部密度的邻居点包围,且与具有更高局部密度的其他数据对象有相对较大的距离;
噪声点具有较大的距离δ和相对较小的局部密度ρ,对于任意一个数据对象i,需要计算两个量:数据对象的局部密度ρi和到具有更高局部密度的其他点的最小距离δi,局部密度ρi和最小距离δi的计算依赖于预设的截断距离参数dc
对应任意数据对象i,其局部密度ρi的计算方式如下:
Figure BDA0002058604210000062
Figure BDA0002058604210000063
对于任意数据对象i,其到具有更高层局部密度的其他数据对象的最小距离δi定义如下:
Figure BDA0002058604210000064
其中,对于最优最高局部密度的数据点,定义δi=maxj(dij)。
请参阅图3,所述算法流程的步骤为:
根据混合属性占有分析结果对样本基因数据集D确定相应的距离计算方式,采用式(2)和式(3)计算每个数据对象i的ρi和δi
得到ρi和δi的函数关系
Figure BDA0002058604210000065
根据逆函数
Figure BDA0002058604210000066
来拟合此函数关系,将其转化成线性y=b0+b1×x',则可以利用线性回归模型得到拟合
Figure BDA0002058604210000071
曲线;
b0和b1指抽象空间中样本所在的位置。
采用残差分析计算拟合函数的各残差分布特征,并求得聚类个数K和聚类中心Ci
请参阅图4,基于以上实施例,S3:对每个聚类进行基于可变网格的密度偏差抽样,得到测试样本,把所有聚类中得到的测试样本进行汇总,得到测试样本集。
具体地,所述步骤S3具体包括:
S31:将每个聚类中软件基因代码片段的所述两个维度的数据进行排序,等深度将排序后的数据划分成多个网格单元;
S32:计算所述网格单元的密度信息,分别比较两个维度中的相邻网格单元的密度信息的相似性,合并密度信息相似的网格后形成网格空间;每个聚类相对应的形成一个网格空间,每个网格空间中包含不同数量的网格,每个网格中包含不同数量的样本。
S33:对每个网格空间内的样本进行抽取。
具体地,步骤S34具体包括:
S341:每个网格空间中包含多个网格,网格中所含样本的个数为该网格密度,抽取时,同一个网格中的样本抽取率相等,不同网格中的样本抽取率由其密度占比率决定,密度占比率越高的网格所抽取的样本数越多;
S342:网格空间中抽取出的样本为测试样本,将每个网格空间中所获得的测试样本进行汇总,得到测试样本集。
本实施例中,根据现有相关文献的研究结果来看,参数k通常默认为固定值0.5,但是由于参数k的固定设置有很大的局限性,难以适应于各类数据集的固定参数。所以本发明中基于可变网格的密度偏差抽样的算法为,通过引入网格密度和三角函数来优化参数k,通过设置相应函数,在s、t不变的情况下,根据网格密度mi来调整参数k大小,即网格单元密度越大,网格中所抽取的样本数越多,修改的参数k如下:
Figure BDA0002058604210000072
式(5)中,s为常量,s∈[0,1];t为常量,t∈[0,1];s、t的取值具体根据仿真结果确定;mi为网格密度,m为样本数量。
由式(5)和密度偏差抽样公式进行推导,可得出D中抽取处的样本数量表示为:
Figure BDA0002058604210000081
ω(mi)为D中数据抽样概率。
最后,将每个聚类中所抽取的测试样本汇总,得到最终的测试样本集。
请参阅图5,本发明还提供一种基于软件基因的安全防护软件测试集自动生成架构,所述架构包括预处理模块、聚类分析模块及抽样模块:
一种基于软件基因的安全防护软件测试集自动生成架构,其特征在于,所述架构包括:
预处理模块01,用于提取待检测数据集的样本中的软件基因代码片段,可用于执行图1中所述的步骤S1;
所述预处理模块包括反汇编子模块011和切割子模块012,
所述反汇编子模块011用于对样本进行反汇编得到待处理代码,可用于执行步骤S11;
所述切割子模块012用于获取所述待处理代码中调用系统API的代码所在的位置,以相邻的两条调用系统API的代码之间的部分作为一个软件代码基因片段,将所述待处理代码切割成为多个软件基因代码片段,可用于执行步骤S12。
聚类分析模块02,用于对比每一个样本的软件基因代码片段的相似性,对样本进行基于密度的聚类中心自动确定的混合属性数据聚类,形成多个不同大小的聚类,可用于执行图1中所述的步骤S2;
所述聚类分析模块02包括样本位置计算子模块021、聚类中心计算子模块022、最佳阶段距离计算子模块023及判断子模块024,
所述样本位置计算子模块021用于从所述软件基因代码片段的数值型属性和分类型属性两个维度的数据进行计算,得出每个样本的位置和任意两个样本的距离,可用于执行图2中所述的步骤S21;
所述聚类中心计算子模块022用于根据聚类中心自动确定方法和所述距离,计算得出聚类个数K和聚类中心,可用于执行图2中所述的步骤S22;
所述最佳阶段距离计算子模块023用于结合粒子群算法,确定出每个聚类的最佳阶段距离,可用于执行图2中所述的步骤S23;
所述判断子模块024用于通过比较每个样本所在位置与每个聚类中心之间的距离,判断所述每个样本具体属于哪一个聚类,可用于执行图2中所述的步骤S24。
抽样模块03,用于对每个聚类进行基于可变网格的密度偏差抽样,得到测试样本,把所有聚类中得到的测试样本进行汇总,得到测试样本集,可用于执行图1中所述的步骤S3。
所述抽样模块03包括网格单元划分子模块031、网格单元合并子模块032及样本抽取子模块033;
所述网格单元划分子模块031用于将每个聚类中软件基因代码片段的所述两个维度的数据进行排序,等深度将排序后的数据划分成多个网格单元,可用于执行所述的步骤S31;
所述网格单元合并子模块032用于计算所述网格单元的密度信息,分别比较两个维度中的相邻网格单元的密度信息的相似性,合并密度信息相似的网格后形成网格空间;每个聚类相对应的形成一个网格空间,每个网格空间中包含不同数量的网格,每个网格中包含不同数量的样本,可用于执行所述的步骤S32。
所述样本抽取子模块033用于对每个网格空间内的样本进行抽取,可用于执行所述的步骤S33。
综上所述,本发明不受限于人工经验分析样本行为特征而形成测试样本集,所生成的测试样本集性能表现稳定,保持原有数据集密度分布特性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (10)

1.一种基于软件基因的安全防护软件测试集自动生成方法,其特征在于,所述方法包括以下步骤:
S1:准备待检测数据集的样本,提取所述样本中的软件基因代码片段;
S2:通过对比每一个样本的软件基因代码片段的相似性,对样本进行基于密度的聚类中心自动确定的混合属性数据聚类,形成多个不同大小的聚类;
S3:对每个聚类进行基于可变网格的密度偏差抽样,得到测试样本,把所有聚类中得到的测试样本进行汇总,得到测试样本集。
2.根据权利要求1所述的方法,其特征在于:所述步骤S1具体包括:
S11:输入样本,对样本进行反汇编得到待处理代码;
S12:获取所述待处理代码中调用系统API的代码所在的位置,以相邻的两条调用系统API的代码之间的部分作为一个软件代码基因片段,将所述待处理代码切割成为多个软件基因代码片段。
3.根据权利要求1所述的方法,其特征在于:步骤S2具体包括:
S21:从所述软件基因代码片段的数值型属性和分类型属性两个维度的数据进行计算,得出每个样本的位置和任意两个样本的距离;
S22:根据聚类中心自动确定方法和所述距离,计算得出聚类个数K和聚类中心;
S23:再结合粒子群算法,确定出每个聚类的最佳阶段距离;
S24:通过比较每个样本所在位置与每个聚类中心之间的距离,判断所述每个样本具体属于哪一个聚类。
4.根据权利要求1所述的方法,其特征在于:所述步骤S3具体包括:
S31:将每个聚类中软件基因代码片段的所述两个维度的数据进行排序,等深度将排序后的数据划分成多个网格单元;
S32:计算所述网格单元的密度信息,分别比较两个维度中的相邻网格单元的密度信息的相似性,合并密度信息相似的网格后形成网格空间;每个聚类相对应的形成一个网格空间,每个网格空间中包含不同数量的网格,每个网格中包含不同数量的样本。
S33:对每个网格空间内的样本进行抽取。
5.根据权利要求3所述的方法,其特征在于:所述步骤S24具体包括:
S241:比较样本与聚类的聚类中心之间的距离;
S242:当所述距离小于或者等于聚类的最佳阶段距离时,则找出所述样本所属的聚类;
S243:当所述距离大于聚类的最佳阶段距离时,再重复步骤S241和S242,直到找出所述样本所属的聚类。
6.根据权利要求4所述的方法,其特征在于:所述步骤S34具体包括:
S341:每个网格空间中包含多个网格,网格中所含样本的个数为该网格密度,抽取时,同一个网格中的样本抽取率相等,不同网格中的样本抽取率由其密度占比率决定,密度占比率越高的网格所抽取的样本数越多;
S342:网格空间中抽取出的样本为测试样本,将每个网格空间中所获得的测试样本进行汇总,得到测试样本集。
7.一种基于软件基因的安全防护软件测试集自动生成架构,其特征在于,所述架构包括:
预处理模块,用于提取待检测数据集的样本中的软件基因代码片段;
聚类分析模块,用于对比每一个样本的软件基因代码片段的相似性,对样本进行基于密度的聚类中心自动确定的混合属性数据聚类,形成多个不同大小的聚类;
抽样模块,用于对每个聚类进行基于可变网格的密度偏差抽样,得到测试样本,把所有聚类中得到的测试样本进行汇总,得到测试样本集。
8.根据权利要求7所述的一种基于软件基因的安全防护软件测试集自动生成架构,其特征在于:所述预处理模块包括反汇编子模块和切割子模块,
所述反汇编子模块用于对样本进行反汇编得到待处理代码;
所述切割子模块用于获取所述待处理代码中调用系统API的代码所在的位置,以相邻的两条调用系统API的代码之间的部分作为一个软件代码基因片段,将所述待处理代码切割成为多个软件基因代码片段。
9.根据权利要求7所述的一种基于软件基因的安全防护软件测试集自动生成架构,其特征在于:所述聚类分析模块包括样本位置计算子模块、聚类中心计算子模块、最佳阶段距离计算子模块及判断子模块,
所述样本位置计算子模块用于从所述软件基因代码片段的数值型属性和分类型属性两个维度的数据进行计算,得出每个样本的位置和任意两个样本的距离;
所述聚类中心计算子模块用于根据聚类中心自动确定方法和所述距离,计算得出聚类个数K和聚类中心;
所述最佳阶段距离计算子模块用于结合粒子群算法,确定出每个聚类的最佳阶段距离;
所述判断子模块用于通过比较每个样本所在位置与每个聚类中心之间的距离,判断所述每个样本具体属于哪一个聚类。
10.根据权利要求7所述的一种基于软件基因的安全防护软件测试集自动生成架构,其特征在于:所述抽样模块包括网格单元划分子模块、网格单元合并子模块及样本抽取子模块;
所述网格单元划分子模块用于将每个聚类中软件基因代码片段的所述两个维度的数据进行排序,等深度将排序后的数据划分成多个网格单元;
所述网格单元合并子模块用于计算所述网格单元的密度信息,分别比较两个维度中的相邻网格单元的密度信息的相似性,合并密度信息相似的网格后形成网格空间;每个聚类相对应的形成一个网格空间,每个网格空间中包含不同数量的网格,每个网格中包含不同数量的样本。
所述样本抽取子模块用于对每个网格空间内的样本进行抽取。
CN201910397360.2A 2019-05-14 2019-05-14 基于软件基因的安全防护软件测试集自动生成方法、架构 Pending CN111274123A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910397360.2A CN111274123A (zh) 2019-05-14 2019-05-14 基于软件基因的安全防护软件测试集自动生成方法、架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910397360.2A CN111274123A (zh) 2019-05-14 2019-05-14 基于软件基因的安全防护软件测试集自动生成方法、架构

Publications (1)

Publication Number Publication Date
CN111274123A true CN111274123A (zh) 2020-06-12

Family

ID=70996744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910397360.2A Pending CN111274123A (zh) 2019-05-14 2019-05-14 基于软件基因的安全防护软件测试集自动生成方法、架构

Country Status (1)

Country Link
CN (1) CN111274123A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639716A (zh) * 2020-06-04 2020-09-08 云南电网有限责任公司电力科学研究院 基于密度偏差抽样的数据样本选择方法及装置
CN113921089A (zh) * 2021-11-22 2022-01-11 北京安智因生物技术有限公司 一种用于确认ivd基因注释数据库更新频率的方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639716A (zh) * 2020-06-04 2020-09-08 云南电网有限责任公司电力科学研究院 基于密度偏差抽样的数据样本选择方法及装置
CN111639716B (zh) * 2020-06-04 2023-07-18 云南电网有限责任公司电力科学研究院 基于密度偏差抽样的数据样本选择方法及装置
CN113921089A (zh) * 2021-11-22 2022-01-11 北京安智因生物技术有限公司 一种用于确认ivd基因注释数据库更新频率的方法及系统

Similar Documents

Publication Publication Date Title
US10606862B2 (en) Method and apparatus for data processing in data modeling
CN112382352B (zh) 基于机器学习的金属有机骨架材料结构特征快速评估方法
CN111199016A (zh) 一种基于DTW的改进K-means的日负荷曲线聚类方法
US20170330078A1 (en) Method and system for automated model building
CN112785450B (zh) 一种土壤环境质量分区方法及系统
CN105046323B (zh) 一种正则化rbf网络多标签分类方法
CN115641162A (zh) 一种基于建筑工程造价的预测数据分析系统和方法
CN113052225A (zh) 基于聚类算法和时序关联规则的报警收敛方法及装置
CN111274123A (zh) 基于软件基因的安全防护软件测试集自动生成方法、架构
CN111985815A (zh) 一种能源电力运营评价指标的筛选方法及装置
Wang et al. Improving the robustness of scagnostics
CN107016416B (zh) 基于邻域粗糙集和pca融合的数据分类预测方法
CN111126865A (zh) 一种基于科技大数据的技术成熟度判断方法和系统
CN107908807B (zh) 一种基于贝叶斯理论的小子样可靠性评定方法
CN112087316A (zh) 基于异常数据分析的网络异常根源定位方法
Wang et al. DFSP: A fast and automatic distance field-based stem-leaf segmentation pipeline for point cloud of maize shoot
Alvarez Meza et al. Parameter selection in least squares-support vector machines regression oriented, using generalized cross-validation
Dong Application of Big Data Mining Technology in Blockchain Computing
CN113032367A (zh) 面向动态负载场景的大数据系统跨层配置参数协同调优方法和系统
CN112508363A (zh) 基于深度学习的电力信息系统状态分析方法及装置
CN112200272B (zh) 业务分类方法及装置
Ma The Research of Stock Predictive Model based on the Combination of CART and DBSCAN
Lewitus et al. Characterizing and comparing phylogenetic trait data from their normalized Laplacian spectrum
Wirawan et al. Application of data mining to prediction of timeliness graduation of students (a case study)
CN112182218A (zh) 文本数据的分类方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination