CN113065133A - 一种基于奇异谱变换的恶意软件检测方法 - Google Patents

一种基于奇异谱变换的恶意软件检测方法 Download PDF

Info

Publication number
CN113065133A
CN113065133A CN202110369300.7A CN202110369300A CN113065133A CN 113065133 A CN113065133 A CN 113065133A CN 202110369300 A CN202110369300 A CN 202110369300A CN 113065133 A CN113065133 A CN 113065133A
Authority
CN
China
Prior art keywords
singular
malicious software
spectrum
malicious
matrix
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
CN202110369300.7A
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.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
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 Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202110369300.7A priority Critical patent/CN113065133A/zh
Publication of CN113065133A publication Critical patent/CN113065133A/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
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

本发明提出一种基于奇异谱变换的恶意软件检测方法,解决了现有恶意软件检测方法易误检、实时效率低的问题,首先由恶意软件获得时序恶意信号,然后对恶意信号进行重采样以构建恶意软件时序谱,从而保证获取到最合适的恶意软件谱长度,便于有效分析和分类恶意软件,进一步保证后续的检测准确率,且避免误检,基于恶意软件时序谱进行奇异谱变换,使用轨迹矩阵和测试矩阵的左奇异向量计算变化点得分,得到恶意软件奇异谱;最后对恶意软件奇异谱的参数进行优化,利用机器学习分类算法对恶意软件奇异谱进行检测,无需逆向工程,也无需对恶意软件进行动态调试,支持跨平台恶意软件检测,避免了可视化图形的复杂计算,提高了实时检测的运算速度和效率。

Description

