CN104933365A - 一种基于调用习惯的恶意代码自动化同源判定方法及系统 - Google Patents

一种基于调用习惯的恶意代码自动化同源判定方法及系统 Download PDF

Info

Publication number
CN104933365A
CN104933365A CN201510398325.4A CN201510398325A CN104933365A CN 104933365 A CN104933365 A CN 104933365A CN 201510398325 A CN201510398325 A CN 201510398325A CN 104933365 A CN104933365 A CN 104933365A
Authority
CN
China
Prior art keywords
winapi
homology
sample
custom
malicious code
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
CN201510398325.4A
Other languages
English (en)
Other versions
CN104933365B (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201510398325.4A priority Critical patent/CN104933365B/zh
Publication of CN104933365A publication Critical patent/CN104933365A/zh
Application granted granted Critical
Publication of CN104933365B publication Critical patent/CN104933365B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于WinAPI调用习惯的恶意代码自动化同源判定方法及系统,根据某作者的恶意代码样本集构建该作者的WinAPI调用习惯模型并选择同源判定阈值,依据WinAPI调用习惯模型与同源判定阈值判定待测样本是否同源,与人工同源判定相比,在保持高准确率的前提下大大提高了同源判定的效率,适合已知某作者多个样本,在海量样本集中或在线实时检测该作者所编写的其他恶意代码的场景。此外,本发明通过对比实验表明,与恶意代码家族判定相比,本发明具有跨家族同源判定的能力。

Description

一种基于调用习惯的恶意代码自动化同源判定方法及系统
技术领域
本发明涉及恶意代码分析领域,具体涉及一种基于调用习惯的恶意代码代码自动化同源判定方法及系统。
背景技术
本申请中恶意代码同源指不同恶意代码源自同一组织或同一作者,这些恶意代码可能属于不同家族,甚至具有很大的功能差异。随着攻击方式向高级、持续(如APT,Advanced Persistent Threat)等方向发展,通常一个攻击由多种恶意代码完成或不同的攻击所用的恶意代码均出自同一组织,发现其中的同源关系对作者溯源、攻击场景还原、APT攻击防范等具有重要作用。目前,同源判定主要依赖人工分析,CrySyS实验室的Bencsáth等人依赖特殊关键词,注入机制、注入目标、导出函数、导入函数所用的特殊手法、负载与配置、通信模块等判定Stuxnet与Duqu同源;Gostev等人发现Stuxnet与Duqu在编译平台、时间、代码等方面具有相似性;Kaspersky实验室的专家通过人工分析发现2009版Stuxnet中的一个模块是Flame中的插件,判定Stuxnet与Flame与同源;FireEye实验室的专家深入分析11个高级持续攻击(APT),发现攻击所用恶意代码具有相同的代码段、时间戳,甚至相同的证书,认为这些攻击均由一个组织操纵,具有同源关系。各个实验室、反病毒厂商的专家给出的分析报告详细全面,有力地证明了不同恶意代码的同源关系,但受专家经验影响较大,因此效率较低。
习惯一般指在不知不觉中有规律重复的行为,代码易变但编程习惯不易改变,因此可以根据编程习惯进行同源判定。在源代码作者溯源中,编程习惯主要包括编程布局、编程风格、编程结构等,然而在编译过程中排版、布局、命名等均丢失,生成的二进制程序仅保留了WinAPI(Windows Application Programming Interface)调用习惯等。
发明内容
基于此,为了实现恶意代码同源判定的自动化,本发明提供了一种基于WinAPI调用习惯的恶意代码自动化同源判定方法及系统。
为了实现上述目的,本发明采用以下技术方案:
一种基于调用习惯的恶意代码自动化同源判定方法,包括:
1)获取恶意代码样本作为训练样本;
2)提取训练样本中的WinAPI调用特征项,构建WinAPI调用习惯模型,并选择同源判定阈值;
3)提取待测样本中的WinAPI调用特征项,并计算得到相应的同源度;
4)将待测样本的同源度与步骤2)选择的同源判定阈值进行比较,完成恶意代码自动化同源判定。
进一步地,所述WinAPI调用特征项通过以下方法提取:
1)检测样本是否加壳;
2)若有壳判断是否能脱壳;
3)对未加壳与脱壳样本做反汇编处理,获取反汇编代码;
4)提取反汇编代码中的WinAPI调用特征项。
进一步地,所述WinAPI调用特征项包括:
①样本级2-WinAPI组合特征项:恶意代码作者在一个样本中同时调用的两个WinAPI,表征在编写恶意代码时的WinAPI组合习惯;
②Proc级2-WinAPI组合特征项:恶意代码作者在编写函数中同时调用的两个WinAPI,表征在函数设计中的WinAPI组合习惯;
③Proc级2-WinAPI分离特征项:恶意代码作者在不同函数中使用的两个WinAPI,表征在函数设计中的不同WinAPI分开使用的习惯;
④Loc级2-WinAPI组合特征项:恶意代码作者在Loc代码段中同时调用的两个WinAPI,表征Loc代码段中的WinAPI组合习惯;
⑤Loc级单独调用WinAPI特征项:恶意代码作者在Loc代码段中只调用了一个WinAPI,表征作者在Loc代码段中的WinAPI调用习惯;
⑥Loc级WinAPI序列特征项:恶意代码作者在Loc代码段中调用的WinAPI序列,表征作者在Loc代码段中的WinAPI调用序列习惯;
⑦Loc级WinAPI调用先后次序组合特征项:恶意代码作者在Loc代码段中调用WinAPI的先后关系,表征作者在Loc代码段中调用WinAPI的顺序习惯。
进一步地,所述WinAPI调用习惯模型通过以下方法构建:
首先,采用在不同样本中频繁出现的特征项,即频繁项,表示恶意代码作者的编程习惯,设定频繁项阈值Pthres为0.9。
其次,统计样本中各特征项的出现频率,假设训练集共N个样本,其中n个样本蕴含该特征项,则该特征项的出现频率为当Pf超过一定阈值时,认为该特征项可以表示作者的一个编程习惯,取Pf≥Pthres的特征项加入习惯模型中,Pf表示为该习惯的稳定度,Pf越高表示该习惯在作者编写样本中出现的频率越高;
最终,形成T类带有稳定度的WinAPI调用习惯集合,表示为其中i∈[1,T],(T≤7)表示特征项的类别,l为该类特征项挖掘出的调用习惯个数,构成作者的WinAPI调用习惯模型,fi l表示第i类特征的第l项,表示fi l的稳定度。
进一步地,所述同源度通过以下方法计算:
设每个样本提取T(≤7)类特征项集合,在每类特征项上依据挖掘出的调用习惯计算同源度,样本j第i类特征项上的同源度计算公式如下:
Consist f i = Σ f i k ∈ Sample f i j ∩ FPS f i P f i k | | FPS f i | |     (公式1)
每个样本可形成T个特征项下的同源度j表示第j个样本,表示样本j的第i类特征集合,k表示特征交集中的第k项,fi k表示第i类特征的第k项,表示fi k的稳定度。
进一步地,所述同源判定阈值通过以下方法选择:
训练集所有样本均计算出各类特征项下的同源度,对每类特征项,利用K均值算法将该特征项下训练集样本的同源度进行2类聚类,选择接近数值1类别下的最小值做为该类特征项下的同源判定阈值。
具体地,对训练集所有样本均计算出T个同源度,假设在训练集样本中存在在某类特征项下同源度表现不明显的样本,即该类特征项下的离群点,设训练集n个样本的同源度由大到小排列,表示为C1≥C2≥…≥Ci≥Ci+1≥Ci+2≥…≥Cn,利用K均值算法将该特征项下训练集样本的同源度进行2类聚类,最终形成Class1:(C1,C2,…,Ci)与Class2:(Ci+1,Ci+2,…,Cn)两类。之后依据边界点的斜率调整聚类,若则将Ci+1聚到Class1中,继续计算边界点的斜率直到边界点的斜率小于1时结束。最终聚类结果,若是2类,选择中的最小值做为同源判定阈值,若是1类,选取所有项中的最小值做为同源判定阈值。最后选出对应不同特征项的T个阈值,
进一步地,当待测样本中的同源支持度大于设定的同源支持度阈值时,认为待测样本与训练样本同源,所述同源支持度为样本所有特征项类别中,同源度大于步骤2)选择的同源判定阈值的特征项类别所占的比率。
本发明同时也公开了一种基于调用习惯的恶意代码自动化同源判定系统,主要由自动特征提取模块、习惯模型构建模块、同源度计算模块、阈值选择模块、同源判定模块5个模块组成,其中:
所述自动特征提取模块,用于自动提取训练样本与待测样本中的WinAPI调用特征项;
通过检测样本是否加壳,并对加壳样本利用现有技术脱壳,对未加壳或成功脱壳后的样本进行反汇编并解析导入表,基于汇编代码提取样本中的7类WinAPI调用特征项。
所述习惯模型构建模块,用于将训练样本中出现频率超过频繁项阈值的所有特征项构成WinAPI调用习惯模型,所述频繁项为在不同样本中频繁出现的特征项;
所述同源度计算模块,用于基于WinAPI调用习惯模型计算训练样本与待测样本的同源度;
基于构建的习惯模型,利用公式1计算训练样本与待测样本的同源度,每个样本可形成7个特征项下的同源度。
所述阈值选择模块,用于从训练样本的同源度中选择同源判定阈值;
所述同源判定模块,用于将待测样本的同源度与阈值选择模块选出的同源判定阈值做比较,判定待测样本是否同源。
本发明的有益效果如下:
本发明可以根据某作者的恶意代码样本集构建该作者的WinAPI调用习惯模型并选择同源判定阈值,依据WinAPI调用习惯模型与同源判定阈值判定待测样本是否同源,与人工同源判定相比,在保持高准确率的前提下大大提高了同源判定的效率,适合已知某作者多个样本,在海量样本集中或在线实时检测该作者所编写的其他恶意代码的场景。
此外,本发明通过对比实验表明,与恶意代码家族判定相比,本发明具有跨家族同源判定的能力。
附图说明
图1本发明基于调用习惯的恶意代码自动化同源判定方法的流程图。
图2本发明特征提取流程图。
图3本发明同源判定流程图。
图4本发明基于调用习惯的恶意代码自动化同源判定系统结构图。
图5本发明实施例1中对比实验结果示意图。
具体实施方式
下面,结合具体的实施实例对本发明进行详细说明。
本发明公开了一种基于调用习惯的恶意代码自动化同源判定方法,如图1所示,该方法依据定义的7类WinAPI调用特征项,基于某作者的恶意代码样本集,构建该作者调用习惯模型并选择判定阈值,进而判定待测样本是否同源。具体包括两个阶段:学习阶段与判定阶段。其中学习阶段基于特定作者的样本集构建该作者的编程习惯模型与选择同源判定阈值,主要步骤包括包括:特征提取、习惯模型构建、同源度计算、阈值选择;判定阶段依据学习阶段构建的编程习惯模型与选择的阈值,判定待测样本是否与训练样本集同源。
(1)特征提取
流程如图2所示,对于一个样本:
1)检测样本是否加壳;
2)若有壳判断是否能脱壳;
3)对未加壳与脱壳样本做反汇编处理,获取反汇编代码;
4)依据定义提取反汇编代码中的7类WinAPI调用特征项。
依据上面4步对每个样本,提取7类WinAPI调用特征项集合。
(2)习惯模型构建
首先,在不同样本中频繁出现的特征项,即频繁项,可表示恶意代码作者的编程习惯,设定频繁项阈值Pthres为0.9。其次,统计特征的出现频率,假设训练集共N个样本,其中n个样本蕴含该特征项,则该特征项的出现频率为当Pf超过一定阈值时,认为该特征项可以表示作者的一个编程习惯,取Pf≥Pthres的特征项加入习惯模型中,Pf表示为该习惯的稳定度,Pf越高表示该习惯在作者编写样本中出现的频率越高;
最终,形成T类带有稳定度的WinAPI调用习惯集合,表示为:其中i∈[1,T],(T≤7)表示特征项的类别,l为该类特征项挖掘出的习惯个数,构成作者的WinAPI调用习惯模型,fi l表示第i类特征的第l项,表示fi l的稳定度。
(3)同源度计算
设每个样本提取T(≤7)类特征项集合,在每类特征项上依据挖掘的调用习惯计算同源度,样本j第i类特征项上的同源度计算公式如下:
Consist f i = Σ f i k ∈ Sample f i j ∩ FPS f i P f i k | | FPS f i | |      (公式1)
每个样本可形成T个特征项下的同源度,j表示第j个样本,表示样本j的第i类特征集合,k表示特征交集中的第k项。
(4)阈值选择
对训练集所有样本均计算出T个同源度,假设在训练集样本中存在在某类特征项下同源度表现不明显的样本,即该类特征项下的离群点,利用K均值算法将该特征项下训练集样本的同源度进行2类聚类,最终形成Class1:(C1,C2,…,Ci)与Class2:(Ci+1,Ci+2,…,Cn)两类,其中C1≥C2≥…≥Ci≥Ci+1≥Ci+2≥…≥Cn。之后依据边界点的斜率调整聚类,若则将Ci+1聚到Class1中,继续计算边界点的斜率直到边界点的斜率小于1时结束。最终聚类结果,若是2类,选择中的最小值做为同源判定阈值,若是1类,选取所有项中的最小值做为同源判定阈值。最后选出对应不同特征项的T个阈值,
(5)同源判定
流程如图3所示,对每个待测样本:
首先从样本中提取7类特征项集合;
其次,依据学习阶段获得的WinAPI调用习惯模型构造同源度计算公式,计算待测样本的同源度;
最后,若T类同源度中有t类大于学习阶段选取的阈值,则认为同源支持度(即T类特征项中,其同源度大于阈值的特征项所占的比率)为
设定同源支持度的阈值为0.5,即当有50%以上类别的习惯支持同源时,认为待测样本与训练集同源。
本发明公开的基于调用习惯的恶意代码自动化同源判定系统可部署在恶意代码实时检测系统,用于基于已知某作者或组织开发的恶意代码快速检测该作者或组织开发的新型恶意代码,以有效防范新型恶意代码的传播,降低恶意代码的危害。
本发明基于调用习惯的恶意代码自动化同源判定系统的结构如图4所示,主要由自动特征提取模块、习惯模型构建模块、同源度计算模块、阈值选择模块、同源判定模块5个模块组成。
系统具体实施步骤如下:
(1)自动特征提取
对训练样本与待测样本,利用该模块自动提取样本中的7类特征项。通过检测样本是否加壳,并对加壳样本利用现有的动态脱壳、静态脱壳等技术脱壳,对未加壳或成功脱壳后的样本进行反汇编并解析导入表,基于汇编代码提取样本中的7类WinAPI调用特征项。
(2)习惯模型构建
设定频繁项阈值为0.9,统计训练样本中所有特征项出现的频率,频率超过频繁项阈值的所有特征项构成习惯模型。习惯与特征项对应,共有7类。每类习惯表示为,其中表示特征项的类别,为该类特征项挖掘出的习惯个数,构成作者的WinAPI调用习惯模型。
(3)同源度计算
基于构建的WinAPI调用习惯模型,利用公式1
Consist f i = Σ f i k ∈ Sample f i j ∩ FPS f i P f i k | | FPS f i | |     (公式1)
计算训练样本与待测样本的同源度,每个样本可形成7个特征项下的同源度。
(4)阈值选择
训练集所有样本均计算出7类特征项下的同源度,对每类特征项,利用K均值算法将该特征项下训练集样本的同源度进行2类聚类,选择接近数值1类别下的最小值做为该类特征项下的同源度阈值。
(5)同源判定
对每个待测样本,依据自动特征提取模块提取7类特征项,基于同源度计算模块计算7类同源度,最后与阈值选择模块选出的阈值做比较。若7类特征项中有4类及以上的同源度不小于阈值,则认为待测样本同源。
实施例1
Sung等人提出的SAVE(Static analyzer of vicious executable)方法是一种的恶意代码家族判定方法。该方法首先利用静态分析技术提取每个恶意代码中静态调用的WinAPI序列,之后利用LCS(Longest Common Subsequence,最大公共序列)算法计算样本间静态WinAPI序列间的相似度,进而判定样本是否属于同一家族的变种。
通过对比实验表明,与恶意代码家族判定相比,本发明具有跨家族同源判定的能力:
(1)数据集:vxheavrn.org网站上公开了少量有作者标注的恶意代码样本,从中收集了作者roy g biv的编写的9个恶意代码样本,同时收集了其他8个作者(Billy Belcebu、Bumblebee、Deroko、Dr.L、Feathered Serpents、LiteSys、Lord Dark、Vorgon)的27个样本;
(2)利用Sung等人提出的SAVE(Static analyzer of vicious executable)方法,发现9个样本中有两对属于同一家族,boundary与impute、efishnc与junkmail,其余5个样本之间无家族关系,与此4个样本也无家族关系;
(3)利用本发明提出的方法,做对比实验:
1)以两对共4个具有家族关系的样本boundary、impute、efishnc、junkmail做训练集,其余5个与上述其他8个作者编写的共32个样本做测试集;
2)以无家族关系的5个样本做训练集,其余4个与上述其他8个作者编写的共31个样本做测试集。
结果如图5所示。A、B共包含9个样本,均属于同一作者roy g biv。A包含了4个样本,这4个样本中boundary与impute被判定为同一家族,efishnc与junkmail被判定为同一家族,B包含的5个样本均属于不同家族,与A中的4个样本无家族关系。基于本发明方法,以A中样本为训练集,判定B中的gemini与A中样本同源;以B中样本为训练集,判定A中的impute、efishnc与B中样本同源。
实验表明,与恶意代码家族判定相比,本发明具有跨家族同源判定的能力。

