CN109409089A - 一种基于虚拟机自省的Windows加密型勒索软件检测方法 - Google Patents

一种基于虚拟机自省的Windows加密型勒索软件检测方法 Download PDF

Info

Publication number
CN109409089A
CN109409089A CN201811141452.6A CN201811141452A CN109409089A CN 109409089 A CN109409089 A CN 109409089A CN 201811141452 A CN201811141452 A CN 201811141452A CN 109409089 A CN109409089 A CN 109409089A
Authority
CN
China
Prior art keywords
software
file
virtual machine
network
extorting
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
CN201811141452.6A
Other languages
English (en)
Other versions
CN109409089B (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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN201811141452.6A priority Critical patent/CN109409089B/zh
Publication of CN109409089A publication Critical patent/CN109409089A/zh
Application granted granted Critical
Publication of CN109409089B publication Critical patent/CN109409089B/zh
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

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

Abstract

本发明公开了一种基于虚拟机自省的Windows加密型勒索软件检测方法,基于虚拟机自省技术,捕获虚拟机内部产生的***调用,然后对***调用参数进行解析,同时获取当前产生***调用的进程的上下文信息,实现了在运行勒索软件的客户机操作***的下层,即hypervisor中对虚拟机文件活动和网络活动进行监控,不需要对客户机操作***进行任何更改,并且检测***本身对勒索软件是透明的,客户机中的勒索软件无法绕过检测***。同时对勒索软件在底层的文件***和网络活动进行监控,并且得到了勒索软件的文件I/O访问模式和网络活动模式,相比于现存的仅通过勒索软件的文件活动特征检测勒索软件攻击的***,本发明具有更高的检测精度和检测效率。

Description

一种基于虚拟机自省的Windows加密型勒索软件检测方法
技术领域
本发明属于计算机科学与技术领域,涉及恶意软件的防御,具体是一种基于虚拟机自省技术的勒索软件检测方法,可用于64位Windows操作***中加密型勒索软件的防御。
背景技术
加密型勒索软件会***性地加密受害者机器上的文件,并向受害者进行勒索以换取解密文件的密钥。由于攻击者一般都使用了强加密算法和较长的密钥,如果没有密钥,用户几乎无法对其进行破解,因此这种类型勒索软件的危害性极大。近几年来,勒索软件大规模爆发,已经给许多企业、政府、组织和个人带来极大的危害,造成巨大的经济损失,成为互联网安全最严重的威胁之一。而对勒索软件进行检测和防御具有较大的难度,这是因为它的行为特征与一些良性的应用程序类似,如文件压缩程序、文件加密程序等。因此,找到一种有效的检测和防御勒索软件的方法,具有十分重要的意义。
为了应对勒索软件的威胁,业界相关的研究人员提出了一些检测及阻止勒索软件的技术方案,例如美国西北大学的UNVEIL、佛罗里达大学的CryptoDrop、波士顿大学的PayBreak和Redemption、意大利理工大学的ShieldFS等。然而,深入分析后发现,现存的这些技术方案存在一些共有的局限性,这主要包括:第一,检测***和勒索软件处于同一个操作***中,如果勒索软件成功进行权限提升,获得***内核级权限,那么这些检测***可能会被勒索软件绕过。第二,许多勒索软件在加密受害者文件的同时,都存在着网络活动,例如,一些勒索软件会从远程服务器获取加密文件时所需的密钥,或者将在受害者机器上生成的密钥或用户隐私数据偷偷发送到远程服务器上;然而,现存的这些检测勒索软件的方法仅仅考虑了勒索软件的文件活动特征,并没有将勒索软件的网络活动特征作为其检测攻击的依据,而勒索软件的文件活动特征和一些良性的软件类似,仅仅将文件活动作为勒索软件的检测依据容易产生误报。
发明内容
本发明的目的在于提供基于虚拟机自省的Windows加密型勒索软件检测方法,以抵御64位Windows操作***中加密型勒索软件的攻击,保护用户个人数据的安全。
为达到上述目的,本发明采用如下技术方案:
一种基于虚拟机自省的Windows加密型勒索软件检测方法,包括以下步骤:
步骤1)、获取已知勒索软件的文件行为模式和网络行为模式,
步骤2)、利用hypervisor获取当前***运行软件当前进程的操作序列,
步骤3)、将获取的当前进程的操作序列与已知勒索软件的文件行为模式和网络行为模式进行对比,如果匹配已知勒索软件的文件行为模式和网络行为模式对勒索软件攻击的检测,则进行预警执行策略;否则不执行。
进一步的,其中hypervisor在开源的KVM中扩展了Monitor模块和Detector模块,实现对虚拟机的监控并在监控信息的基础上实现对勒索软件的检测。
进一步的,具体的,当虚拟机操作***中的一个进程产生文件或网络I/O请求时,操作***会通过***调用切换到内核模式去执行相应的***调用服务例程,hypervisor中的Monitor模块捕获***调用,Monitor模块负责对被捕获的***调用进行解析得到***调用的上下文信息,然后Monitor模块将控制权交还给虚拟机***,当***调用服务例程执行完毕后,虚拟机***将控制权返还给调用进程,Monitor模块将获取到的监控信息发送给Detector模块,Detector模块通过执行检测策略判断当前进程的操作序列是否匹配勒索软件文件I/O访问模式和网络活动模式实现对勒索软件攻击的检测;如果Detector模块检测到勒索软件攻击,则进行预警执行策略,否则不进行预警。
进一步的,捕获虚拟机中产生的***调用;
(1.1a)、将CPU EFER寄存器的SCE标志位复位;
(1.1b)、虚拟机中产生无效操作码异常,陷入hypervisor中;
(1.1c)、判断当前指令是否为SYSCALL或SYSRET;如果是则跳转到步骤(1.2a),否则跳转到步骤(1.2f);
获取当前***调用的上下文信息;
(1.2a)读取CPU RAX寄存器中存储的***调用号,通过***调用号判断当前***调用是否为文件I/O访问模式和网络活动模式的***调用,如果是则跳转到步骤(1.2b),否则跳转到步骤(1.1b);
(1.2b)通过***调用号判断当前***调用是否为网络相关的***调用,如果是,通过解析当前***调用的参数得到控制码、IP和端口号信息,跳转到步骤(1.2d);否则跳转到步骤(1.2c);
(1.2c)通过解析当前***调用的参数得到当前文件操作的文件名和文件写入数据信息;
(1.2d)获取当前进程的上下文信息;
(1.2e)将当前截取到的当前进程的上下文信息按照特定的格式进行格式化;
(1.2f)模拟当前指令;
(1.2g)将控制权返还给虚拟机,跳转到步骤(1.1b);
(1.2h)虚拟机向Detector模块发送格式化监控信息。
进一步的,通过利用VMI捕获***调用并对其进行解析实现对虚拟机中文件***和网络活动的监控,将虚拟机中产生的***调用陷入到hypervisor中;在虚拟机产生***调用时强制操作***发生异常或***中断,使这些异常或***中断陷入hypervisor中,从而使得***调用间接陷入hypervisor中。
进一步的,获取已知勒索软件的文件行为模式和网络行为模式:
(2.1a)、在虚拟机中运行已知勒索软件;
(2.1b)、利用Monitor得到虚拟机监控日志,从中确定和勒索软件样本同名进程ID;
(2.1c)、根据父进程ID查找到该进程的所有子孙进程,即为勒索软件相关的所有进程;
(2.1d)、遍历监控日志中勒索软件及其子进程的操作,包含文件操作和网络操作;
(2.1e)、判断是否为文件操作,如果是跳转到(2.1f),如果不是,跳转到(2.1g);
(2.1f)、对于产生的文件操作,获取文件名,如果勒索软件及其子进程此前没有产生过对该文件的操作,则建立以此文件名命名的序列,并把文件操作加入到文件名序列中;如果已经有该文件名序列,直接把文件操作加入到文件名序列当中;跳转到步骤(2.1d)继续遍历监控日志,直到勒索软件及其子进程没有文件操作产生;
(2.1g)、对于产生的网络操作,加入到网络操作序列中,然后跳转到步骤(2.1d)继续遍历监控日志,直到勒索软件及其子进程没有网络操作产生。
进一步的,Detector模块检测勒索软件样本:
(2.2a)、接受由Monitor模块发送来的监控信息;
(2.2b)、判断当前监控信息中的操作类型是否是文件相关的,如果是文件相关的,则跳转到步骤(2.2c),否则跳转到步骤(2.2e);
(2.2c)、判断当前被访问的文件是否是用户文件,如果是,将监控信息添加到当前被访问文件所对应的文件操作队列中;否则跳转到步骤(2.2a);
(2.2d)判断文件操作队列中的操作序列是否匹配勒索软件的文件I/O访问模式,如果匹配,将变量file_pattern_match置为True,跳转到步骤(2.2g);如果不匹配则直接跳转到步骤(2.2g);
(2.2e)、将监控信息添加到网络操作队列中;
(2.2f)、判断网络操作队列中的操作序列是否匹配勒索软件的网络活动特征,如果匹配,将变量network_pattern_match置为True;如果不匹配则直接跳转到步骤(2.2g);
(2.2g)、判断变量file_pattern_match和变量network_pattern_match是否都为True,如果是则当前进程为勒索软件进程,向用户告警;否则判断变量file_pattern_match是否为True,如果是,计算当前进程到目前为止向用户文件写入数据的平均熵;否则跳转到步骤(2.2a);
(2.2h)、判断平均熵是否大于阈值ɑ,如果大于等于阈值ɑ,向用户发出告警,跳转到步骤(2.2a);如果小于阈值ɑ,跳转到步骤(2.2a)。
与现有技术相比,本发明具有以下有益的技术效果:
本发明基于虚拟机自省的Windows加密型勒索软件检测方法,基于虚拟机自省技术,捕获虚拟机内部产生的***调用,然后对***调用参数进行解析,同时获取当前产生***调用的进程的上下文信息,实现了在运行勒索软件的客户机操作***的下层,即hypervisor中对虚拟机文件活动和网络活动进行监控,因此,本发明不需要对客户机操作***进行任何更改,并且检测***本身对勒索软件是透明的,客户机中的勒索软件无法绕过检测***。本发明同时对勒索软件在底层的文件***和网络活动进行监控,并且得到了勒索软件的文件I/O访问模式和网络活动模式。然后,通过一定的策略匹配已经得到的勒索软件文件和网络活动模式来检测勒索软件攻击。相比于现存的仅通过勒索软件的文件活动特征检测勒索软件攻击的***,本发明具有更高的检测精度和检测效率。
附图说明
图1是本发明的总体架构图;
图2是本发明实现对虚拟机文件***和网络监控的流程图;
图3是本发明总结勒索软件行为模式的流程图;
图4是本发明的勒索软件检测策略;
图5是本发明总结的勒索软件文件行为模式;
图6是本发明总结的勒索软件网络行为模式。
具体实施方式
下面结合附图对本发明做进一步详细描述:
如图1至图6所示,hypervisor在开源的KVM中扩展了Monitor模块和Detector模块,实现对虚拟机的监控并在监控信息的基础上实现对勒索软件的检测;
基于虚拟机自省的Windows加密型勒索软件检测方法,包括以下步骤:
(1)、Monitor模块对虚拟机的文件***和网络活动进行监控的步骤:
(1.1)、捕获虚拟机中产生的***调用;
(1.1a)、将CPU EFER寄存器的SCE标志位复位;
(1.1b)、虚拟机中产生无效操作码异常,陷入hypervisor中;
(1.1c)、判断当前指令是否为SYSCALL或SYSRET;如果是则跳转到步骤(1.2a),否则跳转到步骤(1.2f);
步骤2)、获取当前***调用的上下文信息;
(1.2a)读取CPU RAX寄存器中存储的***调用号,通过***调用号判断当前***调用是否为文件或网络相关的***调用,如果是则跳转到步骤(1.2b),否则跳转到步骤(1.1b);
(1.2b)通过***调用号判断当前***调用是否是与网络相关的***调用,如果是,则通过解析当前***调用的参数得到控制码、IP、端口号等信息,跳转到(1.2d);否则跳转到步骤(1.2c);
(1.2c)通过解析当前***调用的参数得到当前文件操作的文件名、文件写入数据等信息;
(1.2d)获取当前进程的上下文信息,包括当前进程的ID、进程名、父进程ID等;
(1.2e)将当前截取到的信息按照特定的格式进行格式化;
(1.2f)模拟当前指令;
(1.2g)将控制权返还给虚拟机,跳转到1.1b;
(1.2h)向Detector模块发送格式化监控信息;
(2)、按照一定策略,进行勒索软件检测的步骤:
(2.1)、总结已知勒索软件的文件行为模式和网络行为模式:
(2.1a)、在虚拟机中运行已知勒索软件;
(2.1b)、利用Monitor得到虚拟机监控日志,从中确定和勒索软件样本同名进程ID;
(2.1c)、根据父进程ID查找到该进程的所有子孙进程,这些进程就是勒索软件相关的所有进程;
(2.1d)、遍历监控日志中勒索软件及其子进程的操作,包含文件操作和网络操作;
(2.1e)、判断是否为文件操作,如果是跳转到2.1f,如果不是,跳转到2.1g;
(2.1f)、对于产生的文件操作,获取文件名,如果勒索软件及其子进程此前没有产生过对该文件的操作,则建立以此文件名命名的序列,并把文件操作加入到文件名序列中;如果已经有该文件名序列,直接把文件操作加入到文件名序列当中。跳转到步骤2.1d继续遍历监控日志,直到勒索软件及其子进程没有文件操作产生;
(2.1g)、对于产生的网络操作,加入到网络操作序列中,然后跳转到步骤2.1d继续遍历监控日志,直到勒索软件及其子进程没有网络操作产生;
(2.1h)、总结文件模式:同一个勒索软件对用户文件加密时所采取的策略应该是一致的,这种策略会体现在I/O访问的序列中,因此在遍历监控日志中勒索软件及其子进程的操作之后,可以观察到每个文件的访问请求序列都是相同的;
(2.1i)、总结网络操作模式:我们总结出了2种网络操作模式,这些操作模式反映了勒索软件在对受害者进行攻击时所采用的策略;
(2.2)、Detector模块检测勒索软件样本
(2.2a)、接受由Monitor模块发送来的监控信息;
(2.2b)、判断当前监控信息中的操作类型是否是文件相关的,如果是文件相关的,则跳转到步骤2.2c,否则跳转到步骤2.2e;
(2.2c)、判断当前被访问的文件是否是用户文件,如果是,将监控信息添加到当前被访问文件所对应的文件操作队列中;否则跳转到步骤2.2a;
(2.2d)判断文件操作队列中的操作序列是否匹配勒索软件的文件I/O访问模式,如果匹配,将变量file_pattern_match置为True,跳转到步骤2.2g;如果不匹配则直接跳转到步骤2.2g;
(2.2e)、将监控信息添加到网络操作队列中;
(2.2f)、判断网络操作队列中的操作序列是否匹配勒索软件的网络活动特征,如果匹配,将变量network_pattern_match置为True;如果不匹配则直接跳转到步骤2.2g;
(2.2g)、判断变量file_pattern_match和变量network_pattern_match是否都为True,如果是则当前进程为勒索软件进程,向用户告警;否则判断变量file_pattern_match是否为True,如果是,计算当前进程到目前为止向用户文件写入数据的平均熵;否则跳转到步骤2.2a;
(2.2h)、判断平均熵是否大于阈值ɑ(本发明中设定ɑ为6.0),如果大于等于ɑ,向用户发出告警,跳转到步骤2.2a;如果小于ɑ,跳转到步骤2.2a。
参照图1,本发明涉及虚拟机自省的Windows加密型勒索软件检测方法包括Monitor模块和Detector模块;当虚拟机操作***中的一个进程产生文件或网络I/O请求时,操作***会通过***调用切换到内核模式去执行相应的***调用服务例程,此时,hypervisor(虚拟机管理器)中的Monitor模块捕获***调用;Monitor模块负责对被捕获的***调用进行解析得到***调用的上下文信息,如当前进程的进程ID、***调用参数和返回值参数;然后Monitor模块将控制权交还给虚拟机***,当***调用服务例程执行完毕后,虚拟机***将控制权返还给调用进程。与此同时,Monitor模块将获取到的监控信息发送给Detector模块,当Detector模块接收到监控信息后,Detector模块通过执行检测策略判断当前进程的操作序列是否匹配特定的勒索软件文件I/O访问模式和网络活动模式实现对勒索软件攻击的检测;如果Detector模块检测到勒索软件攻击,则进行预警执行策略,如向用户告警、记录日志、杀死勒索软件进程等。
其中Monitor模块和Detector模块扩展在开源KVM(Kernel-Based VirtualMachine基于内核的虚拟机)中,使其实现对虚拟机的监控,并在监控信息的基础上实现对勒索软件的检测:在具体的实现中,首先使用扩展的KVM模块将Ubuntu***中原有的KVM内核模块替换,然后在使用KVM创建一个64位的Windows 7虚拟机,然后在虚拟机中运行勒索软件样本进行测试。
本发明制定的勒索软件检测策略是基于勒索软件的文件和网络行为模式,因此,在实际进行勒索软件检测之前,要先运行已知勒索软件,利用Monitor模块来监控勒索软件的文件行为和网络行为,从而总结已知勒索软件的文件行为模式和网络行为模式,基于这些总结的已知勒索软件的行为模式,我们再使用Detector模块来进行实际匹配以确定样本是否为勒索软件。
本发明是基于两个关键点提出的:第一,每一个文件或网络操作(如文件打开/创建/读/写/关闭/重命名,或者网络连接/绑定/发送/接受/断开连接)都对应操作***内核的一个特定***调用,这些***调用能够被hypervisor捕获并且***调用的上下文信息(如调用者进程、***调用参数、***调用的返回值)能够在hypervisor层通过虚拟机自省技术得到;第二,除了文件活动外,大多数文件加密型勒索软件样本会连接网络并产生大量具有特定模式的网络活动;例如,为了实施进一步攻击,勒索软件连接的目的IP在一个非常短的时间内不断变化。同时对勒索软件进程的文件和网络活动进行监控,勒索软件检测***能够具有更加精确、及早地检测到勒索软件攻击。
一.监控虚拟机中的文件***和网络活动
参照图2,本部分的具体实现如下:
步骤1,捕获虚拟机中产生的***调用:
(1a)将CPU EFER寄存器的SCE标志位复位;
对虚拟机中文件***和网络活动的监控是通过利用VMI(virtual machineintrospection,虚拟机自省)捕获***调用并对其进行解析实现的;为了能够在hypervisor中捕获到***调用,需要将虚拟机中产生的***调用陷入到hypervisor中;直接将***调用陷入hypervisor中并没有被当前的主流架构(如Intel IA-32和Intel 64)所支持,但是Intel Virtualization Extensions(VT-x)技术支持将***中断(如页错误、不合理的操作码异常、一般性保护错误等)陷入hypervisor中。因此,要想在hypervisor中捕获***调用,可以在虚拟机产生***调用时强制操作***发生异常或***中断,使这些异常或***中断陷入hypervisor中,从而使得***调用间接陷入hypervisor中。
本发明所使用的虚拟机***是64位Windows***,在x64平台中,***调用的实现方式是使用SYSCALL指令及其对应的STSRET指令构建一种快速调用***服务例程的机制;这两个指令的执行依赖于一组MSR寄存器,而且这种机制可以通过将EFER(ExtendedFeature Enable Register)寄存器的SCE标志位清零而关闭;因此,如果将EFER寄存器的SCE标志位清零,那么当64位Windows虚拟机产生***调用时,将产生不合理的操作码异常,该异常将陷入hypervisor,此时相当于hypervisor间接捕获了***调用。
(1b)虚拟机中产生无效操作码异常,陷入hypervisor中;
(1c)判断当前指令是否为SYSCALL或SYSRET;
当虚拟机产生无效操作码异常时,都会陷入到hypervisor中,本发明所关注的仅仅是由于***调用产生的异常。当控制权转入hypervisor中时,必须区分不合理操作码异常是自然产生的还是由于本文的设置而产生的。因此,需要通过判断当前指令去判断当前不合理操作码异常的产生源。如果当前指令为SYSCALL或STSRET,说明该异常是由于对EFER寄存器设置而产生的,则解析***调用参数,获取当前进程信息,模拟当前指令,然后将控制权交还给虚拟机。否则,模拟当前指令,将控制权返还给虚拟机。
步骤2,获取***调用上下文信息。
(2a)判断当前***调用是否为文件或网络相关的***调用,如果是则跳转到步骤2b,否则跳转到步骤1b。通过***调用号来判断当前***调用的类型。对于x64平台,在产生***调用时,***调用号被存放在RAX寄存器中。因此,我们需要利用VMI技术取得RAX寄存器中存取的***调用号,通过***调用号判断当前***调用是否为文件或网络相关的***调用;
(2b)通过***调用号判断当前***调用是否是与网络相关的***调用,如果是,则通过解析当前***调用的参数得到控制码、IP、端口号等信息,跳转到步骤2d;否则跳转到步骤2c;在64位Windows 7中,所有的与网络相关的操作都是通过NtDeviceIoControlFile这个***调用完成的;该***调用的第6个参数IoControlCode用于指明执行哪种操作的控制码,第7个参数InputBuffer包含了发送给目标设备的信息;当IoControlCode不同时,InputBuffer所存储的信息的数据结构也是不相同的;例如,当IoControlCode为0x12023,表示发送UDP数据包,此时InputBuffer中包含了要发送的数据、目的端口和IP等信息,结合相应的数据结构实现对这些信息的解析,对其他网络操作的解析以此类推。
(2c)通过解析当前***调用的参数得到当前文件操作的文件名、文件写入数据等信息;文件的写入操作是由NtWriteFile实现的,该***调用的第6个参数Buffer位指向写入数据缓冲区的指针,而第1个参数FileHandle为指向文件对象的句柄,其中包含了文件名等信息;对其他文件操作的解析以此类推。
解析这些参数除了明确每个参数的数据结构外,还需要了解参数的地址。在此之前,首先需要理解x64Windows***发生函数调用时栈帧的结构。对于x64Windows***而言,RSP寄存器中存放栈顶指针,所有栈的操作都是通过RSP寄存器来完成的。当一个***调用发生时,前4个参数并不一定存放在栈中,而是从左至右,依次被放入RCX、RDX、R8、R9这4个寄存器中,其余参数从左至右依次存储到栈中。需要注意的一点是,在***调用执行之前,触发***调用的call指令会使得一个8字节的返回值入栈,这样就导致了RSP-8。因此,当捕获到***调用时,前4个参数依次存放在RCX、RDX、R8、R9这4个寄存器中,第5个参数的地址为RSP+5*8,第6个参数的地址为RSP+6*8,以此类推。这样就通过RSP寄存器得到了每一个参数的地址。至于***调用的返回值,当***调用执行完成后,被存放到RAX寄存器中。根据当前正在发生的***调用以及该***调用每一个参数的地址,按照每一个参数的数据结构去解析对应参数地址处的内存内容,就可以得到与虚拟机中文件和网络操作相关的信息。要注意上述地址为虚拟机中的虚拟地址,我们需要将其转换为物理机的物理地址。我们在***中集成了开源的libvmi,实现这种地址空间的转换。
(2d)获取当前进程的上下文信息,包括当前进程的ID、进程名、父进程ID等。在Windows***中,与进程相关的属性都被存储在执行体控制块(EPROCESS)中。EPROCESS的地址可以通过进程控制域(KPCR)获取。在KPCR中有一个叫做KPRCB(Kernel ProcessorControl Block)的数据结构,用来存储当前线程对象的指针,而在该线程对象中,可以获得当前进程所对应的EPROCESS的地址。这样,就得到了当前产生***调用的进程信息。
在此之前,需要利用VMI获得KPCR的地址。x64使用SYSCALL指令来实现***调用,但执行SYSCALL指令时,操作***入口点没有内核堆栈,也没有一种简单的方法来获得内核结构的指针,因此,引入了SWAPGS指令。SWAPGS不需要任何通用寄存器或存储器,在使用指令之前不需要保存任何寄存器,SWAPGS将MSR地址0xC0000102H处的值与GS基址寄存器交换。然后内核可以在正常的内存引用上使用GS前缀来访问内核数据结构。而MSR地址C0000102H处保存的值就是KPCR的地址。这样当捕获***调用时,就可以通过获取MSR地址C0000102H处的值来得到KPCR的地址。
(2e)将当前截取到的信息按照特定的格式进行格式化。格式化的目的是为了方便Detector模块对监控信息进行处理。我们将文件操作的监控信息格式化成以下条目:
[***调用号,进程名,进程ID,父进程ID,文件名,新文件名,进程路径,时间戳]
其中“新文件名”仅仅针对文件重命名操作,表示重命名之后的文件名。
将网络操作的监控信息格式化为如下条目:
[***调用号,进程名,进程ID,父进程ID,控制码,端口号,IP,进程路径,时间戳]
(2f)模拟当前指令;
(2g)将控制权返还给虚拟机,跳转到1b;
(2h)向Detector模块发送格式化监控信息;
二.按照一定策略,进行勒索软件检测
参照图3和图4,本部分的具体实现如下:
步骤1,总结已知勒索软件的文件行为模式和网络行为模式:
(1a)运行勒索软件:当前活跃的302个来自不同家族的勒索软件样本,这些样本从VirusTotal和VirusShare上收集;
(1b)从监控日志当中根据进程名找到和勒索软件样本同名进程ID;
(1c)根据父进程ID查找到该进程的所有子孙进程,这些进程就是勒索软件相关的所有进程;
(1d)遍历监控日志中勒索软件及其子进程的操作,包含文件操作和网络操作;
(1e)判断是否为文件操作,如果是跳转到(1f),如果不是,跳转到(1g);
(1f)对于勒索软件及其子进程产生的文件操作,获取文件名,此前没有产生过对该文件的操作,则建立以此文件名命名的序列,并把文件操作加入到文件名序列中;如果已经有该文件名序列,直接把文件操作加入到文件名序列当中。跳转到步骤(1d)继续遍历监控日志,直到勒索软件及其子进程没有文件操作产生;
(1g)对于产生的网络操作,加入到网络操作序列中;跳转到步骤(1d)继续遍历监控日志,直到勒索软件及其子进程没有网络操作产生;
(1h)总结文件模式:同一个勒索软件对用户文件加密时所采取的策略应该是一致的,这种策略会体现在I/O访问的序列中。因此在遍历监控日志中勒索软件及其子进程的操作之后,可以观察到每个文件的访问请求序列都是相同的。通过分析和研究,我们发现不仅同一个勒索软件样本对不同文件的操作模式相同,不同家族的勒索软件的文件操作模式也可能是相同的。我们总结出了勒索软件的3种文件操作模式(见图5)。第一种文件操作模式如图5.a所示,勒索软件在加密用户文件时,进行了如下操作:(1)首先打开用户文件,读取用户文件的内容,然后对读取的内容进行加密生成密文,关闭文件;(2)打开用户文件,将生成的密文直接覆盖到原文件中,关闭文件。值得注意的是,在这种操作模式中,无论被加密文件的大小,只执行一次读文件操作,执行一次写文件操作。第二种文件操作模式如图5.b所示,在该模式中,勒索软件加密用户文件时所执行的操作为:(1)首先打开文件;(2)读取文件内容,对该内容加密生成密文;(3)将密文直接覆盖到原文件中;(4)重复步骤2~3,直到完成文件加密,最后关闭文件;(5)将文件重命名。第三种文件操作模式如图5.c所示,在该模式中,勒索软件加密用户文件时所执行的操作为:(1)打开用户文件;(2)创建一个新的加密版本文件;(3)读取原文件内容进行加密,生成密文;(4)将生成的密文写入新创建的文件中;(5)重复3~4,直到完成文件加密,然后将原文件和新文件关闭;(6)删除原文件。
(1i)总结网络操作模式:我们总结出了2种网络操作模式(见图6)。这些操作模式反映了勒索软件在对受害者进行攻击时所采用的策略。第一种模式如图6.a所示。在该模式中,勒索软件在加密用户文件的同时向大量不同主机的同一个端口发送UDP数据包,该过程可能是勒索软件为了避免安全工具查明真正的C&C服务器地址,增强勒索软件的隐蔽性。第二种网络操作模式如图6.b所示。在该网络操作模式中,勒索软件在对用户文件进行攻击的同时,会连接一个或多个外部服务器,使用HTTP或者HTTPS协议发送请求或者得到响应。连接外部服务器的目的可能是从外部服务器获取加密用户文件使用的密钥,或者将在受害者机器上生成的密钥发送到外部服务器。
步骤2,结合上述勒索软件行为模式制定策略,进行勒索软件检测。
(2a)接受由Monitor模块发送来的监控信息;
(2b)判断当前监控信息中的操作类型是否是文件相关的,如果是文件相关的,则跳转到步骤2c,否则跳转到步骤2e;
(2c)判断当前被访问的文件是否是用户文件,如果是,将监控信息添加到当前被访问文件所对应的文件操作队列中;否则跳转到步骤2a;
(2d)判断文件操作队列中的操作序列是否匹配勒索软件的文件I/O访问模式,如果匹配,将变量file_pattern_match置为True,跳转到步骤2g;如果不匹配则直接跳转到步骤2g;
(2e)将监控信息添加到网络操作队列中;
(2f)判断网络操作队列中的操作序列是否匹配勒索软件的网络活动特征,如果匹配,将变量network_pattern_match置为True;如果不匹配则直接跳转到步骤2g;
(2g)判断变量file_pattern_match和变量network_pattern_match是否都为True,如果是,表示文件模式和网络模式同时匹配,如果当前进程在3s内连接不同IP的数目超过3,则认为当前进程是勒索软件进程,向用户告警;否则判断变量file_pattern_match是否为True,如果是,表示仅有文件访问模式被匹配,此时计算当前进程到目前为止向用户文件写入数据的平均熵;否则跳转到步骤2a。香农熵用来测量数据的不确定度,通常加密和压缩会产生高熵值的数据,因此勒索软件写入用户文件的数据的熵值较高。
(2h)判断平均熵是否大于阈值ɑ(本发明中设定ɑ为6.0),如果大于等于ɑ,向用户发出告警,跳转到步骤2a;如果小于ɑ,跳转到步骤2a。为了设定一个合理的阈值,使得该阈值能够很好地将没有网络活动的勒索软件与良性的应用区分开来。本发明计算了一些典型家族的勒索软件样本每次写入用户文件数据的熵,然后通过计算这些熵的平均值得到每个样本的平均熵值。另外,本发明还测试了一些典型的良性应用(如Microsoft Word,,Notepad等)对用户文件操作是写入文件数据的平均熵值。通过本次实验,发现勒索软件样本写入用户文件数据的平均熵值为7.34,最小平均熵值为6.08,而绝大多数的良性应用的平均熵值都低于4。因此,我们将阈值ɑ设置为6.0。如果样本写入用户文件的平均熵值大于6.0,那么将在屏幕的最上层显示告警信息通知用户。相比于需要计算所有勒索软件样本写入数据的熵值的解决方案,本发明仅需在只有文件访问模式被匹配是才需要计算样本写入数据的熵值,而这些样本在我们的实验中只占很小的比例(只有1.01%)。
本发明的功能和性能效果可以通过以下实验进一步说明:
1)实验条件
本发明是通过利用运行于Ubuntu 16:04/x86-amd64***中的开源KVMhypervisor(版本为3.13.0),而勒索软件样本运行在位于KVM hypervisor上层的虚拟机中。虚拟机的操作***是64位Windows 7,位当前勒索软件攻击的主要目标。为了实现对勒索软件的检测,本发明扩展KVM hypervisor实现了***调用的捕获、***调用上下文信息的获取以及勒索软件攻击的检测。
因为勒索软件会加密用户文件,本发明首先建立了一个包含大量来自真实世界用户的多种类型文件的文档目录。这些文件包括文本文档,如.docx、.pptx、.xlsx、.pdf、.txt等,多媒体文件,如.jpg、.png、.bmp、.gif、.mkv、.mp4、.mp3、.rmvb,以及压缩文件,如.zip、.rar等。另外,还包括一些程序的源文件如.cpp、.py、.java等。这些文件的目录结构完全和真实世界的用户相同。为了排除阻止勒索软件成功运行的因素,本发明关闭了虚拟机的防火墙、用户控制以及反病毒软件。为了使得勒索软件样本能够成功连接到C&C服务器,虚拟机能够访问因特网。最后,以管理员权限运行每个勒索软件样本,并且每个样本都运行30分钟以保证勒索软件能够完成对用户文件的攻击。每次都通过快照将虚拟机恢复到勒索软件样本运行之前的状态已保证勒索软件样本的运行不受上次样本运行的影响。
2)实验内容
实验内容主要包括两大部分:功能测试和性能测试。功能测试用来对本发明原型***的有效性进行测试,而性能测试用来测试原型***的负载情况。
为了对本文***的有效性进行测试,利用本发明原型***对2767个恶意程序样本进行分析检测。样本的分类情况如表1所示,可以看到样本涵盖了当前主要的勒索软件类别。另外,为了验证***检测的准确性,本次试验还评估了检测的误报和漏报情况。评估检测误报的方法是:对于被本***检测为勒索软件的样本,重新在一个干净的虚拟机中运行,检查用户文件是否被加密。如果用户文件被加密,则本发明对该样本的检测是正确的。评估漏报的方法是:由于被检测为非勒索软件的样本数量非常多,本次实验中写了一个python脚本来检索这些样本的运行日志,检查是否存在对用户文件的操作,如果存在,则产生了漏报。
表1用于***测试的样本及其family
如果原型***能够尽可能早的检测到勒索软件攻击并对其进行阻止,这将减少用户文件的损失,本次试验中测试还计算了当识别出勒索软件样本时用户文件的平均损失数。
性能测试主要包括原型***对文件***和网络性能的影响。在性能测试实验中,使用IOzone来测试对文件***读写性能的影响,测试指标主要包括Write、Re-write、Read、Re-read。为了便于比较勒索软件防御***对文件***的影响,先在标准用户环境下用IOzone测试10次,取每次结果的平均值,然后在增加本原型***的用户环境下使用IOzone测试10次,同样取每次结果的平均值,然后将两者进行分析比较。另外,使用NetPerf测试了原型******对网络性能的影响,在评估本文***对网络性能影响的实验中,分别对TCP_STREAM(TCP批量传输)、UDP_STREAM(UDP批量传输)、TCP_RR(TCP请求应答)和UDP_RR(UDP请求应答)这四个网络操作进行测试。分别在无原型***和有原型***部署的环境下对每个网络操作分别测试10次,然后取平均值。
最后,还测试了原型***对一些常见的应用程序的影响,这些应用程序包括AESCrypt、Chrome、IE、MS Word、NotePad、WinRAR以及Media Player。具体测试方法为使用AutoIt对每个应用程序都写了一个脚本,使这些应用程序分别在没有原型***和有原型***部署的环境下执行相同的任务,然后分别得到这些应用的运行时间。同样,对每个应用程序都测试10次,然后计算测试结果的平均值。
3)结果分析
通过功能测试,本发明从这些样本中成功检测出了534个勒索软件样本。结合勒索软件的文件访问模式和网络活动模式,本发明成功识别出了506个勒索软件样本,表明将勒索软件的网络行为特征作为检测依据是合理的,可以极大地提升勒索软件检测的效率。本次功能测试中,没有产生误报,即误报为0。漏报为0,当然,这些被***检测为非勒索软件的样本中,可能确实存在勒索软件,只是由于某种原因,在本次测试的过程中没有表现出勒索软件行为,如某个勒索软件样本可能需要运行超过20分钟的时间才会表现出勒索软件行为,导致在测试中没有被检测出来。但是,由于本发明是一个对勒索软件进行动态检测和分析的***,只要其表现出勒索软件行为,就会被本文***捕捉到并且检测出来,因此,这里可以认为原型***的漏报为0。另外,84.08%(449/534)的勒索软件样本在被***检测到之前仅仅加密了2个用户文件。从平均来看,当***识别出勒索软件攻击时,2.99个用户文件被加密。
文件***性能测试的结果如表2所示,由于原型***所造成的平均文件I/O负载为5.61%。网路性能测试的结果如表3所示,由于原型***所造成的平均网络性能负载为2.51%。对应用程序影响的测试结果如表4所示,原型***对应用程序运行所造成的平均性能负载为2.56%。由性能测试结果可以看出,原型***对用户***所产生的负载在可接受的范围之内,基本上不会对用户体验造成明显影响。
表2文件***I/O性能测试的结果
表3网络性能测试的结果
表4应用程序运行负载的测试结果