一种基于奇异谱变换的恶意软件检测方法
技术领域
本发明涉及信息安全的技术领域,更具体地,涉及一种基于奇异谱变换的恶意软件检测方法。
背景技术
随着自动化工具如多态和变形引擎、通用封装程序和遗传编程的快速发展,许多变种恶意软件逐渐出现,而由于恶意软件的兴起,信息安全遭受着越来越多的威胁,由于传统方法的受限,面对大数据时代的批量恶意软件检测乏力,恶意软件检测已是不可逾越的一道门槛。
为了有效检测变种恶意软件,研究人员提出了计算机视觉的方法,可视化恶意软件的变种以进行深入的恶意软件分析,可视化的方法具有不使用逆向工程方法、也不对恶意软件进行动态调试,并且支持跨平台恶意软件检测等优点。如2020年10月20日,中国发明专利(公开号CN111797395 A)中公开了一种恶意代码可视化及变种检测方法,该方法检测的对象为恶意代码,过程为:首先获取待检测的恶意代码,然后将恶意代码转换为一维时间序列信号,进一步进行奇异谱变换,最后将奇异变换谱输入至预设恶意代码分类器进行检测,能实现可视化地显示恶意代码对应的奇异变换谱,提高了恶意代码的检测效率和准确率,但进行奇异谱变换后,该方法将奇异变换谱直接输入分类器进行检测,容易导致误检,若对恶意软件层面,则实时检测效率也不高,无法满足大数据时代,高效率低错误率的要求。
发明内容
为解决现有恶意软件检测方法易误检、实时效率低的问题,本发明提出一种基于奇异谱变换的恶意软件检测方法,检测准确率高,可以有效避免误检,同时也避免了复杂运算,提高了实时检测的运算速度和效率。
为了达到上述技术效果,本发明的技术方案如下:
一种基于奇异谱变换的恶意软件检测方法,包括:
S1.获取恶意软件,对恶意软件进行预处理转换,得到时序恶意信号;
S2.对时序恶意信号进行重采样,以构建恶意软件时序谱;
S3.构建恶意软件奇异谱:基于恶意软件时序谱进行奇异谱变换,构建轨迹矩阵和测试矩阵,使用轨迹矩阵和测试矩阵的左奇异向量计算变化点得分,得到恶意软件奇异谱;
S4.对恶意软件奇异谱的参数进行优化;
S5.将恶意软件奇异谱作为恶意软件的特征向量,利用机器学习分类算法对恶意软件奇异谱进行检测。
优选地,步骤S1所述对恶意软件进行预处理转换的过程为:
将恶意软件二进制以8bit为整数,转换为时序恶意信号,每个信号的取值范围为[0,255],十六进制为0x00到0xFF。
优选地,步骤S2所述对时序恶意信号进行重采样的方法为快速傅里叶变换法,对时序恶意信号进行重采样保证获取到最合适的恶意软件谱长度,便于有效分析和分类恶意软件,进一步保证后续的检测准确率,可以有效避免误检。
优选地,重采样的时序恶意信号为一维向量,设进行重采样后的时序恶意信号的长度为n,进行重采样后的恶意信号样本表示为:
S=(s1,s2,Λ,sn)
对于时序信号数据{st∈[0,255]|t=1,2,...,n},定义t时刻长度为w的子序列s(t)的表达式如下:
s(t)=(st-w+1,...,st-1,st)T
其中T代表转置。
优选地,步骤S3所述构建恶意软件奇异谱的具体过程包括:
S31.基于子序列s(t)构造轨迹矩阵
Figure BDA0003008628170000021
设原始采样信号S的长度为N,设轨迹矩阵和测试矩阵之间的时序间隔为L,即时延长度,满足1<L<N,设子序列s(t)的阶是K,即轨迹矩阵的列数,满足1<K<N;设轨迹矩的阵窗口长度是W,即轨迹矩阵的行数,满足1<W<N;则轨迹矩阵
Figure BDA0003008628170000022
的构造表达式如下:
Figure BDA0003008628170000023
Figure BDA0003008628170000031
次对角线上元素相等,是一个汉克尔矩阵;轨迹矩阵
Figure BDA0003008628170000032
表示子序列s(t)的过去代表性模式;
S32.基于子序列s(t)构造测试矩阵
Figure BDA0003008628170000033
设原始采样信号S的长度为N,设轨迹矩阵和测试矩阵之间的时序间隔为L,即时延长度,满足1<L<N,设子序列s(t)的阶是K,即测试矩阵的列数,满足1<K<N;设测试矩阵窗口长度是W,即测试矩阵的行数,满足1<W<N;则测试矩阵
Figure BDA0003008628170000034
的构造表达式如下:
Figure BDA0003008628170000035
Figure BDA0003008628170000036
次对角线上元素相等,是一个汉克尔矩阵;测试矩阵
Figure BDA0003008628170000037
表示子序列s(t)的当前代表性模式;
S33.计算变化点得分,计算表达式为:
Figure BDA0003008628170000038
其中,
Figure BDA0003008628170000039
是轨迹矩阵
Figure BDA00030086281700000310
经过奇异值分解后的左奇异向量;μ(t)是测试矩阵
Figure BDA00030086281700000311
经过奇异值分解后的最大左奇异向量;zt表示变化点得分,0≤zt≤1;r是选取左奇异向量个数,κ代表向量內积,恶意信号样本S=(s1,s2,Λ,sn)所有时刻对应的变化点得分表示为Z=(z1,z2,…,zt,…,zn),构成恶意软件奇异谱。
在此,更进一步,假设有mxn的矩阵A,求解奇异向量就是找到如下分解,将A分解为3个矩阵的乘积:
Figure BDA00030086281700000312
其中,U和V都是正交矩阵,U和V分别叫做A的左奇异向量和右奇异向量,S对角线上的值叫做A的奇异值。奇异谱变换是一种将原始时间序列转换为新的时间序列的方法,使用变化点分数来表示捕捉任何频谱变化的概率分布,从一组时间序列中发现因果关系,也可以清晰地揭示时间序列中两个原始变量在变化点的同步上隐藏的依赖关系,更可以在每个时间点对来自过去和现在域的子序列执行。
优选地,变化点得分能定量地确定恶意软件时序谱的波动,若在t时刻变化点得分大于阈值E1,则子序列s(t)的过去代表性模式与子序列s(t)的当前代表性模式之间存在较大差异,在恶意软件时序谱的时刻存在明显的结构性变化;若变化点得分小于阈值E2时,则子序列s(t)的过去代表性模式与子序列s(t)的当前代表性模式之间无差异。
优选地,步骤S4中恶意软件奇异谱的参数包括:窗口长度W、时延长度L及子序列s(t)的阶K,对恶意软件奇异谱的参数进行优化的方法为粒子群算法。
优选地,利用粒子群算法对恶意软件奇异谱的参数进行优化时,适应度函数为同一恶意软件家族中随机选择的若干个恶意软件奇异谱两两之间的欧式距离的最小和。
优选地,步骤S5所述的机器学习分类算法包括k近邻KNN算法、支持向量机SVM、高斯朴素贝叶斯GNB、极端随机树ET、随机森林RF的一种或任意组合,组合时构成集成机器学习分类算法;机器学习分类算法封装于分类模型,所述分类模型由步骤S1~步骤S4所获得的恶意软件奇异谱训练而成。
优选地,步骤S5中,利用机器学习分类算法对恶意软件奇异谱进行检测时,若检测结果中待检测的目标软件属于恶意软件的某个家族,则目标软件判定为恶意软件。
与现有技术相比,本发明技术方案的有益效果是:
本发明提出一种基于奇异谱变换的恶意软件检测方法,首先对恶意软件进行预处理转换,得到时序恶意信号,然后对恶意信号进行重采样以构建恶意软件时序谱,从而保证获取到最合适的恶意软件谱长度,便于有效分析和分类恶意软件,进一步保证后续的检测准确率,且避免误检,接着基于恶意软件时序谱进行奇异谱变换,构建轨迹矩阵和测试矩阵,使用轨迹矩阵和测试矩阵的左奇异向量计算变化点得分,得到恶意软件奇异谱;最后对恶意软件奇异谱的参数进行优化,利用机器学习分类算法对恶意软件奇异谱进行检测,该方法无需逆向工程,也无需对恶意软件进行动态调试,并且支持跨平台恶意软件检测,而且该方法有效避免了可视化图形的复杂计算,提高了实时检测的运算速度和效率。
附图说明
图1表示本发明实施例中提出的基于奇异谱变换的恶意软件检测方法的流程图;
图2表示本发明实施例中提出的一维时序信号构建奇异谱的过程示意图;
图3表示本发明实施例中提出的在Malimg数据集上实验所得的混淆矩阵的示意图;
图4表示本发明实施例中提出的在Malheur数据集上实验所得的混淆矩阵的示意图;
图5表示本发明实施例中提出的在Android恶意软件Drebin数据集上实验所得的混淆矩阵的示意图;
图6表示本发明实施例中提出的在Android恶意软件PRAGuardMalgenome ClassEncryption数据集上实验所得的混淆矩阵的示意图;
图7表示本发明实施例中提出的采样长度与分类性能之间的关系图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好地说明本实施例,附图某些部位会有省略、放大或缩小,并不代表实际尺寸;
对于本领域技术人员来说,附图中某些公知内容说明可能省略是可以理解的。
附图中描述关系的仅用于示例性说明,不能理解为对本专利的限制;
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例
如图1所示的基于奇异谱变换的恶意软件检测方法的流程图,参见图1,所述方法包括:
S1.获取恶意软件,对恶意软件进行预处理转换,得到时序恶意信号;对恶意软件进行预处理转换的过程为:
将恶意软件二进制以8bit为整数,转换为时序恶意信号,每个信号的取值范围为[0,255],十六进制为0x00到0xFF。
S2.对时序恶意信号进行重采样,以构建恶意软件时序谱;
对时序恶意信号进行重采样的方法为快速傅里叶变换法,具体实施时,使用PythonAPI函数scipy.signal.resample()实现,进行重采样对时序恶意信号进行重采样保证获取到最合适的恶意软件谱长度,便于有效分析和分类恶意软件,进一步保证后续的检测准确率,可以有效避免误检。采样长度作为超参数放入后续模型中训练,采样的目的是为了获取最合适的恶意软件谱长度,恶意软件谱长度尽可能短,但它也要能代表全局唯一特征,采样长度可以取值为256,512等值,这里给出采样长度的理论分析。
根据奈奎斯特法则,
fs≥2fh
其中,fs代表采样频率,fh代表信号最大频率。更进一步有,
fs=NΔf
其中,N代表快速傅里叶变换的个数点,即采样序列长度,Δf为频率分辨率。因此有,
Figure BDA0003008628170000061
在本申请的实施中,可以根据估值范围可以把采样长度作为超参数,在模型训练中动态取值。
重采样的时序恶意信号为一维向量,设进行重采样后的时序恶意信号的长度为n,进行重采样后的恶意信号样本表示为:
S=(s1,s2,A,sn)
对于时序信号数据{st∈[0,255]|t=1,2,...,n},定义t时刻长度为w的子序列s(t)的表达式如下:
s(t)=(st-w+1,...,st-1,st)T
其中,T代表转置。
S3.构建恶意软件奇异谱:基于恶意软件时序谱进行奇异谱变换,构建轨迹矩阵和测试矩阵,使用轨迹矩阵和测试矩阵的左奇异向量计算变化点得分,得到恶意软件奇异谱;
奇异谱变换是一种将原始时间序列转换为新的时间序列的方法,使用变化点分数来表示捕捉任何频谱变化的概率分布,从一组时间序列中发现因果关系,也可以清晰地揭示时间序列中两个原始变量在变化点的同步上隐藏的依赖关系,更可以在每个时间点对来自过去和现在域的子序列执行。奇异谱变换计算采用Python开源库fastsst来实现,具体过程包括:
S31.基于子序列s(t)构造轨迹矩阵
Figure BDA0003008628170000062
设原始采样信号S的长度为N,设轨迹矩阵和测试矩阵之间的时序间隔为L,即时延长度,满足1<L<N,设子序列s(t)的阶是K,即轨迹矩阵的列数,满足1<K<N;设轨迹矩的阵窗口长度是W,即轨迹矩阵的行数,满足1<W<N;则轨迹矩阵
Figure BDA0003008628170000071
的构造表达式如下:
Figure BDA0003008628170000072
Figure BDA0003008628170000073
次对角线上元素相等,是一个汉克尔矩阵;轨迹矩阵
Figure BDA0003008628170000074
表示子序列s(t)的过去代表性模式;
S32.基于子序列s(t)构造测试矩阵
Figure BDA0003008628170000075
设原始采样信号S的长度为N,设轨迹矩阵和测试矩阵之间的时序间隔为L,即时延长度,满足1<L<N,设子序列s(t)的阶是K,即测试矩阵的列数,满足1<K<N;设测试矩阵窗口长度是W,即测试矩阵的行数,满足1<W<N;则测试矩阵
Figure BDA0003008628170000076
的构造表达式如下:
Figure BDA0003008628170000077
Figure BDA0003008628170000078
次对角线上元素相等,是一个汉克尔矩阵;测试矩阵
Figure BDA0003008628170000079
表示子序列s(t)的当前代表性模式;
S33.计算变化点得分,计算表达式为:
Figure BDA00030086281700000710
其中,
Figure BDA00030086281700000711
是轨迹矩阵
Figure BDA00030086281700000712
经过奇异值分解后的左奇异向量;μ(t)是测试矩阵
Figure BDA00030086281700000713
经过奇异值分解后的最大左奇异向量;zt表示变化点得分,0≤zt≤1;r是选取左奇异向量个数,本发明设置其值为10,κ代表向量內积,恶意信号样本S=(s1,s2,Λ,sn)所有时刻对应的变化点得分表示为Z=(z1,z2,…,zt,…,zn),构成恶意软件奇异谱,一维时序信号构建整个奇异谱转换值过程示意图如图2所示。
更进一步,假设有mxn的矩阵A,求解奇异向量就是找到如下分解,将A分解为3个矩阵的乘积:
Figure BDA00030086281700000714
其中,U和V都是正交矩阵,U和V分别叫做A的左奇异向量和右奇异向量,S对角线上的值叫做A的奇异值。
变化点得分能定量地确定恶意软件时序谱的波动,若在t时刻变化点得分大于阈值E1,则子序列s(t)的过去代表性模式与子序列s(t)的当前代表性模式之间存在较大差异,在恶意软件时序谱的时刻存在明显的结构性变化;若变化点得分小于阈值E2时,则子序列s(t)的过去代表性模式与子序列s(t)的当前代表性模式之间无差异。实际上,阈值E1表示一个较大的数,阈值E2表示一个较小的数。
S4.对恶意软件奇异谱的参数进行优化;
参数包括:时延长度L、窗口长度W及子序列s(t)的阶K,对恶意软件奇异谱的参数进行优化的方法为粒子群算法。
具体粒子群算法使用Python开源库scikit-opt来实现,粒子群优化算法(PSO)的灵感来自于鸟类的群集行为。粒子群中飞过多维搜索空间的每一个粒子都代表一个候选解。在迭代搜索的过程中,每个粒子都可以从自己的经验中受益,称为个人最佳(pbest),而全局最佳(gbest)是指所有其他粒子的经验。因此,粒子可以调整自身的速度和位置,通过适应度函数计算出一个更好的适应度值。粒子群算法在寻找全局最优解方面具有较强的性能。粒子位置和速度的更新公式如下:
Figure BDA0003008628170000081
Figure BDA0003008628170000082
其中,
Figure BDA0003008628170000083
Figure BDA0003008628170000084
分别代表粒子i在第j维第t次迭代的位置和向量,ω是一个惯性因子,r1j和r2j是第j维中取值在[0,1]之间服从正态分布的随机值,c1和c2是加速因子,本发明设置为1.494.
利用粒子群算法对恶意软件奇异谱的参数进行优化时,在本实施例中,适应度函数为同一恶意软件家族中随机选择的6个恶意软件奇异谱两两之间的欧式距离的最小和。
再进一步,设X=(x1,x2,...xn)∈Rn,Y=(y1,y2,...,yn)∈Rn,那么X和Y的欧式距离为:
Figure BDA0003008628170000085
本发明中粒子群算法中部分参数为lb=[1;30;1];ub=[50;80;100];w=0.8。
S5.将恶意软件奇异谱作为恶意软件的特征向量,利用机器学习分类算法对恶意软件奇异谱进行检测。
机器学习分类算法包括k近邻KNN算法、支持向量机SVM、高斯朴素贝叶斯GNB、极端随机树ET、随机森林RF的一种或任意组合,组合时构成集成机器学习分类算法,即投票分类器;机器学习分类算法可以使用Python开源库scikit-learn实现,分类算法由于采用了标准API函数,这里不再赘述,机器学习分类算法封装于分类模型,所述分类模型由步骤S1~步骤S4所获得的恶意软件奇异谱训练而成。
利用机器学习分类算法对恶意软件奇异谱进行检测时,若检测结果中待检测的目标软件属于恶意软件的某个家族,则目标软件判定为恶意软件。
结合本申请实施例所提供的技术方案进行实验,为了直观反映方案的效果,选择多个指标作为评价依据,分别是准确率Accuracy、精确率Precision、召回率Recall、F1分数F1-score。具体表达式定义如下:
Figure BDA0003008628170000091
Figure BDA0003008628170000092
Figure BDA0003008628170000093
Figure BDA0003008628170000094
其中,TP=true positive,即将实际为正样例预测为正样例的个数。TN=truenegative,即将实际为负样例预测为负样例的个数,FP=false positive,将实际为负样例预测为正样例的个数,FN=false negative,将实际为正样例预测为负样例的个数。
在Malimg数据集上实验,该数据集为Windows平台恶意软件,包含25类,共9339个恶意软件。设置采样长度为256,采用投票分类器(VC),它包含高斯朴素贝叶斯(GNB)、极端随机树(ET)和随机森林(RF)分类算法,实验结果显示上述四项指标均高达100%。通过实验所得到的混淆矩阵如图3所示。
本发明实验结果与其他主流算法结果比较如表1所示;
表1
Figure BDA0003008628170000101
表1中,纵向表示算法类型,横向从左往右分别表示准确率、精确率、召回率及F1分数,明显地,本发明提出算法在准确率、精确率、召回率及F1分数方面均优(达到1)于上述主流的任意一种算法。
在Malheur数据集上实验,该数据集为Windows平台恶意软件,包含24类,共3131个恶意软件。采样长度设置为256,采用随机森林(RF)分类算法,上述四项指标均高达99%以上,其中,通过实验所得到的混淆矩阵如图4所示。本发明实验结果与其他主流算法结果比较如表2所示;
表2
Figure BDA0003008628170000102
明显地,本发明提出算法优于上述主流的任意一种算法。
在Android恶意软件Drebin数据集上,随机选取该数据集中24类,共4785个恶意软件。采样长度设置为256,采用随机森林(RF)分类算法,上述四项指标均高达99%,其中,通过实验所得到的混淆矩阵如图5所示。
本发明实验结果与其他主流算法结果比较如表3所示:
表3
Figure BDA0003008628170000111
明显地,本发明提出算法优于上述主流的任意一种算法。
在Android恶意软件PRAGuardMalgenome Class Encryption数据集上,选取数据较多的9个类,共608个恶意软件。采样长度设为512,采用随机森林(RF)分类算法,上述四项指标均高达100%。其中,通过实验所得到的混淆矩阵如图6所示;本实验结果与其他主流算法结果比较如表3所示;
表3
Figure BDA0003008628170000112
明显地,本发明提出算法优于上述主流的任意一种算法。
为了研究采样长度与分类性能的关系,实验中设置采样长度为28至213。研究采样长度与分类性能和精度之间的关系,本发明使用不同采样长度进行实验,使用不同的采样长度后,分类结果运行时间表如表4所示,总体来说,采样长度越长,分类运算耗时越长,但采样长度过短会影响识别准确率,实验发现当采样长度大于512时,分类性能不再提高。因此在实际分类中采样长度通常为256或512。
表4
Figure BDA0003008628170000113
实验得到的采样长度与分类性能之间的关系图如图7所示,其中横坐标表示采样长度,纵坐标表示准确率,由图7可见采样长度太长会导致性能下降,但采样长度过短会导致精度不够。
为了进一步说明采样长度与分类准确率,本发明通过实验得到了四类恶意软件最佳采样长度,在最佳采样长度上可以得到本发明实验的最佳性能和最准确的识别结果。四类数据集上最佳采样长度如表5所示:
表5
Figure BDA0003008628170000121
显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种基于奇异谱变换的恶意软件检测方法,其特征在于,包括:
S1.获取恶意软件,对恶意软件进行预处理转换,得到时序恶意信号;
S2.对时序恶意信号进行重采样,以构建恶意软件时序谱;
S3.构建恶意软件奇异谱:基于恶意软件时序谱进行奇异谱变换,构建轨迹矩阵和测试矩阵,使用轨迹矩阵和测试矩阵的左奇异向量计算变化点得分,得到恶意软件奇异谱;
S4.对恶意软件奇异谱的参数进行优化;
S5.将恶意软件奇异谱作为恶意软件的特征向量,利用机器学习分类算法对恶意软件奇异谱进行检测。
2.根据权利要求1所述的基于奇异谱变换的恶意软件检测方法,其特征在于,步骤S1所述对恶意软件进行预处理转换的过程为:
将恶意软件二进制以8bit为整数,转换为时序恶意信号,每个信号的取值范围为[0,255],十六进制为0x00到0xFF。
3.根据权利要求2所述的基于奇异谱变换的恶意软件检测方法,其特征在于,步骤S2所述对时序恶意信号进行重采样的方法为快速傅里叶变换法。
4.根据权利要求3所述的基于奇异谱变换的恶意软件检测方法,其特征在于,重采样的时序恶意信号为一维向量,设进行重采样后的时序恶意信号的长度为n,进行重采样后的恶意信号样本表示为:
S=(s1,s2,Λ,sn)
对于时序信号数据{st∈[0,255]|t=1,2,…,n},定义t时刻长度为w的子序列s(t)的表达式如下:
s(t)=(st-w+1,…,st-1,st)T
其中T代表转置。
5.根据权利要求4所述的基于奇异谱变换的恶意软件检测方法,其特征在于,步骤S3所述构建恶意软件奇异谱的具体过程包括:
S31.基于子序列s(t)构造轨迹矩阵
Figure FDA0003008628160000011
设原始采样信号S的长度为N,设轨迹矩阵和测试矩阵之间的时序间隔为L,即时延长度,满足1<L<N,设子序列s(t)的阶是K,即轨迹矩阵的列数,满足1<K<N;设轨迹矩的阵窗口长度是W,即轨迹矩阵的行数,满足1<W<N;则轨迹矩阵
Figure FDA0003008628160000021
的构造表达式如下:
Figure FDA0003008628160000022
Figure FDA0003008628160000023
次对角线上元素相等,是一个汉克尔矩阵;轨迹矩阵
Figure FDA0003008628160000024
表示子序列s(t)的过去代表性模式;
S32.基于子序列s(t)构造测试矩阵
Figure FDA0003008628160000025
设原始采样信号S的长度为N,设轨迹矩阵和测试矩阵之间的时序间隔为L,即时延长度,满足1<L<N,设子序列s(t)的阶是K,即测试矩阵的列数,满足1<K<N;设测试矩阵窗口长度是W,即测试矩阵的行数,满足1<W<N;则测试矩阵
Figure FDA0003008628160000026
的构造表达式如下:
Figure FDA0003008628160000027
Figure FDA0003008628160000028
次对角线上元素相等,是一个汉克尔矩阵;测试矩阵
Figure FDA0003008628160000029
表示子序列s(t)的当前代表性模式;
S33.计算变化点得分,计算表达式为:
Figure FDA00030086281600000210
其中,
Figure FDA00030086281600000211
是轨迹矩阵
Figure FDA00030086281600000212
经过奇异值分解后的左奇异向量;μ(t)是测试矩阵
Figure FDA00030086281600000213
经过奇异值分解后的最大左奇异向量;zt表示变化点得分,0≤zt≤1;r是选取左奇异向量个数,κ代表向量內积,恶意信号样本S=(s1,s2,Λ,sn)所有时刻对应的变化点得分表示为Z=(z1,z2,…,zt,…,zn),构成恶意软件奇异谱。
6.根据权利要求5所述的基于奇异谱变换的恶意软件检测方法,其特征在于,变化点得分能定量地确定恶意软件时序谱的波动,若在t时刻变化点得分大于阈值E1,则子序列s(t)的过去代表性模式与子序列s(t)的当前代表性模式之间存在较大差异,在恶意软件时序谱的时刻存在明显的结构性变化;若变化点得分小于阈值E2时,则子序列s(t)的过去代表性模式与子序列s(t)的当前代表性模式之间无差异。
7.根据权利要求6所述的基于奇异谱变换的恶意软件检测方法,其特征在于,步骤S4中恶意软件奇异谱的参数包括:窗口长度W、时延长度L及子序列s(t)的阶K,对恶意软件奇异谱的参数进行优化的方法为粒子群算法。
8.根据权利要求7所述的基于奇异谱变换的恶意软件检测方法,其特征在于,利用粒子群算法对恶意软件奇异谱的参数进行优化时,适应度函数为同一恶意软件家族中随机选择的若干个恶意软件奇异谱两两之间的欧式距离的最小和。
9.根据权利要求8所述的基于奇异谱变换的恶意软件检测方法,其特征在于,步骤S5所述的机器学习分类算法包括k近邻KNN算法、支持向量机SVM、高斯朴素贝叶斯GNB、极端随机树ET、随机森林RF的一种或任意组合,组合时构成集成机器学习分类算法;机器学习分类算法封装于分类模型,所述分类模型由步骤S1~步骤S4所获得的恶意软件奇异谱训练而成。
10.根据权利要求9所述的基于奇异谱变换的恶意软件检测方法,其特征在于,步骤S5中,利用机器学习分类算法对恶意软件奇异谱进行检测时,若检测结果中待检测的目标软件属于恶意软件的某个家族,则目标软件判定为恶意软件。
CN202110369300.7A 2021-04-06 2021-04-06 一种基于奇异谱变换的恶意软件检测方法 Pending CN113065133A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110369300.7A CN113065133A (zh) 2021-04-06 2021-04-06 一种基于奇异谱变换的恶意软件检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110369300.7A CN113065133A (zh) 2021-04-06 2021-04-06 一种基于奇异谱变换的恶意软件检测方法