Claims (10)

1.一种基于调用习惯的恶意代码自动化同源判定方法,包括:
1)获取恶意代码样本作为训练样本;
2)提取训练样本中的WinAPI调用特征项,构建WinAPI调用习惯模型,并选择同源判定阈值;
3)提取待测样本中的WinAPI调用特征项,并计算得到相应的同源度;
4)将待测样本的同源度与步骤2)选择的同源判定阈值进行比较,完成恶意代码自动化同源判定。
2.如权利要求1所述的基于调用习惯的恶意代码自动化同源判定方法,其特征在于,所述WinAPI调用特征项通过以下方法提取:
1)检测样本是否加壳;
2)若有壳判断是否能脱壳;
3)对未加壳与脱壳样本做反汇编处理,获取反汇编代码;
4)提取反汇编代码中的WinAPI调用特征项。
3.如权利要求1或2所述的基于调用习惯的恶意代码自动化同源判定方法,其特征在于,所述WinAPI调用特征项包括:
①样本级2-WinAPI组合特征项:恶意代码作者在一个样本中同时调用的两个WinAPI,表征在编写恶意代码时的WinAPI组合习惯;
②Proc级2-WinAPI组合特征项:恶意代码作者在编写函数中同时调用的两个WinAPI,表征在函数设计中的WinAPI组合习惯;
③Proc级2-WinAPI分离特征项:恶意代码作者在不同函数中使用的两个WinAPI,表征在函数设计中的不同WinAPI分开使用的习惯;
④Loc级2-WinAPI组合特征项:恶意代码作者在Loc代码段中同时调用的两个WinAPI,表征Loc代码段中的WinAPI组合习惯;
⑤Loc级单独调用WinAPI特征项:恶意代码作者在Loc代码段中只调用了一个WinAPI,表征作者在Loc代码段中的WinAPI调用习惯;
⑥Loc级WinAPI序列特征项:恶意代码作者在Loc代码段中调用的WinAPI序列,表征作者在Loc代码段中的WinAPI调用序列习惯;
⑦Loc级WinAPI调用先后次序组合特征项:恶意代码作者在Loc代码段中调用WinAPI的先后关系,表征作者在Loc代码段中调用WinAPI的顺序习惯。
4.如权利要求1所述的基于调用习惯的恶意代码自动化同源判定方法,其特征在于,所述WinAPI调用习惯模型表示为:
FPS f i = { f i 1 : P f i 1 , f i 2 : P f i 2 , ... , f i l : P f i l } ,
其中:i∈[1,T],(T≤7)表示特征项的类别,l为该类特征项挖掘出的调用习惯个数,表示第i类特征的第l项,表示的稳定度。
5.如权利要求4所述的基于调用习惯的恶意代码自动化同源判定方法,其特征在于,所述同源度通过以下公式计算:
Consist f i = Σ f i k ∈ Sample f i j ∩ FPS f i P f i k || FPS f i ||
表示样本第i类特征项上的同源度,j表示第j个样本,表示样本j的第i类特征集合,k表示特征交集中的第k项,表示第i类特征的第k项,表示的稳定度。
6.如权利要求1所述的基于调用习惯的恶意代码自动化同源判定方法,其特征在于,所述同源判定阈值通过以下方法选择:
训练集所有样本均计算出各类特征项下的同源度,对每类特征项,利用K均值算法将该特征项下训练集样本的同源度进行2类聚类,选择接近数值1类别下的最小值做为该类特征项下的同源判定阈值。
7.如权利要求6所述的基于调用习惯的恶意代码自动化同源判定方法,其特征在于,包括以下步骤:
1)对训练集所有样本均计算出T个同源度,将训练集n个样本的同源度由大到小排列,表示为C1≥C2≥…≥Ci≥Ci+1≥Ci+2≥…≥Cn
2)利用K均值算法将同源度表现不明显的某类特征项下训练集样本的同源度进行2类聚类,最终形成Class1:(C1,C2,…,Ci)与Class2:(Ci+1,Ci+2,…,Cn)两类;
3)依据边界点的斜率调整聚类,若则将Ci+1聚到Class1中,继续计算边界点的斜率直到边界点的斜率小于1时结束;
4)最终聚类结果若是2类,选择中的最小值做为同源判定阈值,若是1类,选取所有项中的最小值做为同源判定阈值;
5)分别选出对应不同特征项的T个阈值,
8.如权利要求1所述的基于调用习惯的恶意代码自动化同源判定方法,其特征在于,当待测样本中的同源支持度大于设定的同源支持度阈值时,认为待测样本与训练样本同源,所述同源支持度为样本所有特征项类别中,同源度大于步骤2)选择的同源判定阈值的特征项类别所占的比率。
9.一种基于调用习惯的恶意代码自动化同源判定系统,包括自动特征提取模块、习惯模型构建模块、同源度计算模块、阈值选择模块和同源判定模块,其中:
所述自动特征提取模块,用于自动提取训练样本与待测样本中的WinAPI调用特征项;
所述习惯模型构建模块,用于将训练样本中出现频率超过频繁项阈值的所有特征项构成WinAPI调用习惯模型,所述频繁项为在不同样本中频繁出现的特征项;
所述同源度计算模块,用于基于WinAPI调用习惯模型计算训练样本与待测样本的同源度;
所述阈值选择模块,用于从训练样本的同源度中选择同源判定阈值;
所述同源判定模块,用于将待测样本的同源度与阈值选择模块选出的同源判定阈值做比较,判定待测样本是否同源。
10.如权利要求9所述的基于调用习惯的恶意代码自动化同源判定系统,其特征在于,所述WinAPI调用特征项包括:
①样本级2-WinAPI组合特征项:恶意代码作者在一个样本中同时调用的两个WinAPI,表征在编写恶意代码时的WinAPI组合习惯;
②Proc级2-WinAPI组合特征项:恶意代码作者在编写函数中同时调用的两个WinAPI,表征在函数设计中的WinAPI组合习惯;
③Proc级2-WinAPI分离特征项:恶意代码作者在不同函数中使用的两个WinAPI,表征在函数设计中的不同WinAPI分开使用的习惯;
④Loc级2-WinAPI组合特征项:恶意代码作者在Loc代码段中同时调用的两个WinAPI,表征Loc代码段中的WinAPI组合习惯;
⑤Loc级单独调用WinAPI特征项:恶意代码作者在Loc代码段中只调用了一个WinAPI,表征作者在Loc代码段中的WinAPI调用习惯;
⑥Loc级WinAPI序列特征项:恶意代码作者在Loc代码段中调用的WinAPI序列,表征作者在Loc代码段中的WinAPI调用序列习惯;
⑦Loc级WinAPI调用先后次序组合特征项:恶意代码作者在Loc代码段中调用WinAPI的先后关系,表征作者在Loc代码段中调用WinAPI的顺序习惯。
CN201510398325.4A 2015-07-08 2015-07-08 一种基于调用习惯的恶意代码自动化同源判定方法及系统 Expired - Fee Related CN104933365B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510398325.4A CN104933365B (zh) 2015-07-08 2015-07-08 一种基于调用习惯的恶意代码自动化同源判定方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510398325.4A CN104933365B (zh) 2015-07-08 2015-07-08 一种基于调用习惯的恶意代码自动化同源判定方法及系统