Claims (8)

1.一种基于虚拟机自省的Windows加密型勒索软件检测方法,其特征在于,包括以下步骤:
步骤1)、获取已知勒索软件的文件行为模式和网络行为模式,
步骤2)、利用hypervisor获取当前***运行软件当前进程的操作序列,
步骤3)、将获取的当前进程的操作序列与已知勒索软件的文件行为模式和网络行为模式进行对比,如果匹配已知勒索软件的文件行为模式和网络行为模式对勒索软件攻击的检测,则进行预警执行策略;否则不执行。
2.根据权利要求1所述的一种基于虚拟机自省的Windows加密型勒索软件检测方法,其特征在于,其中hypervisor在开源的KVM中扩展了Monitor模块和Detector模块,实现对虚拟机的监控并在监控信息的基础上实现对勒索软件的检测。
3.根据权利要求2所述的一种基于虚拟机自省的Windows加密型勒索软件检测方法,其特征在于,具体的,当虚拟机操作***中的一个进程产生文件或网络I/O请求时,操作***会通过***调用切换到内核模式去执行相应的***调用服务例程,hypervisor中的Monitor模块捕获***调用,Monitor模块负责对被捕获的***调用进行解析得到***调用的上下文信息,然后Monitor模块将控制权交还给虚拟机***,当***调用服务例程执行完毕后,虚拟机***将控制权返还给调用进程,Monitor模块将获取到的监控信息发送给Detector模块,Detector模块通过执行检测策略判断当前进程的操作序列是否匹配勒索软件文件I/O访问模式和网络活动模式实现对勒索软件攻击的检测;如果Detector模块检测到勒索软件攻击,则进行预警执行策略,否则不进行预警。
4.根据权利要求2所述的一种基于虚拟机自省的Windows加密型勒索软件检测方法,其特征在于,捕获虚拟机中产生的***调用;
(1.1a)、将CPU EFER寄存器的SCE标志位复位;
(1.1b)、虚拟机中产生无效操作码异常,陷入hypervisor中;
(1.1c)、判断当前指令是否为SYSCALL或SYSRET;如果是则跳转到步骤(1.2a),否则跳转到步骤(1.2f);
获取当前***调用的上下文信息;
(1.2a)读取CPU RAX寄存器中存储的***调用号,通过***调用号判断当前***调用是否为文件I/O访问模式和网络活动模式的***调用,如果是则跳转到步骤(1.2b),否则跳转到步骤(1.1b);
(1.2b)通过***调用号判断当前***调用是否为网络相关的***调用,如果是,通过解析当前***调用的参数得到控制码、IP和端口号信息,跳转到步骤(1.2d);否则跳转到步骤(1.2c);
(1.2c)通过解析当前***调用的参数得到当前文件操作的文件名和文件写入数据信息;
(1.2d)获取当前进程的上下文信息;
(1.2e)将当前截取到的当前进程的上下文信息按照特定的格式进行格式化;
(1.2f)模拟当前指令;
(1.2g)将控制权返还给虚拟机,跳转到步骤(1.1b);
(1.2h)虚拟机向Detector模块发送格式化监控信息。
5.根据权利要求4所述的一种基于虚拟机自省的Windows加密型勒索软件检测方法,其特征在于,通过利用VMI捕获***调用并对其进行解析实现对虚拟机中文件***和网络活动的监控,将虚拟机中产生的***调用陷入到hypervisor中;在虚拟机产生***调用时强制操作***发生异常或***中断,使这些异常或***中断陷入hypervisor中,从而使得***调用间接陷入hypervisor中。
6.根据权利要求2所述的一种基于虚拟机自省的Windows加密型勒索软件检测方法,其特征在于,获取已知勒索软件的文件行为模式和网络行为模式:
(2.1a)、在虚拟机中运行已知勒索软件;
(2.1b)、利用Monitor得到虚拟机监控日志,从中确定和勒索软件样本同名进程ID;
(2.1c)、根据父进程ID查找到该进程的所有子孙进程,即为勒索软件相关的所有进程;
(2.1d)、遍历监控日志中勒索软件及其子进程的操作,包含文件操作和网络操作;
(2.1e)、判断是否为文件操作,如果是跳转到(2.1f),如果不是,跳转到(2.1g);
(2.1f)、对于产生的文件操作,获取文件名,如果勒索软件及其子进程此前没有产生过对该文件的操作,则建立以此文件名命名的序列,并把文件操作加入到文件名序列中;如果已经有该文件名序列,直接把文件操作加入到文件名序列当中;跳转到步骤(2.1d)继续遍历监控日志,直到勒索软件及其子进程没有文件操作产生;
(2.1g)、对于产生的网络操作,加入到网络操作序列中,然后跳转到步骤(2.1d)继续遍历监控日志,直到勒索软件及其子进程没有网络操作产生。
7.根据权利要求2所述的一种基于虚拟机自省的Windows加密型勒索软件检测方法,其特征在于,Detector模块检测勒索软件样本:
(2.2a)、接受由Monitor模块发送来的监控信息;
(2.2b)、判断当前监控信息中的操作类型是否是文件相关的,如果是文件相关的,则跳转到步骤(2.2c),否则跳转到步骤(2.2e);
(2.2c)、判断当前被访问的文件是否是用户文件,如果是,将监控信息添加到当前被访问文件所对应的文件操作队列中;否则跳转到步骤(2.2a);
(2.2d)判断文件操作队列中的操作序列是否匹配勒索软件的文件I/O访问模式,如果匹配,将变量file_pattern_match置为True,跳转到步骤(2.2g);如果不匹配则直接跳转到步骤(2.2g);
(2.2e)、将监控信息添加到网络操作队列中;
(2.2f)、判断网络操作队列中的操作序列是否匹配勒索软件的网络活动特征,如果匹配,将变量network_pattern_match置为True;如果不匹配则直接跳转到步骤(2.2g);
(2.2g)、判断变量file_pattern_match和变量network_pattern_match是否都为True,如果是则当前进程为勒索软件进程,向用户告警;否则判断变量file_pattern_match是否为True,如果是,计算当前进程到目前为止向用户文件写入数据的平均熵;否则跳转到步骤(2.2a);
(2.2h)、判断平均熵是否大于阈值ɑ,如果大于等于阈值ɑ,向用户发出告警,跳转到步骤(2.2a);如果小于阈值ɑ,跳转到步骤(2.2a)。
8.根据权利要求2所述的一种基于虚拟机自省的Windows加密型勒索软件检测方法,其特征在于,首先使用扩展的KVM模块将Ubuntu***中原有的KVM内核模块替换,然后在使用KVM创建一个64位的Windows 7虚拟机,然后在虚拟机中运行勒索软件样本进行测试。
CN201811141452.6A 2018-09-28 2018-09-28 一种基于虚拟机自省的Windows加密型勒索软件检测方法 Active CN109409089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811141452.6A CN109409089B (zh) 2018-09-28 2018-09-28 一种基于虚拟机自省的Windows加密型勒索软件检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811141452.6A CN109409089B (zh) 2018-09-28 2018-09-28 一种基于虚拟机自省的Windows加密型勒索软件检测方法

