CN103177215A - 基于软件控制流特征的计算机恶意软件检测新方法 - Google Patents
基于软件控制流特征的计算机恶意软件检测新方法 Download PDFInfo
- Publication number
- CN103177215A CN103177215A CN2013100698521A CN201310069852A CN103177215A CN 103177215 A CN103177215 A CN 103177215A CN 2013100698521 A CN2013100698521 A CN 2013100698521A CN 201310069852 A CN201310069852 A CN 201310069852A CN 103177215 A CN103177215 A CN 103177215A
- Authority
- CN
- China
- Prior art keywords
- software
- file
- address
- fundamental block
- instruction
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种基于软件控制流特征的计算机恶意软件检测新方法,通过静态分析:二进制文件的控制流结构,自动提取操作码序列,并利用空间向量模型将序列转为结构化信息,这些信息经过筛选后作为文件的特征集,再使用数据挖掘的方法从大量特征集中发现软件分类的规则,并将其用于恶意软件的检测。本发明不但能够有效的检测出普通zero-day恶意软件,而且对于采用模糊和多态技术的恶意软件同样有较好的检测结果,对于蓄意攻击也保持良好的稳定性。
Description
技术领域
本发明涉及计算机信息安全中的恶意软件的检测方法,特别是对于恶意软件设计者采用模糊和多态技术来隐藏代码外部信息和局部特征时,其检测结果具有良好的稳定性的恶意软件检测方法。
背景技术
随着计算机科学在社会各个领域的广泛应用,计算机软件的安全问题受到人们越来越多的关注。建立可信的软件系统成为维护计算机信息安全的一种有效手段,对于恶意软件的检测成为软件可信性分析的核心研究方向。
传统的基于特征码的检测方式需要通过专用数据库来更新和维护事先提取相关特征码,通过扫描引擎查找软件的局部信息,并使用字符串匹配方法来对比这些信息和特征码的相似度,根据对比结果来得出检测结论。这种检测方法被广泛应用于现有的杀毒软件和系统防护软件中,属于比较成熟的技术,现在开发重点主要集中在提高代码的扫描速度和特征码提取的准确度。
近年来提出的非特征码恶意软件检测方法中,有些是采用启发式分析或是基于软件行为来判断正常软件和恶意软件,这些方法在没有软件先验信息的情况下,对zero-day恶意软件有一定的检测效果。还有一些研究是通过在软件特殊结构属性信息来分类软件,比如通过提取PE文件的头部信息进行对比分类,在正常运行环境也取得了不错的检测结果。这些方法都是通过对软件的局部信息挖掘,期望得到能够将软件正确分类的指标集,然后用指标集检测软件。
上述的恶意软件检测方法分别存在以下问题:
第一,基于特征码的检测方法需要获得恶意软件的特征码,并将不断增加的特征码到用户端的数据库,对日益庞大的数据库维护成为使用者付出的代价。该检测方法最大的缺点是难以检测未知的恶意软件,用户不能够及时处理新的安全威胁。
第二,采用启发式分析或是基于软件行为检测方法是通过获得代码的特殊局部信息对软件进行分类,但是对于使用模糊和多态的恶意软件,这种局部特征往往不固定,因此该检测方法在判断这些恶意软件时准确率不够。
第三,使用标准格式信息来区分软件的检测方法,利用的是软件的外部描述信息,这些信息大多不直接涉及软件的行为,对于熟悉该方法的恶意软件设计者,能够通过对格式信息的特殊处理来大幅度降低该方法的检测效果。
发明内容
本发明的目的是提供一种识别准确率高、检测结果稳定性好的基于软件控制流特征的恶意软件检测方法。
本发明的目的是这样实现的:一种基于软件控制流特征的恶意软件检测方法,包含4个主要步骤:
1)对PE格式文件即Portable Executables格式文件进行反汇编:
采用递归下降算法来处理文件,以有效区分指令和数据,并采用基于x86汇编指令集创建指令序列;
2)根据控制流选择代码的基本块
软件控制流是指反汇编代码中的基本块所形成的控制流结构;基本块是由若干虚拟地址连续的指令组成,它的特点是只有一个入口地址和一个出口地址,即这些指令执行时要么都不执行,要么按地址依次全部执行;基本块的构成采用断点判别法来实现,即首先确定整个软件代码序列中的断点地址,在相邻断点地址之间的指令序列则形成一个基本块;
3)软件特征表示和筛选
将软件代码序列中的基本块作为代表软件的特征类型,采用布尔型向量来表达软件特征:统计软件样本中出现的所有n个基本块并编号分别为(0,1,2,…,n-1),所有软件使用一个n维的布尔向量来表示,当软件包含编号为i的基本块时,向量的第i+1表示为1,否则表示为0;并通过软件特征在文件中出现的频率来筛选特征,最优先的选择区间为[0.2×m,0.6×m],其中m是所有样本中不同特征的数量;
4)通过数据挖掘算法判断恶意软件和正常软件:
4.1)通过数据挖掘算法产生训练集结果:
该过程是生成训练集结果和判断规则的过程;首先对大量的正常软件和恶意代码样本进行处理,样本文件按前面的特征表示与筛选生成的数据集作为输入,通过机器学习过程,在以下选用的数据挖掘算法中得到训练集结果;数据挖掘算法采用基于决策树的C4.5算法,基于Random Forest的分类算法和贝叶斯分类算法中的基于Bagging算法之一种;并按m fold交叉验证产生分类规则;训练集结果产生的这些分类规则作为之后检测PE文件的依据;
m fold交叉验证:在对文件进行分类时,将所有文件按随机方式平均分为m份,将其中m-1份作为机器学习的材料,而另外1份作为测试目标,这样进行m次,使每一份都能得到测试;
4.2)产生测试结果:
对于被测试的PE文件,经过提取与前面过程中相同的控制流特征后,将这些特征使用布尔型向量表示并使用arff记录文件存储这些数据;这些记录文件作为输入,利用上述训练集结果就得到测试结果。
所述断点地址的判断原则是出现跳转指令,或者,该地址为跳转指令的目标地址或调用指令的目标地址。
本发明针对传统恶意软件检测方法中偏重于软件的局部或外部特征,对使用模糊和多态技术恶意软件检测效率不稳定的缺点,提出利用软件控制流反映出的语法结构和语义信息来发掘软件的行为特征,并使用向量空间模型描述这些信息,通过指标分析和数据挖掘来实现恶意软件检测。
本发明的有益效果是:
1、本发明解决的关键问题在于:创新性的利用软件控制流结构中的指令序列来判断软件行为,通过序列频率区域选取部分信息作为软件特征,然后利用数据挖掘的分类算法对样本处理得到软件分类的判断规则,从而进行恶意软件检测。
2、现有通过人工分析提取软件特征码的方法,在效率和对未知病毒的检测性能方面都存在不足。本发明提出能够静态分析二进制文件的控制流结构,自动提取操作码序列,并利用空间向量模型将序列转为结构化信息,这些信息经过筛选后作为文件的特征集。使用数据挖掘的方法从大量特征集中发现软件分类的规则,并将其用于恶意软件的检测。本发明对于Portable Executables(PE)文件中反汇编代码中的控制流,通过提取指令序列信息来检测恶意软件。该方法主要过程分三步:①通过反汇编代码中的基本块获得软件指令序列,②将软件指令序列信息转换成软件特征指标,③通过有效的数据挖掘算法分类恶意软件和正常软件。基于软件控制流的恶意软件检测方法,不但能够有效的检测出普通zero-day恶意软件,而且对于采用模糊和多态技术的恶意软件同样有较好的检测结果,对于蓄意攻击也保持良好的稳定性。
附图说明
图1是基于软件控制流特征的恶意软件检测方法的模型框图。
具体实施方式
参见图1,本发明包含以下4个步骤:1、对PE格式文件进行反汇编;2、根据控制流选择代码基本块;3、软件特征表示与筛选;4、通过分类算法判断恶意软件和正常软件;具体步骤如下:
1)对PE格式文件进行反汇编:
我们处理的对象是PE格式的文件,主要数据是这些文件反汇编后得到的代码,因此反汇编的质量关系到数据的准确性,在本模型中采用递归下降算法来处理文件,这种算法的好处是能够有效的区分指令和数据,提高可信赖的结果。由于不同编译器生成的函数调用指令存在差异,我们采用基于x86汇编指令集创建指令序列。
2)选择代码的基本块
软件控制流在不同层次上的表现也各不相同,本方法使用的控制流是指反汇编代码中的基本块所形成的控制流结构。基本块是由若干虚拟地址连续的指令组成,它的特点是只有一个入口地址和一个出口地址,即这些指令执行时要么都不执行,要么按地址依次全部执行。基本块的构成采用断点判别法来实现,即首先确定整个软件代码序列中的断点指令地址,在相邻断点之间的指令序列则形成一个基本块。断点地址由两种情况,一种是出现跳转指令,如jmp,ja,jae,jb,jbe,jc,jcxz,jecxz,je,jg,jge,jl,jle,jna,jnae,jnb,jnbe,jnc,jne,jng,jnge,jnl,jnle,jno,jnp,jnp,jns,jnz,jo,p,jpe,jpo,js,jz,retn等,另一种情况该地址被其它指令调用,即前面所述跳转指令的目标地址,也包括call调用的目标地址。
3)软件特征表示和筛选
代码中的基本块作为代表软件的特征类型,本方法采用布尔型数值来表达软件特征。具体方法是统计软件样本中出现的所有n个基本块并编号分别为(0,1,2,…,n-1),所有软件使用一个n维的布尔向量来表示,当软件包含编号为i的基本块时,向量的第i+1表示为1,否则表示为0。
通过特征在文件中出现的频率来筛选特征。阈值设置要综合考虑特征的区分度以及有效性,如果设置过大,表示在绝大多数程序中都出现过,就不能很好的区分程序;如果设置过小,表示只会出现在极少程序中,很难在其它程序找到这些序列,把它们作为特征时对于其它程序的检测很可能没有用处。本方法保留Xi在区间[0.2×m,0.6×m]的软件特征,其中,Xi代表包含第i个序列文件数量,m是所有样本文件中不同特征的数量。
4)通过数据挖掘算法判断恶意软件和正常软件:
4.1)通过分类算法产生训练集结果:
该过程是生成训练集结果和判断规则的过程;首先对大量的正常软件和恶意代码样本进行处理,样本文件按前面的特征表示与筛选生成的数据集作为输入,通过机器学习过程,在选用的数据挖掘算法中得到训练集结果;上述数据挖掘算法采用基于决策树的C4.5算法,基于Random Forest的分类算法和贝叶斯分类算法中的基于Bagging算法之一种;并按m fold交叉验证产生分类规则;训练集结果产生的这些分类规则作为之后检测PE文件的依据;
m fold交叉验证:在对文件进行分类时,将所有文件按随机方式平均分为m份,将其中m-1份作为机器学习的材料,而另外1份作为测试目标,这样进行m次,使每一份都能得到测试;
4.2)产生测试结果:
对于被测试的PE文件,经过提取与前面过程中相同的控制流特征后,将这些特征使用布尔型向量表示并使用arff记录文件存储这些数据;这些记录文件作为输入,利用上述训练集结果就得到测试结果。
本发明的具体描述如下:
(1)检测模型及基本思想
基于软件控制流特征的恶意软件检测方法处理的对象主要是PE格式的正常软件和恶意软件。该方法是一种静态的分析方法,无需真正运行被检测的软件,只是将其进行反汇编处理,得到软件的反汇编指令序列,然后将这些序列处理后作为软件特征,进而识别恶意软件。
新检测方法使用的模型如图1所示,该模型分为2个阶段,第一个阶段数据训练阶段,包括反汇编、序列选择、特征筛选和机器学习4个步骤;第二个阶段软件检测阶段,包括反汇编,序列选择和恶意软件检测3个步骤。
我们处理的对象是PE格式的文件,主要数据是这些文件反汇编后得到的代码,因此反汇编的质量关系到数据的准确性,在本模型中采用递归下降算法来处理文件,这种算法的好处是能够有效的区分指令和数据,提高可信赖的结果。由于不同编译器生成的函数调用指令存在差异,我们采用基于x86汇编指令集创建指令序列。
软件控制流在不同层次上的表现也各不相同,本方法使用的控制流是指反汇编代码中的基本块所形成的控制流结构。基本块是由若干虚拟地址连续的指令组成,它的特点是只有一个入口地址和一个出口地址,即这些指令执行时要么都不执行,要么按地址依次全部执行。基本块的构成采用断点判别法来实现,即首先确定整个软件代码序列中的断点指令地址,在相邻断点之间的指令序列则形成一个基本块。断点地址由两种情况,一种是出现跳转指令,如jmp,ja,jae,jb,jbe,jc,jcxz,jecxz,je,jg,jge,jl,jle,jna,jnae,jnb,jnbe,jnc,jne,jng,jnge,jnl,jnle,jno,jnp,jnp,jns,jnz,jo,p,jpe,jpo,js,jz,retn等,另一种情况该地址被其它指令调用,即前面所述跳转指令的目标地址,也包括call调用的目标地址。软件基本块的形成算法如下所示:
方法:软件基本块的形成方法。
输入:
■反汇编后的代码序列F
输出:
■基本块集合BlockList
方法:
首先定义断点地址,通过对遍历输入的代码序列,标注出序列之间的断点地址,然后相邻断点地址之间的指令序列形成一个基本块;
调用CreateBlocks(File asmFile);
procedure PatternsMining(inputFile);
(2)repeat
(3)if该地址中操作符是跳转指令:
a)标记该地址为断点
b)标记跳转的目标地址为断点
(4)if该地址是函数调用的入口地址
a)标记该地址为断点
(5)if该地址是断点地址:
a)将该地址和上一个断点地址之间的操作码作为基本块并加入BlockList(包含该地址但不包括上个断点地址中的操作码)
(6)until遍历反汇编操作码
(7)return BlockList;
软件基本块作为代表软件的特征类型,本方法采用布尔型数值来表达软件特征。具体方法是统计软件样本中出现的所有n个基本块并编号分别为(0,1,2,…,n-1),所有软件使用一个n维的布尔向量来表示,当软件包含编号为i的基本块时,向量的第i+1为表示为1,否则表示为0。
随着软件数量的增加,代码中基本块的数量也急剧增多,以及由此表现的软件特征数量也相应增加,因此需要对特征进行筛选,挑选出少量有效的软件特征。在我们的特征筛选方法中,通过特征在文件中出现的频率来筛选特征。阈值设置要综合考虑特征的区分度以及有效性,如果设置过大,表示在绝大多数程序中都出现过,就不能很好的区分程序;如果设置过小,表示只会出现在极少程序中,很难在其它程序找到这些序列,把它们作为特征时对于其它程序的检测很可能没有用处。本方法保留Xi在区间[0.2×m,0.6×m]的软件特征,其中,Xi代表包含第i个序列文件数量,m是所有样本文件中不同特征的数量。
机器学习过程中,我们使用了3种分类算法,分别是判定树算法C4.5、Bagging和Random Forest算法。C4.5使用信息增益比率选择最优属性来划分数据集,直到满足一定的条件。Bagging算法是用来提高分类器稳定性和精度的一种元分类算法,它产生多个分类器并使用多数投票的方式决定最终的分类结果。Random Forest通过引导过程建立多个分类器,每个分类器的学习样本是随机产生的,Random Forest还将随机性加入到每棵树的生成过程之中。设样本共有Q个属性,事先给定q<Q(q通常取Q的平方根),在选择每个结点的分裂属性时,从全体特征中随机选择q个进行比较,选择其中分类结果较好的属性进行分裂。
恶意软件的检测结果是和分类器的性能密切相关的,如果采用适当的分类器评估方法,就可以使得分类器性能与未知病毒检测能力两者达到一致。我们将分类器的true positive rate表示为病毒识别率,false positive rate表示为虚警率,而overall accuracy表示为总体识别率。
恶意软件检测阶段则是根据特征筛选的结果提取性质未知软件的相应基本块作为软件特征,利用建立好的分类器对其进行分类,分类结果即为检测结果。
最后,由表1给出本发明方法与传统的基于特征码模式、最新的局部信息挖掘模式方法之间的简要对比与总结。
表1本发明方法与传统方法间的对比总结
下面对本发明的实施方式作进一步说明:
在表2中描述了本发明方法中采用的实验数据集的简要信息。该实验数据集正常文件是实验室中收集的Windows XP sp3中的系统文件和应用程序;恶意软件是从VXheaven网站下载的部分恶意软件。样本文件处理的过程包括反汇编,特征提取,特征筛选,软件特征的数据使用arff类型文件保存。在本发明方法验证过程采用10fold交叉验证,在测试过程中使用了不同的分类算法。
实验:
●具体操作:分别3种分类算法C4.5算法、RandomForest算法和Bagging算法对数据进行10fold交叉测试,测试结果如表3所示。
表2实验数据描述
●结果分析:在所有的分类算法中,Random Forest算法得到的结果最好,因此在检测恶意软件时推荐使用该算法。
表3实验结果描述
注:Detection Rate指恶意软件被正确识别的准确率;False Alarm Rate指正常文件被当做恶意软件的误判率;Overall Accuracy指样本比例加权后的平均值。
Claims (2)
1.一种基于软件控制流特征的恶意软件检测方法,其特征是:包含4个主要步骤:
1)对PE格式文件即Portable Executables格式文件进行反汇编:
采用递归下降算法来处理文件,以有效区分指令和数据,并采用基于x86汇编指令集创建指令序列;
2)根据控制流选择代码的基本块:
软件控制流是指反汇编代码中的基本块所形成的控制流结构;基本块是由若干虚拟地址连续的指令组成,它的特点是只有一个入口地址和一个出口地址,即这些指令执行时要么都不执行,要么按地址依次全部执行;基本块的构成采用断点判别法来实现,即首先确定整个软件代码序列中的断点地址,在相邻断点地址之间的指令序列则形成一个基本块;
3)软件特征表示和筛选:
将软件代码序列中的基本块作为代表软件的特征类型,采用布尔型向量来表达软件特征:统计软件样本中出现的所有n个基本块并编号分别为(0,1,2,…,n-1),所有软件使用一个n维的布尔向量来表示,当软件包含编号为i的基本块时,向量的第i+1表示为1,否则表示为0;并通过软件特征在文件中出现的频率来筛选特征,最优先的选择区间为[0.2×m,0.6×m],其中m是所有样本中不同特征的数量;
4)通过数据挖掘算法判断恶意软件和正常软件:
4.1)通过数据挖掘算法产生训练集结果:
该过程是生成训练集结果和判断规则的过程;首先对大量的正常软件和恶意代码样本进行处理,样本文件按前面的特征表示与筛选生成的数据集作为输入,通过机器学习过程,在以下选用的数据挖掘算法中得到训练集结果;数据挖掘算法采用基于决策树的C4.5算法,基于Random Forest的分类算法和贝叶斯分类算法中的基于Bagging算法之一种;并按m fold 交叉验证产生分类规则;训练集结果产生的这些分类规则作为之后检测PE文件的依据;
m fold 交叉验证:在对文件进行分类时,将所有文件按随机方式平均分为m份,将其中m-1份作为机器学习的材料,而另外1份作为测试目标,这样进行m次,使每一份都能得到测试;
4.2)产生测试结果:
对于被测试的PE文件,经过提取与前面过程中相同的控制流特征后,将这些特征使用布尔型向量表示并使用arff记录文件存储这些数据;这些记录文件作为输入,利用上述训练集结果就得到测试结果。
2.根据权利要求1所述的基于软件控制流特征的恶意软件检测方法,其特征是:所述断点地址的判断原则是出现跳转指令,或者,该地址为跳转指令的目标地址或调用指令的目标地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310069852.1A CN103177215B (zh) | 2013-03-05 | 2013-03-05 | 基于软件控制流特征的计算机恶意软件检测新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310069852.1A CN103177215B (zh) | 2013-03-05 | 2013-03-05 | 基于软件控制流特征的计算机恶意软件检测新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103177215A true CN103177215A (zh) | 2013-06-26 |
CN103177215B CN103177215B (zh) | 2016-01-20 |
Family
ID=48637062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310069852.1A Active CN103177215B (zh) | 2013-03-05 | 2013-03-05 | 基于软件控制流特征的计算机恶意软件检测新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103177215B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657263A (zh) * | 2015-02-10 | 2015-05-27 | 上海创景计算机系统有限公司 | 基于jtag调试方式实现通用型目标码覆盖率测试系统和测试方法 |
CN104834857A (zh) * | 2015-03-27 | 2015-08-12 | 清华大学深圳研究生院 | 批量安卓恶意软件检测方法及装置 |
CN104899606A (zh) * | 2015-06-17 | 2015-09-09 | 中国科学院自动化研究所 | 一种基于局部学习的信息隐藏检测方法 |
CN104933357A (zh) * | 2015-06-01 | 2015-09-23 | 国家电网公司 | 一种基于数据挖掘的洪泛攻击检测系统 |
CN105229661A (zh) * | 2013-07-31 | 2016-01-06 | 惠普发展公司,有限责任合伙企业 | 基于信号标记确定恶意软件 |
CN105760897A (zh) * | 2016-03-21 | 2016-07-13 | 合肥赛猊腾龙信息技术有限公司 | 一种使用可信度分类器进行文件分类的方法及装置 |
CN105868633A (zh) * | 2016-04-22 | 2016-08-17 | 河南理工大学 | 一种恶意软件感染后宿主软件中恶意代码识别方法 |
CN106295342A (zh) * | 2016-08-19 | 2017-01-04 | 北京金山安全管理系统技术有限公司 | 检测和清除可移植可执行文件中感染型病毒的方法及装置 |
CN106407809A (zh) * | 2016-09-20 | 2017-02-15 | 四川大学 | 一种Linux平台恶意软件检测方法 |
CN106650445A (zh) * | 2016-12-16 | 2017-05-10 | 华东师范大学 | 一种恶意程序识别方法 |
CN106778277A (zh) * | 2017-01-13 | 2017-05-31 | 北京邮电大学 | 恶意程序检测方法及装置 |
CN106845226A (zh) * | 2016-12-26 | 2017-06-13 | 中国电子科技集团公司第三十研究所 | 一种恶意程序分析方法 |
US9798981B2 (en) | 2013-07-31 | 2017-10-24 | Entit Software Llc | Determining malware based on signal tokens |
CN104834857B (zh) * | 2015-03-27 | 2018-02-09 | 清华大学深圳研究生院 | 批量安卓恶意软件检测方法及装置 |
CN108287905A (zh) * | 2018-01-26 | 2018-07-17 | 华南理工大学 | 一种网络流特征的提取与存储方法 |
CN108875320A (zh) * | 2018-07-17 | 2018-11-23 | 北京元心科技有限公司 | 软件安全防护方法、装置、电子设备及计算机存储介质 |
CN108965340A (zh) * | 2018-09-25 | 2018-12-07 | 网御安全技术(深圳)有限公司 | 一种工业控制系统入侵检测方法及系统 |
CN109492389A (zh) * | 2018-10-31 | 2019-03-19 | 施勇 | 一种机器学习自动化行为分析的行为威胁分析方法 |
WO2020047782A1 (zh) * | 2018-09-05 | 2020-03-12 | 西门子股份公司 | 恶意代码扫描方法、系统、计算机设备、存储介质及程序 |
CN110968869A (zh) * | 2019-11-22 | 2020-04-07 | 上海交通大学 | 一种基于深度学习的大规模恶意软件分类系统和方法 |
CN111133396A (zh) * | 2017-10-16 | 2020-05-08 | 富士通株式会社 | 生产设备监视装置、生产设备监视方法以及生产设备监视程序 |
CN112000954A (zh) * | 2020-08-25 | 2020-11-27 | 莫毓昌 | 一种基于特征序列挖掘和精简的恶意软件检测方法 |
CN114386511A (zh) * | 2022-01-11 | 2022-04-22 | 广州大学 | 基于多维度特征融合和模型集成的恶意软件家族分类方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040111713A1 (en) * | 2002-12-06 | 2004-06-10 | Rioux Christien R. | Software analysis framework |
CN101359351A (zh) * | 2008-09-25 | 2009-02-04 | 中国人民解放军信息工程大学 | 针对恶意行为的多层语义标注及检测方法 |
CN102034042A (zh) * | 2010-12-13 | 2011-04-27 | 四川大学 | 基于函数调用关系图特征的恶意代码检测新方法 |
-
2013
- 2013-03-05 CN CN201310069852.1A patent/CN103177215B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040111713A1 (en) * | 2002-12-06 | 2004-06-10 | Rioux Christien R. | Software analysis framework |
CN101359351A (zh) * | 2008-09-25 | 2009-02-04 | 中国人民解放军信息工程大学 | 针对恶意行为的多层语义标注及检测方法 |
CN102034042A (zh) * | 2010-12-13 | 2011-04-27 | 四川大学 | 基于函数调用关系图特征的恶意代码检测新方法 |
Non-Patent Citations (2)
Title |
---|
白金荣 等: "基于ELF静态结构的恶意软件检测方法", 《四川大学学报(工程科学版)》, 30 September 2012 (2012-09-30) * |
白金荣 等: "基于PE静态结构特征的恶意软件检测方法", 《计算机科学》, 31 January 2013 (2013-01-31) * |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105229661B (zh) * | 2013-07-31 | 2018-10-09 | 安提特软件有限责任公司 | 基于信号标记确定恶意软件的方法、计算设备及存储介质 |
US9798981B2 (en) | 2013-07-31 | 2017-10-24 | Entit Software Llc | Determining malware based on signal tokens |
CN105229661A (zh) * | 2013-07-31 | 2016-01-06 | 惠普发展公司,有限责任合伙企业 | 基于信号标记确定恶意软件 |
CN105431859A (zh) * | 2013-07-31 | 2016-03-23 | 惠普发展公司,有限责任合伙企业 | 指示恶意软件的信号标记 |
CN104657263B (zh) * | 2015-02-10 | 2017-10-24 | 上海创景计算机系统有限公司 | 基于jtag调试方式实现通用型目标码覆盖率测试系统和测试方法 |
CN104657263A (zh) * | 2015-02-10 | 2015-05-27 | 上海创景计算机系统有限公司 | 基于jtag调试方式实现通用型目标码覆盖率测试系统和测试方法 |
CN104834857A (zh) * | 2015-03-27 | 2015-08-12 | 清华大学深圳研究生院 | 批量安卓恶意软件检测方法及装置 |
CN104834857B (zh) * | 2015-03-27 | 2018-02-09 | 清华大学深圳研究生院 | 批量安卓恶意软件检测方法及装置 |
CN104933357A (zh) * | 2015-06-01 | 2015-09-23 | 国家电网公司 | 一种基于数据挖掘的洪泛攻击检测系统 |
CN104899606B (zh) * | 2015-06-17 | 2018-06-19 | 中国科学院自动化研究所 | 一种基于局部学习的信息隐藏检测方法 |
CN104899606A (zh) * | 2015-06-17 | 2015-09-09 | 中国科学院自动化研究所 | 一种基于局部学习的信息隐藏检测方法 |
CN105760897B (zh) * | 2016-03-21 | 2019-08-20 | 合肥赛猊腾龙信息技术有限公司 | 一种使用可信度分类器进行文件分类的方法及装置 |
CN105760897A (zh) * | 2016-03-21 | 2016-07-13 | 合肥赛猊腾龙信息技术有限公司 | 一种使用可信度分类器进行文件分类的方法及装置 |
CN105868633A (zh) * | 2016-04-22 | 2016-08-17 | 河南理工大学 | 一种恶意软件感染后宿主软件中恶意代码识别方法 |
CN105868633B (zh) * | 2016-04-22 | 2019-03-01 | 河南理工大学 | 一种恶意软件感染后宿主软件中恶意代码识别方法 |
CN106295342A (zh) * | 2016-08-19 | 2017-01-04 | 北京金山安全管理系统技术有限公司 | 检测和清除可移植可执行文件中感染型病毒的方法及装置 |
CN106295342B (zh) * | 2016-08-19 | 2019-02-01 | 北京金山安全管理系统技术有限公司 | 检测和清除可移植可执行文件中感染型病毒的方法及装置 |
CN106407809A (zh) * | 2016-09-20 | 2017-02-15 | 四川大学 | 一种Linux平台恶意软件检测方法 |
CN106407809B (zh) * | 2016-09-20 | 2019-03-01 | 四川大学 | 一种Linux平台恶意软件检测方法 |
CN106650445A (zh) * | 2016-12-16 | 2017-05-10 | 华东师范大学 | 一种恶意程序识别方法 |
CN106650445B (zh) * | 2016-12-16 | 2019-05-28 | 华东师范大学 | 一种恶意程序识别方法 |
CN106845226A (zh) * | 2016-12-26 | 2017-06-13 | 中国电子科技集团公司第三十研究所 | 一种恶意程序分析方法 |
CN106778277A (zh) * | 2017-01-13 | 2017-05-31 | 北京邮电大学 | 恶意程序检测方法及装置 |
US11650579B2 (en) | 2017-10-16 | 2023-05-16 | Fujitsu Limited | Information processing device, production facility monitoring method, and computer-readable recording medium recording production facility monitoring program |
CN111133396A (zh) * | 2017-10-16 | 2020-05-08 | 富士通株式会社 | 生产设备监视装置、生产设备监视方法以及生产设备监视程序 |
CN108287905B (zh) * | 2018-01-26 | 2020-04-21 | 华南理工大学 | 一种网络流特征的提取与存储方法 |
CN108287905A (zh) * | 2018-01-26 | 2018-07-17 | 华南理工大学 | 一种网络流特征的提取与存储方法 |
CN108875320B (zh) * | 2018-07-17 | 2021-10-08 | 北京元心科技有限公司 | 软件安全防护方法、装置、电子设备及计算机存储介质 |
CN108875320A (zh) * | 2018-07-17 | 2018-11-23 | 北京元心科技有限公司 | 软件安全防护方法、装置、电子设备及计算机存储介质 |
WO2020047782A1 (zh) * | 2018-09-05 | 2020-03-12 | 西门子股份公司 | 恶意代码扫描方法、系统、计算机设备、存储介质及程序 |
CN108965340A (zh) * | 2018-09-25 | 2018-12-07 | 网御安全技术(深圳)有限公司 | 一种工业控制系统入侵检测方法及系统 |
CN108965340B (zh) * | 2018-09-25 | 2020-05-05 | 网御安全技术(深圳)有限公司 | 一种工业控制系统入侵检测方法及系统 |
CN109492389A (zh) * | 2018-10-31 | 2019-03-19 | 施勇 | 一种机器学习自动化行为分析的行为威胁分析方法 |
CN109492389B (zh) * | 2018-10-31 | 2020-08-21 | 上海境领信息科技有限公司 | 一种机器学习自动化行为分析的行为威胁分析方法 |
CN110968869A (zh) * | 2019-11-22 | 2020-04-07 | 上海交通大学 | 一种基于深度学习的大规模恶意软件分类系统和方法 |
CN110968869B (zh) * | 2019-11-22 | 2023-06-13 | 上海交通大学 | 一种基于深度学习的大规模恶意软件分类系统和方法 |
CN112000954A (zh) * | 2020-08-25 | 2020-11-27 | 莫毓昌 | 一种基于特征序列挖掘和精简的恶意软件检测方法 |
CN112000954B (zh) * | 2020-08-25 | 2024-01-30 | 华侨大学 | 一种基于特征序列挖掘和精简的恶意软件检测方法 |
CN114386511A (zh) * | 2022-01-11 | 2022-04-22 | 广州大学 | 基于多维度特征融合和模型集成的恶意软件家族分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103177215B (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103177215B (zh) | 基于软件控制流特征的计算机恶意软件检测新方法 | |
CN110233849B (zh) | 网络安全态势分析的方法及系统 | |
CN102034042B (zh) | 基于函数调用关系图特征的恶意代码检测新方法 | |
KR101162051B1 (ko) | 문자열 비교 기법을 이용한 악성코드 탐지 및 분류 시스템 및 그 방법 | |
CN102779249B (zh) | 恶意程序检测方法及扫描引擎 | |
CN106294619A (zh) | 舆情智能监管方法 | |
CN109462575B (zh) | 一种webshell检测方法及装置 | |
Fang et al. | Detecting malicious JavaScript code based on semantic analysis | |
CN112307473A (zh) | 一种基于Bi-LSTM网络和注意力机制的恶意JavaScript代码检测模型 | |
CN107360152A (zh) | 一种基于语义分析的Web威胁感知系统 | |
CN109190371A (zh) | 一种基于行为图的Android恶意软件检测方法和技术 | |
CN110362995A (zh) | 一种基于逆向与机器学习的恶意软件检测及分析系统 | |
CN117077153B (zh) | 基于大规模语言模型的静态应用安全检测误报判别方法 | |
CN106650449B (zh) | 一种基于变量名混淆程度的脚本启发式检测方法及系统 | |
CN115292674A (zh) | 一种基于用户评论数据的欺诈应用检测方法及系统 | |
CN103455754B (zh) | 一种基于正则表达式的恶意搜索关键词识别方法 | |
CN113468524B (zh) | 基于rasp的机器学习模型安全检测方法 | |
CN106874762A (zh) | 基于api依赖关系图的安卓恶意代码检测方法 | |
CN112257076B (zh) | 一种基于随机探测算法和信息聚合的漏洞检测方法 | |
Hang et al. | Malware detection method of android application based on simplification instructions | |
CN106326746A (zh) | 一种恶意程序行为特征库构建方法及装置 | |
CN106650440A (zh) | 一种融合多检测结果的恶意程序检测方法 | |
KR101863569B1 (ko) | 머신 러닝 기반의 취약점 정보를 분류하는 방법 및 장치 | |
KR20220009098A (ko) | 정적분석과 스태킹 기법을 활용한 악성코드 탐지 시스템에 관한 연구 | |
CN112163217B (zh) | 恶意软件变种识别方法、装置、设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |