一种基于PE虚拟沙盒实现.NET虚拟沙盒的方法与流程

allin2022-07-13  113


一种基于pe虚拟沙盒实现.net虚拟沙盒的方法
技术领域
1.本发明涉及信息安全领域,具体是指一种基于pe虚拟沙盒实现.net虚拟沙盒的方法。


背景技术:

2.目前在信息安全领域中,基于.net技术的恶意程序不断涌现,其混淆手法层出不穷,给病毒查杀带来极大挑战。.net是由微软公司主导开发,是一种用于构建多种应用的免费开源开发平台。


技术实现要素:

3.本发明要解决的技术问题是.net技术具有强大的系统互操作能力且易于混淆代码,隐藏真实操作意图,而成为恶意代码主要宿生平台,此类恶意程序主要表现为混淆程度深,静态检测难度大,对动态跟踪调试有对抗性,鉴于此,本发明提供一种安全可控,动态执行,暴露与识别恶意程序的方法。
4.为解决上述技术问题,本发明提供的技术方案为:一种基于pe虚拟沙盒实现.net虚拟沙盒的方法,包括以下步骤:
5.第一步,启动基于pe的虚拟沙盒,构建封闭,防逃逸的运行环境;
6.第二步,载入并初始化.net虚拟沙盒;
7.第三步,载入并运行被检测的.net程序;
8.第四步,监测并记录.net程序运行过程中产出的文件及api调用,直至程序退出;
9.第五步,根据第四步产出,判定此次检测结果,判定依据包含且不限于:
10.1)其运行过程中调用过哪些api;
11.2)请求和/或访问过哪些系统资源;
12.3)产出文件有哪些特征,是否包含敏感字段,是否是已知的恶意程序;
13.4)是否删除/篡改沙盒(与真实系统一致)内重要的文件;
14.5)是否访问已知恶意网络站点,下载已知恶意程序;
15.6)是否记录用户输入设备(键盘等);
16.7)其他疑似对系统造成破坏/泄露的行为;
17.第六步,如果第五步检测判定为恶意程序,给出恶意程序类别,检测结束;
18.第七步,如果第五步检测判定为可信程序,给出判定结果,检测结束。
19.本发明与现有技术相比的优点在于:通过提供基于pe虚拟沙盒来保障恶意程序识别过程的安全性,该沙盒为windows系统pe格式的可执行程序提供虚拟仿真的运行环境,既保障程序正确执行,又防止其产生逃逸,威胁到真实运行环境。
20.进一步的,第四步的.net程序运行过程如下:
21.1).net程序调用的.net api被.net虚拟沙盒记录;
22.2).net虚拟沙盒运行过程中调用的操作系统api被pe虚拟沙盒记录;
23.3).net程序创建/访问/修改/删除文件功能由.net api,操作系统api提供并执行,执行结果存在于pe虚拟沙盒内。可通过pe虚拟沙盒api获取/访问;
24.4).net程序执行周期内对系统资源的访问/修改,由.net api,操作系统api提供并执行。执行结果存在于pe虚拟沙盒内,可通过pe虚拟沙盒api获取/访问。
附图说明
25.图1是一种基于pe虚拟沙盒实现.net虚拟沙盒的方法的层次结构示意图。
26.图2是一种基于pe虚拟沙盒实现.net虚拟沙盒的方法的流程图。
具体实施方式
27.下面结合附图对本发明做进一步的详细说明。
28.本发明在具体实施时,如图1所示的实施例中,提出一种基于pe虚拟沙盒实现.net虚拟沙盒的方法,包括以下步骤:
29.第一步,启动基于pe的虚拟沙盒,构建封闭,防逃逸的运行环境;在操作系统下运行的应用程序,是一种由用户扩展的,通过访问操作系统提供的api(application programming interface)来实现一定功能的程序。虚拟沙盒通过模拟仿真系统api,为运行其内的应用程序提供了运行时资源支持(包括但不限于文件系统操作,内存管理,注册表服务等)。运行其内的应用程序在整个运行周期,不会检测出自身运行环境与真实系统环境的差别。如此,虚拟沙盒得以提供安全的,防逃逸的仿真运行环境。
30.第二步,载入并初始化.net虚拟沙盒;在.net运行环境下运行的.net应用程序,是一种由用户扩展的,通过访问.net运行环境提供的api(application programming interface)来实现一定功能的程序。.net虚拟沙盒通过提供与真实.net运行环境完全兼容的.net api,为运行其内的.net应用程序提供运行时资源支持(包括但不限于文件系统操作,动态使用内存,注册表服务等)。运行其内的.net应用程序在整个运行周期,不会检测出自身运行环境与真实.net运行环境的差别。如此,.net虚拟沙盒得以提供安全的,防逃逸的仿真运行环境。
31.第三步,载入并运行被检测的.net程序;
32.第四步,监测并记录.net程序运行过程中产出的文件及api调用,直至程序退出;
33.第五步,根据第四步产出,判定此次检测结果,判定依据包含且不限于:
34.1)其运行过程中调用过哪些api;
35.2)请求和/或访问过哪些系统资源;
36.3)产出文件有哪些特征,是否包含敏感字段,是否是已知的恶意程序;
37.4)是否删除/篡改沙盒(与真实系统一致)内重要的文件;
38.5)是否访问已知恶意网络站点,下载已知恶意程序;
39.6)是否记录用户输入设备(键盘等);
40.7)其他疑似对系统造成破坏/泄露的行为;
41.第六步,如果第五步检测判定为恶意程序,给出恶意程序类别,检测结束;
42.第七步,如果第五步检测判定为可信程序,给出判定结果,检测结束。
43.此沙盒还具有:1)记录其内运行的pe程序行为;2)为其内运行的pe程序提供各种
系统资源(文件访问,网络连接等);3)保存其内运行的pe程序的各种产出(文件,文字输出等)。其次,本发明提供一套可运行于上述沙盒的.net运行环境。该环境为被检测的潜在恶意的.net程序的运行提供支持。该运行环境兼容于真实.net运行环境,可以无差别运行.net应用程序。
44.进一步的,如图2所示的实施例中,第四步的.net程序运行过程如下:
45.1).net程序调用的.net api被.net虚拟沙盒记录;
46.2).net虚拟沙盒运行过程中调用的操作系统api被pe虚拟沙盒记录;
47.3).net程序创建/访问/修改/删除文件功能由.net api,操作系统api提供并执行,执行结果存在于pe虚拟沙盒内。可通过pe虚拟沙盒api获取/访问;
48.4).net程序执行周期内对系统资源的访问/修改,由.net api,操作系统api提供并执行。执行结果存在于pe虚拟沙盒内,可通过pe虚拟沙盒api获取/访问。
49.此沙盒还具有:1)记录其内运行的.net程序行为;2)为其内运行的.net程序提供各种系统资源;3)保存其内运行的.net程序的各种产出。api(application programming interface)是一组由系统和/或平台定义的,可由运行其上的应用程序调用,用以提供相关功能和服务的编程接口。通过记录,分析被检测程序在运行过程中对各类api的调用可以得出该程序的行为,并保存其产出的资源,包括且不限于:1)创建和/或修改文件;2)经由网络上传和/或下载文件;3)修改系统配置。
50.以上显示和描述了本发明的基本原理和主要特征以及本发明的优点,本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
转载请注明原文地址: https://www.8miu.com/read-784.html

最新回复(0)