Publications (2)

Publication Number Publication Date
CN104933365A true CN104933365A (zh) 2015-09-23
CN104933365B CN104933365B (zh) 2018-04-27

Family

ID=54120528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510398325.4A Expired - Fee Related CN104933365B (zh) 2015-07-08 2015-07-08 一种基于调用习惯的恶意代码自动化同源判定方法及系统

Country Status (1)

Country Link
CN (1) CN104933365B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989287A (zh) * 2015-12-30 2016-10-05 武汉安天信息技术有限责任公司 一种海量恶意样本同源性判定方法及系统
CN106709345A (zh) * 2015-11-17 2017-05-24 武汉安天信息技术有限责任公司 基于深度学习方法推断恶意代码规则的方法、系统及设备
CN108664792A (zh) * 2018-05-21 2018-10-16 中国科学技术大学 一种Android恶意软件的溯源方法
CN109002711A (zh) * 2018-06-04 2018-12-14 上海交通大学 一种基于深度学习的恶意代码同源判定系统及其判定方法
CN110569629A (zh) * 2019-09-10 2019-12-13 北京计算机技术及应用研究所 二进制代码文件溯源方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845120A (zh) * 2006-05-16 2006-10-11 北京启明星辰信息技术有限公司 一种恶意代码自动分析系统及方法
US20090254992A1 (en) * 2001-07-30 2009-10-08 Schultz Matthew G Systems and methods for detection of new malicious executables
CN102054149A (zh) * 2009-11-06 2011-05-11 中国科学院研究生院 一种恶意代码行为特征提取方法
CN104156949A (zh) * 2014-07-28 2014-11-19 西安交通大学医学院第一附属医院 一种基于特征扩散的ct图像肿瘤组织提取方法
CN104361141A (zh) * 2014-12-11 2015-02-18 北京邮电大学 软件标识库的建立方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254992A1 (en) * 2001-07-30 2009-10-08 Schultz Matthew G Systems and methods for detection of new malicious executables
CN1845120A (zh) * 2006-05-16 2006-10-11 北京启明星辰信息技术有限公司 一种恶意代码自动分析系统及方法
CN102054149A (zh) * 2009-11-06 2011-05-11 中国科学院研究生院 一种恶意代码行为特征提取方法
CN104156949A (zh) * 2014-07-28 2014-11-19 西安交通大学医学院第一附属医院 一种基于特征扩散的ct图像肿瘤组织提取方法
CN104361141A (zh) * 2014-12-11 2015-02-18 北京邮电大学 软件标识库的建立方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
钱雨村等: "恶意代码同源性分析及家族聚类", 《计算机工程与应用》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106709345A (zh) * 2015-11-17 2017-05-24 武汉安天信息技术有限责任公司 基于深度学习方法推断恶意代码规则的方法、系统及设备
CN106709345B (zh) * 2015-11-17 2020-05-19 武汉安天信息技术有限责任公司 基于深度学习方法推断恶意代码规则的方法、系统及设备
CN105989287A (zh) * 2015-12-30 2016-10-05 武汉安天信息技术有限责任公司 一种海量恶意样本同源性判定方法及系统
CN108664792A (zh) * 2018-05-21 2018-10-16 中国科学技术大学 一种Android恶意软件的溯源方法
CN109002711A (zh) * 2018-06-04 2018-12-14 上海交通大学 一种基于深度学习的恶意代码同源判定系统及其判定方法
CN110569629A (zh) * 2019-09-10 2019-12-13 北京计算机技术及应用研究所 二进制代码文件溯源方法

