CN111143842A - 一种恶意代码检测方法及系统 - Google Patents

一种恶意代码检测方法及系统 Download PDF

Info

Publication number
CN111143842A
CN111143842A CN201911270920.4A CN201911270920A CN111143842A CN 111143842 A CN111143842 A CN 111143842A CN 201911270920 A CN201911270920 A CN 201911270920A CN 111143842 A CN111143842 A CN 111143842A
Authority
CN
China
Prior art keywords
data
class
word
idf
cluster
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.)
Granted
Application number
CN201911270920.4A
Other languages
English (en)
Other versions
CN111143842B (zh
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.)
Guangzhou University
Original Assignee
Guangzhou 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 Guangzhou University filed Critical Guangzhou University
Priority to CN201911270920.4A priority Critical patent/CN111143842B/zh
Publication of CN111143842A publication Critical patent/CN111143842A/zh
Application granted granted Critical
Publication of CN111143842B publication Critical patent/CN111143842B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Security & Cryptography (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种恶意代码检测方法及系统,方法包括:S1、将每个恶意代码运行过程中的WindowsAPI动作序列视作一个具有上下文关系的文本,分别使用TF‑IDF和Doc2vec进行特征抽取;S2、在分别获得TF‑IDF和Doc2vec特征矩阵后,将TF‑IDF和Doc2vec抽取到的特征进行拼接,降维后获得恶意代码的特征矩阵;S3、构造基于聚类的集成分类改进模型,采用多个基学习器对数据集进行分类,并在最后采用投票的方式获得最终分类结果,S4、在预测阶段将样本分别输入每个基学习器中与之最近的单一类别类簇/SVM分类器中并输出预测类别,最后根据投票原则,学习器输出类别中占多数的类别为最终预测类别。本发明将TF‑IDF和Doc2vec结合,不仅考虑恶意代码动作序列中API的频率,也考虑动作序列的上下文关联,提高恶意代码检测的准确性。

Description

一种恶意代码检测方法及系统
技术领域
本发明属于网络安全的技术领域,具体涉及一种恶意代码检测方法及系统。
背景技术
恶意代码检测一直是网络安全领域关注的焦点之一,木马病毒、蠕虫病毒、挖矿病毒、勒索病毒等恶意程序通过隐匿地注入和运行恶意代码,入侵系统、篡改文件、窃取信息等,对政府、企业、个人的隐私安全和财产安全有巨大威胁。随着恶意代码攻防技术之间不断对抗和升级,恶意代码的发展逐渐趋向多变种、高隐蔽性、数量多、更新快。目前对与恶意代码的分析技术可分为静态分析和动态分析,其中动态分析技术注重代码运行过程中的行为特征,较静态分析不受加壳、多态等影响,在恶意代码检测中被普遍应用。不同类型的恶意代码因其原理机制或获取权限的路径不同,代码特征呈现出多样化的特点,而部分隶属于同一家族的恶意代码及其变种则在代码特征上通常具有相似之处。基于上述特点,要利用机器学习从规模大、分布结构复杂、特征多样化的代码中检测出恶意代码,简单的分类算法已经不能满足需求,人们倾向于使用性能更高的智能检测模型来处理这一问题。
现有技术中,Tian等人通过研究运行程序时的Windows API调用日志来统计API调用的数量及特定的API调用频率提取代码特征,从而识别恶意程序和正常程序。Shifu Hou、Lifei Chen等人提出了一个基于聚类的恶意软件分类模型,该模型首先将数据集按不同的特征子集划分为多个基学习器,在每个学习器中利用k-means聚类算法将数据集划分为多个单一类别的类簇和一个混合类别的类簇并对混合类别类簇的数据训练相应的SVM分类器,最后将多个学习器用简单投票的方式进行集成。
但是,Tian等人提出的模型只关注了Windows API的数量和频率,而没有考虑API调用序列中包含的上下文关系,丢失了数据的部分特征。Shifu Hou等人提出的模型将聚类后包含多种类别数据的类簇合并为一个大的混合类簇,这些类簇中有一部分是由于数据分布为非球状簇或类别边界模糊而导致类簇之间掺杂了彼此的部分数据点,但也有一部分类簇是由于包含少量异常点或噪音点而导致纯度降低。对于后者,混合类簇对应的数据子集往往数据分布高度不平衡,且在类簇合并后并无明显改善,在这种情况下,小样本数据分类易导致过拟合,并且这些在采集过程中产生的噪音点也有可能影响分类的准确度。因此,应根据不同的情况对这类混合类簇进行过滤等不同操作。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种恶意代码检测方法及系统,本发明采用了TF-IDF和Doc2vec结合的方法,并基于聚类的分类方法进一步提高恶意代码检测的准确性。
为了达到上述目的,本发明采用以下技术方案:
一种恶意代码检测方法,包括下述步骤:
S1、将每个恶意代码运行过程中的WindowsAPI动作序列视作一个具有上下文关系的文本,分别使用TF-IDF和Doc2vec进行特征抽取;TF-IDF是用来评估特定词语在语料库中重要程度,其中TF计算词语出现的频率,IDF用以衡量词语对于文本类型的区分度;TF-IDF算法流程具体为:
S11、计算每个Windows API函数在动作序列中出现的频率TF以及包含该WindowsAPI的动作序列所占总数据集的比例IDF;
S12、根据TF和IDF计算Windows API函数在动作序列中的TF-IDF,将动作序列向量化;
Doc2vec是Word2vec的扩展,通过训练神经网络学习文本的特定长度向量表示,文本向量不仅包含了上下文信息,还包含了文本整体的语义信息;Doc2vec算法流程具体为:
S13、构建Doc2vec模型结构,并设置模型参数,
S14、训练Doc2vec模型,利用随机梯度下降和反向传播从已知的训练数据中学习词向量、模型参数以及文本向量;
S15、推断过程,按照设置的参数和步骤更新文本矩阵D,学习新文本的向量表示;
S2、在分别获得TF-IDF和Doc2vec特征矩阵后,将TF-IDF和Doc2vec抽取到的特征进行拼接,降维后获得恶意代码的特征矩阵;
S3、构造基于聚类的集成分类改进模型,该集成分类改进模型基于集成学习的思想,分别采用多个基学习器对数据集进行分类,并在最后采用投票的方式获得最终分类结果,所述集成分类改进模型训练,在每个基学习器中采用基于聚类的分块分类方法进行训练,具体流程如下:
S31、用k-means算法将数据划分为k个数据子集,K个类簇中有一部分类簇只含有一种类别Ci的数据,将这种这种类簇视为单一类别类簇,标记类簇类别为Ci;
S32、对噪音点进行过滤,过滤掉类簇中其他数据类别不同且数量在簇中占比极小的点;
S33、将过滤后仍然含有多个类别数据的类簇合并为一个大的混合类簇,数据被划分为m个类簇,其中{C1,C2,…,Cm-1}为单一类簇,Cm为混合类簇,类簇向量用簇内向量的均值表示:
Figure BDA0002314145780000031
S34、训练SVM分类器,对于混合类簇Cm,训练对应的SVM分类器Sm用于预测数据类别;
S4、对模型进行预测,在模型预测阶段,将输入的数据分别输入各基学习器,在基学习器中,数据被划分到最近的类簇C中,如C为只含一种类别数据的单一类簇,则基学习器输出的预测类别为C类簇数据的类别;如C为混合类别类簇,则基学习器输出的预测为SVM分类器的输出类别,最后根据投票原则,基学习器输出类别中占多数的类别为最终预测类别。
作为优选的技术方案,TF-IDF具体为:
给定文本j中的一个词i,设ni,j为文本j中词i的数量,则该词的TF公式为:
Figure BDA0002314145780000032
设N为语料库中的文本总数,N(i)为包含词i的文本的数量,则该词的IDF公式为:
Figure BDA0002314145780000033
根据TF和IDF值,文本j中词i的TF-IDF计算公式为:
TF-IDFi,j=TFi,j*IDFi
作为优选的技术方案,步骤S11中,所述构建Doc2vec模型结构共分为三层:输入层、投影层、输出层,
输入层包括2k个词的词向量w(t-k),…,w(t-1),w(t+1),…,w(t+k)和1个文本向量w(d),其中k为给定的滑动窗口大小;
投影层将输入的2k+1个词向量做求和平均处理:
Figure BDA0002314145780000034
输出层对应一棵Huffman树,Huffman树的每个叶子节点对应一个词,词频高的词在Huffman树中的深度比词频低的词更小。
作为优选的技术方案,步骤S11中,模型参数设置如下:
pt:从根节点出发到词t对应的的叶子节点的路径;
lt:路径pt中包含节点的个数;
Figure BDA0002314145780000035
路径pt中的lt个节点,其中
Figure BDA0002314145780000036
表示根节点,
Figure BDA0002314145780000037
表示词t对应的叶子节点;
Figure BDA0002314145780000038
其中d∈{0,1}:词t对应的Huffman编码
Figure BDA0002314145780000039
代表路径pt中第j个节点对应的编码(根节点不对应编码);
Figure BDA0002314145780000041
其中
Figure BDA0002314145780000042
路径pt中非叶子节点对应的向量,
Figure BDA0002314145780000043
表示路径pt中第j个非叶子节点对应的向量;
对于词典中任意词t,Huffman树中必然存在唯一一条从根节点到t对应叶子节点的路径pt,路径pt上存在lt-1个分支,将每个分支看作一次二分类,则每一次分类对应一个概率,将这些概率连乘得到p(t|Context(t)):
Figure BDA0002314145780000044
Figure BDA0002314145780000045
其中
Figure BDA0002314145780000046
通过对数极大似然化处理可得模型目标函数为:
Figure BDA0002314145780000047
和Word2vec一样,Doc2vec极大化目标函数使用的算法是随机梯度上升法,
Figure BDA0002314145780000048
关于
Figure BDA0002314145780000049
的梯度计算如下:
Figure BDA00023141457800000410
Figure BDA00023141457800000411
的更新公式为:
Figure BDA00023141457800000412
Figure BDA00023141457800000413
关于w(t)的梯度计算如下:
Figure BDA0002314145780000051
事实上w(t)表示的是输入层中2k+1个词/文本向量的叠加,在Doc2vec中根据
Figure BDA0002314145780000052
更新每个分量w(i)的方法为:
Figure BDA0002314145780000053
作为优选的技术方案,步骤S12中,训练Doc2vec模型的步骤为:
(1)初始化词向量矩阵{w(t1),w(t2),…,w(tn)}、文本向量矩阵{w(d1),w(d2),…,w(dm)}、非叶节点向量Θ、梯度参数η、滑动窗口大小k;
(2)从t=1,2…,n迭代循环(3)-(4);
(3)
Figure BDA0002314145780000054
(4)从j=2,3,…,lt迭代循环(5)-(9);
(5)
Figure BDA0002314145780000055
(6)
Figure BDA0002314145780000056
(7)
Figure BDA0002314145780000057
(8)
Figure BDA0002314145780000058
(9)更新t的2k+1个上下文词向量/文本向量w(i)=w(i)+e。
作为优选的技术方案,步骤S31中,k-means算法步骤如下:
S311、随机选定K个数据样本作为聚类中心点;
S312、根据数据与聚类中心点的聚类,将每个数据分配至离自己最近的类簇;
S313、计算每个类簇中所有对象的均值作为该类簇的新聚类中心点;
S314、判断聚类中心是否变化,如果是转至步骤S312,如果否,聚类结束。
作为优选的技术方案,步骤S32中,噪音点的判别标准如下:
Figure BDA0002314145780000059
其中{C1,C2,...,Cm}为k-means划分后含有混合类别数据的类簇集合,Ci(x)为类簇Ci中与数据点x同类别的的数据集合,ε为阈值参数。
作为优选的技术方案,步骤S34中,训练SVM分类器的过程如下:
S341、支持向量机的建模过程;
分类超平面为ωTx+b=0,支持向量所在超平面与分类超平面的几何间隔为d,则可以求出支持向量所在的超平面方程
对任意数据点(x(i),y(i))根据点到平面的距离关系有如下式子成立
Figure BDA0002314145780000061
不等式的两边同时除以距离d,并令
Figure BDA0002314145780000062
可以化简为
Figure BDA0002314145780000063
所以支持向量所在的超平面可记为
Figure BDA0002314145780000064
S 342、支持向量机的目标函数;
训练支持向量机模型也就是求解下列二次规划问题,其中x(j)为支持向量
Figure BDA0002314145780000065
Figure BDA0002314145780000066
根据支持向量所在的超平面方程可知|ωTx(j)+b|=1故上述模型可以写成
Figure BDA0002314145780000067
s.ty(i)Tx(i)+b)≥1
Figure BDA0002314145780000071
s.ty(i)Tx(i)+b)≥1
支持向量机的目标函数一般写为对偶形式下的二次优化模型,为了不失一般性引入核函数,即求解下述问题
Figure BDA0002314145780000072
作为优选的技术方案,步骤S34中,SVM算法的具体过程为:
假设输入空间是X∈Rn,Y∈{+1,-1},不妨假设含有m个样本数据(x(1),y(1))、(x(2),y(2))、…、(x(m),y(m)),其中x(i)∈X、y(i)∈Y,精度为ε,输出近似解为
Figure BDA0002314145780000073
(1)取初值α0=0,令k=0;
(2)选取待优化变量
Figure BDA0002314145780000074
计算出新的
Figure BDA0002314145780000075
Figure BDA0002314145780000076
(3)更新
Figure BDA0002314145780000077
Figure BDA0002314145780000078
(4)利用
Figure BDA0002314145780000079
Figure BDA00023141457800000710
的关系求出
Figure BDA00023141457800000711
Figure BDA00023141457800000712
(5)计算bk+1和Ei
(6)在精度ε范围内检查是否满足如下的终止条件,其中
Figure BDA00023141457800000713
Figure BDA00023141457800000714
Figure BDA00023141457800000715
若满足则转(7);否则令k=k+1转到步骤(2);
(7)取
Figure BDA0002314145780000081
一种恶意代码检测系统,包括特征抽取模块、特征矩阵获取模块、集成分类改进模型构造模块以及模型预测模块;
所述特征抽取模块,用于将每个恶意代码运行过程中的WindowsAPI动作序列视作一个具有上下文关系的文本,分别使用TF-IDF和Doc2vec进行特征抽取;TF-IDF是用来评估特定词语在语料库中重要程度,其中TF计算词语出现的频率,IDF用以衡量词语对于文本类型的区分度;
所述特征获取模块,用于在分别获得TF-IDF和Doc2vec特征矩阵后,将TF-IDF和Doc2vec抽取到的特征进行拼接,降维后获得恶意代码的特征矩阵;
所述集成分类改进模型构造模块,基于集成学习的思想,分别采用多个基学习器对数据集进行分类,并在最后采用投票的方式获得最终分类结果;
所述模型预测模块,用于对模型进行预测,在模型预测阶段,将输入的数据分别输入各基学习器,在基学习器中,数据被划分到最近的类簇C中,如C为只含一种类别数据的单一类簇,则基学习器输出的预测类别为C类簇数据的类别;如C为混合类别类簇,则基学习器输出的预测为SVM分类器的输出类别,最后根据投票原则,基学习器输出类别中占多数的类别为最终预测类别。
本发明与现有技术相比,具有如下优点和有益效果:
本专利在恶意代码特征抽取过程中采用了TF-IDF和Doc2vec结合的方法,其中TF-IDF考虑了恶意代码动作序列中API出现的概率和频率,Doc2Vec考虑了动作序列的语义上下文关联,将二者结合起来有利于从恶意代码动作序列中获得更多特征信息,提高代码特征的完备性;采用基于聚类的分类方法减小了用于训练分类器的数据集复杂度,有助于提高分类器的准确率,本专利通过对噪点进行过滤,避免因分类器的训练数据不平衡而导致过拟合,并进一步降低训练数据的复杂度,从而提高恶意代码检测的准确性。
附图说明
图1是本发明恶意代码检测方法的流程图;
图2是本发明Doc2vec模型结构的示意图;
图3是本发明k-means算法的流程图;
图4是本发明分类超平面的示意图;
图5是本发明分类超平面方程和支持向量所在的超平面方程示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
本实施例一种恶意代码检测方法,设计了一个基于特征集成和数据分区的恶意代码检测模型,模型主要分为两部分,第一部分利用TF-IDF(Term Frequency-InverseDocument Frequency,词频-逆文本频率)和Doc2vec算法对恶意代码的动作序列进行特征抽取,第二部分在第一部分的基础上,使用基于聚类的集成分类改进模型对恶意代码进行分类。如图1所示,本实施例的具体内容如下:
S1、TF-IDF和Doc2vec抽取恶意代码家族特征融合
将每个恶意代码运行过程中的WindowsAPI动作序列视作一个具有上下文关系的文本,分别使用TF-IDF和Doc2vec进行特征抽取;
TF-IDF是用来评估特定词语在语料库中重要程度的一种统计方法,其中TF计算词语出现的频率,IDF用以衡量词语对于文本类型的区分度。给定文本j中的一个词i,设ni,j为文本j中词i的数量,则该词的TF公式为:
Figure BDA0002314145780000091
设N为语料库中的文本总数,N(i)为包含词i的文本的数量,则该词的IDF公式为:
Figure BDA0002314145780000092
根据TF和IDF值,文本j中词i的TF-IDF计算公式为:
TF-IDFi,j=TFi,j*IDFi
Doc2vec是Word2vec的扩展,通过训练神经网络学习文本的特定长度向量表示,文本向量不仅包含了上下文信息,还包含了文本整体的语义信息;Doc2vec的训练方法分为PV-DM(the Distributed Memory Model of Paragraph Vectors,文本向量的分布式记忆模型)和PV-DBOW(the Distributed Bag of Words version of Paragraph Vector,文本向量的分布式词袋模型)两种,对于大多数任务,PV-DM的表现良好,因此本申请选用PV-DM作为训练方法。
设D为文本矩阵,其中每个列向量对应一个文本的向量表示;W为词矩阵,其中每个列向量对应一个词的向量表示。
Doc2vec算法流程具体为:
S11、构建Doc2vec模型结构,并设置模型参数;
如图2所示,Doc2vec模型结构和Word2vec相似,共分为三层:输入层、投影层、输出层;
输入层包括2k个词的词向量w(t-k),…,w(t-1),w(t+1),…,w(t+k)和1个文本向量w(d),其中k为给定的滑动窗口大小。
投影层将输入的2k+1个词向量做求和平均处理:
Figure BDA0002314145780000101
输出层对应一棵Huffman树,Huffman树的每个叶子节点对应一个词,词频高的词在Huffman树中的深度比词频低的词更小。
模型参数设置如下:pt:从根节点出发到词t对应的的叶子节点的路径;
lt:路径pt中包含节点的个数;
Figure BDA0002314145780000102
路径pt中的lt个节点,其中
Figure BDA0002314145780000103
表示根节点,
Figure BDA0002314145780000104
表示词t对应的叶子节点;
Figure BDA0002314145780000105
其中d∈{0,1}:词t对应的Huffman编码
Figure BDA0002314145780000106
代表路径pt中第j个节点对应的编码(根节点不对应编码);
Figure BDA0002314145780000107
其中
Figure BDA0002314145780000108
路径pt中非叶子节点对应的向量,
Figure BDA0002314145780000109
表示路径pt中第j个非叶子节点对应的向量;
对于词典中任意词t,Huffman树中必然存在唯一一条从根节点到t对应叶子节点的路径pt,路径pt上存在lt-1个分支,将每个分支看作一次二分类,则每一次分类对应一个概率,将这些概率连乘得到p(t|Context(t)):
Figure BDA00023141457800001010
Figure BDA00023141457800001011
其中
Figure BDA00023141457800001012
通过对数极大似然化处理可得模型目标函数为:
Figure BDA0002314145780000111
和Word2vec一样,Doc2vec极大化目标函数使用的算法是随机梯度上升法,
Figure BDA0002314145780000112
关于
Figure BDA0002314145780000113
的梯度计算如下:
Figure BDA0002314145780000114
Figure BDA0002314145780000115
的更新公式为:
Figure BDA0002314145780000116
Figure BDA0002314145780000117
关于w(t)的梯度计算如下:
Figure BDA0002314145780000118
事实上w(t)表示的是输入层中2k+1个词/文本向量的叠加,在Doc2vec中根据
Figure BDA0002314145780000119
更新每个分量w(i)的方法为:
Figure BDA00023141457800001110
S12、训练Doc2vec模型,利用随机梯度下降和反向传播从已知的训练数据中学习词向量、模型参数以及文本向量;
训练Doc2vec模型的步骤为:
(1)初始化词向量矩阵{w(t1),w(t2),…,w(tn)}、文本向量矩阵{w(d1),w(d2),…,w(dm)}、非叶节点向量Θ、梯度参数η、滑动窗口大小k;
(2)从t=1,2…,n迭代循环(3)-(4);
(3)
Figure BDA0002314145780000121
(4)从j=2,3,…,lt迭代循环(5)-(9);
(5)
Figure BDA0002314145780000122
(6)
Figure BDA0002314145780000123
(7)
Figure BDA0002314145780000124
(8)
Figure BDA0002314145780000125
(9)更新t的2k+1个上下文词向量/文本向量w(i)=w(i)+e。
最后,在分别获得TF-IDF和Doc2vec特征矩阵后,将TF-IDF和Doc2vec抽取到的特征进行拼接,降维后获得恶意代码的特征矩阵。
S13、推断过程,按照设置的参数和步骤更新文本矩阵D,学习新文本的向量表示;
S2、在分别获得TF-IDF和Doc2vec特征矩阵后,将TF-IDF和Doc2vec抽取到的特征进行拼接,降维后获得恶意代码的特征矩阵;
S3、构造基于聚类的集成分类改进模型,该集成分类改进模型基于集成学习的思想,分别采用多个基学习器对数据集进行分类,并在最后采用投票的方式获得最终分类结果,具体为:
集成分类改进模型训练,在每个基学习器中采用基于聚类的分块分类方法进行训练,流程如下:
S31、用k-means算法将数据划分为k个数据子集,K个类簇中有一部分类簇只含有一种类别Ci的数据,将这种这种类簇视为单一类别类簇,标记类簇类别为Ci;如图3所示,k-means算法步骤如下:
S311、随机选定K个数据样本作为聚类中心点;
S312、根据数据与聚类中心点的聚类,将每个数据分配至离自己最近的类簇;
S313、计算每个类簇中所有对象的均值作为该类簇的新聚类中心点;
S314、判断聚类中心是否变化,如果是转至步骤S312,如果否,聚类结束。
S32、对噪音点进行过滤,数据集中可能会存在部分因数据采集或数据处理过程不当而产生的噪音点,这些噪音点的数据特征与所标记类别的数据的特征有很大差异,在类簇中体现为与簇中其他数据类别不同且数量在簇中占比极小。由于这些噪音点无法准确体现类别特征,影响分类精度,因此本发明对这些噪音点进行过滤;
值得注意的是,由于数据的分布结构各异,部分处于类别边界的数据点可能会被划分到其他类簇中,这部分数据在混合类簇中的表现和噪音点是相似的。
为了区分上述两种数据,噪音点的判别标准如下:
Figure BDA0002314145780000131
其中{C1,C2,...,Cm}为k-means划分后含有混合类别数据的类簇集合,Ci(x)为类簇Ci中与数据点x同类别的的数据集合,ε为阈值参数。
我们忽略噪音点对类簇性质的影响,将只含有某一个类别Ci的数据和噪音点的混合类别类簇视为单一类别类簇,类簇的对应类别标记为Ci。
S33、将过滤后仍然含有多个类别数据的类簇合并为一个大的混合类簇,数据被划分为m个类簇,其中{C1,C2,…,Cm-1}为单一类簇,Cm为混合类簇,类簇向量用簇内向量的均值表示:
Figure BDA0002314145780000132
S34、训练SVM分类器,对于混合类簇Cm,训练对应的SVM分类器Sm用于预测数据类别;对于混合类簇Cm,训练对应的SVM(Support Vector Machine,支持向量机)分类器Sm用于预测数据类别。
支持向量机算法有很多优势,它通过引入核函数巧妙的解决了对于原始数据线性不可分这一难题。支持向量机的基本思想是在样本数据中训练出一个间隔最大化的线性分类器,其学习策略为间隔最大化,最终转化为求解一个凸二次规划问题。
训练SVM分类器的过程如下:
S341、支持向量机的建模过程;
如图4所示,分类超平面为ωTx+b=0,支持向量所在超平面与分类超平面的几何间隔为,则可以求出支持向量所在的超平面方程
对任意数据点(x(i),y(i))根据点到平面的距离关系有如下式子成立
Figure BDA0002314145780000133
不等式的两边同时除以距离d,并令
Figure BDA0002314145780000141
可以化简为
Figure BDA0002314145780000142
所以支持向量所在的超平面可记为
Figure BDA0002314145780000143
由于分类超平面方程为ωTx+b=0在等式的两端同时除以‖ω‖2·d则可以写成
Figure BDA0002314145780000144
所以在同等放缩情况下分类超平面方程和支持向量所在的超平面方程,如图5所示。
S 342、支持向量机的目标函数;
训练支持向量机模型也就是求解下列二次规划问题,其中x(j)为支持向量
Figure BDA0002314145780000145
Figure BDA0002314145780000146
根据支持向量所在的超平面方程可知|ωTx(j)+b|=1故上述模型可以写成
Figure BDA0002314145780000147
s.ty(i)Tx(i)+b)≥1
Figure BDA0002314145780000148
s.t y(i)Tx(i)+b)≥1
支持向量机的目标函数一般写为对偶形式下的二次优化模型,为了不失一般性引入核函数,即求解下述问题
Figure BDA0002314145780000149
SVM算法的具体过程为:
假设输入空间是X∈Rn,Y∈{+1,-1},不妨假设含有m个样本数据(x(1),y(1))、(x(2),y(2))、…、(x(m),y(m)),其中x(i)∈X、y(i)∈Y,精度为ε,输出近似解为
Figure BDA0002314145780000151
(1)取初值α0=0,令k=0;
(2)选取待优化变量
Figure BDA0002314145780000152
计算出新的
Figure BDA0002314145780000153
Figure BDA0002314145780000154
(3)更新
Figure BDA0002314145780000155
Figure BDA0002314145780000156
(4)利用
Figure BDA0002314145780000157
Figure BDA0002314145780000158
的关系求出
Figure BDA0002314145780000159
Figure BDA00023141457800001510
(5)计算bk+1和Ei
(6)在精度ε范围内检查是否满足如下的终止条件,其中
Figure BDA00023141457800001511
S4、对模型进行预测,在模型预测阶段,将输入的数据分别输入各基学习器,在基学习器中,数据被划分到最近的类簇C中,如C为只含一种类别数据的单一类簇,则基学习器输出的预测类别为C类簇数据的类别;如C为混合类别类簇,则基学习器输出的预测为SVM分类器的输出类别,最后根据投票原则,基学习器输出类别中占多数的类别为最终预测类别。
综上所述,本申请提出的一个恶意代码检测方法,目的在于提高恶意代码分类的准确度,主要分为两步:
第一步:针对传统的恶意代码检测的特征抽取只关注Windows API出现的频率或API序列的上下文信息,本发明通过矩阵拼接的方式将二者进行结合,从而获取恶意代码动作序列的更多特征信息,提高了恶意代码特征的完备性,可以提高分类的准确度。
第二步:为了降低数据集的规模和复杂度,并考虑到噪音点对分类模型造成的过拟合等影响,本发明采用基于聚类的分类模型,在该模型中增加了过滤噪音点的步骤,进一步简化了分类数据集,提高了分类的准确率。
本实施例还提供了一种恶意代码检测系统,系统运行上述恶意代码检测方法,系统包括:特征抽取模块、特征矩阵获取模块、集成分类改进模型构造模块以及模型预测模块;
所述特征抽取模块,用于将每个恶意代码运行过程中的WindowsAPI动作序列视作一个具有上下文关系的文本,分别使用TF-IDF和Doc2vec进行特征抽取;TF-IDF是用来评估特定词语在语料库中重要程度,其中TF计算词语出现的频率,IDF用以衡量词语对于文本类型的区分度;
所述特征获取模块,用于在分别获得TF-IDF和Doc2vec特征矩阵后,将TF-IDF和Doc2vec抽取到的特征进行拼接,降维后获得恶意代码的特征矩阵;
所述集成分类改进模型构造模块,基于集成学习的思想,分别采用多个基学习器对数据集进行分类,并在最后采用投票的方式获得最终分类结果;
所述模型预测模块,用于对模型进行预测,在模型预测阶段,将输入的数据分别输入各基学习器,在基学习器中,数据被划分到最近的类簇C中,如C为只含一种类别数据的单一类簇,则基学习器输出的预测类别为C类簇数据的类别;如C为混合类别类簇,则基学习器输出的预测为SVM分类器的输出类别,最后根据投票原则,基学习器输出类别中占多数的类别为最终预测类别。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种恶意代码检测方法,其特征在于,包括下述步骤:
S1、将每个恶意代码运行过程中的WindowsAPI动作序列视作一个具有上下文关系的文本,分别使用TF-IDF和Doc2vec进行特征抽取;TF-IDF是用来评估特定词语在语料库中重要程度,其中TF计算词语出现的频率,IDF用以衡量词语对于文本类型的区分度;TF-IDF算法流程具体为:
S11、计算每个Windows API函数在动作序列中出现的频率TF以及包含该Windows API的动作序列所占总数据集的比例IDF;
S12、根据TF和IDF计算Windows API函数在动作序列中的TF-IDF,将动作序列向量化;
Doc2vec是Word2vec的扩展,通过训练神经网络学习文本的特定长度向量表示,文本向量不仅包含了上下文信息,还包含了文本整体的语义信息;Doc2vec算法流程具体为:
S13、构建Doc2vec模型结构,并设置模型参数,
S14、训练Doc2vec模型,利用随机梯度下降和反向传播从已知的训练数据中学习词向量、模型参数以及文本向量;
S15、推断过程,按照设置的参数和步骤更新文本矩阵D,学习新文本的向量表示;
S2、在分别获得TF-IDF和Doc2vec特征矩阵后,将TF-IDF和Doc2vec抽取到的特征进行拼接,降维后获得恶意代码的特征矩阵;
S3、构造基于聚类的集成分类改进模型,该集成分类改进模型基于集成学习的思想,分别采用多个基学习器对数据集进行分类,并在最后采用投票的方式获得最终分类结果,所述集成分类改进模型训练,在每个基学习器中采用基于聚类的分块分类方法进行训练,具体流程如下:
S31、用k-means算法将数据划分为k个数据子集,K个类簇中有一部分类簇只含有一种类别Ci的数据,将这种这种类簇视为单一类别类簇,标记类簇类别为Ci;
S32、对噪音点进行过滤,过滤掉类簇中其他数据类别不同且数量在簇中占比极小的点;
S33、将过滤后仍然含有多个类别数据的类簇合并为一个大的混合类簇,数据被划分为m个类簇,其中{C1,C2,…,Cm-1}为单一类簇,Cm为混合类簇,类簇向量用簇内向量的均值表示:
Figure FDA0002314145770000011
S34、训练SVM分类器,对于混合类簇Cm,训练对应的SVM分类器Sm用于预测数据类别;
S4、对模型进行预测,在模型预测阶段,将输入的数据分别输入各基学习器,在基学习器中,数据被划分到最近的类簇C中,如C为只含一种类别数据的单一类簇,则基学习器输出的预测类别为C类簇数据的类别;如C为混合类别类簇,则基学习器输出的预测为SVM分类器的输出类别,最后根据投票原则,基学习器输出类别中占多数的类别为最终预测类别。
2.根据权利要求1所述恶意代码检测方法,其特征在于,TF-IDF具体为:
给定文本j中的一个词i,设ni,j为文本j中词i的数量,则该词的TF公式为:
Figure FDA0002314145770000021
设N为语料库中的文本总数,N(i)为包含词i的文本的数量,则该词的IDF公式为:
Figure FDA0002314145770000022
根据TF和IDF值,文本j中词i的TF-IDF计算公式为:
TF-IDFi,j=TFi,j*IDFi
3.根据权利要求1所述恶意代码检测方法,其特征在于,步骤S11中,所述构建Doc2vec模型结构共分为三层:输入层、投影层、输出层,
输入层包括2k个词的词向量w(t-k),…,w(t-1),w(t+1),…,w(t+k)和1个文本向量w(d),其中k为给定的滑动窗口大小;
投影层将输入的2k+1个词向量做求和平均处理:
Figure FDA0002314145770000023
输出层对应一棵Huffman树,Huffman树的每个叶子节点对应一个词,词频高的词在Huffman树中的深度比词频低的词更小。
4.根据权利要求1所述恶意代码检测方法,其特征在于,步骤S11中,模型参数设置如下:
pt:从根节点出发到词t对应的的叶子节点的路径;
lt:路径pt中包含节点的个数;
Figure FDA0002314145770000024
路径pt中的lt个节点,其中
Figure FDA0002314145770000025
表示根节点,
Figure FDA0002314145770000026
表示词t对应的叶子节点;
Figure FDA0002314145770000027
其中d∈{0,1}:词t对应的Huffman编码
Figure FDA0002314145770000028
代表路径pt中第j个节点对应的编码(根节点不对应编码);
Figure FDA0002314145770000029
其中
Figure FDA00023141457700000210
路径pt中非叶子节点对应的向量,
Figure FDA00023141457700000211
表示路径pt中第j个非叶子节点对应的向量;
对于词典中任意词t,Huffman树中必然存在唯一一条从根节点到t对应叶子节点的路径pt,路径pt上存在lt-1个分支,将每个分支看作一次二分类,则每一次分类对应一个概率,将这些概率连乘得到p(t|Context(t)):
Figure FDA0002314145770000031
Figure FDA0002314145770000032
其中
Figure FDA0002314145770000033
通过对数极大似然化处理可得模型目标函数为:
Figure FDA0002314145770000034
和Word2vec一样,Doc2vec极大化目标函数使用的算法是随机梯度上升法,
Figure FDA0002314145770000035
关于
Figure FDA0002314145770000036
的梯度计算如下:
Figure FDA0002314145770000037
Figure FDA0002314145770000038
的更新公式为:
Figure FDA0002314145770000039
Figure FDA00023141457700000310
关于w(t)的梯度计算如下:
Figure FDA00023141457700000311
事实上w(t)表示的是输入层中2k+1个词/文本向量的叠加,在Doc2vec中根据
Figure FDA0002314145770000041
更新每个分量w(i)的方法为:
Figure FDA0002314145770000042
5.根据权利要求1所述恶意代码检测方法,其特征在于,步骤S12中,训练Doc2vec模型的步骤为:
(1)初始化词向量矩阵{w(t1),w(t2),…,w(tn)}、文本向量矩阵{w(d1),w(d2),…,w(dm)}、非叶节点向量Θ、梯度参数η、滑动窗口大小k;
(2)从t=1,2…,n迭代循环(3)-(4);
(3)
Figure FDA0002314145770000043
(4)从j=2,3,…,lt迭代循环(5)-(9);
(5)
Figure FDA0002314145770000044
(6)
Figure FDA0002314145770000045
(7)
Figure FDA0002314145770000046
(8)
Figure FDA0002314145770000047
(9)更新t的2k+1个上下文词向量/文本向量w(i)=w(i)+e。
6.根据权利要求1所述恶意代码检测方法,其特征在于,步骤S31中,k-means算法步骤如下:
S311、随机选定K个数据样本作为聚类中心点;
S312、根据数据与聚类中心点的聚类,将每个数据分配至离自己最近的类簇;
S313、计算每个类簇中所有对象的均值作为该类簇的新聚类中心点;
S314、判断聚类中心是否变化,如果是转至步骤S312,如果否,聚类结束。
7.根据权利要求1所述恶意代码检测方法,其特征在于,步骤S32中,噪音点的判别标准如下:
Figure FDA0002314145770000048
其中{C1,C2,...,Cm}为k-means划分后含有混合类别数据的类簇集合,Ci(x)为类簇Ci中与数据点x同类别的的数据集合,ε为阈值参数。
8.根据权利要求1所述恶意代码检测方法,其特征在于,步骤S34中,训练SVM分类器的过程如下:
S341、支持向量机的建模过程;
分类超平面为ωTx+b=0,支持向量所在超平面与分类超平面的几何间隔为d,则可以求出支持向量所在的超平面方程
对任意数据点(x(i),y(i))根据点到平面的距离关系有如下式子成立
Figure FDA0002314145770000051
不等式的两边同时除以距离d,并令
Figure FDA0002314145770000052
可以化简为
Figure FDA0002314145770000053
所以支持向量所在的超平面可记为
Figure FDA0002314145770000054
S 342、支持向量机的目标函数;
训练支持向量机模型也就是求解下列二次规划问题,其中x(j)为支持向量
Figure FDA0002314145770000055
Figure FDA0002314145770000056
根据支持向量所在的超平面方程可知|ωTx(j)+b|=1故上述模型可以写成
Figure FDA0002314145770000057
s.t y(i)Tx(i)+b)≥1
Figure FDA0002314145770000058
s.t y(i)Tx(i)+b)≥1
支持向量机的目标函数一般写为对偶形式下的二次优化模型,为了不失一般性引入核函数,即求解下述问题
Figure FDA0002314145770000059
9.根据权利要求8所述恶意代码检测方法,其特征在于,步骤S34中,SVM算法的具体过程为:
假设输入空间是X∈Rn,Y∈{+1,-1},不妨假设含有m个样本数据(x(1),y(1))、(x(2),y(2))、…、(x(m),y(m)),其中x(i)∈X、y(i)∈Y,精度为ε,输出近似解为
Figure FDA00023141457700000614
(1)取初值α0=0,令k=0;
(2)选取待优化变量
Figure FDA0002314145770000061
计算出新的
Figure FDA0002314145770000062
Figure FDA0002314145770000063
(3)更新
Figure FDA0002314145770000064
Figure FDA0002314145770000065
(4)利用
Figure FDA0002314145770000066
Figure FDA0002314145770000067
的关系求出
Figure FDA0002314145770000068
Figure FDA0002314145770000069
(5)计算bk+1和Ei
(6)在精度ε范围内检查是否满足如下的终止条件,其中
Figure FDA00023141457700000610
Figure FDA00023141457700000611
Figure FDA00023141457700000612
若满足则转(7);否则令k=k+1转到步骤(2);
(7)取
Figure FDA00023141457700000613
10.一种恶意代码检测系统,其特征在于,包括特征抽取模块、特征矩阵获取模块、集成分类改进模型构造模块以及模型预测模块;
所述特征抽取模块,用于将每个恶意代码运行过程中的WindowsAPI动作序列视作一个具有上下文关系的文本,分别使用TF-IDF和Doc2vec进行特征抽取;TF-IDF是用来评估特定词语在语料库中重要程度,其中TF计算词语出现的频率,IDF用以衡量词语对于文本类型的区分度;
所述特征获取模块,用于在分别获得TF-IDF和Doc2vec特征矩阵后,将TF-IDF和Doc2vec抽取到的特征进行拼接,降维后获得恶意代码的特征矩阵;
所述集成分类改进模型构造模块,基于集成学习的思想,分别采用多个基学习器对数据集进行分类,并在最后采用投票的方式获得最终分类结果;
所述模型预测模块,用于对模型进行预测,在模型预测阶段,将输入的数据分别输入各基学习器,在基学习器中,数据被划分到最近的类簇C中,如C为只含一种类别数据的单一类簇,则基学习器输出的预测类别为C类簇数据的类别;如C为混合类别类簇,则基学习器输出的预测为SVM分类器的输出类别,最后根据投票原则,基学习器输出类别中占多数的类别为最终预测类别。
CN201911270920.4A 2019-12-12 2019-12-12 一种恶意代码检测方法及系统 Active CN111143842B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911270920.4A CN111143842B (zh) 2019-12-12 2019-12-12 一种恶意代码检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911270920.4A CN111143842B (zh) 2019-12-12 2019-12-12 一种恶意代码检测方法及系统

