CN110825491B - 一种基于防火墙注册表特征的虚拟化环境检测方法 - Google Patents

一种基于防火墙注册表特征的虚拟化环境检测方法 Download PDF

Info

Publication number
CN110825491B
CN110825491B CN201911052701.9A CN201911052701A CN110825491B CN 110825491 B CN110825491 B CN 110825491B CN 201911052701 A CN201911052701 A CN 201911052701A CN 110825491 B CN110825491 B CN 110825491B
Authority
CN
China
Prior art keywords
registry
environment
firewall
virtualization
windows
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
Application number
CN201911052701.9A
Other languages
English (en)
Other versions
CN110825491A (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.)
Fujian Tianqing Online Interactive Technology Co Ltd
Original Assignee
Fujian Tianqing Online Interactive Technology Co Ltd
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 Fujian Tianqing Online Interactive Technology Co Ltd filed Critical Fujian Tianqing Online Interactive Technology Co Ltd
Priority to CN201911052701.9A priority Critical patent/CN110825491B/zh
Publication of CN110825491A publication Critical patent/CN110825491A/zh
Application granted granted Critical
Publication of CN110825491B publication Critical patent/CN110825491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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
    • G06F2009/45587Isolation or security of virtual machine instances

Abstract

本发明提供了一种基于防火墙注册表特征的虚拟化环境检测方法,所述方法为:步骤S1、Windows平台的应用程序生成一个规则组名称特征库;步骤S2、当操作系统处于虚拟化状态并且需要处理一些网络请求时,操作系统会激活虚拟化系统环境特征的Windows防火墙规则;步骤S3、Windows平台的应用程序通过查询和枚举注册表模块中注册表,获取操作系统中所有记录防火墙规则信息的注册表键,然后判断是否存在符合虚拟化系统环境特征的注册表键;步骤S4、继续判断注册表键值中用于记录防火墙规则是否处于激活状态的字段“Action”是否为“TRUE”,是,则当前运行环境为虚拟化环境;否,则当前运行环境不是虚拟化环境。本发明能检测系统是否处于虚拟化环境,检测准确性高。

Description