Publications (1)

Publication Number Publication Date
CN113065133A true CN113065133A (zh) 2021-07-02

Family

ID=76565981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110369300.7A Pending CN113065133A (zh) 2021-04-06 2021-04-06 一种基于奇异谱变换的恶意软件检测方法

Country Status (1)

Country Link
CN (1) CN113065133A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024762A (zh) * 2021-11-11 2022-02-08 湖南大学 一种基于S-R分析和FASSA-SVM的LDoS攻击检测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797396A (zh) * 2020-06-28 2020-10-20 韩山师范学院 恶意代码可视化及变种检测方法、装置、设备及存储介质
CN111797395A (zh) * 2020-06-28 2020-10-20 韩山师范学院 恶意代码可视化及变种检测方法、装置、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797396A (zh) * 2020-06-28 2020-10-20 韩山师范学院 恶意代码可视化及变种检测方法、装置、设备及存储介质
CN111797395A (zh) * 2020-06-28 2020-10-20 韩山师范学院 恶意代码可视化及变种检测方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024762A (zh) * 2021-11-11 2022-02-08 湖南大学 一种基于S-R分析和FASSA-SVM的LDoS攻击检测方法
CN114024762B (zh) * 2021-11-11 2022-08-16 湖南大学 一种基于S-R分析和FASSA-SVM的LDoS攻击检测方法