Publications (2)

Publication Number Publication Date
CN111143842A true CN111143842A (zh) 2020-05-12
CN111143842B CN111143842B (zh) 2022-07-01

Family

ID=70518145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911270920.4A Active CN111143842B (zh) 2019-12-12 2019-12-12 一种恶意代码检测方法及系统

Country Status (1)

Country Link
CN (1) CN111143842B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797398A (zh) * 2020-06-28 2020-10-20 韩山师范学院 恶意代码可视化及变种检测方法、系统、设备及存储介质
CN111797393A (zh) * 2020-06-23 2020-10-20 哈尔滨安天科技集团股份有限公司 基于gpu恶意挖矿行为的检测方法与装置
CN112306494A (zh) * 2020-12-03 2021-02-02 南京航空航天大学 一种基于卷积和循环神经网络的代码分类及聚类方法
CN112380535A (zh) * 2020-11-13 2021-02-19 重庆科技学院 一种基于cbow的恶意代码三通道可视化识别方法
CN113055372A (zh) * 2021-03-09 2021-06-29 重庆邮电大学 一种恶意软件的传播预测方法
CN113256555A (zh) * 2021-03-26 2021-08-13 东北大学 一种基于机器学习的外观异常gui控件检测方法
CN113591084A (zh) * 2021-07-26 2021-11-02 福州大学 基于电路路径语句的Transformer恶意芯片识别方法及系统
CN113704756A (zh) * 2021-07-19 2021-11-26 广州大学 基于集成策略的挖矿型恶意代码鲁棒性检测方法、系统及介质
CN113918942A (zh) * 2020-07-10 2022-01-11 深信服科技股份有限公司 一种安全文件的识别方法、装置、电子设备及存储介质
CN113971285A (zh) * 2020-07-24 2022-01-25 深信服科技股份有限公司 一种终端恶意进程识别方法、装置、设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239638A1 (en) * 2006-03-20 2007-10-11 Microsoft Corporation Text classification by weighted proximal support vector machine
US20150310211A1 (en) * 2014-04-28 2015-10-29 Baidu Online Network Technology (Beijing) Co., Ltd Method, apparatus and system for detecting malicious process behavior
CN109614795A (zh) * 2018-11-30 2019-04-12 武汉大学 一种事件感知的安卓恶意软件检测方法
CN109670311A (zh) * 2019-03-01 2019-04-23 中科信息安全共性技术国家工程研究中心有限公司 基于高级语义的恶意代码分析与检测方法
CN109829302A (zh) * 2018-12-28 2019-05-31 中国科学院信息工程研究所 Android恶意应用家族分类方法、装置与电子设备
CN110458187A (zh) * 2019-06-27 2019-11-15 广州大学 一种恶意代码家族聚类方法和系统
US20210319179A1 (en) * 2017-08-14 2021-10-14 Dathena Science Pte. Ltd. Method, machine learning engines and file management platform systems for content and context aware data classification and security anomaly detection

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239638A1 (en) * 2006-03-20 2007-10-11 Microsoft Corporation Text classification by weighted proximal support vector machine
US20150310211A1 (en) * 2014-04-28 2015-10-29 Baidu Online Network Technology (Beijing) Co., Ltd Method, apparatus and system for detecting malicious process behavior
US20210319179A1 (en) * 2017-08-14 2021-10-14 Dathena Science Pte. Ltd. Method, machine learning engines and file management platform systems for content and context aware data classification and security anomaly detection
CN109614795A (zh) * 2018-11-30 2019-04-12 武汉大学 一种事件感知的安卓恶意软件检测方法
CN109829302A (zh) * 2018-12-28 2019-05-31 中国科学院信息工程研究所 Android恶意应用家族分类方法、装置与电子设备
CN109670311A (zh) * 2019-03-01 2019-04-23 中科信息安全共性技术国家工程研究中心有限公司 基于高级语义的恶意代码分析与检测方法
CN110458187A (zh) * 2019-06-27 2019-11-15 广州大学 一种恶意代码家族聚类方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张涛: "基于文本嵌入特征表示的恶意软件家族分类", 《四川大学学报(自然科学版)》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797393A (zh) * 2020-06-23 2020-10-20 哈尔滨安天科技集团股份有限公司 基于gpu恶意挖矿行为的检测方法与装置
CN111797393B (zh) * 2020-06-23 2023-05-23 安天科技集团股份有限公司 基于gpu恶意挖矿行为的检测方法与装置
CN111797398B (zh) * 2020-06-28 2024-02-02 韩山师范学院 恶意代码可视化及变种检测方法、系统、设备及存储介质
CN111797398A (zh) * 2020-06-28 2020-10-20 韩山师范学院 恶意代码可视化及变种检测方法、系统、设备及存储介质
CN113918942A (zh) * 2020-07-10 2022-01-11 深信服科技股份有限公司 一种安全文件的识别方法、装置、电子设备及存储介质
CN113971285A (zh) * 2020-07-24 2022-01-25 深信服科技股份有限公司 一种终端恶意进程识别方法、装置、设备及可读存储介质
CN112380535A (zh) * 2020-11-13 2021-02-19 重庆科技学院 一种基于cbow的恶意代码三通道可视化识别方法
CN112380535B (zh) * 2020-11-13 2022-04-19 重庆科技学院 一种基于cbow的恶意代码三通道可视化识别方法
CN112306494A (zh) * 2020-12-03 2021-02-02 南京航空航天大学 一种基于卷积和循环神经网络的代码分类及聚类方法
CN113055372A (zh) * 2021-03-09 2021-06-29 重庆邮电大学 一种恶意软件的传播预测方法
CN113256555A (zh) * 2021-03-26 2021-08-13 东北大学 一种基于机器学习的外观异常gui控件检测方法
CN113704756A (zh) * 2021-07-19 2021-11-26 广州大学 基于集成策略的挖矿型恶意代码鲁棒性检测方法、系统及介质
CN113591084A (zh) * 2021-07-26 2021-11-02 福州大学 基于电路路径语句的Transformer恶意芯片识别方法及系统
CN113591084B (zh) * 2021-07-26 2023-08-04 福州大学 基于电路路径语句的Transformer恶意芯片识别方法及系统