Publications (2)

Publication Number Publication Date
CN109409089A true CN109409089A (zh) 2019-03-01
CN109409089B CN109409089B (zh) 2021-11-23

Family

ID=65465502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811141452.6A Active CN109409089B (zh) 2018-09-28 2018-09-28 一种基于虚拟机自省的Windows加密型勒索软件检测方法

Country Status (1)

Country Link
CN (1) CN109409089B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062035A (zh) * 2019-11-18 2020-04-24 哈尔滨安天科技集团股份有限公司 一种勒索软件检测方法、装置、电子设备及存储介质
CN111428239A (zh) * 2020-03-18 2020-07-17 西安电子科技大学 一种恶意挖矿软件的检测方法
CN111600893A (zh) * 2020-05-19 2020-08-28 山石网科通信技术股份有限公司 勒索软件的防御方法、装置、存储介质、处理器和主机
CN115238275A (zh) * 2022-06-15 2022-10-25 徐州恒佳电子科技有限公司 一种基于安全态势感知的勒索软件检测方法及***

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320594A1 (en) * 2007-03-19 2008-12-25 Xuxian Jiang Malware Detector
CN102034050A (zh) * 2011-01-25 2011-04-27 四川大学 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法
CN103679026A (zh) * 2013-12-03 2014-03-26 西安电子科技大学 一种云计算环境下的恶意程序智能防御***及防御方法
CN104023034A (zh) * 2014-06-25 2014-09-03 武汉大学 一种基于软件定义网络的安全防御***及防御方法
CN104021344A (zh) * 2014-05-14 2014-09-03 南京大学 一种用于收集和截获计算机内存行为的蜜罐机制及其方法
US20170076095A1 (en) * 2008-04-23 2017-03-16 Trusted Knight Corporation Apparatus, system, and method for protecting against keylogging malware and anti-phishing
CN106850582A (zh) * 2017-01-05 2017-06-13 中国电子科技网络信息安全有限公司 一种基于指令监控的apt高级威胁检测方法
CN107273747A (zh) * 2017-05-22 2017-10-20 中国人民公安大学 勒索软件检测的方法
CN107391234A (zh) * 2017-08-10 2017-11-24 西安电子科技大学 一种基于vmi的文件***细粒度监控方法
CN107423623A (zh) * 2017-08-04 2017-12-01 郑州云海信息技术有限公司 一种基于行为分析的勒索病毒检测方法及***
CN108134761A (zh) * 2016-12-01 2018-06-08 中兴通讯股份有限公司 一种apt检测方法、***及装置
CN108197464A (zh) * 2017-12-25 2018-06-22 中国科学院信息工程研究所 一种面向云环境的环境敏感型恶意软件分析检测方法和***

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320594A1 (en) * 2007-03-19 2008-12-25 Xuxian Jiang Malware Detector
US20170076095A1 (en) * 2008-04-23 2017-03-16 Trusted Knight Corporation Apparatus, system, and method for protecting against keylogging malware and anti-phishing
CN102034050A (zh) * 2011-01-25 2011-04-27 四川大学 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法
CN103679026A (zh) * 2013-12-03 2014-03-26 西安电子科技大学 一种云计算环境下的恶意程序智能防御***及防御方法
CN104021344A (zh) * 2014-05-14 2014-09-03 南京大学 一种用于收集和截获计算机内存行为的蜜罐机制及其方法
CN104023034A (zh) * 2014-06-25 2014-09-03 武汉大学 一种基于软件定义网络的安全防御***及防御方法
CN108134761A (zh) * 2016-12-01 2018-06-08 中兴通讯股份有限公司 一种apt检测方法、***及装置
CN106850582A (zh) * 2017-01-05 2017-06-13 中国电子科技网络信息安全有限公司 一种基于指令监控的apt高级威胁检测方法
CN107273747A (zh) * 2017-05-22 2017-10-20 中国人民公安大学 勒索软件检测的方法
CN107423623A (zh) * 2017-08-04 2017-12-01 郑州云海信息技术有限公司 一种基于行为分析的勒索病毒检测方法及***
CN107391234A (zh) * 2017-08-10 2017-11-24 西安电子科技大学 一种基于vmi的文件***细粒度监控方法
CN108197464A (zh) * 2017-12-25 2018-06-22 中国科学院信息工程研究所 一种面向云环境的环境敏感型恶意软件分析检测方法和***

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FEI TANG等: "《RansomSpector: An introspection-based approach to detect crypto ransomware》", 《COMPUTERS & SECURITY》 *
WEIWEN TANG等: "Secure and Efficient In-Hypervisor Memory Introspection Using Nested Virtualization", 《2018 IEEE SYMPOSIUM ON SERVICE-ORIENTED SYSTEM ENGINEERING (SOSE)》 *
张健等: "虚拟机自省技术研究", 《信息网络安全》 *
雷春等: "一种基于文件损坏度的勒索软件检测方法", 《信息安全研究》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062035A (zh) * 2019-11-18 2020-04-24 哈尔滨安天科技集团股份有限公司 一种勒索软件检测方法、装置、电子设备及存储介质
CN111062035B (zh) * 2019-11-18 2024-02-20 安天科技集团股份有限公司 一种勒索软件检测方法、装置、电子设备及存储介质
CN111428239A (zh) * 2020-03-18 2020-07-17 西安电子科技大学 一种恶意挖矿软件的检测方法
CN111600893A (zh) * 2020-05-19 2020-08-28 山石网科通信技术股份有限公司 勒索软件的防御方法、装置、存储介质、处理器和主机
CN115238275A (zh) * 2022-06-15 2022-10-25 徐州恒佳电子科技有限公司 一种基于安全态势感知的勒索软件检测方法及***
CN115238275B (zh) * 2022-06-15 2023-10-24 徐州恒佳电子科技有限公司 一种基于安全态势感知的勒索软件检测方法及***