一种基于防火墙注册表特征的虚拟化环境检测方法
技术领域
本发明涉及计算机虚拟化领域、虚拟机检测领域、软件安全领域,特别是一种基于防火墙注册表特征的虚拟化环境检测方法。
背景技术
防火墙访问控制是保证网络安全最重要的核心策略之一,访问控制列表(AccessControl List,ACL)是路由器和交换机接口的指令列表,ACL不但可控制网络流量及流向,而且在很大程度上起到保护网络设备、服务器的关键作用。作为外网进入企业内网的第一道关卡,路由器上的访问控制列表成为保护内网安全的有效手段。
防火墙是网络安全防御的第一道防线,通常安置在私有网络到公有网络的入口处,以便所有进入私有网络和从私有网络出去的数据包都经过防火墙,防火墙的功能就是根据预先设定好的政策决定接收数据包或者丢弃数据包,防火墙的政策是由一系列的规则组成,这些规则称之为访问控制列表。访问控制列表中的规则通常存在重叠,甚至冲突。防火墙采取第一匹配的方式,来解决规则的冲突问题,即防火墙应用与该数据包匹配的第一条规则的动作。
防火墙规则经常需要进行更新,如新服务的提供、新安全威胁的出现以及网络拓扑结构的变化等等。但是在实际中由于防火墙规则的高度复杂以及缺乏先进的工具,防火墙更新远比构建一个新的防火墙更难。有两个主要原因导致防火墙规则的复杂,第一、由于规则之间存在冲突,规则之间的逻辑关系异常复杂,规则对顺序敏感;第二、访问控制列表中的规则数量通常很大,一个企业防火墙中的规则数量通常达到数百甚至数千。
目前出现了大量的游戏工作室使用虚拟机软件实现游戏多开、游戏多控、构造特殊系统环境绕过游戏检测模块检测等功能;另外部分逆向人员会使用虚拟化技术绕过软件安全保护模块,对程序(包括但不限于计算机软件)进行逆向分析,上述情形均严重侵害正规公司的版权、经济收入等合法权益。程序检测当前运行环境是否为虚拟化环境,对软件安全保护有极大的作用,对此情景本方案提供了一个检测点,应用程序可以采用本方案,通过枚举Windows操作系统中的防火墙相关的注册表键,检查是否存在虚拟化环境特有的注册表特征,由此判断程序运行的系统环境是否为虚拟化环境。
现有技术中公开了虚拟机系统的反检测系统,见公开号为:CN103077351 B,授权日为:2016.06.01的中国专利,其中,所述系统包括虚拟机系统的反检测装置、虚拟机系统以及真实系统,其中:在所述真实系统运行环境中启动所述虚拟机系统后,启动所述虚拟机系统的反检测装置,以便通过所述虚拟机系统的反检测装置对当前虚拟机系统中不同于真实系统运行环境的区别特征信息进行修改;所述虚拟机系统的反检测装置包括:特征信息获取单元;特征信息修改单元;特征信息返回单元。通过该发明,可以达到虚拟机反检测的目的,使得虚拟机能够更有效的支持恶意程序分析工作。该专利虽然提到了通过注册表检测虚拟机,但是与本专利并不相同:
1.搜索的关键词不同。上述专利的判断标准是注册表项是否包含关键字”vmware”,而本专利介绍的关键词与之不同。
2. 检测的注册表对象不同。上述文章的检测点主要围绕注册表中存储的计算机固件、硬件的信息参数,而本方案检测的是注册表中存储的系统防火墙规则的组名称与激活状态信息。
3. 适用的检测对象不同。上述方案仅能通过注册表检测应用程序是否运行于Vmware这一款虚拟机软件中的虚拟化操作系统,通用性不强;而本方案可以通过注册表检测运行于Hyper-V、Vmware等基于hypervisor技术实现的各种虚拟机软件中的虚拟化操作系统环境。
综上,现有技术叙述了多项检测虚拟机系统的方法,但对应的反检测方案也已相对成熟,且并未涉及本专利提到的通过枚举Windows操作系统中的防火墙相关的注册表键,检查是否存在虚拟化环境特有的注册表特征的技术。
发明内容
为克服上述问题,本发明的目的是提供一种基于防火墙注册表特征的虚拟化环境检测方法,通过枚举Windows操作系统中的防火墙相关的注册表键,检查是否存在虚拟化环境特有的注册表特征,提高了检测的准确性。
本发明采用以下方案实现:一种基于防火墙注册表特征的虚拟化环境检测方法,所述方法具体包括如下步骤:
步骤S1、Windows平台的应用程序生成一个规则组名称特征库,所述规则组名称特征库中包括:前几个字符为“vm-monitoring”的注册表键,这些注册表键的键值中包含字符串特征“vmicres.dll,-700”或“icsvc.dll,-700”;同时该些注册表键值中的“Action”字段的值默认为“FALSE”,即此注册表键对应的系统防火墙规则处于未激活状态;
步骤S2、当操作系统处于虚拟化状态并且需要处理一些网络请求时,操作系统会激活虚拟化系统环境特征的Windows防火墙规则,借助Windows防火墙截获所需的网络信息;
步骤S3、基于Windows平台的注册表模块,Windows平台的应用程序通过查询和枚举注册表模块中注册表,获取操作系统中所有记录防火墙规则信息的注册表键,然后判断是否存在符合虚拟化系统环境特征的注册表键;是,则进入步骤S4,否,则当前运行环境不是虚拟化环境,并结束流程;
步骤S4、继续判断注册表键值中用于记录防火墙规则是否处于激活状态的字段“Action”是否为“TRUE”,是,则当前运行环境为虚拟化环境;否,则当前运行环境不是虚拟化环境。
进一步的,所述规则组名称特征库中注册表键为虚拟化系统环境特征的Windows防火墙规则对应的注册表键,在非虚拟化系统环境下,虚拟化系统环境特征的Windows防火墙规则不会处于启用状态,即这些防火墙规则对应的注册表键值中“Action”字段的值为“FALSE” ,只有操作系统激活虚拟化系统环境特征的Windows防火墙规则,这些防火墙规则对应的注册表键值中“Action”字段的值会变为“TRUE”。
进一步的,所述步骤S3进一步具体为:步骤S31、应用程序调用用于获取注册表项句柄的API RegOpenKeyEx打开并获取系统注册表路径“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules”的句柄,此注册表项存储系统防火墙规则的参数信息,如果调用成功则进入步骤S32,否则判定异常退出,结束流程;
步骤S32、应用程序定义一个用于记录遍历对象的序列号nIndex并将其初始化为0,结合nIndex遍历枚举此注册表目录下的所有注册表键,根据遍历结果判断当前运行环境是否为虚拟化环境。
进一步的,所述步骤S32进一步具体为:步骤S32.1、应用程序调用APIRegEnumValueA枚举所述注册表目录中第nIndex个注册表键,并获取键名称Name和键值KeyValue,如果调用失败则说明已遍历完毕,判定不处于虚拟化系统环境中,结束流程;否则进入步骤S32.2;
步骤S32.2、使用字符串匹配算法,判断注册表键名称Name的前13个字符是否与字符串“vm-monitoring”完全相同,若完全相同则进入步骤S32.3,否则进入步骤S32.5;
步骤S32.3、使用字符串匹配算法,判断注册表键值KeyValue中是否包含所述规则组名称特征库中的任一字符串数据成员,若包含任一字符串数据成员则进入步骤S32.4,否则进入步骤S32.5;
步骤S32.4、使用字符串匹配算法,判断注册表键值KeyValue中是否包含字符串“Active=TRUE”,如果包含则判定应用程序当前运行的环境为虚拟化的操作系统,结束流程;否则进入步骤S32.5;
步骤S323.5 、将序列号nIndex在原来数据的基础上加1,进入下一轮遍历,回到步骤S32.1。
进一步的,所述方法应用于:Window8及更高版本的Windows操作系统。
进一步的,所述虚拟化系统环境为运行于Hyper-V、Vmware的基于hypervisor技术实现的虚拟机软件的系统环境。
本发明的有益效果在于:1.本发明可以应用于软件安全领域,应用程序可以使用此技术方案检测当前运行环境是否为虚拟化的操作系统,从而防止攻击者利用虚拟化操作系统环境对程序进行逆向、内存篡改、非法多开等操作,间接地维护正规公司的版权、经济收入等合法权益。
2.本发明针对已经开启并激活特定防火墙规则的系统环境进行专项检测,相对稳定不易出现误报,且与现有的虚拟机检测模块不会发生冲突。
附图说明
图1是本发明的方法流程示意图。
图2是本发明结合nIndex遍历枚举此注册表目录下的所有注册表键的流程示意图。
图3是本发明一实施例种虚拟机软件样图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明的一种基于防火墙注册表特征的虚拟化环境检测方法,所述方法具体包括如下步骤:
步骤S1、Windows平台的应用程序生成一个规则组名称特征库,所述规则组名称特征库中包括:前几个字符为“vm-monitoring”的注册表键,这些注册表键的键值中包含字符串特征“vmicres.dll,-700”或“icsvc.dll,-700”(即注册表键中包含“vmicres.dll,-700”或“icsvc.dll,-700”的2个CHAR字符串类型的数据成员);同时该些注册表键值中的“Action”字段的值默认为“FALSE”,即此注册表键对应的系统防火墙规则处于未激活状态;
步骤S2、当操作系统处于虚拟化状态并且需要处理一些网络请求时,操作系统会激活虚拟化系统环境特征的Windows防火墙规则,借助Windows防火墙截获所需的网络信息;因此很多虚拟化的系统环境中可能出现处于激活状态且用于接收特定远程网络请求的系统防火墙规则;当防火墙规则被激活后,操作系统会自动修改注册表中对应的注册表键值中的“Action”字段,将其值从“FALSE”修改为“TRUE”。换言之,本专利指明的注册表特征可以作为检测虚拟化系统环境的检测点。若运行于符合上述情形的虚拟化的系统环境中,程序可以通过枚举注册表键值并根据注册表判断指定的防火墙规则是否存在且开启来判断系统环境属性;若检测到注册表特征,即可判定当前处于虚拟化的系统环境中。
本专利具体可靠性:由于这些系统防火墙规则的作用对象为处于虚拟化状态下的操作系统,所以正常的系统环境下,这些系统防火墙规则不会处于启用状态,即这些防火墙规则对应的注册表键值中“Action”字段的值为“FALSE”;另外手动启用这些系统防火墙规则的步骤相对繁琐,因此被普通用户误操作启用的可能性极低。
步骤S3、基于Windows平台的注册表模块,Windows平台的应用程序通过查询和枚举注册表模块中注册表,获取操作系统中所有记录防火墙规则信息的注册表键,然后判断是否存在符合虚拟化系统环境特征的注册表键;是,则进入步骤S4,否,则当前运行环境不是虚拟化环境,并结束流程;
步骤S4、继续判断注册表键值中用于记录防火墙规则是否处于激活状态的字段“Action”是否为“TRUE”,是,则当前运行环境为虚拟化环境;否,则当前运行环境不是虚拟化环境。
进一步的,所述规则组名称特征库中注册表键为虚拟化系统环境特征的Windows防火墙规则对应的注册表键,在非虚拟化系统环境下,虚拟化系统环境特征的Windows防火墙规则不会处于启用状态,即这些防火墙规则对应的注册表键值中“Action”字段的值为“FALSE” ,只有操作系统激活虚拟化系统环境特征的Windows防火墙规则,这些防火墙规则对应的注册表键值中“Action”字段的值会变为“TRUE”。
所述步骤S3进一步具体为:步骤S31、应用程序调用用于获取注册表项句柄的APIRegOpenKeyEx打开并获取系统注册表路径“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules”的句柄,此注册表项存储系统防火墙规则的参数信息,如果调用成功则进入步骤S32,否则判定异常退出,结束流程;
步骤S32、应用程序定义一个用于记录遍历对象的序列号nIndex并将其初始化为0,结合nIndex遍历枚举此注册表目录下的所有注册表键,根据遍历结果判断当前运行环境是否为虚拟化环境。
如图2所示,所述步骤S32进一步具体为:步骤S32.1、应用程序调用APIRegEnumValueA枚举所述注册表目录中第nIndex个注册表键,并获取键名称Name和键值KeyValue,如果调用失败则说明已遍历完毕,判定不处于虚拟化系统环境中,结束流程;否则进入步骤S32.2;
步骤S32.2、使用字符串匹配算法,判断注册表键名称Name的前13个字符是否与字符串“vm-monitoring”完全相同,若完全相同则进入步骤S32.3,否则进入步骤S32.5;
步骤S32.3、使用字符串匹配算法,判断注册表键值KeyValue中是否包含所述规则组名称特征库中的任一字符串数据成员,若包含任一字符串数据成员则进入步骤S32.4,否则进入步骤S32.5;
步骤S32.4、使用字符串匹配算法,判断注册表键值KeyValue中是否包含字符串“Active=TRUE”,如果包含则判定应用程序当前运行的环境为虚拟化的操作系统,结束流程;否则进入步骤S32.5;
步骤S323.5 、将序列号nIndex在原来数据的基础上加1,进入下一轮遍历,回到步骤S32.1。
在本发明中所述方法应用于:Window8及更高版本的Windows操作系统。所述虚拟化系统环境为运行于Hyper-V、Vmware的基于hypervisor技术实现的虚拟机软件的系统环境。
以下通过例子,描述本专利方案的具体实现方式:
步骤1.假设某游戏工作室的工作人员A出于非法多开游戏客户端的目的,在数台计算机上每台各运行1个虚拟机软件,每个虚拟机软件均控制多个版本为Windows10或Windows8的操作系统,即这些操作系统处于虚拟化状态中。由于上述操作系统的配置、外部环境、安装和运行的流程均相同,所以本专利任意选取两个虚拟化的操作系统用于讲解流程,Windows8和Windows10各抽取一例,将系统版本为Windows8的样例系统命名为操作系统B,将系统版本为Windows10的样例系统命名为操作系统C。(参见图3为虚拟机软件样图)
步骤2.由于需要使用RPC技术远程控制所有的虚拟化操作系统,所以工作人员A激活操作系统B和操作系统C中用于支持虚拟化操作系统RPC通信的防火墙规则。激活以后,操作系统B中出现1个虚拟化操作系统的特征,即可以枚举出一个键名前13个字符为“vm-monitoring”、键值同时包含字符串“Active=TRUE”和字符串“vmicres.dll,-700”的注册表键;操作系统C中出现1个虚拟化操作系统的特征,即可以枚举出一个键名前13个字符为“vm-monitoring”、键值同时包含字符串“Active=TRUE”和字符串“icsvc.dll,-700”的注册表键。(当且仅当操作系统处于虚拟化状态且需要处理某些网络请求时才会出现上述特征。)
步骤3.工作人员A在操作系统B和操作系统C中运行游戏客户端Db和游戏客户端Dc;其中游戏客户端Db和游戏客户端Dc均采用本方案检测虚拟化操作系统环境。游戏客户端Db和游戏客户端Dc前期初始化的步骤相同,因此在前期初始化的步骤中暂时使用“应用程序”代替。
步骤4.应用程序调用用于获取注册表项句柄的API RegOpenKeyEx打开并获取系统注册表路径“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules”的句柄,进入步骤5。
步骤5.应用程序定义一个用于记录遍历对象的序列号nIndex并将其初始化为0。结合nIndex遍历枚举此注册表目录下的所有注册表键,遍历逻辑如下:
步骤5.1应用程序调用API RegEnumValueA枚举上述注册表目录中第nIndex个注册表键,并获取键名称Name和键值KeyValue。如果调用失败则说明已遍历完毕,判定不处于虚拟化系统环境中,结束流程;否则进入步骤5.2。
步骤5.2 使用字符串匹配算法,判断注册表键名称Name的前13个字符串是否与字符串“vm-monitoring”完全相同,若完全相同则进入步骤5.3,否则进入步骤5.5。
步骤5.3 使用字符串匹配算法,判断注册表键值KeyValue中是否包含名称特征库中的任一字符串数据成员,若包含任一字符串数据成员则进入步骤5.4,否则进入步骤5.5。(说明:5.2和5.3分别检测注册表键名特征和注册表键值特征,组合检测的目的是避免出现误报。如果一个注册表键同时满足这两项特征,可以充分认定这个注册表键符合防火墙注册表特征)。
步骤5.4 使用字符串匹配算法,判断注册表键值KeyValue中是否包含字符串“Active=TRUE”,如果包含则判定应用程序当前运行的环境为虚拟化的操作系统(说明用于支持虚拟化操作系统进行网络通信的防火墙规则处于激活状态,当前的操作系统处于虚拟化状态),结束流程;否则进入步骤5.5。
步骤5.5 将序列号nIndex在原来数据的基础上加1,进入下一轮遍历,回到步骤5.1。
步骤6.在步骤5的循环遍历过程中,游戏客户端Db检测到一个键名前13个字符为“vm-monitoring”、键值同时包含字符串“Active=TRUE”和字符串“vmicres.dll,-700”的注册表键,因此判定当前运行的操作系统环境处于虚拟化状态并且结束检测流程;游戏客户端Dc检测到一个键名前13个字符为“vm-monitoring”、键值同时包含字符串“Active=TRUE”和字符串“icsvc.dll,-700”的注册表键,因此判定当前运行的操作系统环境处于虚拟化状态并且结束检测流程。
步骤7.应用程序检测到虚拟化系统环境后的后续操作,如应用程序结束自身进程、应用程序将非法运行环境信息回传至服务器等行为属于本方案应用成功后的额外操作,不属于本方案讨论范围,因此不展开叙述。
另外,这里需要补充说明的是:
1.在云计算领域中,虚拟化技术是必不可少的基础支持技术。虚拟化技术本质上是一种资源管理技术,它将各种物理资源(如CPU、内存、存储、 甚至网络)抽象和集成到上层系统消除了物理资源间的壁垒,方便用户对这些资源的管理。
操作系统虚拟化技术不在硬件平台,而是在操作系统层进行虚拟化,所有的虚拟机共享同一个操作系统实例,涉及轻量级虚拟化技术和容器化技术。
2.如下图,vmicres.dll和icsvc.dll均为微软提供的用于支持虚拟机集成组件服务的动态链接库。其中,vmicres.dll主要应用于Windows8及其子版本的操作系统上,icsvc.dll主要应用于Windows10及其子版本的操作系统上。
3. RPC(Remote Procedure Call)是远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (6)

