应用程序沙箱反逃逸方法和电子设备转让专利

申请号 : CN201810035506.4

文献号 : CN109684826B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张海东

申请人 : 北京微步在线科技有限公司

摘要 :

本发明公开了一种应用程序沙箱反逃逸方法和电子设备,其中所述方法包括:获取来自可疑程序的API调用;判断所述API调用是否为预定API调用;如是,则拦截预定API调用,并向该API调用返回一个伪造的API返回值,以过滤该可疑程序对沙箱环境的检测行为。本发明便可绕过可疑程序对该虚拟环境进行侦测和保证改可疑程序的正常执行,并通过伪造的返回值使可疑程序执行真正的恶意功能,以便对恶意样本进行更详细的分析,从而产出更多的威胁情报、提升恶意样本的检测能力,从而帮助企业识别该恶意程序和并且帮助分析人员更便捷的理解样本的行为。

权利要求 :

1.一种应用程序沙箱反逃逸方法,其包括:

获取来自可疑程序的API调用;

判断所述API调用是否为预定API调用;

如是,则拦截该API调用,并

向该API调用返回一个伪造的API返回值,以绕过可疑程序对虚拟环境进行侦测,过滤该可疑程序对沙箱环境的检测行为;

如果所述API调用为非预定API调用,则执行所述API调用并返回正常的API返回值;

其中,所述预定API调用为系统API调用,包括用于实现以下功能的API中的多个:用于打开相关注册表路径过滤的NtCreateKey、用于查询注册表过滤的NtQueryValueKey、用于重命名注册表过滤的NtRenameKey、用于替换注册表键过滤的NtReplaceKey、用于修改注册表过滤的NtSetValueKey、用于打开文件过滤的NtCreateFile、用于查询窗口过滤的NtUserQueryWindow、用于查找窗口扩展函数过滤的NtUserFindWindowEx、用于打开注册表键过滤的NtOpenKey、用于打开进程过滤的NtOpenProcess、用于查找进程过滤的NtGetNextProcess、用于打开互斥过滤的NtCreateMutant、用于查询文件属性过滤的NtQueryAttributesFile、用于打开文件过滤的NtOpenFile、用于查询系统信息过滤的NtQuerySystemInformation、用于查询进程相关信息过滤的NtQueryProcessInformation、用于查询文件和目录过滤的NtQueryDirectoryFile、用于查询文件卷信息过滤的NtQueryVolumeInformationFile、用于向指定设备发送控制码获取信息过滤的NtDeviceIoControlFile、用于打开指定驱动的符号链接过滤的NtCreateSymbolicLinkObject。

2.根据权利要求1所述的方法,其中,所述判断所述API调用是否为预定API调用;如是,则拦截该API调用,并向该API调用返回一个伪造的API返回值包括:判断所述API调用用于查询磁盘容量的预定API调用;

如是,则返回一伪造的磁盘容量值。

3.一种电子设备,所述电子设备包括:

处理器,其配置为获取来自可疑程序的API调用,并判断所述API调用是否为预定API调用;如是,则拦截该API调用,并向该API调用返回一个伪造的API返回值,以绕过可疑程序对虚拟环境进行侦测,过滤该可疑程序对沙箱环境的检测行为;如果所述API调用为非预定API调用,则执行所述API调用并返回正常的API返回值;

其中,所述预定API调用为系统API调用,包括用于实现以下功能的API中的多个:用于打开相关注册表路径过滤的NtCreateKey、用于查询注册表过滤的NtQueryValueKey、用于重命名注册表过滤的NtRenameKey、用于替换注册表键过滤的NtReplaceKey、用于修改注册表过滤的NtSetValueKey、用于打开文件过滤的NtCreateFile、用于查询窗口过滤的NtUserQueryWindow、用于查找窗口扩展函数过滤的NtUserFindWindowEx、用于打开注册表键过滤的NtOpenKey、用于打开进程过滤的NtOpenProcess、用于查找进程过滤的NtGetNextProcess、用于打开互斥过滤的NtCreateMutant、用于查询文件属性过滤的NtQueryAttributesFile、用于打开文件过滤的NtOpenFile、用于查询系统信息过滤的NtQuerySystemInformation、用于查询进程相关信息过滤的NtQueryProcessInformation、用于查询文件和目录过滤的NtQueryDirectoryFile、用于查询文件卷信息过滤的NtQueryVolumeInformationFile、用于向指定设备发送控制码获取信息过滤的NtDeviceIoControlFile、用于打开指定驱动的符号链接过滤的NtCreateSymbolicLinkObject。