Similar Documents

Publication Publication Date Title
CN106248368B (zh) 一种基于深度学习的燃机涡轮叶片故障检测方法
Arbin et al. Comparative analysis between k-means and k-medoids for statistical clustering
US20130304783A1 (en) Computer-implemented method for analyzing multivariate data
CN110263834B (zh) 一种新能源电能质量异常值的检测方法
CN111325264A (zh) 一种基于熵的多标签数据分类方法
Yang et al. Enhanced hierarchical symbolic dynamic entropy and maximum mean and covariance discrepancy-based transfer joint matching with Welsh loss for intelligent cross-domain bearing health monitoring
CN112738092A (zh) 一种日志数据增强方法、分类检测方法及系统
CN113447759A (zh) 一种多分类的rvm电网故障判别方法和系统
CN111400713B (zh) 基于操作码邻接图特征的恶意软件族群分类方法
CN112489723A (zh) 基于局部进化信息的dna结合蛋白预测方法
CN113065133A (zh) 一种基于奇异谱变换的恶意软件检测方法
CN112362292B (zh) 对风洞试验数据进行异常检测的方法
CN113554716A (zh) 基于知识蒸馏的瓷砖色差检测方法及装置
Dhyaram et al. RANDOM SUBSET FEATURE SELECTION FOR CLASSIFICATION.
CN113361194A (zh) 一种基于深度学习的传感器漂移校准方法、电子设备及存储介质
Gan et al. DSAE-Impute: Learning discriminative stacked autoencoders for imputing single-cell rna-seq data
Abas et al. Agarwood oil quality classifier using machine learning
Kuenzel Gene clustering methods for time series microarray data
CN111581640A (zh) 一种恶意软件检测方法、装置及设备、存储介质
Johnpaul et al. Representational primitives using trend based global features for time series classification
CN116978445B (zh) 一种天然产物的结构预测系统、预测方法及设备
Shi et al. Key Process Protection of High Dimensional Process Data in Complex Production.
Göbler et al. $\textttcausalAssembly $: Generating Realistic Production Data for Benchmarking Causal Discovery
Akond et al. Classification of functional metagenomes recovered from different environmental samples
Ambarsari et al. Comparison Approaches of the Fuzzy C-Means and Gaussian Mixture Model in Clustering the Welfare of the Indonesian People

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210702

WD01 Invention patent application deemed withdrawn after publication