1.一种基于防火墙注册表特征的虚拟化环境检测方法,其特征在于:所述方法具体包括如下步骤:
步骤S1、Windows平台的应用程序生成一个规则组名称特征库,所述规则组名称特征库中包括:前几个字符为“vm-monitoring”的注册表键,这些注册表键的键值中包含字符串特征“vmicres.dll,-700”或“icsvc.dll,-700”;同时该些注册表键值中的“Action”字段的值默认为“FALSE”,即此注册表键对应的系统防火墙规则处于未激活状态;
步骤S2、当操作系统处于虚拟化状态并且需要处理一些网络请求时,操作系统会激活虚拟化系统环境特征的Windows防火墙规则,借助Windows防火墙截获所需的网络信息;
步骤S3、基于Windows平台的注册表模块,Windows平台的应用程序通过查询和枚举注册表模块中注册表,获取操作系统中所有记录防火墙规则信息的注册表键,然后判断是否存在符合虚拟化系统环境特征的注册表键;是,则进入步骤S4,否,则当前运行环境不是虚拟化环境,并结束流程;
步骤S4、继续判断注册表键值中用于记录防火墙规则是否处于激活状态的字段“Action”是否为“TRUE”,是,则当前运行环境为虚拟化环境;否,则当前运行环境不是虚拟化环境。
2.根据权利要求1所述的一种基于防火墙注册表特征的虚拟化环境检测方法,其特征在于:
所述规则组名称特征库中注册表键为虚拟化系统环境特征的Windows防火墙规则对应的注册表键,在非虚拟化系统环境下,虚拟化系统环境特征的Windows防火墙规则不会处于启用状态,即这些防火墙规则对应的注册表键值中“Action”字段的值为“FALSE” ,只有操作系统激活虚拟化系统环境特征的Windows防火墙规则,这些防火墙规则对应的注册表键值中“Action”字段的值会变为“TRUE”。
3.根据权利要求1所述的一种基于防火墙注册表特征的虚拟化环境检测方法,其特征在于:
所述步骤S3进一步具体为:步骤S31、应用程序调用用于获取注册表项句柄的APIRegOpenKeyEx打开并获取系统注册表路径“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules”的句柄,此注册表项存储系统防火墙规则的参数信息,如果调用成功则进入步骤S32,否则判定异常退出,结束流程;
步骤S32、应用程序定义一个用于记录遍历对象的序列号nIndex并将其初始化为0,结合nIndex遍历枚举此注册表目录下的所有注册表键,根据遍历结果判断当前运行环境是否为虚拟化环境。
4.根据权利要求3所述的一种基于防火墙注册表特征的虚拟化环境检测方法,其特征在于:所述步骤S32进一步具体为:步骤S32.1、应用程序调用API RegEnumValueA枚举所述注册表目录中第nIndex个注册表键,并获取键名称Name和键值KeyValue,如果调用失败则说明已遍历完毕,判定不处于虚拟化系统环境中,结束流程;否则进入步骤S32.2;
步骤S32.2、使用字符串匹配算法,判断注册表键名称Name的前13个字符是否与字符串“vm-monitoring”完全相同,若完全相同则进入步骤S32.3,否则进入步骤S32.5;
步骤S32.3、使用字符串匹配算法,判断注册表键值KeyValue中是否包含所述规则组名称特征库中的任一字符串数据成员,若包含任一字符串数据成员则进入步骤S32.4,否则进入步骤S32.5;
步骤S32.4、使用字符串匹配算法,判断注册表键值KeyValue中是否包含字符串“Active=TRUE”,如果包含则判定应用程序当前运行的环境为虚拟化的操作系统,结束流程;否则进入步骤S32.5;
步骤S323.5 、将序列号nIndex在原来数据的基础上加1,进入下一轮遍历,回到步骤S32.1。
5.根据权利要求1所述的一种基于防火墙注册表特征的虚拟化环境检测方法,其特征在于:所述方法应用于:Window8及更高版本的Windows操作系统。
6.根据权利要求1所述的一种基于防火墙注册表特征的虚拟化环境检测方法,其特征在于:所述虚拟化系统环境为运行于Hyper-V、Vmware的基于hypervisor技术实现的虚拟机软件的系统环境。
CN201911052701.9A 2019-10-31 2019-10-31 一种基于防火墙注册表特征的虚拟化环境检测方法 Active CN110825491B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911052701.9A CN110825491B (zh) 2019-10-31 2019-10-31 一种基于防火墙注册表特征的虚拟化环境检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911052701.9A CN110825491B (zh) 2019-10-31 2019-10-31 一种基于防火墙注册表特征的虚拟化环境检测方法