4.根据权利要求3所述的电子设备,其中,所述处理器判断所述API调用是否为预定API调用;如是,则拦截该API调用,并向该API调用返回一个伪造的API返回值包括:判断所述API调用用于查询磁盘容量的预定API调用;

如是,则返回一伪造的磁盘容量值。

说明书 :

应用程序沙箱反逃逸方法和电子设备

技术领域

[0001] 本发明涉及计算机安全技术领域,特别涉及一种应用程序沙箱反逃逸方法和电子设备。

背景技术

[0002] 应用程序沙箱是一种按照安全策略限制程序行为的执行环境。早期主要用于测试可疑软件等,比如黑客们为了试用某种病毒或者不安全产品,往往可以将它们在沙箱环境中运行。
[0003] 经典的沙箱系统的实现途径一般是通过拦截系统调用,监视程序行为,然后依据用户定义的策略来控制和限制程序对计算机资源的使用,比如改写注册表,读写磁盘等。
[0004] 现有的沙箱反逃逸技术普遍的在应用层做拦截和通过修改已知特征的方式一对一的针对每一种逃逸技术做对应的处理,既费时覆盖范围又窄。

发明内容

[0005] 有鉴于现有的沙箱反逃逸技术既费时覆盖范围又窄的问题,本发明提供了一种应用程序沙箱反逃逸方法和电子设备。
[0006] 为了解决上述技术问题,本发明实施例提供了如下的技术方案。
[0007] 一种应用程序沙箱反逃逸方法,其包括:
[0008] 获取来自可疑程序的API调用;
[0009] 判断所述API调用是否为预定API调用;
[0010] 如是,则拦截该API调用,并向该API调用返回一个伪造的API返回值,以过滤该可疑程序对沙箱环境的检测行为。
[0011] 优选地,如果所述API调用为非预定API调用,则执行所述API调用并返回正常的API返回值。
[0012] 优选地,所述预定API调用包括用于实现以下功能的API中的一个或多个:打开相关注册表路径过滤、查询注册表过滤、重命名注册表过滤、替换注册表键过滤、修改注册表过滤、打开文件过滤、查询窗口过滤、查找窗口扩展函数过滤、打开注册表键过滤、打开进程过滤、查找进程过滤、打开互斥过滤、查询文件属性过滤、打开文件过滤、查询系统信息过滤、查询进程相关信息过滤、查询文件和目录过滤、查询文件卷信息过滤、向指定设备发送控制码获取信息过滤、打开指定驱动的符号链接过滤。
[0013] 优选地,所述预定API调用为系统API调用。
[0014] 优选地,所述判断所述API调用是否为预定API调用;如是,则拦截该API调用,并向该API调用返回一个伪造的API返回值包括:判断所述API调用用于查询磁盘容量的预定API调用;
[0015] 如是,则返回一伪造的磁盘容量值。
[0016] 另外,本发明实施例还提供了一种电子设备,该电子设备可以应用如上述实施例所述的一种应用程序沙箱反逃逸方法,并且所述电子设备包括:
[0017] 处理器,其配置为获取来自可疑程序的API调用,并判断所述API调用是否为预定API调用;如是,则拦截该API调用,并向该API调用返回一个伪造的API返回值,以过滤该可疑程序对沙箱环境的检测行为。
[0018] 优选地,所述处理器还配置为如果所述API调用为非预定API调用,则执行所述API调用并返回正常的API返回值。
[0019] 优选地,所述预定API调用包括用于实现以下功能的API中的一个或多个:打开相关注册表路径过滤、查询注册表过滤、重命名注册表过滤、替换注册表键过滤、修改注册表过滤、打开文件过滤、查询窗口过滤、查找窗口扩展函数过滤、打开注册表键过滤、打开进程过滤、查找进程过滤、打开互斥过滤、查询文件属性过滤、打开文件过滤、查询系统信息过滤、查询进程相关信息过滤、查询文件和目录过滤、查询文件卷信息过滤、向指定设备发送控制码获取信息过滤、打开指定驱动的符号链接过滤。
[0020] 优选地,所述预定API调用为系统API调用。
[0021] 优选地,所述处理器判断所述API调用是否为预定API调用;如是,则拦截该API调用,并向该API调用返回一个伪造的API返回值包括:
[0022] 判断所述API调用用于查询磁盘容量的预定API调用;
[0023] 如是,则返回一伪造的磁盘容量值。
[0024] 基于上述公开可以获知,本发明实施例具有如下的有益效果:
[0025] 本发明实施例便可绕过可疑程序对该虚拟环境进行侦测和保证该可疑程序的正常执行,并通过伪造的返回值使可疑程序执行真正的恶意功能,以便对恶意样本进行更详细的分析,从而产出更多的威胁情报、提升恶意样本的检测能力,从而帮助企业识别该恶意程序和并且帮助分析人员更便捷的理解样本的行为。

附图说明

[0026] 图1为本发明实施例中的一种应用程序沙箱反逃逸方法的原理流程图;
[0027] 图2为本发明实施例中的一种应用程序沙箱发逃逸方法的原理说明;
[0028] 图3为本发明实施例中的一种电子设备的原理结构图。

具体实施方式

[0029] 为使本领域技术人员更好的理解本发明的技术方案,下面结合附图和具体实施方式对本发明作详细说明。
[0030] 请参考图1和图2,图1为本发明实施例中的一种应用程序沙箱反逃逸方法的原理流程图,图2为本发明实施例中的一种应用程序沙箱发逃逸方法的原理说明。其中,本发明实施例可以通过对系统的关键API进行挂钩,来过滤掉一些程序对沙箱环境的检测行为。
[0031] 当在虚拟环境中执行可疑程序的时候,本发明首先获取可疑程序所调用的API信息,然后根据该API信息判断是普通API调用还是系统关键API调用。如果是普通API调用,则不进行过滤;如果是系统关键API调用,则向其返回一个伪造的返回值,而实际上将其拦截过滤,这样,便可绕过可疑程序对该虚拟环境进行侦测和保证该可疑程序的正常执行,并通过伪造的返回值使可疑程序执行真正的恶意功能,以便对恶意样本进行更详细的分析,从而产出更多的威胁情报、提升恶意样本的检测能力,从而帮助企业识别该恶意程序和并且帮助分析人员更便捷的理解样本的行为。
[0032] 下面通过一个实施例,对本发明的原理进行示意性说明。
[0033] 如图1所示,本发明实施例中的应用程序沙箱反逃逸方法可以包括:
[0034] 获取来自可疑程序的API调用;
[0035] 判断所述API调用是否为预定API调用;
[0036] 如是,则拦截该API调用,并向该API调用返回一个伪造的API返回值,以过滤该可疑程序对沙箱环境的检测行为;如果所述API调用为非预定API调用,则执行所述API调用并返回正常的API返回值。
[0037] 例如,当沙箱中的可疑程序试图查询沙箱系统磁盘的大小时,如果原本虚拟环境的磁盘大小为40GB,则本发明将该API拦截下来,并向其返回一个伪造或虚假的返回值106GB,这样就可以绕过可疑程序对非正常磁盘的检查,并保证该可疑程序的正常执行。
[0038] 其中,本发明中涉及到的系统关键API至少包括如下表所示的API。
[0039] API名称 过滤功能NtCreateKey 打开相关注册表路径过滤
NtQueryValueKey 查询注册表过滤
NtRenameKey 重命名注册表过滤
NtReplaceKey 替换注册表键过滤
NtSetValueKey 修改注册表过滤
NtCreateFile 打开文件过滤
NtUserQueryWindow 查询窗口过滤
NtUserFindWindowEx 查找窗口扩展函数过滤
NtOpenKey 打开注册表键过滤
NtOpenProcess 打开进程过滤
NtGetNextProcess 查找进程过滤
NtCreateMutant 打开互斥过滤
NtQueryAttributesFile 查询文件属性过滤
NtOpenFile 打开文件过滤
NtQuerySystemInformation 查询系统信息过滤
NtQueryProcessInformation 查询进程相关信息过滤
NtQueryDirectoryFile 查询文件和目录过滤
NtQueryVolumeInformationFile 查询文件卷信息过滤
NtDeviceIoControlFile 向指定设备发送控制码获取信息过滤
NtCreateSymbolicLinkObject 打开指定驱动的符号链接过滤
[0040] 由于采用了上述技术方案,本发明实施例可有效提升沙箱的反侦测能力,通过本方法可以对一些具有沙箱侦测能力的恶意样本可进行更详细的分析,从而产出更多的威胁情报、提升恶意样本的检测能力,从而帮助企业识别该恶意程序和并且帮助分析人员更便捷的理解样本的行为。
[0041] 对系统关键的API进行挂钩,通过伪造其API返回值,从而过滤掉一些恶意样本的侦测行为,从而达到其样本执行真正的恶意功能。
[0042] 另外,本发明实施例还可以提供一种电子设备,该电子设备可以应用如上述实施例所述的应用程序沙箱反逃逸方法,从而实现该电子设备的反侦测能力。
[0043] 具体的,如图3所示,本发明实施例中的电子设备可以包括:
[0044] 监测模块1,其构造为检测在虚拟环境中运行的可疑程序,并在检测到可疑程序时,通知处理器2。如对内核层的API调用进行监测,则可以实现内核层的API的安全调用和监测。
[0045] 处理器2(如图2中的反逃逸处理模块)则可以获取来自可疑程序的API调用,并判断所述API调用是否为预定API调用;如是,则拦截该API调用,并向该API调用返回一个伪造的API返回值,以过滤该可疑程序对沙箱环境的检测行为。例如,当沙箱中的可疑程序试图查询沙箱系统磁盘的大小时,如果原本虚拟环境的磁盘大小为40GB,则本发明将该API拦截下来,并向其返回一个伪造或虚假的返回值106GB,这样就可以绕过可疑程序对非正常磁盘的检查,并保证该可疑程序的正常执行。
[0046] 其中,本发明实施例中的预定API调用可以包括用于实现以下功能的API中的一个或多个:打开相关注册表路径过滤、查询注册表过滤、重命名注册表过滤、替换注册表键过滤、修改注册表过滤、打开文件过滤、查询窗口过滤、查找窗口扩展函数过滤、打开注册表键过滤、打开进程过滤、查找进程过滤、打开互斥过滤、查询文件属性过滤、打开文件过滤、查询系统信息过滤、查询进程相关信息过滤、查询文件和目录过滤、查询文件卷信息过滤、向指定设备发送控制码获取信息过滤、打开指定驱动的符号链接过滤。
[0047] 另外,本发明实施例中的电子设备可以包括:个人PC,或者也可以仅仅是装设在上述设备中的应用程序沙箱反逃逸装置,用以执行可疑程序的监测和反侦测。
[0048] 由于采用了上述技术方案,本发明实施例可有效提升沙箱的反侦测能力,通过本方法可以对一些具有沙箱侦测能力的恶意样本可进行更详细的分析,从而产出更多的威胁情报、提升恶意样本的检测能力,从而帮助企业识别该恶意程序和并且帮助分析人员更便捷的理解样本的行为。
[0049] 以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。