基于时间序列的恶意软件归属攻击组织的判定方法技术

技术编号:36527299 阅读:18 留言:0更新日期:2023-02-01 16:07
本发明专利技术公开了基于时间序列的恶意软件归属攻击组织的判定方法。其主要步骤为:1)恶意软件的函数信息提取,提取恶意软件的函数信息;2)恶意软件的函数筛选,去除库函数和去除不包含API调用的函数;3)恶意软件的路径生成,恶意软件的路径生成依据API调用和中介中心性;4)恶意软件的特征向量化,特征使用ACFG特征对基本块进行向量化;5)恶意软件的关键路径片段生成,使用时间序列算法从路径中提取关键路径片段;6)恶意软件归属攻击组织,使用分类器进行恶意软件归属攻击组织的判定。本发明专利技术对恶意软件进行攻击组织归属准确率高。恶意软件进行攻击组织归属准确率高。恶意软件进行攻击组织归属准确率高。

【技术实现步骤摘要】
基于时间序列的恶意软件归属攻击组织的判定方法


[0001]本专利技术涉及一种网络安全
的恶意软件归属攻击组织的判定方法,特别是涉及一种基于时间序列的恶意软件归属攻击组织的判定方法。

技术介绍

[0002]攻击组织通常构造恶意软件实现网络攻击。APT(advanced persistent threat)攻击是网络攻击的一种。APT攻击是指隐匿而持久的电脑入侵过程,通常由某些人员精心策划,针对特定的目标。其通常是出于商业或政治动机,针对特定组织或国家,并要求在长时间内保持高隐蔽性。网络攻击使得网络空间安全遭受严重威胁。因此,进行网络攻击分析和攻击组织研究是非常必要的。
[0003]当前的恶意软件分析方法,通常依赖控制流图和API调用。控制流图和API调用的特征方法,一般包含序列特征、代码结构特征、分布特征。序列特征是指API调用序列和CFG中的基本块序列。代码结构特征是指表达程序语义的逻辑结构,通常依赖图技术。分布特征是指依据特征的上下文分布情况,提取语义信息,通常依赖自然语言处理方法。
[0004]现有的恶意软件判定攻击组织的可解释方法,多以函数为单位提取特征,比如代码结构特征和分布特征。每个函数是一个CFG(control flow graph),不同平台和编译器会导致CFG结构发生变化,这对提取函数特征提出挑战。并且CFG中路径/基本块序列的生成是NP难问题,对基本块序列特征提取提出挑战。
[0005]有鉴于上述现有的技术存在的缺陷,本专利技术人经过不断的研究、设计,并经反复试作及改进后,终于创设出确具实用价值的本专利技术。

技术实现思路