Publications (2)

Publication Number Publication Date
CN110825491A CN110825491A (zh) 2020-02-21
CN110825491B true CN110825491B (zh) 2022-02-01

Family

ID=69551739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911052701.9A Active CN110825491B (zh) 2019-10-31 2019-10-31 一种基于防火墙注册表特征的虚拟化环境检测方法

Country Status (1)

Country Link
CN (1) CN110825491B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611579B (zh) * 2020-05-26 2022-09-23 福建天晴在线互动科技有限公司 一种基于驱动特征检测powershadow虚拟环境的方法及其系统
CN111611578B (zh) * 2020-05-26 2022-09-27 福建天晴在线互动科技有限公司 一种检测powershadow虚拟环境的方法及其系统
CN117439838B (zh) * 2023-12-15 2024-02-23 南京群顶科技股份有限公司 一种面向边缘计算网关主从机自适应快速组网方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020525A (zh) * 2012-12-20 2013-04-03 北京奇虎科技有限公司 虚拟机系统的反检测方法和装置
CN104200161A (zh) * 2014-08-05 2014-12-10 杭州安恒信息技术有限公司 一种实现沙箱智能检测文件的方法及其沙箱智能检测系统
CN104461753A (zh) * 2014-11-23 2015-03-25 国云科技股份有限公司 一种防止应用程序检测Windows虚拟机信息的方法
CN104917653A (zh) * 2015-06-26 2015-09-16 北京奇虎科技有限公司 基于云平台的虚拟化流量监控方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8849941B2 (en) * 2010-09-30 2014-09-30 Microsoft Corporation Virtual desktop configuration and operation techniques
WO2016034497A1 (en) * 2014-09-03 2016-03-10 British Telecommunications Public Limited Company External feature provision for a cloud application registry
US10171425B2 (en) * 2016-12-15 2019-01-01 Keysight Technologies Singapore (Holdings) Pte Ltd Active firewall control for network traffic sessions within virtual processing platforms

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020525A (zh) * 2012-12-20 2013-04-03 北京奇虎科技有限公司 虚拟机系统的反检测方法和装置
CN104200161A (zh) * 2014-08-05 2014-12-10 杭州安恒信息技术有限公司 一种实现沙箱智能检测文件的方法及其沙箱智能检测系统
CN104461753A (zh) * 2014-11-23 2015-03-25 国云科技股份有限公司 一种防止应用程序检测Windows虚拟机信息的方法
CN104917653A (zh) * 2015-06-26 2015-09-16 北京奇虎科技有限公司 基于云平台的虚拟化流量监控方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Implicit detection of stealth software with a local-booted virtual machine;Yan Wen等;《The 3rd International Conference on Information Sciences and Interaction Sciences》;20100803;152-157 *
windows操作系统中各个DLL作用简介;jtjshzhx;《https://blog.csdn.net/yu704645129/article/details/82883754》;20180928;1-8 *
基于VMware的反虚拟机环境检测技术研究;朱永强等;《软件导刊》;20160727;第15卷(第7期);170-172 *
基于本地虚拟化技术的安全虚拟执行环境;温研等;《基于本地虚拟化技术的安全虚拟执行环境》;20180415;第30卷(第4期);1-4,10 *

