CN108090352B - 检测***及检测方法 - Google Patents
检测***及检测方法 Download PDFInfo
- Publication number
- CN108090352B CN108090352B CN201611114156.8A CN201611114156A CN108090352B CN 108090352 B CN108090352 B CN 108090352B CN 201611114156 A CN201611114156 A CN 201611114156A CN 108090352 B CN108090352 B CN 108090352B
- Authority
- CN
- China
- Prior art keywords
- file
- utilization
- machine
- memory
- tested
- 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 40
- 238000012360 testing method Methods 0.000 claims abstract description 156
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000008569 process Effects 0.000 claims abstract description 12
- 238000004458 analytical method Methods 0.000 claims description 47
- 238000012544 monitoring process Methods 0.000 claims description 46
- 230000006399 behavior Effects 0.000 claims description 37
- 238000002347 injection Methods 0.000 claims description 10
- 239000007924 injection Substances 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 7
- 238000007689 inspection Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
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
-
- 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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- 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/567—Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
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)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种检测***及检测方法。检测方法通过一处理装置实施,包含以下步骤:(A)令该处理装置将一待测文件传送至一第一测试机器,并于该第一测试机器用以执行该待测文件;(B)令该处理装置监控该待测文件于该第一测试机器执行过程中,该第一测试机器的一元件使用率是否高于一预设门槛值;以及(C)若该元件使用率高于一预设门槛值,则令该处理装置鉴识该第一测试机器的一记忆体空间,以判断该待测文件是否包含一恶意程序并产生一鉴识结果。借此达到在有意义的多个执行阶段中针对特定的虚拟元件进行检测的效果。
Description
技术领域
本案是有关于一种检测***及检测方法。特别是有关于一种检测恶意程序行为的检测***及检测方法。
背景技术
随着科技发展,网络成为现今人们生活中不可或缺的部分。然而,网络也带来了多种信息安全危害。例如,使用者在使用电子装置的过程中,在不知情的情况下接收到恶意程序,且恶意程序可能会窃取使用者数据,或是攻击使用者的电子装置使其造成损害。
因此,如何在有效地于***中进行恶意程序的检测,已成为本领域相关人员所需解决的问题。
发明内容
为解决上述课题,本案的一方面是提供一种检测方法,其通过一处理装置实施,其特征在于,包含以下步骤:(A)令该处理装置将一待测文件传送至一第一测试机器,并于该第一测试机器用以执行该待测文件;(B)令该处理装置监控该待测文件于该第一测试机器执行过程中,该第一测试机器的一元件使用率是否高于一预设门槛值;以及(C)若该元件使用率高于一预设门槛值,则令该处理装置鉴识该第一测试机器的一记忆体空间,以判断该待测文件是否包含一恶意程序并产生一鉴识结果。
于一实施例中,该第一测试机器包括一记忆体、一硬盘、一网卡及一处理器以上至少其一,该元件使用率包含一记忆体使用率、一硬盘使用率、一网卡或网络使用率、及一处理器使用率以上至少其一,且不同的该元件使用率对应不同的该预设门槛值。
于一实施例中,该第一测试机器为一虚拟机器,该记忆体包含该记忆体空间,该硬盘为一虚拟硬盘,该网卡为一虚拟网卡,该处理器为一虚拟处理器。
于一实施例中,该检测***还包含:一样本格式模块,用以接收该待测文件,并判断该待测文件的一文件格式,并依该文件格式选择对应该文件格式的该第一测试机器。
于一实施例中,该效能监控模块根据不同的该元件使用率高于该预设门槛值的一时点,判断该时点对应该恶意程序的一执行阶段,该执行阶段包括一漏洞搜寻及利用期、一程序安装期、一命令与控制期及一恶意行为实施期。
于一实施例中,该效能监控模块判断一记忆体使用率、一硬盘使用率、一网卡或网络使用率及一处理器使用率皆大于其对应的该预设门槛值的该时点,为该恶意程序的该漏洞搜寻及利用期,和该恶意行为实施期以上其一;以及该效能监控模块判断仅该网卡或网络使用率大于其对应的该预设门槛值的该时点,为该恶意程序的该程序安装期和该命令与控制期以上其一。
于一实施例中,该记忆体鉴识模块鉴识该记忆体空间是采用多个行程分析、一动态链接函数库分析、一文件操作分析、一机码操作分析、一网络行为分析、一代码注入行为及一隐匿行为分析以上至少其一,以产生该鉴识结果。
于一实施例中,该检测***还包含:通过一第二测试机器以监控该第一测试机器。
于一实施例中,该第一测试机器与该第二测试机器建构于一虚拟机器管理器上,该第一测试机器与该第二测试机器透过该虚拟机器管理器上所运行的一操作***以存取至少一实体装置。
本案的另一方面是提供一种检测***,其特征在于,包含一记忆体空间、一中央排程模块、一效能监控模块、一记忆体鉴识模块及一分析模块。中央排程模块用以将一待测文件传送至一第一测试机器,并该第一测试机器用以执行该待测文件;效能监控模块用以监控该待测文件于该第一测试机器执行过程中,该第一测试机器的一元件使用率是否高于一预设门槛值,若该元件使用率高于一预设门槛值,则令该处理装置鉴识该第一测试机器的该记忆体空间;当该元件使用率高于一预设门槛值时,该记忆体鉴识模块用以鉴识该第一测试机器的该记忆体空间;分析模块用以根据该记忆体空间的鉴识结果判断该待测文件是否包含一恶意程序。
于一实施例中,该第一测试机器包括一记忆体、一硬盘、一网卡及一处理器以上至少其一,该元件使用率包含一记忆体使用率、一硬盘使用率、一网卡或网络使用率、及一处理器使用率以上至少其一,且不同的该元件使用率对应不同的该预设门槛值。
于一实施例中,该第一测试机器为一虚拟机器,该记忆体为一记忆体空间,该硬盘为一虚拟硬盘,该网卡为一虚拟网卡,该处理器为一虚拟处理器。
于一实施例中,其中步骤(A)还包括以下步骤:令该处理装置接收该待测文件,并判断该待测文件的一文件格式,并依该文件格式选择对应该文件格式的该第一测试机器。
于一实施例中,其中步骤(C)还包括:令该处理装置根据不同的该元件使用率高于该预设门槛值的一时点,判断该时点对应该恶意程序的一执行阶段,该执行阶段包括一漏洞搜寻及利用期、一程序安装期、一命令与控制期及一恶意行为实施期。
于一实施例中,其中步骤(C)还包括:令该处理器判断该记忆体使用率、一硬盘使用率、一网卡或网络使用率及一处理器使用率皆大于其对应的该预设门槛值的该时点,为该恶意程序的该漏洞搜寻及利用期,和该恶意行为实施期以上其一;以及令该处理器判断仅该网卡或网络使用率大于其对应的该预设门槛值的该时点,为该恶意程序的该程序安装期和该命令与控制期以上其一。
于一实施例中,其中步骤(C)中,该处理装置鉴识该记忆体空间是采用采多个行程分析、一动态链接函数库分析、一文件操作分析、一机码操作分析、一网络行为分析、一代码注入行为及一隐匿行为分析以上至少其一,以产生该鉴识结果。
于一实施例中,该检测方法还包含:通过一第二测试机器以监控该第一测试机器。
于一实施例中,该第一测试机器与该第二测试机器建构于一虚拟机器管理器上,该第一测试机器与该第二测试机器透过该虚拟机器管理器上所运行的一操作***以存取至少一实体装置。
通过上述检测***及检测方法,可在有意义的多个执行阶段中针对特定的虚拟元件进行检测,避免在恶意程序发作的过程中有检测上的疏漏情形。此外,本案可动态地鉴识记忆体是否异常,不须中断第一测试机器的运作,也不须将第一测试机器关闭再进行倾倒记忆体机制。再者,由于本案是透过监控测试机器(即第二测试机器)以监控执行待测文件的测试机器(即第一测试机器)是否异常,并未修改到虚拟机器管理器中的管理机制,因此可避免恶意程序的抗反侦测机制。
附图说明
为让本揭示内容的上述和其他目的、特征、优点与实施例能更明显易懂,所附附图的说明如下:
图1A~1B为根据本案一实施例绘示的一种恶意程序的侦测方法的示意图;
图2为根据本案一实施例绘示的一种检测***的方块图;
图3为根据本案一实施例绘示的一种检测方法的流程图;
图4为根据本案一实施例绘示的一种电子***的检测方法的流程图;
图5为根据本案一实施例绘示的一种效能监控模块的方块图;以及
图6为根据本案一实施例绘示的预设门槛值设置方法的示意图。
具体实施方式
请参阅图1A~1B,图1A~1B为根据本案一实施例绘示的一种恶意程序的侦测方法的示意图。于图1A~1B中,时间轴t上标示有多个执行阶段P1~P6,其各自代表恶意程序的部分执行过程。举例而言,执行阶段P1代表开始执行期,执行阶段P2代表漏洞搜寻及利用期,执行阶段P3代表程序安装期,执行阶段P4代表命令与控制期,执行阶段P5代表恶意行为实施期,执行阶段P6代表恶意程序灭证期。这些执行阶段P1~P6为一般恶意程序的执行过程。
于图1A中,此侦测方法是于每一间隔时间(例如为10秒),则针对待测计算机进行一次倾印记忆体DM1~DM5(memory dump),借以取得待测计算机当下记忆体中所有执行的程序、执行绪、工作、开启的文件等等数据。通过分析这些数据可判断待测计算机是否遭受恶意程序的攻击。其中,待测计算机可以实施为平板电脑、笔记型电脑、智能手机或其他具有传输功能的装置。然而,由于倾印记忆体需要耗费额外的时间及储存空间,因此,若间隔时间设置过短,可能造成过度耗费执行倾印记忆体所需的时间及储存空间,反之,若间隔时间设置过长,则可能无法侦测到每一个执行阶段(例如图1A的执行阶段P3、P6)中是否遭受恶意程序的攻击。
于图1B中,此侦测方法是于侦测到待测计算机执行一特定应用程序界面(Application Programming Interface,API)时,则针对待测计算机进行一次倾印记忆体DM1~DM3,借以取得待测计算机当下记忆体中所有执行的程序、执行绪、工作、开启的文件等等数据。此外,通过分析此数据可判断待测计算机是否遭受恶意程序的攻击。然而,此侦测方法也无法侦测待测计算机于执行阶段(例如图1B的执行阶段P2、P4、P6)中是否遭受恶意程序的攻击。
因此,以下实施例提供一种恶意程序的检测方法及检测***,可于多个执行阶段内持续地监控待测文件。
请参阅图2,图2为根据本案一实施例绘示的一种检测***200的方块图。于一实施例中,检测***200包含第二测试机器VM2,第二测试机器VM2包含:效能监控模块210、记忆体鉴识模块220、中央排程模块250及分析模块260。于一实施例中,第二测试机器VM2还包含样本格式模块240。
于一实施例中,效能监控模块210耦接于记忆体鉴识模块220及中央排程模块250、记忆体鉴识模块220耦接于分析模块260、分析模块260耦接于中央排程模块250、中央排程模块250耦接于样本格式模块240。
于一实施例中,效能监控模块210、记忆体鉴识模块220、样本格式模块240、中央排程模块250及分析模块260可以分别或合并被实施为微控制单元(microcontroller)、微处理器(microprocessor)、数字信号处理器(digital signal processor)、特殊应用集成电路(application specific integrated circuit,ASIC)或一逻辑电路。
于一实施例中,检测***200包含第一测试机器VM1、第二测试机器VM2及虚拟机器管理器(Hypervisor)VMM。
于一实施例中,第一测试机器VM1及第二测试机器VM2建构(安装或执行)于虚拟机器管理器VMM上,虚拟机器管理器VMM用以运行一操作***HOS,第一测试机器VM1及第二测试机器VM2透过虚拟机器管理器VMM上所运行的操作***HOS以存取至少一实体装置。例如,第一测试机器VM1及第二测试机器VM2可各自透过操作***HOS以对同一实体硬盘进行存取。
于一实施例中,虚拟机器管理器VMM是一个硬件虚拟化的产物,介于硬件与软件之间,可以让多个操作***运作于一部计算机上。换言之,虚拟机器管理器VMM除了自身可运行操作***HOS之外,亦可以使同一台实体机器(如计算机)上能同时运行多个测试机器(Virtual Machine,VM),例如,第一测试机器VM1及第二测试机器VM2。其中,第一测试机器VM1及第二测试机器VM2拥有各自的操作***,例如,第一测试机器VM1可运行Windows操作***,第二测试机器VM2可运行Linux操作***。
于一实施例中,这些位于相同实体主机上的第一测试机器VM1及第二测试机器VM2是彼此独立,就如同拥有实体环境一样。
于一实施例中,本发明亦可将第一测试机器VM1运行于一第一伺服器上,将第二测试机器VM2运行于一第二伺服器上,且第二伺服器用以监控第一伺服器中各元件的运作情形,以分析第一伺服器是否遭受恶意程序的攻击。
于一实施例中,第二测试机器VM2包含效能监控模块210及记忆体鉴识模块220,其中,效能监控模块210耦接于记忆体鉴识模块220。记忆体鉴识模块220与虚拟机器管理器VMM中的记忆体空间VMR通讯连接。第一测试机器VM1及第二测试机器VM2中效能监控模块210各自与虚拟机器管理器VMM中的虚拟元件通讯耦接,这些虚拟元件包含:记忆体空间VMR(例如为虚拟记忆体)、虚拟硬盘VDK、虚拟网卡VIF及虚拟处理器VCPU,以分别存取记忆体空间VMR、虚拟硬盘VDK、虚拟网卡VIF及虚拟处理器VCPU的数据。
于一实施例中,记忆体空间VMR可由虚拟记忆体、只读记忆体、快闪记忆体、软盘、硬盘、光盘、随身盘、磁带、可由网络存取的数据库或熟悉此技艺者可轻易思及具有相同功能的储存媒体以实现之。
于一实施例中,这些虚拟元件是透过软件模拟的技术,通过软件以建置出以底层硬件相同的功能界面,例如利用实体处理器的排程演算法,可模拟出有多个虚拟处理器VCPU。然,本案可以应用已知技术以产生各种虚拟元件,故此处不赘述之。
于一些实施例中,第一测试机器VM1用以执行待测文件,第二测试机器VM2用以监控第一测试机器VM1的运作情形,以分析此待测文件是否造成第一测试机器VM1遭受恶意程序的攻击。其中,待测文件可以是一程序文件、一文字文件、一图片文件、一压缩文件或各种恶意程序可能潜在的文件。
请参阅图3,图3为根据本案一实施例绘示的一种检测方法300的流程图。于一实施例中,检测方法300的各步骤可通过一处理装置实施。于一实施例中,处理装置包含效能监控模块210、记忆体鉴识模块220、样本格式模块240、中央排程模块250及分析模块260。
于步骤310中,中央排程模块250将一待测文件传送至一第一测试机器VM1,并于第一测试机器VM1用以执行待测文件。
于一实施例中,第一测试机器VM1包括一记忆体、一硬盘、一网卡及一处理器以上至少其一。
于一实施例中,元件使用率包含一记忆体使用率、一硬盘使用率、一网卡或网络使用率、及一处理器使用率以上至少其一,且不同的元件使用率对应不同的预设门槛值。
于一实施例中,第一测试机器VM1为一虚拟机器,记忆体包含一记忆体空间VMR,硬盘可以为一虚拟硬盘VDK,网卡可以为一虚拟网卡VIF,处理器可以为一虚拟处理器VCPU。于一实施例中,第二测试机器VM2可以为另一虚拟机器。
于一实施例中,样本格式模块240接收待测文件,并判断待测文件的一文件格式,并依文件格式选择对应该文件格式的第一测试机器VM1。
于步骤320中,效能监控模块210监控待测文件于第一测试机器VM1执行过程中,第一测试机器VM1的一元件使用率是否高于一预设门槛值,若元件使用率高于一预设门槛值,则令记忆体鉴识模块220鉴识第一测试机器VM1的记忆体空间VMR。
于一实施例中,效能监控模块210根据不同的元件使用率高于预设门槛值的一时点,判断时点对应恶意程序的一执行阶段,执行阶段包括一漏洞搜寻及利用期、一程序安装期、一命令与控制期及一恶意行为实施期。
于一实施例中,效能监控模块210判断仅网卡或网络使用率大于其对应的预设门槛值的该时点,为恶意程序的该程序安装期和命令与控制期以上其一。
于一实施例中,效能监控模块210判断一记忆体使用率、一硬盘使用率、一网卡或网络使用率及一处理器使用率皆大于其对应的预设门槛值的时点,为恶意程序的漏洞搜寻及利用期,和恶意行为实施期以上其一
于步骤330中,当元件使用率高于预设门槛值时,记忆体鉴识模块220鉴识第一测试机器VM1的记忆体空间VMR。
于一实施例中,记忆体鉴识模块220鉴识记忆体空间VMR是采用采多个行程分析、一动态链接函数库分析、一文件操作分析、一机码操作分析、一网络行为分析、一代码注入行为及一隐匿行为分析以上至少其一,以产生鉴识结果。
于步骤340中,分析模块260根据记忆体空间VMR的鉴识结果判断待测文件是否包含一恶意程序。
于一实施例中,检测***300是通过第二测试机器VM2以监控第一测试机器VM1。
于一实施例中,第一测试机器VM1与第二测试机器VM2建构于一虚拟机器管理器VMM上,第一测试机器VM1与第二测试机器VM2透过虚拟机器管理器VMM上所运行的一操作***HOS以存取至少一实体装置。
请参阅图4,图4为根据本案一实施例绘示的一种检测方法400的流程图。
于步骤410中,样本格式模块240用以接收一待测文件,并判断待测文件的一文件格式。其中,文件格式是指用以执行或开启待测文件的操作***名称。
于一实施例中,第二测试机器VM2可自动将待测文件(例如至少一电子邮件或一程序)传送到样本格式模块240中,样本格式模块240可判断此待测文件应是运作于Windows操作***、Linux操作***或其他操作***,以通知中央排程模块250选择正确的测试机器以执行此待测文件。
于步骤420中,中央排程模块250用以将待测文件传送至对应文件格式的第一测试机器VM1。
例如,若用以执行或开启此待测文件的操作***为Windows操作***,而第一测试机器VM1上所运行亦为Windows操作***,因此,中央排程模块250将待测文件传送至对应文件格式的第一测试机器VM1。
又例如,若用以执行或开启此待测文件的操作***为Linux操作***,而一第三测试机器(未绘示)上所运行亦为Linux操作***,因此,中央排程模块250将待测文件传送至对应文件格式的第三测试机器。
于一实施例中,当样本格式模块240接收到多个待测文件时,中央排程模块250用以排程处理这些待测文件的顺序。
于步骤430中,第一测试机器VM1用以执行待测文件。例如,第一测试机器VM1用以执行一待测程序、开启一电子邮件、解压缩一压缩文件或按下一链接等操作。
于步骤440中,效能监控模块210用以监控于执行待测文件过程中的执行阶段(如图1A所示P2~P5),并判断于执行阶段P2~P5内,第一测试机器VM1的元件使用率是否高于一预设门槛值,若判断第一测试机器P2~P5的元件使用率高于一预设门槛值,则传送一鉴识信号,以触发记忆体鉴识模块220,并进入步骤450;若判断第一测试机器P2~P5的元件使用率未高于预设门槛值,则再次执行步骤440。
于一实施例中,效能监控模块210用以监控的执行阶段P2~P5分别为一漏洞搜寻及利用期、一程序安装期、一命令与控制期及一恶意行为实施期。
其中,漏洞搜寻及利用期例如为恶意程序导致记忆体溢位的时间区段,使得记忆体的使用异常。程序安装期例如为恶意程序从网络下载后进行安装的时间区段。命令与控制期例如为恶意程序由远端控制的时间区段,使第一测试机器VM1透过网络接收到各种恶意的操作命令,而造成网络流量异常。另外,恶意行为实施期则是指恶意软件发作的时间区段,恶意软件发作的情形例如为恶意软件窃取使用者数据。
另一方面,由于在执行阶段P1所代表的开始执行阶段中,待测文件的恶意行为可能尚未完全被触发,而在执行阶段P6所代表的恶意程序灭证期中,待测文件的恶意行为可能已被灭证(例如删除记录文件),因此,效能监控模块210不针对执行阶段P1、P6进行监控。
于一实施例中,效能监控模块210监控于执行阶段P2~P5中,第一测试机器VM1的元件使用率是否高于一预设门槛值。由于第一测试机器VM1是建构于虚拟机器管理器VMM上,故第一测试机器VM1在执行待测文件时,会使用到虚拟机器管理器VMM中的各种虚拟元件,例如为记忆体空间VMR、虚拟硬盘VDK、虚拟网卡VIF及虚拟处理器VCPU。于一实施例中,元件使用率可包含第一测试机器VM1在执行待测文件时,虚拟机器管理器VMM中的记忆体空间使用率、虚拟硬盘使用率、虚拟网卡使用率及/或虚拟处理器使用率,换言之,效能监控模块210会将这些虚拟元件的使用率各自视为一元件使用率,并监控这些元件使用率。
请参阅图5,图5为根据本案一实施例绘示的一种效能监控模块210的方块图。效能监控模块210包含记忆体空间监控模块211、虚拟硬盘监控模块213、虚拟网卡监控模块215及虚拟处理器监控模块217,这些监控模块各自耦接于验证模块219。
于一实施例中,记忆体空间监控模块211、虚拟硬盘监控模块213、虚拟网卡监控模块215、虚拟处理器监控模块217及验证模块219可以分别或一并以一处理器实现之。
于一实施例中,当元件使用率包含一记忆体空间使用率时,预设门槛值包含一记忆体门槛值。记忆体空间监控模块211用以由记忆体空间VMR中取得记忆体空间使用率,验证模块219则用以判断记忆体空间使用率是否高于记忆体门槛值,若是,则效能监控模块210传送一鉴识信号至记忆体鉴识模块220,若否,则效能监控模块210持续监控记忆体空间使用率。
于一实施例中,当元件使用率包含一虚拟硬盘使用率时,预设门槛值包含一硬盘门槛值。虚拟硬盘监控模块213用以由虚拟硬盘VDK中取得虚拟硬盘使用率,验证模块219则用以判断虚拟硬盘使用率是否高于硬盘门槛值,若是,则效能监控模块210传送一鉴识信号至记忆体鉴识模块220,若否,则效能监控模块210持续监控虚拟硬盘使用率。
于一实施例中,当元件使用率包含一虚拟网卡使用率时,预设门槛值包含一网络流量门槛值。虚拟网卡监控模块217用以由虚拟网卡VIF中取得虚拟网卡使用率,验证模块219则用以判断虚拟网卡使用率是否高于网络流量门槛值,若是,则效能监控模块210传送一鉴识信号至记忆体鉴识模块220,若否,则效能监控模块210持续监控虚拟网卡使用率。
于一实施例中,当元件使用率包含一虚拟处理器使用率时,预设门槛值包含一处理器门槛值。虚拟处理器监控模块211用以由虚拟处理器VCPU中取得虚拟处理器使用率,验证模块219则用以判断虚拟处理器使用率是否高于处理器门槛值,若是,则效能监控模块210传送一鉴识信号至记忆体鉴识模块220,若否,则效能监控模块210持续监控虚拟处理器使用率。
于一实施例中,效能监控模块210通过计算一历史记录的一平均值、一标准差或依据一经验法则,以设置预设门槛值。其中,预设门槛值可包含记忆体门槛值、硬盘门槛值、网络流量门槛值及/或处理器门槛值。
另外,关于预设门槛值的设置,请参阅图6,图6为根据本案一实施例绘示的一种预设门槛值设置方法的示意图。举例而言,效能监控模块210可累积过去一周的记忆体空间使用率,并统计其平均值与标准差,并依据平均值与标准差以设置记忆体门槛值。
于一实施例中,图6所示,效能监控模块210将记忆体门槛值T设为高于平均值一个标准差的位置。之后,当记忆体空间使用率大于此记忆体门槛值T时,则效能监控模块210传送鉴识信号,以触发记忆体鉴识模块220。
于一实施例中,使用者可透过经验法则以设置预设门槛值。例如,使用者设定将记忆体门槛值设为70%,因此,当记忆体空间使用率大于70%时,则效能监控模块210传送鉴识信号,以触发记忆体鉴识模块220。
此外,其余各种预设门槛值亦可依上述方式设置。
由此可知,由于本案是透过第二测试机器VM2以监控执行待测文件的第一测试机器VM1是否异常,无须在第一测试机器VM1加入一侦测程序,也没有修改到虚拟机器管理器VMM中的管理机制,因此,本案可避免恶意程序侦测到第一测试机器VM1或虚拟机器管理器VMM被更动时,所进行的抗反侦测机制(例如恶意程序暂时不发作,以避免被侦测到的行为)。
于步骤450中,记忆体鉴识模块220用以于接收鉴识信号后,鉴识记忆体空间VMR,以产生一鉴识结果。
于一实施例中,记忆体鉴识模块220通过检视多个行程(process)分析、一动态链接函数库(Dynamic Link Library,DLL)分析、一文件(file)操作分析、一机码(registry)操作分析、一网络(network)行为分析、一代码注入行为(code injection)及/或一隐匿行为(rootkit)分析,以鉴识记忆体空间VMR。
举例而言,一些恶意软件会更改执行行程的关联性。因此,记忆体鉴识模块220亦会监控记忆体空间VMR中行程之间的关联性,例如检测隐藏行程与开启行程之间的关联性。
举例而言,一些恶意软件通过代码注入行为,将特定代码导入到第一测试机器VM1中,以改变正常程序的执行程序或目的。因此,记忆体鉴识模块220可透过监控记忆体空间VMR,以检查待测文件是否进行代码注入行为。
举例而言,一些恶意软件透过网络会将记忆体内的数据上传到远端的其他电子装置中。因此,记忆体鉴识模块220可透过监控记忆体空间VMR,以得知待测文件的网络行为,以判断是否发生数据传输的异常。
通过上述检测方法,记忆体鉴识模块220依据监控结果产生一鉴识结果。
于步骤460中,分析模块260用以分析鉴识结果,以判断待测文件是否包含一恶意程序,并将鉴识结果储存于数据库(未绘示)中。此鉴识结果包含判断此待测文件是否为恶意程序的相关信息。
例如,分析模块260依据鉴识结果得知第一测试机器VM1在执行待测文件时,待测文件是否进行恶意代码注入行为,且造成第一测试机器VM1运作异常(例如当机),则判断此待测文件包含一恶意程序,并将此鉴识结果储存于数据库中。
通过上述检测***及检测方法,可在有意义的多个执行阶段中针对特定的虚拟元件进行检测,避免在恶意程序发作的过程中有检测上的疏漏情形。此外,本案可动态地鉴识记忆体是否异常,不须中断第一测试机器的运作,也不须将第一测试机器关闭再进行倾倒记忆体机制。再者,由于本案是透过监控测试机器(即第二测试机器)以监控执行待测文件的测试机器(即第一测试机器)是否异常,并未修改到虚拟机器管理器中的管理机制,因此可避免恶意程序的抗反侦测机制。
虽然本案已以实施例揭露如上,然其并非用以限定本案,任何熟悉此技艺者,在不脱离本案的精神和范围内,当可作各种的更动与润饰,因此本案的保护范围当视所附的权利要求书所界定的范围为准。
Claims (14)
1.一种检测***,其特征在于,包含:
一记忆体空间;
一中央排程模块,用以将一待测文件传送至一第一测试机器,该第一测试机器用以执行该待测文件;
一效能监控模块,用以监控该待测文件于该第一测试机器执行过程中,该第一测试机器的一元件使用率是否高于一预设门槛值,根据不同的该元件使用率高于该预设门槛值的一时点,判断该时点对应一恶意程序的一执行阶段;
一记忆体鉴识模块,当该元件使用率高于一预设门槛值时,该记忆体鉴识模块用以鉴识该第一测试机器的该记忆体空间;以及
一分析模块,用以根据该记忆体空间的一鉴识结果判断该待测文件是否包含该恶意程序;
其中,该执行阶段包括一漏洞搜寻及利用期、一程序安装期、一命令与控制期及一恶意行为实施期,该元件使用率包含一记忆体使用率、一硬盘使用率、一网卡或网络使用率、及一处理器使用率,且不同的该元件使用率对应不同的该预设门槛值,该效能监控模块判断该记忆体使用率、该硬盘使用率、该网卡或网络使用率及该处理器使用率皆大于其对应的该预设门槛值的该时点,为该恶意程序的一漏洞搜寻及利用期,和一恶意行为实施期以上其一,以及该效能监控模块判断仅该网卡或网络使用率大于其对应的该预设门槛值的该时点,为该恶意程序的一程序安装期和一命令与控制期以上其一。
2.根据权利要求1所述的检测***,其特征在于,该第一测试机器包括一记忆体、一硬盘、一网卡及一处理器以上至少其一。
3.根据权利要求2所述的检测***,其特征在于,该第一测试机器为一虚拟机器,该记忆体包含该记忆体空间,该硬盘为一虚拟硬盘,该网卡为一虚拟网卡,该处理器为一虚拟处理器。
4.根据权利要求1所述的检测***,其特征在于,还包含:
一样本格式模块,用以接收该待测文件,并判断该待测文件的一文件格式,并依该文件格式选择对应该文件格式的该第一测试机器。
5.根据权利要求1所述的检测***,其特征在于,该记忆体鉴识模块鉴识该记忆体空间是采用多个行程分析、一动态链接函数库分析、一文件操作分析、一机码操作分析、一网络行为分析、一代码注入行为及一隐匿行为分析以上至少其一,以产生该鉴识结果。
6.根据权利要求3所述的检测***,其特征在于,还包含:
通过一第二测试机器以监控该第一测试机器。
7.根据权利要求6所述的检测***,其特征在于,该第一测试机器与该第二测试机器建构于一虚拟机器管理器上,该第一测试机器与该第二测试机器透过该虚拟机器管理器上所运行的一操作***以存取至少一实体装置。
8.一种检测方法,其通过一处理装置实施,其特征在于,包含以下步骤:
(A)令该处理装置将一待测文件传送至一第一测试机器,并于该第一测试机器用以执行该待测文件;
(B)令该处理装置监控该待测文件于该第一测试机器执行过程中,该第一测试机器的一元件使用率是否高于一预设门槛值;以及
(C)令该处理装置根据不同的该元件使用率高于该预设门槛值的一时点,判断该时点对应恶意程序的一执行阶段,若该元件使用率高于一预设门槛值,则令该处理装置鉴识该第一测试机器的一记忆体空间,以判断该待测文件是否包含一恶意程序并产生一鉴识结果;
其中,步骤(C)还包括:该执行阶段包括一漏洞搜寻及利用期、一程序安装期、一命令与控制期及一恶意行为实施期,该元件使用率包含一记忆体使用率、一硬盘使用率、一网卡或网络使用率、及一处理器使用率,且不同的该元件使用率对应不同的该预设门槛值,令该处理装置判断该记忆体使用率、该硬盘使用率、该网卡或网络使用率及该处理器使用率皆大于其对应的该预设门槛值的该时点,为该恶意程序的该漏洞搜寻及利用期,和该恶意行为实施期以上其一,以及令该处理装置判断仅该网卡或网络使用率大于其对应的该预设门槛值的该时点,为该恶意程序的该程序安装期和该命令与控制期以上其一。
9.根据权利要求8所述的检测方法,其特征在于,该第一测试机器包括一记忆体、一硬盘、一网卡及一处理器以上至少其一。
10.根据权利要求9所述的检测方法,其特征在于,该第一测试机器为一虚拟机器,该记忆体为一记忆体空间,该硬盘为一虚拟硬盘,该网卡为一虚拟网卡,该处理器为一虚拟处理器。
11.根据权利要求8所述的检测方法,其特征在于,步骤(A)还包括以下步骤:
令该处理装置接收该待测文件,并判断该待测文件的一文件格式,并依该文件格式选择对应该文件格式的该第一测试机器。
12.根据权利要求8所述的检测方法,其特征在于,步骤(C)中,该处理装置鉴识该记忆体空间是采用采多个行程分析、一动态链接函数库分析、一文件操作分析、一机码操作分析、一网络行为分析、一代码注入行为及一隐匿行为分析以上至少其一,以产生该鉴识结果。
13.根据权利要求10所述的检测方法,其特征在于,还包含:
通过一第二测试机器以监控该第一测试机器。
14.根据权利要求13所述的检测方法,其特征在于,该第一测试机器与该第二测试机器建构于一虚拟机器管理器上,该第一测试机器与该第二测试机器透过该虚拟机器管理器上所运行的一操作***以存取至少一实体装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105138306A TWI656453B (zh) | 2016-11-22 | 2016-11-22 | 檢測系統及檢測方法 |
TW105138306 | 2016-11-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108090352A CN108090352A (zh) | 2018-05-29 |
CN108090352B true CN108090352B (zh) | 2021-07-20 |
Family
ID=62147580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611114156.8A Active CN108090352B (zh) | 2016-11-22 | 2016-12-07 | 检测***及检测方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10318731B2 (zh) |
CN (1) | CN108090352B (zh) |
TW (1) | TWI656453B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11481487B2 (en) * | 2019-07-08 | 2022-10-25 | Google Llc | System and method of detecting file system modifications via multi-layer file system state |
US11636204B2 (en) * | 2019-10-01 | 2023-04-25 | Acronis International Gmbh | Systems and methods for countering removal of digital forensics information by malicious software |
CN111786853A (zh) * | 2020-07-01 | 2020-10-16 | 公安部第三研究所 | 针对安全隔离与信息交换产品实现吞吐量和延时指标测试的***及其方法 |
TWI827203B (zh) * | 2022-08-18 | 2023-12-21 | 中華電信股份有限公司 | 容器之惡意檔案的驗證系統和驗證方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9092625B1 (en) * | 2012-07-03 | 2015-07-28 | Bromium, Inc. | Micro-virtual machine forensics and detection |
US9165136B1 (en) * | 2010-10-27 | 2015-10-20 | Amazon Technologies, Inc. | Supervising execution of untrusted code |
WO2016009356A1 (en) * | 2014-07-14 | 2016-01-21 | Iota Security Inc. | System, method and apparatus for detecting vulnerabilities in electronic devices |
CN106611122A (zh) * | 2015-10-27 | 2017-05-03 | 国家电网公司 | 基于虚拟执行的未知恶意程序离线检测*** |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117659B2 (en) * | 2005-12-28 | 2012-02-14 | Microsoft Corporation | Malicious code infection cause-and-effect analysis |
US8719936B2 (en) * | 2008-02-01 | 2014-05-06 | Northeastern University | VMM-based intrusion detection system |
TWI470468B (zh) * | 2009-03-16 | 2015-01-21 | Chunghwa Telecom Co Ltd | 惡意程式及行為偵測的方法及系統 |
CN101848092A (zh) * | 2009-03-25 | 2010-09-29 | 华为技术有限公司 | 恶意代码检测方法和装置 |
CN102254120B (zh) * | 2011-08-09 | 2014-05-21 | 华为数字技术(成都)有限公司 | 恶意代码的检测方法、***及相关装置 |
CN103632084A (zh) * | 2012-08-20 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 恶意特征数据库的建立方法、恶意对象检测方法及其装置 |
US9355247B1 (en) | 2013-03-13 | 2016-05-31 | Fireeye, Inc. | File extraction from memory dump for malicious content analysis |
US9536091B2 (en) * | 2013-06-24 | 2017-01-03 | Fireeye, Inc. | System and method for detecting time-bomb malware |
US9860155B1 (en) * | 2013-09-27 | 2018-01-02 | Amazon Technologies, Inc. | Code coverage and data analysis |
US9747446B1 (en) * | 2013-12-26 | 2017-08-29 | Fireeye, Inc. | System and method for run-time object classification |
TWI553503B (zh) * | 2014-02-27 | 2016-10-11 | 國立交通大學 | 產生候選鈎點以偵測惡意程式之方法及其系統 |
CN104715201B (zh) | 2015-03-31 | 2018-02-27 | 北京奇虎科技有限公司 | 一种虚拟机恶意行为检测方法和*** |
TWI547823B (zh) * | 2015-09-25 | 2016-09-01 | 緯創資通股份有限公司 | 惡意程式碼分析方法與系統、資料處理裝置及電子裝置 |
CN105590063B (zh) * | 2015-12-25 | 2019-03-22 | 珠海豹趣科技有限公司 | 一种挖掘漏洞的方法、装置及电子设备 |
US10423790B2 (en) * | 2016-08-09 | 2019-09-24 | Nicira, Inc. | Intelligent identification of stressed machines for data security management |
-
2016
- 2016-11-22 TW TW105138306A patent/TWI656453B/zh active
- 2016-12-05 US US15/369,769 patent/US10318731B2/en active Active
- 2016-12-07 CN CN201611114156.8A patent/CN108090352B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9165136B1 (en) * | 2010-10-27 | 2015-10-20 | Amazon Technologies, Inc. | Supervising execution of untrusted code |
US9092625B1 (en) * | 2012-07-03 | 2015-07-28 | Bromium, Inc. | Micro-virtual machine forensics and detection |
WO2016009356A1 (en) * | 2014-07-14 | 2016-01-21 | Iota Security Inc. | System, method and apparatus for detecting vulnerabilities in electronic devices |
CN106611122A (zh) * | 2015-10-27 | 2017-05-03 | 国家电网公司 | 基于虚拟执行的未知恶意程序离线检测*** |
Also Published As
Publication number | Publication date |
---|---|
CN108090352A (zh) | 2018-05-29 |
US20180144134A1 (en) | 2018-05-24 |
TWI656453B (zh) | 2019-04-11 |
US10318731B2 (en) | 2019-06-11 |
TW201820198A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9516060B2 (en) | Malware analysis methods and systems | |
US10075455B2 (en) | Zero-day rotating guest image profile | |
US8978141B2 (en) | System and method for detecting malicious software using malware trigger scenarios | |
US8055951B2 (en) | System, method and computer program product for evaluating a virtual machine | |
CN108090352B (zh) | 检测***及检测方法 | |
CN107145782B (zh) | 一种异常应用程序的识别方法、移动终端及服务器 | |
CN109101815B (zh) | 一种恶意软件检测方法及相关设备 | |
US10042744B2 (en) | Adopting an existing automation script to a new framework | |
KR20090051956A (ko) | 악성 코드에 의해 삽입된 동적 연결 라이브러리 검출 장치 및 방법 | |
KR101715759B1 (ko) | 멀티코어 환경에서의 악성코드 분석 장치 및 방법 | |
US10713107B2 (en) | Detecting a possible underlying problem among computing devices | |
US10248424B2 (en) | Control flow integrity | |
US11528298B2 (en) | Methods and systems for preventing malicious activity in a computer system | |
JP7517585B2 (ja) | 解析機能付与装置、解析機能付与プログラム及び解析機能付与方法 | |
US20190138713A1 (en) | Method for Detecting a Deviation of a Security State of a Computing Device from a Desired Security State | |
EP2988242B1 (en) | Information processing device, and information processing method | |
KR20170096260A (ko) | Usb로 연결된 외부 장치 기반의 악성코드 분석 장치 및 이를 이용한 방법 | |
US20170017561A1 (en) | Software detection method and device | |
KR101256468B1 (ko) | 악성 파일 진단 장치 및 방법 | |
EP3113060B1 (en) | Method and apparatus for determining behaviour information corresponding to dangerous file | |
CN103810222A (zh) | 样本文件的处理方法及装置 | |
US10275595B2 (en) | System and method for characterizing malware | |
US8291389B2 (en) | Automatically detecting non-modifying transforms when profiling source code | |
CN112199642A (zh) | 一种安卓***反调试的检测方法、移动终端及存储介质 | |
EP2819055A1 (en) | System and method for detecting malicious software using malware trigger scenarios |
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 |