[0006]本专利技术的主要目的在于,克服现有的函数特征用于恶意软件归属攻击组织存在的缺陷,而提供一种新的基于时间序列的恶意软件归属攻击组织的判定方法,所要解决的技术问题是采用基本块序列判定方法,使其判定效果更佳,提供更加具体的可解释性,非常适于实用。
[0007]本专利技术的另一目的在于,提供一种新的基于时间序列的恶意软件归属攻击组织的判定方法,所要解决的技术问题是采用函数过滤方法,使其过滤大量无用函数,提高判定效率,从而更加适于实用。
[0008]本专利技术的还一目的在于,提供一种新的基于时间序列的恶意软件归属攻击组织的判定方法,所要解决的技术问题是路径生成方法,使其避免NP难问题,生成重点关注路径,从而更加适于实用。
[0009]本专利技术的目的及解决其技术问题是采用以下技术方案来实现的。依据本专利技术提出的一种基于时间序列的恶意软件归属攻击组织的判定方法,其包括以下步骤:系统初始化和系统运行;其中,系统初始化步骤如下
[0010]步骤1:恶意软件的函数信息提取
[0011]使用反汇编工具提取恶意软件的函数信息,函数信息是指函数的控制流图即control flow graph,简写CFG;
[0012]步骤2:恶意软件的函数筛选
[0013]去除库函数,保留自定义函数,去除不包含API即application programming interface调用的函数,保留至少有一个函数调用的函数;
[0014]步骤3:恶意软件的路径生成
[0015]恶意软件的路径生成以具有API调用的基本块为起点,然后根据图论中的中介中心性即betweenness centrality,生成路径;
[0016]步骤4:恶意软件的特征向量化
[0017]特征使用ACFG即attributed CFG特征对基本块进行向量化,使用主成分分析方法即principal components analysis,简写PCA对特征进行降维;
[0018]步骤5:恶意软件的关键路径片段生成
[0019]使用时间序列算法Shapelets从路径中提取关键路径片段;
[0020]对路径向量应用时间序列Shapelets算法生成关键路径片段,关键路径片段能够代表路径的子路径,为了减轻Shapelets算法的资源消耗,先使用聚类来减少算法的输入,对路径向量使用HDBSCAN聚类算法进行聚类,将聚类结果中每个类最中心的路径向量用于生成关键路径片段,最终生成h条关键路径片段ps=[ps1,ps2,

,psh]。
[0021]步骤6:恶意软件归属攻击组织
[0022]计算恶意软件的每条路径和每个关键路径片段之间的最小距离,作为随机森林分类器的输入,进行恶意软件归属攻击组织的判定。
[0023]进一步,其中所述的使用反汇编工具提取恶意软件函数的CFG信息,具体包含基本块的指令信息和基本块的跳转关系。
[0024]进一步,其中所述的去除库函数,保留自定义函数具体包括对函数内的API调用次数进行统计,去除API调用次数为0的函数。
[0025]进一步,其中所述的步骤3恶意软件的路径生成是以具有API调用的基本块为起点,分别向前和向后依据更大的中心中介性分数生成路径;
[0026]假设某函数的CFG中包含n个基本块b1,b2,...,bn。生成m条CFG路径p1,p2,...,pm。每条路径由多个基本块序列组成,pi=[bi,bj,...,bk],其中pi是第i条路径,bi、bj、bk分别是第i、j、k个基本块。
[0027]进一步,其中所述的特征使用ACFG特征对基本块进行向量化具体是ACFG特征将基本块内不同类型的指令进行统计,为每个基本块生成一个多维的特征向量,第i个基本块bi=[f1,f2,...,fi];
[0028]然后使用PCA将ACFG特征降维得到1维向量;第i个基本块bi=[xi];
[0029]最后,依据上一步骤中生成的路径,生成路径向量,第i条路pi=[bi,bj,...,bk],即pi=[xi,xj,...,xk];
[0030]由于路径长度不一致,为了后续的任务,将路径长度限定到固定长度,固定长度参考路径的长度分布,路径长度为1到300;如果路径长度过长,从路径中起始基本块截取固定长度,如果路径长度不足,为路径填充0到固定长度。
[0031]进一步,其中所述的预测恶意软件所属的攻击组织采用分类模型,分类模型输入
是恶意软件的每条路径与系统初始化过程中生成的每个关键路径片段的最小距离,分类模型为每条路径预测所属的攻击组织,恶意软件归属攻击组织依据该软件所有的路径预测概率求平均所得。
[0032]进一步,分类模型训练使用路径与关键路径片段的最小距离向量和组织标签;恶意软件的一个路径向量与每个关键路径片段的最小距离作为一个模型输入向量;输入向量Ii=[d1,d2,

,dh],Ii是第i条路径和关键路径片段的最小距离向量,di是该路径与关键路径片段psi的最小距离。
[0033]进一步,其中所述的系统运行的主要步骤如下:
[0034]步骤1:函数信息提取,具体步骤同系统初始化的步骤1:恶意软件的函数信息提取;
[0035]步骤2:函数筛选,具体步骤同系统初本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于时间序列的恶意软件归属攻击组织的判定方法,其特征在于:其包括以下步骤:系统初始化和系统运行;其中,系统初始化步骤如下步骤1:恶意软件的函数信息提取使用汇编工具提取恶意软件的函数信息,函数信息是指函数的控制流图即control flow graph,简写CFG;步骤2:恶意软件的函数筛选去除库函数,保留自定义函数,去除不包含API即application programming interface调用的函数,保留至少有一个函数调用的函数;步骤3:恶意软件的路径生成恶意软件的路径生成以具有API调用的基本块为起点,然后根据图论中的中介中心性即betweenness centrality,生成路径;步骤4:恶意软件的特征向量化特征使用ACFG即attributed CFG特征对基本块进行向量化,使用主成分分析方法即principal components analysis,简写PCA对特征进行降维;步骤5:恶意软件的关键路径片段生成使用时间序列算法Shapelets从路径中提取关键路径片段;对路径向量应用时间序列Shapelets算法生成关键路径片段,关键路径片段能够代表路径的子路径,为了减轻Shapelets算法的资源消耗,先使用聚类来减少算法的输入,对路径向量使用HDBSCAN聚类算法进行聚类,将聚类结果中每个类最中心的路径向量用于生成关键路径片段,最终生成h条关键路径片段ps=[ps1,ps2,

,psh]。步骤6:恶意软件归属攻击组织计算恶意软件的每条路径和每个关键路径片段之间的最小距离,作为随机森林分类器的输入,进行恶意软件归属攻击组织的判定。2.根据权利要求1所述的基于时间序列的恶意软件归属攻击组织的判定方法,其特征在于,其中所述的使用反汇编工具提取恶意软件函数的CFG信息,具体包含基本块的指令信息和基本块的跳转关系。3.根据权利要求1所述的基于时间序列的恶意软件归属攻击组织的判定方法,其特征在于,其中所述的去除不包含API调用的函数具体包括对函数内的API调用次数进行统计,去除API调用次数为0的函数。4.根据权利要求1所述的基于时间序列的恶意软件归属攻击组织的判定方法,其特征在于,其中所述的步骤3恶意软件的路径生成是以具有API调用的基本块为起点,分别向前和向后依据更大的中心中介性分数生成路径;假设某函数的CFG中包含n个基本块b1,b2,...,bn。...

【专利技术属性】
技术研发人员:严寒冰王琴琴周彧梅瑞臧天宁
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1