Also Published As

Publication number Publication date
CN110825491A (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
US10599841B2 (en) System and method for reverse command shell detection
CN110825491B (zh) 一种基于防火墙注册表特征的虚拟化环境检测方法
US7565549B2 (en) System and method for the managed security control of processes on a computer system
US9183377B1 (en) Unauthorized account monitoring system and method
US8578487B2 (en) System and method for internet security
CN110798468B (zh) 一种通过枚举防火墙规则检测虚拟化环境的方法
US7870612B2 (en) Antivirus protection system and method for computers
CN101098226B (zh) 一种病毒在线实时处理系统及其方法
KR101183423B1 (ko) 보안 정책 배포 방법 및 시스템
US20180217996A1 (en) Securing access to functionality of a file-based write filter
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
CN105427096A (zh) 支付安全沙箱实现方法及系统与应用程序监控方法及系统
CN112787992A (zh) 一种敏感数据的检测与防护的方法、装置、设备和介质
CN106778243A (zh) 基于虚拟机的内核漏洞检测文件保护方法及装置
US7620983B1 (en) Behavior profiling
JP2006146600A (ja) 動作監視サーバ、端末装置及び動作監視システム
KR20010085875A (ko) 실행 가능 객체의 바람직하지 않은 활동을 방지하기 위한방법 및 시스템
CN115086081B (zh) 一种蜜罐防逃逸方法及系统
CN115348086B (zh) 一种攻击防护方法及装置、存储介质及电子设备
CN105791221B (zh) 规则下发方法及装置
US8307365B2 (en) Apparatus and method for managing execution of activeX control
CN112597492B (zh) 一种基于Windows内核的二进制可执行文件更改监测方法
KR20030086722A (ko) 커널 백도어 탐지 시스템, 이를 이용한 커널 백도어 탐지방법 및 커널 데이터 복구 방법
CN116938605B (zh) 网络攻击防护方法、装置、电子设备及可读存储介质
US10104099B2 (en) System and method for monitoring a computer system using machine interpretable code

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