CN111797398B - 恶意代码可视化及变种检测方法、系统、设备及存储介质 - Google Patents
恶意代码可视化及变种检测方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN111797398B CN111797398B CN202010600580.3A CN202010600580A CN111797398B CN 111797398 B CN111797398 B CN 111797398B CN 202010600580 A CN202010600580 A CN 202010600580A CN 111797398 B CN111797398 B CN 111797398B
- Authority
- CN
- China
- Prior art keywords
- malicious code
- malicious
- time sequence
- hilbert
- hilbert transformation
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 93
- 238000012800 visualization Methods 0.000 title claims abstract description 81
- 238000001228 spectrum Methods 0.000 claims abstract description 162
- 230000009466 transformation Effects 0.000 claims abstract description 138
- 238000012549 training Methods 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000012360 testing method Methods 0.000 claims description 27
- 238000007635 classification algorithm Methods 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 238000005070 sampling Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 abstract description 22
- 230000003068 static effect Effects 0.000 abstract description 12
- 230000000007 visual effect Effects 0.000 abstract description 7
- 238000013145 classification model Methods 0.000 abstract description 4
- 241000700605 Viruses Species 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000002790 cross-validation Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 238000007637 random forest analysis Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007794 visualization technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种恶意代码可视化及变种检测方法、系统、设备及存储介质,所述恶意代码可视化及变种检测方法通过将恶意代码转化为一维时间序列信号,以便获取恶意代码的时间序列信号特征,相比提取静态语义特征以及二维图像纹理特征,大大减小了时间开销;通过输出恶意代码所对应的希尔伯特变换谱,便于从视觉上直观感知各个变种的共同之处和细微差异,为理解和掌握该家族变种演化提供了依据;通过基于恶意代码样本对应的希尔伯特变换谱进行分类模型训练,使得恶意代码家族分类更加快速准确。本发明的可视化分析能够采用程序化的方式执行,相比恶意代码静态语义特征的分析,降低了恶意代码分析人员的专业技术要求。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种恶意代码可视化及变种检测方法、系统、设备及存储介质。
背景技术
据统计目前国际上有数万种病毒,而变种病毒却有成百上千万,恶意代码变种率从2011年的每个家族变种率为5:1,到如今1000:1以上。研究表明绝大多数的新型恶意代码都是由已知的恶意代码变异而得,而这样的变种恶意代码间只有不到2%的代码差异,这给分析恶意代码的安全研究人员提供了变种检测依据,通过检测恶意代码核心模块的相似度来对恶意代码进行变种检测。恶意代码变种检测已经成为了恶意代码检测的重点和难点。
目前,恶意代码可视化及变种检测方法从所采用的特征角度来看,主要有以下两种:基于静态语义特征的方法和基于图像纹理特征的方法。基于静态语义特征的方法主要是从恶意代码中提取操作码序列、应用程序接口(API,Application ProgrammingInterface)函数调用序列、控制流、数据流和程序依赖关系等进行分析。这种方法对程序代码的分析依赖于反汇编代码的精度,且通常会涉及判断子图同构的问题,而判断子图同构问题是NP完全(Non-deterministic Polynomial Complete)问题,判断过程耗时较长。基于图像纹理特征的方法)需要从图像这种二维数据提取特征,特征提取过程比较复杂,运行效率也比较低。故上述的种种情况均反映出现有的恶意代码可视化及变种检测方法的效率低下的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种恶意代码可视化及变种检测方法,旨在解决现有的恶意代码变种检测方法的效率低下的技术问题,其可视化方法可从视觉上直观感知各个变种的共同之处和细微差异,为理解和掌握该家族变种演化提供了依据。
为实现上述目的,本发明提供一种恶意代码可视化及变种检测方法,所述恶意代码可视化及变种检测方法包括:
获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号;
将所述一维时间序列信号进行希尔伯特变换,得到与所述恶意代码对应的希尔伯特变换谱并输出;
基于所述恶意代码对应的希尔伯特变换谱,利用预设恶意代码分类器对所述恶意代码进行变种检测,以得到所述恶意代码所属的家族信息,其中,所述恶意代码分类器基于预设恶意代码样本所对应的希尔伯特变换谱训练所得。
可选地,所述获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号的步骤包括:
获取所述恶意代码的二进制可执行文件,按照每预设二进制位数对应一无符号整数的转换规则,将所述二进制可执行文件转换为一维整数数组;
将所述一维整数数组按照预设采样规则进行下采样,得到并输出所述一维时间序列信号。
可选地,所述将所述一维时间序列信号进行希尔伯特变换,得到与所述恶意代码对应的希尔伯特变换谱并输出的步骤包括:
将所述一维时间序列信号进行希尔伯特变换,得到所述一维时间序列信号的包络、瞬时相位与瞬时频率;
将所述包络、瞬时相位与瞬时频率堆叠成所述恶意代码对应的希尔伯特变换谱并显示。
可选地,所述恶意代码分类器包括第一恶意代码分类器,
所述获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号的步骤之前,还包括:
获取预设恶意代码文件数据库中的恶意代码样本,并得到所述恶意代码样本所对应的希尔伯特变换谱数据库;
将所述希尔伯特变换谱数据库中的数据分为第一训练集与第一测试集,并基于预设第一分类算法,对所述第一训练集与第一测试集进行交叉验证,以得到第一恶意代码分类器。
可选地,所述恶意代码分类器包括第二恶意代码分类器,
所述获取预设恶意代码文件数据库中的恶意代码样本,并得到所述恶意代码样本所对应的希尔伯特变换谱的步骤之后,还包括:
对所述恶意代码样本所对应的希尔伯特变换谱提取样本时间序列特征,以生成所述恶意代码样本所对应的希尔伯特变换谱及特征数据库;
将所述希尔伯特变换谱及特征数据库中的数据分为第二训练集与第二测试集,并基于预设第二分类算法,对所述第二训练集与第二测试集进行交叉验证,以得到第二恶意代码分类器。
可选地,所述时间序列特征包括对数梅尔滤波器组能量特征,
所述对所述恶意代码样本所对应的希尔伯特变换谱提取样本时间序列特征的步骤之前,还包括:
将所述恶意代码样本转换成样本时间序列信号,并对所述样本时间序列信号进行下采样;
将下采样后的样本时间序列信号进行希尔伯特变换,得到所述恶意代码样本所对应的希尔伯特变换谱,以对所述恶意代码样本所对应的希尔伯特变换谱提取对数梅尔滤波器组能量特征。
可选地,所述基于所述恶意代码对应的希尔伯特变换谱,利用预设恶意代码分类器对所述恶意代码进行变种检测,以得到所述恶意代码所属的家族信息的步骤包括:
将所述恶意代码对应的希尔伯特变换谱,或从所述恶意代码对应的希尔伯特变换谱中提取出的待测时间序列特征输入所述恶意代码分类器,基于所述恶意代码分类器判断所述恶意代码是否属于已有恶意代码的变种;
若是,则获取并输出所述已有恶意代码的所属家族信息;
若否,则将所述恶意代码列为新型恶意代码家族。
此外,为实现上述目的,本发明还提供一种恶意代码可视化及变种检测系统,所述恶意代码可视化及变种检测系统包括:
时间序列转换模块,用于获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号;
希尔伯特变换模块,用于将所述一维时间序列信号进行希尔伯特变换,得到与所述恶意代码对应的希尔伯特变换谱并输出;
代码变种检测模块,用于基于所述恶意代码对应的希尔伯特变换谱,利用预设恶意代码分类器对所述恶意代码进行变种检测,以得到所述恶意代码所属的家族信息,其中,所述恶意代码分类器基于预设恶意代码样本所对应的希尔伯特变换谱训练所得。
可选地,所述时间序列转换模块包括:
整数数组转换单元,用于获取所述恶意代码的二进制可执行文件,按照每预设二进制位数对应一无符号整数的转换规则,将所述二进制可执行文件转换为一维整数数组;
时间序列采样单元,用于将所述一维整数数组按照预设采样规则进行下采样,得到并输出所述一维时间序列信号。
可选地,所述希尔伯特变换模块包括:
希尔伯特变换单元,用于将所述一维时间序列信号进行希尔伯特变换,得到所述一维时间序列信号的包络、瞬时相位与瞬时频率;
特征向量堆叠单元,用于将所述包络、瞬时相位与瞬时频率堆叠成所述恶意代码对应的希尔伯特变换谱并显示。
可选地,所述恶意代码可视化及变种检测系统还包括:
恶意代码样本模块,用于获取预设恶意代码文件数据库中的恶意代码样本,并得到所述恶意代码样本所对应的希尔伯特变换谱数据库;
第一交叉验证模块,用于将所述希尔伯特变换谱数据库中的数据分为第一训练集与第一测试集,并基于预设第一分类算法,对所述第一训练集与第一测试集进行交叉验证,以得到第一恶意代码分类器。
可选地,所述恶意代码分类器包括第二恶意代码分类器,
所述恶意代码可视化及变种检测系统还包括:
序列特征提取模板,用于对所述恶意代码样本所对应的希尔伯特变换谱提取样本时间序列特征,以生成所述恶意代码样本所对应的希尔伯特变换谱及特征数据库;
第二交叉验证模块,用于将所述希尔伯特变换谱及特征数据库中的数据分为第二训练集与第二测试集,并基于预设第二分类算法,对所述第二训练集与第二测试集进行交叉验证,以得到第二恶意代码分类器。
可选地,所述时间序列特征包括对数梅尔滤波器组能量特征,
所述恶意代码可视化及变种检测系统还包括:
样本序列采样模块,用于将所述恶意代码样本转换成样本时间序列信号,并对所述样本时间序列信号进行下采样;
能量特征提取模块,用于将下采样后的样本时间序列信号进行希尔伯特变换,得到所述恶意代码样本所对应的希尔伯特变换谱,以对所述恶意代码样本所对应的希尔伯特变换谱提取对数梅尔滤波器组能量特征。
可选地,所述代码变种检测模块包括:
将所述恶意代码对应的希尔伯特变换谱,或从所述恶意代码对应的希尔伯特变换谱中提取出的待测时间序列特征输入所述恶意代码分类器,基于所述恶意代码分类器判断所述恶意代码是否属于已有恶意代码的变种;
若是,则获取并输出所述已有恶意代码的所属家族信息;
若否,则将所述恶意代码列为新型恶意代码家族。
此外,为实现上述目的,本发明还提供一种恶意代码可视化及变种检测设备,所述恶意代码可视化及变种检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的恶意代码可视化及变种检测程序,所述恶意代码可视化及变种检测程序被所述处理器执行时实现如上述的恶意代码可视化及变种检测方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有恶意代码可视化及变种检测程序,所述恶意代码可视化及变种检测程序被处理器执行时实现如上述的恶意代码可视化及变种检测方法的步骤。
本发明提供一种恶意代码可视化及变种检测方法、系统、设备及计算机可读存储介质。所述恶意代码可视化及变种检测方法通过获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号;将所述一维时间序列信号进行希尔伯特变换,得到与所述恶意代码对应的希尔伯特变换谱并输出;基于所述恶意代码对应的希尔伯特变换谱,利用预设恶意代码分类器对所述恶意代码进行变种检测,以得到所述恶意代码所属的家族信息,其中,所述恶意代码分类器基于预设恶意代码样本所对应的希尔伯特变换谱训练所得。通过上述方式,本发明通过将恶意代码转化为一维时间序列信号,以便获取恶意代码的时间序列信号特征,相比提取静态语义特征以及二维图像纹理特征,大大减小了时间开销;通过输出恶意代码所对应的希尔伯特变换谱,便于从视觉上直观感知各个变种的共同之处和细微差异,为理解和掌握该家族变种演化提供了依据;通过基于恶意代码样本对应的希尔伯特变换谱进行分类模型训练,使得恶意代码家族分类更加快速准确。本发明的可视化分析能够采用程序化的方式执行,相比恶意代码静态语义特征的分析,降低了恶意代码分析人员的专业技术要求,从而解决了现有的恶意代码可视化及变种检测方法的效率低下的技术问题。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的恶意代码可视化及变种检测设备结构示意图;
图2为本发明恶意代码可视化及变种检测方法第一实施例的流程示意图;
图3为本发明恶意代码可视化及变种检测方法一具体实施例中的检测流程示意图;
图4为本发明恶意代码可视化及变种检测方法一具体实施例中Dialplatform.B恶意代码的Hilbert变换谱图;
图5为本发明恶意代码可视化及变种检测方法一具体实施例中Fakerean恶意代码的Hilbert变换谱图;
图6为本发明恶意代码可视化及变种检测方法一具体实施例中EJIK恶意代码的Hilbert变换谱图;
图7为本发明恶意代码可视化及变种检测方法一具体实施例中BANCOS恶意代码的Hilbert变换谱图;
图8为本发明恶意代码可视化及变种检测方法一具体实施例中第一种恶意代码分类器的训练方式示意图;
图9为本发明恶意代码可视化及变种检测方法一具体实施例中Malimg恶意代码分类混淆矩阵示意图;
图10为本发明恶意代码可视化及变种检测方法一具体实施例中第二种恶意代码分类器的训练方式示意图;
图11为本发明恶意代码可视化及变种检测方法一具体实施例中Malheur恶意代码分类混淆矩阵示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的恶意代码可视化及变种检测设备结构示意图。
本发明实施例恶意代码可视化及变种检测设备可以是PC、平板电脑等具有显示功能的终端设备。
如图1所示,该恶意代码可视化及变种检测设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图1中示出的恶意代码可视化及变种检测设备结构并不构成对恶意代码可视化及变种检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及恶意代码可视化及变种检测程序。
在图1所示的恶意代码可视化及变种检测设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的恶意代码可视化及变种检测程序,并执行以下操作:
获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号;
将所述一维时间序列信号进行希尔伯特变换,得到与所述恶意代码对应的希尔伯特变换谱并输出;
基于所述恶意代码对应的希尔伯特变换谱,利用预设恶意代码分类器对所述恶意代码进行变种检测,以得到所述恶意代码所属的家族信息,其中,所述恶意代码分类器基于预设恶意代码样本所对应的希尔伯特变换谱训练所得。
进一步地,所述获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号的步骤包括:
获取所述恶意代码的二进制可执行文件,按照每预设二进制位数对应一无符号整数的转换规则,将所述二进制可执行文件转换为一维整数数组;
将所述一维整数数组按照预设采样规则进行下采样,得到并输出所述一维时间序列信号。
进一步地,所述将所述一维时间序列信号进行希尔伯特变换,得到与所述恶意代码对应的希尔伯特变换谱并输出的步骤包括:
将所述一维时间序列信号进行希尔伯特变换,得到所述一维时间序列信号的包络、瞬时相位与瞬时频率;
将所述包络、瞬时相位与瞬时频率堆叠成所述恶意代码对应的希尔伯特变换谱并显示。
进一步地,所述恶意代码分类器包括第一恶意代码分类器,
所述获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号的步骤之前,还包括:
获取预设恶意代码文件数据库中的恶意代码样本,并得到所述恶意代码样本所对应的希尔伯特变换谱数据库;
将所述希尔伯特变换谱数据库中的数据分为第一训练集与第一测试集,并基于预设第一分类算法,对所述第一训练集与第一测试集进行交叉验证,以得到第一恶意代码分类器。
进一步地,所述恶意代码分类器包括第二恶意代码分类器,
所述获取预设恶意代码文件数据库中的恶意代码样本,并得到所述恶意代码样本所对应的希尔伯特变换谱的步骤之后,还包括:
对所述恶意代码样本所对应的希尔伯特变换谱提取样本时间序列特征,以生成所述恶意代码样本所对应的希尔伯特变换谱及特征数据库;
将所述希尔伯特变换谱及特征数据库中的数据分为第二训练集与第二测试集,并基于预设第二分类算法,对所述第二训练集与第二测试集进行交叉验证,以得到第二恶意代码分类器。
进一步地,所述时间序列特征包括对数梅尔滤波器组能量特征,
所述对所述恶意代码样本所对应的希尔伯特变换谱提取样本时间序列特征的步骤之前,处理器1001可以调用存储器1005中存储的恶意代码可视化及变种检测程序,还执行以下操作:
将所述恶意代码样本转换成样本时间序列信号,并对所述样本时间序列信号进行下采样;
将下采样后的样本时间序列信号进行希尔伯特变换,得到所述恶意代码样本所对应的希尔伯特变换谱,以对所述恶意代码样本所对应的希尔伯特变换谱提取对数梅尔滤波器组能量特征。
进一步地,所述基于所述恶意代码对应的希尔伯特变换谱,利用预设恶意代码分类器对所述恶意代码进行变种检测,以得到所述恶意代码所属的家族信息的步骤包括:
将所述恶意代码对应的希尔伯特变换谱,或从所述恶意代码对应的希尔伯特变换谱中提取出的待测时间序列特征输入所述恶意代码分类器,基于所述恶意代码分类器判断所述恶意代码是否属于已有恶意代码的变种;
若是,则获取并输出所述已有恶意代码的所属家族信息;
若否,则将所述恶意代码列为新型恶意代码家族。
基于上述硬件结构,提出本发明恶意代码可视化及变种检测方法的各个实施例。
据统计目前国际上有数万种病毒,而变种病毒却有成百上千万,恶意代码变种率从2011年的每个家族变种率为5:1,到如今1000:1以上。研究表明绝大多数的新型恶意代码都是由已知的恶意代码变异而得,而这样的变种恶意代码间只有不到2%的代码差异,这给分析恶意代码的安全研究人员提供了变种检测依据,通过检测恶意代码核心模块的相似度来对恶意代码进行变种检测。恶意代码变种检测已经成为了恶意代码检测的重点和难点。
目前,恶意代码可视化及变种检测方法从所采用的特征角度来看,主要有以下两种:基于静态语义特征的方法和基于图像纹理特征的方法。基于静态语义特征的方法主要是从恶意代码中提取操作码序列、应用程序接口(API,Application ProgrammingInterface)函数调用序列、控制流、数据流和程序依赖关系等进行分析。这种方法对程序代码的分析依赖于反汇编代码的精度,且通常会涉及判断子图同构的问题,而判断子图同构问题是NP完全(Non-deterministic Polynomial Complete)问题,判断过程耗时较长。基于图像纹理特征的方法)需要从图像这种二维数据提取特征,特征提取过程比较复杂,运行效率也比较低。故上述的种种情况均反映出现有的恶意代码可视化及变种检测方法的效率低下的技术问题。
为解决上述问题,本发明提供一种恶意代码可视化及变种检测方法,即通过将恶意代码转化为一维时间序列信号,以便获取恶意代码的时间序列信号特征,相比提取静态语义特征以及二维图像纹理特征,大大减小了时间开销;通过输出恶意代码所对应的希尔伯特变换谱,便于从视觉上直观感知各个变种的共同之处和细微差异,为理解和掌握该家族变种演化提供了依据;通过基于恶意代码样本对应的希尔伯特变换谱进行分类模型训练,使得恶意代码家族分类更加快速准确。本发明的可视化分析能够采用程序化的方式执行,相比恶意代码静态语义特征的分析,降低了恶意代码分析人员的专业技术要求,从而解决了现有的恶意代码可视化及变种检测方法的效率低下的技术问题。所述恶意代码可视化及变种检测方法应用于装有恶意代码可视化及变种检测系统的终端设备。
参照图2,图2为恶意代码可视化及变种检测方法第一实施例的流程示意图。
本发明第一实施例提供一种恶意代码可视化及变种检测方法,所述恶意代码可视化及变种检测方法包括以下步骤:
步骤S10,获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号;
在本实施例中,恶意代码是指故意编制或设置的、对网络或系统会产生威胁或潜在威胁的计算机代码。最常见的恶意代码有计算机病毒、特洛伊木马、计算机蠕虫、后门、逻辑炸弹等。恶意代码通常记录于二进制可执行文件中。恶意代码的获取方式可为用户向终端导入,或是终端根据预设程序自动获取等,本实施例对此不做限制。装有恶意代码可视化及变种检测系统的终端在获取到当前需要检测的恶意代码文件时,从恶意代码文件中读取恶意代码数据,并按照预设读取规则,将二进制的恶意代码数据转换成多个一维无符号整数数组。例如,读取规则为,每八位二进制数据读取成一个对应的取值范围在0至255的无符号整数,则可将当前恶意代码文件中所有的二进制恶意代码数据全部转换为对应的一维整数数组。系统将二进制恶意代码数据转换得到的一维整数数组视为一维样值时间序列信号,并按照固定长度或是一定比例进行下采样,即可在一维样值时间序列信号的基础上得到一维时间序列信号。其中,对于一个样值序列间隔几个样值取样一次,这样得到新序列就是原序列的下采样。需要说明的是,恶意代码所对应的一维时间序列可对用户进行显示,以增强恶意代码变种检测的可视性。
步骤S20,将所述一维时间序列信号进行希尔伯特变换,得到与所述恶意代码对应的希尔伯特变换谱并输出;
希尔伯特(Hilbert)变换,一个连续时间信号x(t)的希尔伯特变换等于该信号通过具有冲激响应h(t)=1/πt的线性系统以后的输出响应xh(t),信号经希尔伯特变换后,在频域各频率分量的幅度保持不变,但相位将出现90°相移。
在本实施例中,设定一维时间序列信号S的长度为n,也即是S=(s1,s2,…,sn),并表示为一维时间序列信号的实函数s(t),t∈[1,n],则可对实函数S(t)进行Hilbert变换,将其变换为其中*表示卷积,H[]表示Hilbert变换。对一维信号进行Hilbert变换过程为本领域常规技术手段,在此不做赘述。系统可根据Hilbert变换结果进一步得到实函数S(t)的包络a(t)、瞬时相位θ(t)与瞬时频率ω(t),将包络a(t)、瞬时相位θ(t)与瞬时频率ω(t)堆叠成的一维向量称为恶意代码的Hilbert变换谱。需要说明的是,系统在屏幕上显示当前所检测的恶意代码对应的Hilbert变换谱,以便用户直观地对当前所检测的恶意代码的Hilbert变换谱进行特征分析,分析其同源性,以实现本发明的可视化。也即是本发明可提供两种对于恶意代码的同源性分析方式,第一种是直接通过已训练的恶意代码分类器对恶意代码进行检测,输出对其的同源性分析结果,第二种是通过显示出恶意代码所对应的Hilbert变换谱,分析人员通过直观分析得到恶意代码的同源信息。另外,两种分析方式也可结合进行,本实施例对此不做限制。
步骤S30,基于所述恶意代码对应的希尔伯特变换谱,利用预设恶意代码分类器对所述恶意代码进行变种检测,以得到所述恶意代码所属的家族信息,其中,所述恶意代码分类器基于预设恶意代码样本所对应的希尔伯特变换谱训练所得。
在本实施例中,可以理解的是,预设恶意代码分类器是预先根据恶意代码样本的Hilbert变换谱训练所得,具体的训练方式既可为直接使用恶意代码样本的Hilbert变换谱进行机器学习训练,也可为先提取恶意代码样本的Hilbert变换谱的时间序列信号特征后,再使用时间序列信号特征进行机器学习训练。训练过程中具体采用的分类算法可为贝叶斯分类器,K最近邻(kNN,k-NearestNeighbor),支持向量机(SVM,Support Vector Machine),决策树等,可根据实际情况灵活选择,本实施例对此不作具体限定。将当前需要检测的恶意代码所对应的Hilbert变换谱作为恶意代码分类器的输入,或提取出Hilbert变换谱的时间序列特征,将其时间序列特征作为恶意代码分类器的输入,分类器即可依据Hilbert变换谱或是时间序列特征对恶意代码进行同源性分析,最终输出当前待检测恶意代码的所述家族信息。另外,在当前所要检测的恶意代码在经过恶意代码分类器的同源性分析后,也可作为新的恶意代码样本对分类器进行训练,以进一步优化分类器的判别性能。
作为一具体实施例,如图3所示。系统在获取到当前需要检测的恶意代码文件时,将此恶意代码二进制可执行文件中的数据按照每8位对应一无符号整数的转换规则进行转换,即可将恶意代码的二进制数据转换为一维整数数组,并将此一维整数数据看作是恶意代码的样本时间序列信号,对其进行下采样,得到恶意代码的时间序列信号。系统再对恶意代码的时间序列信号进行Hilbert变换,得到信号的包络、瞬时相位与瞬时频率,将其堆叠后生成恶意代码的Hilbert变换谱并显示出来,以供分析人员进行直观分析。同时,系统可将恶意代码的希尔伯特变换谱,或是从该希尔伯特变换谱中提取出的时间序列信号特征作为分类器的输入,通过恶意代码分类器对恶意代码进行变种检测,即可直接得到恶意代码的检测结果。
在本实施例中,通过获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号;将所述一维时间序列信号进行希尔伯特变换,得到与所述恶意代码对应的希尔伯特变换谱并输出;基于所述恶意代码对应的希尔伯特变换谱,利用预设恶意代码分类器对所述恶意代码进行变种检测,以得到所述恶意代码所属的家族信息,其中,所述恶意代码分类器基于预设恶意代码样本所对应的希尔伯特变换谱训练所得。通过上述方式,本发明通过将恶意代码转化为一维时间序列信号,以便获取恶意代码的时间序列信号特征,相比提取静态语义特征以及二维图像纹理特征,大大减小了时间开销;通过输出恶意代码所对应的希尔伯特变换谱,便于从视觉上直观感知各个变种的共同之处和细微差异,为理解和掌握该家族变种演化提供了依据;通过基于恶意代码样本对应的希尔伯特变换谱进行分类模型训练,使得恶意代码家族分类更加快速准确。本发明的可视化分析能够采用程序化的方式执行,相比恶意代码静态语义特征的分析,降低了恶意代码分析人员的专业技术要求,从而解决了现有的恶意代码可视化及变种检测方法的效率低下的技术问题。
进一步地,图中未示的,基于上述图2所示的第一实施例,提出本发明恶意代码可视化及变种检测方法的第二实施例。在本实施例中,步骤S10包括:
获取所述恶意代码的二进制可执行文件,按照每预设二进制位数对应一无符号整数的转换规则,将所述二进制可执行文件转换为一维整数数组;
将所述一维整数数组按照预设采样规则进行下采样,得到并输出所述一维时间序列信号。
在本实施例中,用户在终端上确定当前需要检测的恶意代码的二进制可执行文件,终端在获取到当前需要检测的恶意代码文件时,从中读取恶意代码数据,并按照每预设二进制位数对应一无符号整数的转换规则,将二进制的恶意代码数据转换成一维无符号整数数组。优选地,预设二进制位数为八位,取值范围为0至255,待文件全部读取完毕时,即可将需要检测的恶意代码全部转换为一维整数数组。系统将二进制恶意代码数据转换得到的一维整数数组视为一维样值时间序列信号,并按照固定长度或是一定比例进行下采样,即可在一维样值时间序列信号的基础上得到一维时间序列信号。其中,对于一个样值序列间隔几个样值取样一次,这样得到新序列就是原序列的下采样。其中,固定长度与一定比例可根据实际情况灵活调节,本实施例不做具体限定。
进一步地,在本实施例中,所述将所述一维时间序列信号进行希尔伯特变换,得到与所述恶意代码对应的希尔伯特变换谱并输出的步骤包括:
将所述一维时间序列信号进行希尔伯特变换,得到所述一维时间序列信号的包络、瞬时相位与瞬时频率;
将所述包络、瞬时相位与瞬时频率堆叠成所述恶意代码对应的希尔伯特变换谱并显示。
在本实施例中,设定一维时间序列信号S的长度为n,也即是S=(s1,s2,…,sn),并表示为一维时间序列信号的实函数s(t),t∈[1,n],则可对实函数S(t)进行Hilbert变换,将其变换为其中*表示卷积,H[]表示Hilbert变换。对一维信号进行Hilbert变换过程为本领域常规技术手段,在此不做赘述。系统可根据Hilbert变换结果进一步得到实函数S(t)的包络a(t)、瞬时相位θ(t)与瞬时频率ω(t),具体的表达式如下:
其中d表示函数求导;
将包络a(t)、瞬时相位θ(t)与瞬时频率ω(t)堆叠成的一维向量称为恶意代码的Hilbert变换谱。需要说明的是,系统在得到恶意代码对应的Hilbert变换谱时,可同步在屏幕上显示,以便用户直观地对同族恶意代码与不同族恶意代码的特征进行观察,以实现本发明的可视化。如图4-7所示,图4为Dialplatform.B(一种病毒名称)恶意代码的Hilbert变换谱图;图5为Fakerean(一种病毒名称)恶意代码的Hilbert变换谱图;图6为EJIK(一种病毒名称)恶意代码的Hilbert变换谱图;图7为BANCOS(一种病毒名称)恶意代码的Hilbert变换谱图。横坐标表示频率,纵坐标表示幅值。
进一步地,在本实施例中,步骤S30包括:
将所述恶意代码对应的希尔伯特变换谱,或从所述恶意代码对应的希尔伯特变换谱中提取出的待测时间序列特征输入所述恶意代码分类器,基于所述恶意代码分类器判断所述恶意代码是否属于已有恶意代码的变种;
若是,则获取并输出所述已有恶意代码的所属家族信息;
若否,则将所述恶意代码列为新型恶意代码家族。
在本实施例中,待测时间序列特征为利用已训练的分类器对待测恶意代码进行变种检测时,从待检测的恶意代码所对应的Hilbert变换谱中提取出的时间序列特征。若当前所使用的分类器是采用第一种训练方式训练所得,则将当前所要检测的恶意代码所对应的Hilbert变换谱作为预先已训练好的用于恶意代码同源性分析的恶意代码分类器的输入;若当前所使用的分类器是采用第二种训练方式训练所得,则先对当前所要检测的恶意代码所对应的Hilbert变换谱进行时间序列特征提取,再将提取出的待测时间序列特征作为预先已训练好的用于恶意代码同源性分析的恶意代码分类器的输入。分类器即可对其进行变种检测,判断当前所要检测的恶意代码是否为已有恶意代码的变种。若系统判定当前所要检测的恶意代码为已有恶意代码的变种,则获取与当前恶意代码同源的已有恶意代码的所属家族信息,以便用户获知当前所检测的恶意代码为已有恶意代码的变种;若系统判定当前所要检测的恶意代码并非已有恶意代码的变种,也即是当前的恶意代码不与任何一种已知的恶意代码同源,则将该恶意代码列为新的一种恶意代码家族,同时可输出为查询到同源信息的相关提示信息,以便用户获知该恶意代码不与已有恶意代码同源,是一种新型恶意代码。
在本实施例中,进一步通过将恶意代码转换为一维整数数组,并对其进行下采样得到一维时间序列信号并输出,可以有效的将恶意代码可视为一维的时间序列信号,对恶意代码的变种能够产生更抗混淆性和抗干扰性的谱特征,能够按照恶意代码家族进行划分,并发现新的家族,对数据集具有更好的适应性和健壮性,从而有效提高恶意代码变种检测效率,也可以通过家族划分来追溯恶意代码来源,达到恶意代码同源性判定的作用。
进一步地,图中未示的,基于上述图2所示的第一实施例,提出本发明恶意代码可视化及变种检测方法的第三实施例。在本实施例中,所述恶意代码分类器包括第一恶意代码分类器,步骤S10之前,还包括:
获取预设恶意代码文件数据库中的恶意代码样本,并得到所述恶意代码样本所对应的希尔伯特变换谱数据库;
将所述希尔伯特变换谱数据库中的数据分为第一训练集与第一测试集,并基于预设第一分类算法,对所述第一训练集与第一测试集进行交叉验证,以得到第一恶意代码分类器。
在本实施例中,提供了两种分类器训练方式,第一种是直接使用恶意代码的Hilbert变换谱进行机器学习训练。第一训练集为采用第一种分类器训练方式时的训练集数据,第一测试集为采用第一种分类器训练方式时的测试集数据。第一预设分类算法为采用第一种训练方式进行分类器训练时所使用的分类算法,具体可为随机森林算法、极端随机数算法等。第一恶意代码分类器为采用第一种分类器训练方式所训练得出的恶意代码分类器。具体地,如图5所示,图5为第一种恶意代码分类器的训练方式示意图。若选择Malimg恶意代码文件数据库(Malimg数据集是最常用于提供卷积神经网络的恶意软件数据集之一),该数据库包含了25个恶意代码家族,共有9327个恶意代码文件。系统将该数据库中的每一个恶意代码文件,按每8位二进制作为一个无符号整数,转换为一个时间序列信号,再按n=4096进行下采样。系统将下采样后的时间序列信号进行Hilbert变换,按恶意代码二进制执行文件名生成对应恶意代码Hilbert变换谱数据,循环执行,最终生成Malimg恶意代码Hilbert变换谱数据库。系统采用机器学习方法,训练恶意代码Hilbert变换谱数据库,将80%的数据作为第一训练集,20%的数据作为第一测试集,重复10次交叉验证,对恶意代码家族进行分类。经实验后表明,采用随机森林算法得到的分类准确率为97.97%;采用极端随机树算法得到的分类准确率为98.00%。需要说明的是,若系统是通过第一种分类器训练方式得到恶意代码分类器,则在对当前需要检测的恶意代码进行变种检测时,只需获取到其对应的Hilbert变换谱即可。如图6所示,图6为Malimg恶意代码分类混淆矩阵示意图,左边的纵列标明了恶意代码的真实类别名称索引(Index of True Classes),下方的纵列均标明了恶意代码的预测类别名称索引(Index of Predict Classes),如位列第一位的Adialer.C(一种病毒种类名称),位列末位的Yuner.A(一种病毒种类名称)等。矩阵中的数字代表真实类别与预测类别之间的相似度。
进一步地,在本实施例中,所述恶意代码分类器包括第二恶意代码分类器,所述获取预设恶意代码文件数据库中的恶意代码样本,并得到所述恶意代码样本所对应的希尔伯特变换谱的步骤之后,还包括:
对所述恶意代码样本所对应的希尔伯特变换谱提取样本时间序列特征,以生成所述恶意代码样本所对应的希尔伯特变换谱及特征数据库;
将所述希尔伯特变换谱及特征数据库中的数据分为第二训练集与第二测试集,并基于预设第二分类算法,对所述第二训练集与第二测试集进行交叉验证,以得到第二恶意代码分类器。
在本实施例中,第二种是先提取恶意代码的Hilbert变换谱的时间序列信号特征,再使用时间序列信号特征来进行机器学习训练。样本时间序列特征为在模型训练阶段中,从恶意代码样本所对应的Hilbert变换谱中提取出的时间序列特征。第二训练集为采用第二种分类器训练方式时的训练集数据,第二测试集为采用第二种分类器训练方式时的测试集数据。第二预设分类算法为采用第二种训练方式进行分类器训练时所使用的分类算法,具体可为随机森林算法、极端随机数算法等,第二预设分类算法可与第一预设分类算法相同,也可不同。第二恶意代码分类器为采用第二种分类器训练方式所训练得出的恶意代码分类器。其中,时间序列信号特征优选为对数梅尔滤波器组能量。
进一步地,在本实施例中,所述时间序列特征包括对数梅尔滤波器组能量特征,所述对所述恶意代码样本所对应的希尔伯特变换谱提取样本时间序列特征的步骤之前,还包括:
将所述恶意代码样本转换成样本时间序列信号,并对所述样本时间序列信号进行下采样;
将下采样后的样本时间序列信号进行希尔伯特变换,得到所述恶意代码样本所对应的希尔伯特变换谱,以对所述恶意代码样本所对应的希尔伯特变换谱提取对数梅尔滤波器组能量特征。
在本实施例中,如图7所示,图7为第二种恶意代码分类器的训练方式示意图。选择Malheur恶意代码文件数据库(Malheur是一个自动化的恶意软件分析工具,它在沙箱(sandbox)中记录恶意软件的程序行为),该数据库包含了24个恶意代码家族,共有3131个恶意代码文件。系统将该数据库中的每一个恶意代码文件,按每8位二进制作为一个无符号整数,转换为一个时间序列信号,再按n=4096进行下采样,将下采样后的时间序列信号进行希尔伯特变换,并按恶意代码二进制执行文件名生成对应恶意代码Hilbert变换谱数据。系统对恶意代码Hilbert变换谱,提取对数梅尔滤波器组能量时间序列特征,循环执行上述操作,最终生成Malheur恶意代码Hilbert变换谱及特征数据库。系统采用机器学习方法,训练恶意代码Hilbert变换谱及特征数据库,将80%的数据作为第二训练集,20%的数据作为第二测试集,重复10次交叉验证,对恶意代码家族进行分类。经实验后表明,采用随机森林算法得到的分类准确率为98.58%;采用极端随机树得到的分类准确率为98.77%。需要说明的是,若系统是通过第二种分类器训练方式得到恶意代码分类器,则在对当前需要检测的恶意代码进行变种检测时,需要获取到其对应的Hilbert变换谱,并从Hilbert变换谱中提取出时间序列特征,才可通过该恶意代码分类器对恶意代码进行变种检测。如图8所示,图8为Malheur恶意代码分类混淆矩阵示意图。左边的纵列标明了恶意代码的真实类别名称索引(Index of True Classes),下方的纵列均标明了恶意代码的预测类别名称索引(Index of Predict Classes),如位列第一位的ADULTBROWSER(一种病毒种类名称),位列末位的ZHELATIN(一种病毒种类名称)等。矩阵中的数字代表真实类别与预测类别之间的相似度。
在本实施例中,进一步通过设置两种分类器的训练方式,预先对一定数量的训练数据集与测试数据集进行机器学习训练,使得能够采用已训练的分类器对待检测的恶意代码进行快速准确的变种检测,提升了变种检测的效率。
本发明还提供一种恶意代码可视化及变种检测系统。
所述恶意代码可视化及变种检测系统包括:
时间序列转换模块,用于获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号;
希尔伯特变换模块,用于将所述一维时间序列信号进行希尔伯特变换,得到与所述恶意代码对应的希尔伯特变换谱并输出;
代码变种检测模块,用于基于所述恶意代码对应的希尔伯特变换谱,利用预设恶意代码分类器对所述恶意代码进行变种检测,以得到所述恶意代码所属的家族信息,其中,所述恶意代码分类器基于预设恶意代码样本所对应的希尔伯特变换谱训练所得。
本发明还提供一种恶意代码可视化及变种检测设备。
所述恶意代码可视化及变种检测设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的恶意代码可视化及变种检测程序,其中所述恶意代码可视化及变种检测程序被所述处理器执行时,实现如上所述的恶意代码可视化及变种检测方法的步骤。
其中,所述恶意代码可视化及变种检测程序被执行时所实现的方法可参照本发明恶意代码可视化及变种检测方法的各个实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有恶意代码可视化及变种检测程序,所述恶意代码可视化及变种检测程序被处理器执行时实现如上所述的恶意代码可视化及变种检测方法的步骤。
其中,所述恶意代码可视化及变种检测程序被执行时所实现的方法可参照本发明恶意代码可视化及变种检测方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种恶意代码可视化及变种检测方法,其特征在于,所述恶意代码可视化及变种检测方法包括:
获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号,包括:获取所述恶意代码的二进制可执行文件,按照每预设二进制位数对应一无符号整数的转换规则,将所述二进制可执行文件转换为一维整数数组;将所述一维整数数组按照预设采样规则进行下采样,得到并输出所述一维时间序列信号;
将所述一维时间序列信号进行希尔伯特变换,得到与所述恶意代码对应的希尔伯特变换谱并输出,包括:将所述一维时间序列信号进行希尔伯特变换,得到所述一维时间序列信号的包络、瞬时相位与瞬时频率;将所述包络、瞬时相位与瞬时频率堆叠成所述恶意代码对应的希尔伯特变换谱并显示;
基于所述恶意代码对应的希尔伯特变换谱,利用预设恶意代码分类器对所述恶意代码进行变种检测,以得到所述恶意代码所属的家族信息,其中,所述恶意代码分类器基于预设恶意代码样本所对应的希尔伯特变换谱训练所得。
2.如权利要求1所述的恶意代码可视化及变种检测方法,其特征在于,所述恶意代码分类器包括第一恶意代码分类器,
所述获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号的步骤之前,还包括:
获取预设恶意代码文件数据库中的恶意代码样本,并得到所述恶意代码样本所对应的希尔伯特变换谱数据库;
将所述希尔伯特变换谱数据库中的数据分为第一训练集与第一测试集,并基于预设第一分类算法,对所述第一训练集与第一测试集进行交叉验证,以得到第一恶意代码分类器。
3.如权利要求2所述的恶意代码可视化及变种检测方法,其特征在于,所述恶意代码分类器包括第二恶意代码分类器,
所述获取预设恶意代码文件数据库中的恶意代码样本,并得到所述恶意代码样本所对应的希尔伯特变换谱的步骤之后,还包括:
对所述恶意代码样本所对应的希尔伯特变换谱提取样本时间序列特征,以生成所述恶意代码样本所对应的希尔伯特变换谱及特征数据库;
将所述希尔伯特变换谱及特征数据库中的数据分为第二训练集与第二测试集,并基于预设第二分类算法,对所述第二训练集与第二测试集进行交叉验证,以得到第二恶意代码分类器。
4.如权利要求3所述的恶意代码可视化及变种检测方法,其特征在于,所述时间序列特征包括对数梅尔滤波器组能量特征,
所述对所述恶意代码样本所对应的希尔伯特变换谱提取样本时间序列特征的步骤之前,还包括:
将所述恶意代码样本转换成样本时间序列信号,并对所述样本时间序列信号进行下采样;
将下采样后的样本时间序列信号进行希尔伯特变换,得到所述恶意代码样本所对应的希尔伯特变换谱,以对所述恶意代码样本所对应的希尔伯特变换谱提取对数梅尔滤波器组能量特征。
5.如权利要求1所述的恶意代码可视化及变种检测方法,其特征在于,所述基于所述恶意代码对应的希尔伯特变换谱,利用预设恶意代码分类器对所述恶意代码进行变种检测,以得到所述恶意代码所属的家族信息的步骤包括:
将所述恶意代码对应的希尔伯特变换谱,或从所述恶意代码对应的希尔伯特变换谱中提取出的待测时间序列特征输入所述恶意代码分类器,基于所述恶意代码分类器判断所述恶意代码是否属于已有恶意代码的变种;
若是,则获取并输出所述已有恶意代码的所属家族信息;
若否,则将所述恶意代码列为新型恶意代码家族。
6.一种恶意代码可视化及变种检测系统,其特征在于,所述恶意代码可视化及变种检测系统包括:
时间序列转换模块,用于获取待检测的恶意代码,并将所述恶意代码转换为一维时间序列信号;包括用于获取所述恶意代码的二进制可执行文件,按照每预设二进制位数对应一无符号整数的转换规则,将所述二进制可执行文件转换为一维整数数组,将所述一维整数数组按照预设采样规则进行下采样,得到并输出所述一维时间序列信号;
希尔伯特变换模块,用于将所述一维时间序列信号进行希尔伯特变换,得到与所述恶意代码对应的希尔伯特变换谱并输出;包括用于将所述一维时间序列信号进行希尔伯特变换,得到所述一维时间序列信号的包络、瞬时相位与瞬时频率,将所述包络、瞬时相位与瞬时频率堆叠成所述恶意代码对应的希尔伯特变换谱并显示;
代码变种检测模块,用于基于所述恶意代码对应的希尔伯特变换谱,利用预设恶意代码分类器对所述恶意代码进行变种检测,以得到所述恶意代码所属的家族信息,其中,所述恶意代码分类器基于预设恶意代码样本所对应的希尔伯特变换谱训练所得。
7.一种恶意代码可视化及变种检测设备,其特征在于,所述恶意代码可视化及变种检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的恶意代码可视化及变种检测程序,所述恶意代码可视化及变种检测程序被所述处理器执行时实现如权利要求1至5中任一项所述的恶意代码可视化及变种检测方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有恶意代码可视化及变种检测程序,所述恶意代码可视化及变种检测程序被处理器执行时实现如权利要求1至5中任一项所述的恶意代码可视化及变种检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010600580.3A CN111797398B (zh) | 2020-06-28 | 2020-06-28 | 恶意代码可视化及变种检测方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010600580.3A CN111797398B (zh) | 2020-06-28 | 2020-06-28 | 恶意代码可视化及变种检测方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111797398A CN111797398A (zh) | 2020-10-20 |
CN111797398B true CN111797398B (zh) | 2024-02-02 |
Family
ID=72804628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010600580.3A Active CN111797398B (zh) | 2020-06-28 | 2020-06-28 | 恶意代码可视化及变种检测方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797398B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100679621B1 (ko) * | 2006-08-09 | 2007-02-06 | 주식회사 윈스테크넷 | 네트워크 기반에서의 알려지지 않은 웜 바이러스 탐지방법및 그 장치 |
CN101409837A (zh) * | 2001-09-14 | 2009-04-15 | 株式会社Ntt都科摩 | 编码方法、译码方法、编码装置、译码装置、图象处理系统 |
CN109472141A (zh) * | 2017-12-29 | 2019-03-15 | 北京安天网络安全技术有限公司 | 一种基于时间序列化差异检测恶意代码的方法及系统 |
CN111143842A (zh) * | 2019-12-12 | 2020-05-12 | 广州大学 | 一种恶意代码检测方法及系统 |
-
2020
- 2020-06-28 CN CN202010600580.3A patent/CN111797398B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409837A (zh) * | 2001-09-14 | 2009-04-15 | 株式会社Ntt都科摩 | 编码方法、译码方法、编码装置、译码装置、图象处理系统 |
KR100679621B1 (ko) * | 2006-08-09 | 2007-02-06 | 주식회사 윈스테크넷 | 네트워크 기반에서의 알려지지 않은 웜 바이러스 탐지방법및 그 장치 |
CN109472141A (zh) * | 2017-12-29 | 2019-03-15 | 北京安天网络安全技术有限公司 | 一种基于时间序列化差异检测恶意代码的方法及系统 |
CN111143842A (zh) * | 2019-12-12 | 2020-05-12 | 广州大学 | 一种恶意代码检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111797398A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110826059B (zh) | 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置 | |
CN111027069B (zh) | 恶意软件家族检测方法、存储介质和计算设备 | |
CN110765458A (zh) | 一种基于深度学习的恶意软件检测方法及其装置 | |
Argene et al. | Ransomware detection via cosine similarity-based machine learning on bytecode representations | |
CN109271788B (zh) | 一种基于深度学习的Android恶意软件检测方法 | |
Azab et al. | Msic: malware spectrogram image classification | |
CN109241741B (zh) | 一种基于图像纹理指纹的恶意代码分类方法 | |
CN109829306A (zh) | 一种优化特征提取的恶意软件分类方法 | |
CN110929203B (zh) | 异常用户的识别方法、装置、设备及存储介质 | |
CN111797395B (zh) | 恶意代码可视化及变种检测方法、装置、设备及存储介质 | |
CN111797396B (zh) | 恶意代码可视化及变种检测方法、装置、设备及存储介质 | |
CN112235314A (zh) | 网络流量检测方法和装置及设备 | |
Yu et al. | Specview: malware spectrum visualization framework with singular spectrum transformation | |
CN108647497A (zh) | 一种基于特征提取的api密钥自动识别系统 | |
CN114579965A (zh) | 一种恶意代码的检测方法、装置及计算机可读存储介质 | |
CN111797397B (zh) | 恶意代码可视化及变种检测方法、设备及存储介质 | |
CN110458239A (zh) | 基于双通道卷积神经网络的恶意软件分类方法及系统 | |
CN113420295A (zh) | 恶意软件的检测方法及装置 | |
CN111797398B (zh) | 恶意代码可视化及变种检测方法、系统、设备及存储介质 | |
CN113935032A (zh) | 一种恶意代码的同源分析方法、装置及可读存储介质 | |
CN111797399B (zh) | 恶意代码可视化及变种检测方法、系统、设备及存储介质 | |
CN111581640A (zh) | 一种恶意软件检测方法、装置及设备、存储介质 | |
CN112163217B (zh) | 恶意软件变种识别方法、装置、设备及计算机存储介质 | |
CN115620317A (zh) | 一种电子工程文档真实性验证方法和系统 | |
Abhesa et al. | Classification of malware using machine learning based on image processing |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |