CN111460439A - 基于多环境的逃避行为检测方法 - Google Patents

基于多环境的逃避行为检测方法 Download PDF

Info

Publication number
CN111460439A
CN111460439A CN202010229241.9A CN202010229241A CN111460439A CN 111460439 A CN111460439 A CN 111460439A CN 202010229241 A CN202010229241 A CN 202010229241A CN 111460439 A CN111460439 A CN 111460439A
Authority
CN
China
Prior art keywords
api
sequence
program
behavior
environment
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
CN202010229241.9A
Other languages
English (en)
Other versions
CN111460439B (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.)
Central South University
Original Assignee
Central South 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 Central South University filed Critical Central South University
Priority to CN202010229241.9A priority Critical patent/CN111460439B/zh
Publication of CN111460439A publication Critical patent/CN111460439A/zh
Application granted granted Critical
Publication of CN111460439B publication Critical patent/CN111460439B/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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A10/00TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
    • Y02A10/40Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于多环境的逃避行为检测方法,包括获取待分析的程序;采用多环境虚拟化沙箱分析待分析程序;提取每一个样例在每一个沙箱中的行为分析报告中的API调用序列;将API调用序列转换为API字符序列;基于Smith‑waterman算法对同一个样例在不同沙箱中的API字符序列进行对比检测;提取对比检测结果中的差异子序列;计算差异子序列的Levenshtein距离并对同一个样例在多环境下的API字符序列进行两两对比,从而判定待分析的程序是否存在逃避检测行为。本发明方法的可靠性高、实用性好且检测效率较高。

Description

基于多环境的逃避行为检测方法
技术领域
本发明属于信息安全技术领域,具体涉及一种基于多环境的逃避行为检测方法。
背景技术
随着经济技术的发展和智能时代的来临,数据安全的重要性已经得到了人们越来越多的关注。
现代恶意代码检测中,动态行为检测是比较常用的方式,即通过检测代码在沙箱中的执行过程来判定的是否有恶意行为。恶意代码提供者为了延长恶意程序的生命周期,会在恶意程序中添加环境探测代码,当探测运行环境是沙箱的时候就停止执行恶意行为,从而逃避恶意行为检测。逃避检测的行为导致恶意代码的动态分析工具产生错误的判定,将恶意程序识别为正常程序,从而产生网络安全事件,造成经济损失,对社会产生不良影响。
为了抵御逃避行为,传统的解决方案是通过静态分析进行检测,基于预先设定的代码特征以及二进制文件特征来检测恶意程序中存在的逃避检测代码。但是这种检测方法难以适应恶逃避检测技术的发展速度,同时难以抵御加壳,混淆的恶意程序。
为了弥补静态分析的不足,目前研究者们主要关注行为对比来检测逃避行为的方法,该方法通过对比逃避性恶意软件在物理机和虚拟机中的行为来检测逃避行为。但是该方法因为物理机的使用,难以实现系统快速恢复,同时大量样例的分析难以通过启动多个分析系统来提高分析效率。
发明内容
本发明的目的在于提供一种可靠性高、实用性好且检测效率较高的基于多环境的逃避行为检测方法。
本发明提供的这种基于多环境的逃避行为检测方法,包括如下步骤:
S1.获取待分析的程序;
S2.采用多环境虚拟化沙箱分析步骤S1获取的待分析程序;
S3.提取每一个样例在每一个沙箱中的行为分析报告中的API调用序列;
S4.将步骤S3获取的API调用序列转换为API字符序列;
S5.基于Smith-waterman算法,对同一个样例在不同沙箱中的API字符序列进行对比检测;
S6.提取步骤S5中的对比检测结果中的差异子序列;
S7.计算步骤S6得到的差异子序列的Levenshtein距离,并对同一个样例在多环境下的API字符序列进行两两对比,从而判定待分析的程序是否存在逃避检测行为。
步骤S2所述的采用多环境虚拟化沙箱分析步骤S1获取的待分析程序,具体为采用如下步骤进行待分析程序的分析:
A.采用自动化动态分析工具,对待分析程序进行自动化行为捕获;
B.采用若干种虚拟机工具搭建若干种不同的沙箱,并将待分析的程序在在所搭建的沙箱中进行运行,从而促使待分析的程序在不同环境下展现不隐藏的行为;
C.获取待分析程序的行为报告,并提取行为报告中待分析程序的API调用信息;
D.根据步骤C获取的API调用信息,对比API种类和API调用次数,从而筛选出可能存在的逃避行为。
所述的自动化动态分析工具为Cuckoo;所述的虚拟机工具分别为VirtualBox工具、KVM工具和VMware工具。
步骤S3所述的提取每一个样例在每一个沙箱中的行为分析报告中的API调用序列,具体为采用如下步骤提取API调用序列:
a.过滤掉无行为的样例报告;
b.过滤掉无API调用的样例报告;
c.提取API调用序列;
d.提取API调用种类和数量。
步骤S4所述的将步骤S3获取的API调用序列转换为API字符序列,具体为采用如下步骤进行转换:
(1)将获取的API调用序列按照进程进行切割;
(2)将步骤(1)得到的切割后序列,根据API调用时间的顺序,将API序列映射成为一个字符序列。
步骤S5所述的基于Smith-waterman算法,对同一个样例在不同沙箱中的API字符序列进行对比检测,具体为采用如下步骤进行对比检测:
1)将步骤S4获取的API字符序列作为输入;
2)采用Smith-waterman算法,实现两个API字符序列之间的最优对齐;
3)将步骤2)得到的字符序列中的差异点置空。
步骤S6所述的提取步骤S5中的对比检测结果中的差异子序列,具体为采用如下步骤提取差异子序列:
Ⅰ.获取步骤S5得到的对比结果中两个序列中的置空位;
Ⅱ.截取某一序列中置空位在另一个对应序列中对应位置上的字符,从而得到差异子序列。
步骤S7所述的计算步骤S6得到的差异子序列的Levenshtein距离,并对同一个样例在多环境下的API字符序列进行两两对比,从而判定待分析的程序是否存在逃避检测行为,具体为采用如下步骤进行判定:
ⅰ.计算两个序列之间的编辑距离;
ⅱ.获取两个序列之间的最大长度;
ⅲ.计算编辑距离与最大长度的比例,从而得到Levenshtein距离;
ⅳ.根据两个子序列之间的Levenshtein距离判断是否存在逃避行为。
步骤ⅰ所述的编辑距离,具体为编辑距离的计算公式为
Figure BDA0002428771320000041
其中S1和S2表示经过API序列对比之后存在的差异子序列,LD(S1,S2)为差异子序列S1和S2之间的编辑距离,EOs(S1,S2)为差异子序列S1和S2相同所需要经过的编辑次数,max(S1.Length,S2.Length)为差异子序列S1和S2的最大长度。
步骤ⅳ所述的根据两个子序列之间的Levenshtein距离判断是否存在逃避行为,具体为采用如下规则判定是否存在逃避行为:
将同一个样例在各种环境下的API字符序列进行两两对比:若对比中存在一次对比的Levenshtein距离低于设定的阈值,则认定该待检测的程序存在逃避检测行为;否则认为该待检测的程序不存在逃避检测行为。
本发明提供的这种基于多环境的逃避行为检测方法,通过多环境沙箱的动态分析,解决了传统静态分析无法检测混淆加壳的代码,借助不同虚拟化程度的沙箱,解决了使用物理机作为对比沙箱的低效率问题;通过使用API序列对比的方法,突出API调用序列上的差异性,解决了逃避行为检测率低下的困难;因此本发明方法的可靠性高、实用性好且检测效率较高。
附图说明
图1为本发明方法的方法流程示意图。
图2为本发明方法中的API序列转换过程示意图。
图3为本发明方法中的Smith-waterman序列对比过程示意图。
图4为本发明方法的有效性测试结果示意图。
具体实施方式
如图1所示为本发明方法的方法流程示意图:本发明提供的这种基于多环境的逃避行为检测方法,包括如下步骤:
S1.获取待分析的程序;
S2.采用多环境虚拟化沙箱分析步骤S1获取的待分析程序;具体为采用如下步骤进行待分析程序的分析:
A.采用自动化动态分析工具,对待分析程序进行自动化行为捕获;
B.采用若干种虚拟机工具搭建若干种不同的沙箱,并将待分析的程序在在所搭建的沙箱中进行运行,从而促使待分析的程序在不同环境下展现不隐藏的行为;
C.获取待分析程序的行为报告,并提取行为报告中待分析程序的API调用信息;
D.根据步骤C获取的API调用信息,对比API种类和API调用次数,从而筛选出可能存在的逃避行为;
在具体实施时,自动化动态分析工具为Cuckoo;虚拟机工具分别为VirtualBox工具、KVM工具和VMware工具;
多环境沙箱分析的目的是利用多种环境存在的差异使恶意程序在探测环境过程中探测不同的环境,进而逃避检测失败而展现出不同的行为;
S3.提取每一个样例在每一个沙箱中的行为分析报告中的API调用序列;具体为采用如下步骤提取API调用序列:
a.过滤掉无行为的样例报告;
b.过滤掉无API调用的样例报告;
c.提取API调用序列;
d.提取API调用种类和数量;
S4.将步骤S3获取的API调用序列转换为API字符序列;具体为采用如下步骤进行转换:
(1)将获取的API调用序列按照进程进行切割;
(2)将步骤(1)得到的切割后序列,根据API调用时间的顺序,将API序列映射成为一个字符序列;
在具体实施时,如图2所示;
按照进程切割API序列;对于恶意软件来说,在运行过程中,多进程运行是很常见的,需要对API序列按照进程切割,防止对进程运行期间因为时间顺序导致两个进程间的API调用序列混乱;
然后,API序列转换为字符序列;对于Smith-waterman这类适用于DNA和蛋白质序列对比算法来说,将API序列转换为字符序列将更加符合Smith-waterman的对比模式,将API调用序列转换为‘0123456’这类字符序列,每个单独的字符映射一种API,字符映射列表为0-9,a-z,A-Z,ASCII码中除‘|’,空格外的所有特殊字符;
S5.基于Smith-waterman算法,对同一个样例在不同沙箱中的API字符序列进行对比检测;具体为采用如下步骤进行对比检测:
1)将步骤S4获取的API字符序列作为输入;
2)采用Smith-waterman算法,实现两个API字符序列之间的最优对齐;
3)将步骤2)得到的字符序列中的差异点置空。
具体实施时,如图3所示;
对两个输入的字符序列建立相似分数矩阵;API序列中往往都会存在噪音,序列调用顺序上的不同,通过相似分数矩阵,序列中相似的子序列能够得到相对高的分数,简单噪音和序列调用顺序对API序列匹配的影响;
获取序列最优相似匹配。通过相似分数矩阵,从相似分数最大的坐标开始回溯,获取两个序列的最优相似匹配结果,为了保证两个序列所有字符能够获得匹配,两个字符相似的相似分数奖励比较大;
获取差异子序列;这一步的目的主要在于提取出API调用序列中的差异,遍历序列最优相似匹配结果,当遇到S1序列中存在字符空位是,提取S2中对应位置的字符,这个字符就是S2序列中存在的API调用差异;
S6.提取步骤S5中的对比检测结果中的差异子序列;具体为采用如下步骤提取差异子序列:
Ⅰ.获取步骤S5得到的对比结果中两个序列中的置空位;
Ⅱ.截取某一序列中置空位在另一个对应序列中对应位置上的字符,从而得到差异子序列;
S7.计算步骤S6得到的差异子序列的Levenshtein距离,并对同一个样例在多环境下的API字符序列进行两两对比,从而判定待分析的程序是否存在逃避检测行为;具体为采用如下步骤进行判定:
ⅰ.计算两个序列之间的编辑距离;具体为编辑距离的计算公式为
Figure BDA0002428771320000081
其中S1和S2表示经过API序列对比之后存在的差异子序列,LD(S1,S2)为差异子序列S1和S2之间的编辑距离,EOs(S1,S2)为差异子序列S1和S2相同所需要经过的编辑次数,max(S1.Length,S2.Length)为差异子序列S1和S2的最大长度;
ⅱ.获取两个序列之间的最大长度;
ⅲ.计算编辑距离与最大长度的比例,从而得到Levenshtein距离;
ⅳ.根据两个子序列之间的Levenshtein距离判断是否存在逃避行为;具体为采用如下规则判定是否存在逃避行为:
将同一个样例在各种环境下的API字符序列进行两两对比:若对比中存在一次对比的Levenshtein距离低于设定的阈值,则认定该待检测的程序存在逃避检测行为;否则认为该待检测的程序不存在逃避检测行为;
在具体实施时,差异子序列造成原因可能有多种,噪音,执行顺序,而为了避免应为噪音以及执行顺序不同造成的误差,需要编辑距离来判定差异子序列是否真的存在差异;
统计两个差异子序列之间互相转换需要的最小操作次数,这里的操作次数包括删除字符,插入字符,替换字符;这里的编辑操作次数将量化两个子序列之间存在的差异;
计算两个差异子序列之间的编辑距离;通过计算最小编辑操作次数与两个序列最长长度的比值,1减去这个比值就是这个两个差异子序列之间的编辑距离;
判定恶意软件逃避性:通过指定阈值判定两个差异子序列是否是逃避检测行为造成的,如果两个差异子序列的编辑Levenshtein距离小于指定阈值,则判定为具有逃避检测行为。
以下以一个实施例,对本发明的有效性进行说明。
测试环境:CPU为Intel Core i7-7700处理器,内存128GB,Windows操作系统
首先通过正常样例与逃避性恶意样例进行分析,获取到正常样例与逃避行恶意样例之间存在的API调用差异,通过确定最优分类阈值,保证最高的识别真确率。
表1数据示意表
样例类型 样例个数
正常软件 301
具有逃避行为的软件 292
总计 596
通过表1中的数据确定阈值为0.66的情况下,能够达到89.4%的准确率,精确率与召回率如图4所示。
实施例一
本实施提供具体样例的逃避行为检测过程,主要包括:
S1:提取待分析的程序01c0cec525d49d24bb314e5a94f17f0e.exe,其中01c0cec525d49d24bb314e5a94f17f0e为该程序的MD5值,具有逃避虚拟机逃避行为的样例;
S2:采用多环境虚拟化沙箱分析S1中的待分析程序,具体环境包括VMware,VirtualBox以及KVM搭建的3中虚拟机环境,同时使用WIN7作为虚拟机环境的操作系统。获取S1中样例在三种环境下的分析报告,提取出三份报告中的API调用信息。通过对比API种类以及数量发现该样例在VirtualBox环境下产生了更多的API调用行为,更多的API调用如表2所示。
表2不同的API调用
API名称 多调用的次数
LdrLoadDll 1
LdrGetProcedureAddress 2
NtAllocateVirtualMemory 1
NtCreateFile 1
NtCreateSection 1
NtMapViewOfSection 1
NtProtectVirtualMemory 2
LoadStringA 2
通过表2其中包含的API调用差异已经说明该样例具有行为上的差异,可能存在虚拟机逃避行为;
S3:提取出01c0cec525d49d24bb314e5a94f17f0e.exe在三种沙箱中的行为分析报告中的API序列。并按照进程对API序列进行分割,01c0cec525d49d24bb314e5a94f17f0e.exe样例在运行过程中只创建了一个进程。将API调用序列转换为字符序列,该样例的API与字符映射关系如表3下;
表3API-字符映射表
Figure BDA0002428771320000101
Figure BDA0002428771320000111
01c0cec525d49d24bb314e5a94f17f0e.exe样例通过表3将API序列映射成为字符序列,表4为S1中样例在3中环境下的API调用序列按照时间顺序转换为字符序列的结果;
表4字符序列
Figure BDA0002428771320000121
S4:使用Smith-waterman算法对表4中的字符序列进行对比,通过Smith-waterman算法对3个字符序列进行两两对比检测,包括KVM字符序列与VirtualBox字符序列对比,KVM字符序列与VMware字符序列对比以及VirtualBox字符序列与VMware字符序列对比。表5为01c0cec525d49d24bb314e5a94f17f0e.exe样例的对比结果部分内容,该部分结果为API调用存在差异的对比结果区域;
表5对比结果展示
Figure BDA0002428771320000131
如表5所示,经过Smith-waterman算法计算之后,两个字符序列的处于最优相似度对比情况中,而该样例中的VirtualBox环境下产生的API序列相比于其他环境多出了一段隐藏的API调用序列,而在对比过程中,其他环境中的字符序列在这段隐藏的API调用序列处匹配不上,所以将该序列中的对应字符位置空;
S5:提取出S4步骤对比结果中的差异子序列,通过表5中的对比结果,提取出的差异子序列也就是KVM-VirtualBox与VirtualBox-VMware的差异子序列为d33l4yz7722,这一段差异子序列也就是01c0cec525d49d24bb314e5a94f17f0e.exe样例在VirtualBox中展现的隐藏行为,而在其他两种环境下没有产生的行为,所以KVM-VMware的没有差异子序列。
如表6所示;
表6差异子序列
Figure BDA0002428771320000141
S6:计算步骤S5中获取的差异子序列的Levenshtein距离,通过获取差异子序列之间转换所需要的编辑操作次数以及两个差异子序列之间的最长长度,最终计算得到两个差异子序列之间存在的Levenshtein距离:
01c0cec525d49d24bb314e5a94f17f0e.exe样例的Levenshtein计算如表7所示。
表7 Levenshtein计算结果
对比类型 编辑次数 最长长度 Levenshtein距离
KVM-VirtualBox 11 11 0
VirtualBox-VMware 11 11 0
KVM-VMware 0 0 1
如表所示,01c0cec525d49d24bb314e5a94f17f0e.exe样例经过Levenshtein距离计算之后,KVM与VirtualBox产生的API调用序列之间的Levenshtein距离为0,VMware与VirtualBox产生的API调用序列之间的Levenshtein距离为0,而KVM与VMware产生的API调用序列之间的Levenshtein距离为1,但是3个Levenshtein距离最小值为0,低于0.66,所以判定01c0cec525d49d24bb314e5a94f17f0e.exe样例具有逃避行为。

Claims (10)

1.一种基于多环境的逃避行为检测方法,包括如下步骤:
S1.获取待分析的程序;
S2.采用多环境虚拟化沙箱分析步骤S1获取的待分析程序;
S3.提取每一个样例在每一个沙箱中的行为分析报告中的API调用序列;
S4.将步骤S3获取的API调用序列转换为API字符序列;
S5.基于Smith-waterman算法,对同一个样例在不同沙箱中的API字符序列进行对比检测;
S6.提取步骤S5中的对比检测结果中的差异子序列;
S7.计算步骤S6得到的差异子序列的Levenshtein距离,并对同一个样例在多环境下的API字符序列进行两两对比,从而判定待分析的程序是否存在逃避检测行为。
2.根据权利要求1所述的基于多环境的逃避行为检测方法,其特征在于步骤S2所述的采用多环境虚拟化沙箱分析步骤S1获取的待分析程序,具体为采用如下步骤进行待分析程序的分析:
A.采用自动化动态分析工具,对待分析程序进行自动化行为捕获;
B.采用若干种虚拟机工具搭建若干种不同的沙箱,并将待分析的程序在在所搭建的沙箱中进行运行,从而促使待分析的程序在不同环境下展现不隐藏的行为;
C.获取待分析程序的行为报告,并提取行为报告中待分析程序的API调用信息;
D.根据步骤C获取的API调用信息,对比API种类和API调用次数,从而筛选出可能存在的逃避行为。
3.根据权利要求2所述的基于多环境的逃避行为检测方法,其特征在于所述的自动化动态分析工具为Cuckoo;所述的虚拟机工具分别为VirtualBox工具、KVM工具和VMware工具。
4.根据权利要求1或2所述的基于多环境的逃避行为检测方法,其特征在于步骤S3所述的提取每一个样例在每一个沙箱中的行为分析报告中的API调用序列,具体为采用如下步骤提取API调用序列:
a.过滤掉无行为的样例报告;
b.过滤掉无API调用的样例报告;
c.提取API调用序列;
d.提取API调用种类和数量。
5.根据权利要求4所述的基于多环境的逃避行为检测方法,其特征在于步骤S4所述的将步骤S3获取的API调用序列转换为API字符序列,具体为采用如下步骤进行转换:
(1)将获取的API调用序列按照进程进行切割;
(2)将步骤(1)得到的切割后序列,根据API调用时间的顺序,将API序列映射成为一个字符序列。
6.根据权利要求5所述的基于多环境的逃避行为检测方法,其特征在于步骤S5所述的基于Smith-waterman算法,对同一个样例在不同沙箱中的API字符序列进行对比检测,具体为采用如下步骤进行对比检测:
1)将步骤S4获取的API字符序列作为输入;
2)采用Smith-waterman算法,实现两个API字符序列之间的最优对齐;
3)将步骤2)得到的字符序列中的差异点置空。
7.根据权利要求6所述的基于多环境的逃避行为检测方法,其特征在于步骤S6所述的提取步骤S5中的对比检测结果中的差异子序列,具体为采用如下步骤提取差异子序列:
Ⅰ.获取步骤S5得到的对比结果中两个序列中的置空位;
Ⅱ.截取某一序列中置空位在另一个对应序列中对应位置上的字符,从而得到差异子序列。
8.根据权利要求7所述的基于多环境的逃避行为检测方法,其特征在于步骤S7所述的计算步骤S6得到的差异子序列的Levenshtein距离,并对同一个样例在多环境下的API字符序列进行两两对比,从而判定待分析的程序是否存在逃避检测行为,具体为采用如下步骤进行判定:
ⅰ.计算两个序列之间的编辑距离;
ⅱ.获取两个序列之间的最大长度;
ⅲ.计算编辑距离与最大长度的比例,从而得到Levenshtein距离;
ⅳ.根据两个子序列之间的Levenshtein距离判断是否存在逃避行为。
9.根据权利要求8所述的基于多环境的逃避行为检测方法,其特征在于步骤ⅰ所述的编辑距离,具体为编辑距离的计算公式为
Figure FDA0002428771310000031
其中S1和S2表示经过API序列对比之后存在的差异子序列,LD(S1,S2)为差异子序列S1和S2之间的编辑距离,EOs(S1,S2)为差异子序列S1和S2相同所需要经过的编辑次数,max(S1.Length,S2.Length)为差异子序列S1和S2的最大长度。
10.根据权利要求9所述的基于多环境的逃避行为检测方法,其特征在于步骤ⅳ所述的根据两个子序列之间的Levenshtein距离判断是否存在逃避行为,具体为采用如下规则判定是否存在逃避行为:
将同一个样例在各种环境下的API字符序列进行两两对比:若对比中存在一次对比的Levenshtein距离低于设定的阈值,则认定该待检测的程序存在逃避检测行为;否则认为该待检测的程序不存在逃避检测行为。
CN202010229241.9A 2020-03-27 2020-03-27 基于多环境的逃避行为检测方法 Active CN111460439B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010229241.9A CN111460439B (zh) 2020-03-27 2020-03-27 基于多环境的逃避行为检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010229241.9A CN111460439B (zh) 2020-03-27 2020-03-27 基于多环境的逃避行为检测方法

Publications (2)

Publication Number Publication Date
CN111460439A true CN111460439A (zh) 2020-07-28
CN111460439B CN111460439B (zh) 2023-03-21

Family

ID=71678378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010229241.9A Active CN111460439B (zh) 2020-03-27 2020-03-27 基于多环境的逃避行为检测方法

Country Status (1)

Country Link
CN (1) CN111460439B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080016339A1 (en) * 2006-06-29 2008-01-17 Jayant Shukla Application Sandbox to Detect, Remove, and Prevent Malware
CN102741824A (zh) * 2009-12-15 2012-10-17 迈克菲股份有限公司 用于行为沙箱化的系统和方法
CN104200161A (zh) * 2014-08-05 2014-12-10 杭州安恒信息技术有限公司 一种实现沙箱智能检测文件的方法及其沙箱智能检测系统
CN105117645A (zh) * 2015-07-29 2015-12-02 杭州安恒信息技术有限公司 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080016339A1 (en) * 2006-06-29 2008-01-17 Jayant Shukla Application Sandbox to Detect, Remove, and Prevent Malware
CN102741824A (zh) * 2009-12-15 2012-10-17 迈克菲股份有限公司 用于行为沙箱化的系统和方法
CN104200161A (zh) * 2014-08-05 2014-12-10 杭州安恒信息技术有限公司 一种实现沙箱智能检测文件的方法及其沙箱智能检测系统
CN105117645A (zh) * 2015-07-29 2015-12-02 杭州安恒信息技术有限公司 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHAN SU ETAL: "《Plagiarism Detection Using the Levenshtein Distance and Smith-Waterman Algorithm》" *