Also Published As

Publication number Publication date
CN109409089B (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
Kil et al. Remote attestation to dynamic system properties: Towards providing complete system integrity evidence
Carmony et al. Extract Me If You Can: Abusing PDF Parsers in Malware Detectors.
Rathnayaka et al. An efficient approach for advanced malware analysis using memory forensic technique
CN109409089A (zh) 一种基于虚拟机自省的Windows加密型勒索软件检测方法
US20100192222A1 (en) Malware detection using multiple classifiers
CN1328638C (zh) Windows环境下的主机入侵检测方法
Kumara et al. Automated multi-level malware detection system based on reconstructed semantic view of executables using machine learning techniques at VMM
Ceccato et al. SOFIA: An automated security oracle for black-box testing of SQL-injection vulnerabilities
CN109271780A (zh) 机器学习恶意软件检测模型的方法、***和计算机可读介质
Mutz et al. Exploiting execution context for the detection of anomalous system calls
EP3566166A1 (en) Management of security vulnerabilities
Prakash et al. Manipulating semantic values in kernel data structures: Attack assessments and implications
Dai et al. Behavior-based malware detection on mobile phone
CN111428239B (zh) 一种恶意挖矿软件的检测方法
CN109597675A (zh) 虚拟机恶意软件行为检测方法及***
Prakash et al. On the trustworthiness of memory analysis—an empirical study from the perspective of binary execution
Antunes et al. Evaluating and improving penetration testing in web services
Papazis et al. Detecting indicators of deception in emulated monitoring systems
US20240054210A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
Reeves Autoscopy Jr.: Intrusion detection for embedded control systems
CN117032894A (zh) 容器安全状态检测方法、装置、电子设备及存储介质
Vurdelja et al. Detection of linux malware using system tracers–An overview of solutions
Pendergrass et al. Lkim: The linux kernel integrity measurer
Kaur et al. Hybrid real-time zero-day malware analysis and reporting system
Andersson et al. Network-based buffer overflow detection by exploit code analysis

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