Also Published As

Publication number Publication date
CN104933365B (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
CN110399730B (zh) 智能合约漏洞的检查方法、系统及介质
CN104933365A (zh) 一种基于调用习惯的恶意代码自动化同源判定方法及系统
Fuyong et al. Malware detection and classification based on n-grams attribute similarity
CN106411921B (zh) 基于因果贝叶斯网络的多步攻击预测方法
CN104933364A (zh) 一种基于调用行为的恶意代码自动化同源判定方法及系统
CN105471882A (zh) 一种基于行为特征的网络攻击检测方法及装置
CN105740712A (zh) 基于贝叶斯网络的Android恶意行为检测方法
CN107169355B (zh) 一种蠕虫同源性分析方法和装置
CN105045715A (zh) 基于编程模式和模式匹配的漏洞聚类方法
CN102298681B (zh) 一种基于数据流切片的软件识别方法
CN111552971A (zh) 基于深度强化学习的恶意软件家族分类规避方法
CN114491525B (zh) 基于深度强化学习的安卓恶意软件检测特征提取方法
CN112257076B (zh) 一种基于随机探测算法和信息聚合的漏洞检测方法
CN105989287A (zh) 一种海量恶意样本同源性判定方法及系统
CN107392021A (zh) 一种基于多类特征的Android恶意应用检测方法
CN103577464A (zh) 一种搜索引擎坏例的挖掘方法和装置
CN112347474A (zh) 一种安全威胁情报的构建方法、装置、设备和存储介质
CN106650449B (zh) 一种基于变量名混淆程度的脚本启发式检测方法及系统
CN108959930A (zh) 恶意pdf检测方法、系统、数据存储设备和检测程序
CN113626810B (zh) 基于敏感子图的安卓恶意软件检测方法及系统
CN108171057B (zh) 基于特征匹配的Android平台恶意软件检测方法
Bai et al. Dynamic k-gram based software birthmark
CN117692242A (zh) 一种基于图谱分析的网络攻击路径分析方法
CN112052453A (zh) 基于Relief算法的webshell检测方法及装置
CN110197068A (zh) 基于改进灰狼算法的Android恶意应用检测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180427