Also Published As

Publication number Publication date
CN111460439B (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
Kirat et al. Malgene: Automatic extraction of malware analysis evasion signature
Cheng et al. Identifying bug signatures using discriminative graph mining
CN102682229B (zh) 一种基于虚拟化技术的恶意代码行为检测方法
CN102789419B (zh) 一种使用多样本差异比对的软件故障分析方法
CN109711163B (zh) 基于api调用序列的安卓恶意软件检测方法
CN103679030B (zh) 一种基于动态语义特征的恶意代码分析检测方法
CN100590603C (zh) 一种处理日志文件的方法及装置
CN101872325B (zh) 一种基于谓词执行序列的软件动态缺陷定位方法
CN112214399B (zh) 基于序列模式匹配的api误用缺陷检测系统
CN113468524B (zh) 基于rasp的机器学习模型安全检测方法
CN112115053A (zh) 基于序列模式匹配的api误用缺陷检测方法
KR20160100887A (ko) 코드 블록 비교를 통한 악성 코드 탐지 방법
CN114238980B (zh) 一种工控设备漏洞挖掘方法、系统、设备及存储介质
Khan et al. Impact of log parsing on log-based anomaly detection
CN113051161A (zh) 基于历史代码变更信息的api误用检测方法
CN111460439B (zh) 基于多环境的逃避行为检测方法
CN116340172A (zh) 基于测试场景的数据收集方法、装置及测试用例检测方法
CN114201358B (zh) 一种基于系统调用序列的多线程程序异常检测方法
CN114065202B (zh) 一种恶意代码检测方法、装置、电子设备及存储介质
CN109145609A (zh) 一种数据处理方法和装置
JP7298229B2 (ja) ログ分析装置、ログ分析方法及びコンピュータプログラム
CN110427320B (zh) 一种轻量级嵌入式程序控制流异常定位检测方法
CN111190813B (zh) 基于自动化测试的安卓应用网络行为信息提取系统及方法
CN113868137A (zh) 埋点数据的处理方法、装置、系统和服务器
CN108563950B (zh) 基于SVM的Android恶意软件检测方法

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