Also Published As

Publication number Publication date
CN111143842B (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
CN111143842B (zh) 一种恶意代码检测方法及系统
US8280915B2 (en) Binning predictors using per-predictor trees and MDL pruning
CN109657947B (zh) 一种面向企业行业分类的异常检测方法
Iqbal et al. E-mail authorship verification for forensic investigation
CN110929029A (zh) 一种基于图卷积神经网络的文本分类方法及系统
CN110569366A (zh) 文本的实体关系抽取方法、装置及存储介质
US20070094216A1 (en) Uncertainty management in a decision-making system
EP4035082A1 (en) Deep neural architectures for detecting false claims
WO2016177069A1 (zh) 一种管理方法、装置、垃圾短信监控系统及计算机存储介质
CN112347223A (zh) 文档检索方法、设备及计算机可读存储介质
CN113627151B (zh) 跨模态数据的匹配方法、装置、设备及介质
Huang et al. Harmonious genetic clustering
CN114896305A (zh) 一种基于大数据技术的智慧互联网安全平台
Bonaccorso Hands-on unsupervised learning with Python: implement machine learning and deep learning models using Scikit-Learn, TensorFlow, and more
CN110489997A (zh) 一种基于模式匹配算法的敏感信息脱敏方法
CN115688024A (zh) 基于用户内容特征和行为特征的网络异常用户预测方法
CN114707517B (zh) 一种基于开源数据事件抽取的目标跟踪方法
CN115473726A (zh) 一种识别域名的方法及装置
CN116186611A (zh) 一种不平衡数据的分类方法、装置、终端设备及介质
CN114662477A (zh) 基于中医对话的停用词表生成方法、装置及存储介质
CN116402166B (zh) 一种预测模型的训练方法、装置、电子设备及存储介质
CN112632000A (zh) 日志文件聚类方法、装置、电子设备和可读存储介质
CN116205296A (zh) 一种融合自顶向下与自底向上的abac策略工程方法
CN116204647A (zh) 一种目标比对学习模型的建立、文本聚类方法及装置
CN115310606A (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
GR01 Patent grant
GR01 Patent grant