一种基于PE虚拟沙盒实现JS脚本虚拟沙盒的方法与流程

allin2022-07-13  105

一种基于pe虚拟沙盒实现js脚本虚拟沙盒的方法
技术领域
:1.本发明涉及信息安全领域,具体是指一种基于pe虚拟沙盒实现js脚本虚拟沙盒的方法。
背景技术
::2.目前在信息安全领域中,存在许多以jscript脚本为载体的恶意代码。jscript是由微软公司开发的一种通用脚本编程语言。脚本编程语言的特点在于:方便使用,脚本编辑完成后,可以直接由其执行器执行其所描述的逻辑。ecma-262(europeancomputermanufacturersassociation)是一项计算机编程语言标准,其将ecmascript编程语言进行了标准化。jscript脚本语言作为ecmascript编程语言方言(与ecmascript不完全兼容)实现,并运用于windows操作系统上。技术实现要素:3.本发明要解决的技术问题是jscript脚本容易进行文本混淆,造成可读性差,难以分析其执行逻辑,继而达到隐藏其潜在危害性的目的,鉴于此,本发明提供一种安全可控,动态执行,暴露与识别恶意jscript程序的方法。4.为解决上述技术问题,本发明提供的技术方案为:一种基于pe虚拟沙盒实现js脚本虚拟沙盒的方法,包括以下步骤:5.第一步,启动基于pe的虚拟沙盒,构建封闭、防逃逸的运行环境,用以保障运行其内的pe程序不会破坏其真实的操作系统环境,虚拟沙盒通过模拟仿真系统api,为运行其内的应用程序提供了运行时资源支持(包括但不限于文件系统操作,内存管理,注册表服务等);6.第二步,载入并初始化jscript脚本虚拟沙盒,该沙盒提供jscript脚本运行环境,该环境是一组可运行的pe格式的程序,完全运行于pe虚拟沙盒之内,与真实操作系统无直接交互,运行于该虚拟沙盒的jscript程序,通过调用第一步中pe虚拟沙盒提供的,兼容于真实windows系统的api访问,修改系统资源;7.第三步,载入并运行待检测的jscript脚本,此脚本完全运行于jscript脚本虚拟沙盒之内,与pe虚拟沙盒无直接交互;8.第四步,监测并记录jscript脚本运行过程中产出的文件及api调用,直至程序退出;9.第五步,根据第四步产出,判定此次检测结果,判定依据包含且不限于:1)其运行过程中调用过哪些api;2)请求和/或访问过哪些系统资源;3)产出文件有哪些特征,是否包含敏感字段,是否是已知的恶意程序;4)是否删除/篡改沙盒(与真实系统一致)内重要的文件;5)是否访问已知恶意网络站点,下载已知恶意程序;6);是否记录用户输入设备;7)其他疑似对系统造成破坏/泄露的行为;10.第六步,如果第五步检测判定为恶意程序,给出恶意程序类别,检测结束;11.第七步,如果第五步检测判定为可信程序,给出判定结果,检测结束。12.本发明与现有技术相比的优点在于:本方案通过提供基于pe虚拟沙盒来保障恶意程序识别过程的安全性,该沙盒为windows系统pe格式的可执行程序提供虚拟仿真的运行环境,既保障程序正确执行,又防止其产生逃逸,威胁到真实运行环境。13.进一步的,第四步的jscript脚本运行过程如下:1)jscript程序调用的操作系统api被pe虚拟沙盒记录;2)jscript程序创建/访问/修改/删除文件功能由操作系统api提供并执行,执行结果存在于pe虚拟沙盒内,可通过pe虚拟沙盒api获取/访问;3)jscript程序执行周期内对系统资源的访问/修改,由操作系统api提供并执行,执行结果存在于pe虚拟沙盒内,可通过pe虚拟沙盒api获取/访问。附图说明14.图1是一种基于pe虚拟沙盒实现js脚本虚拟沙盒的方法的层次结构图。15.图2是一种基于pe虚拟沙盒实现js脚本虚拟沙盒的方法的流程示意图。具体实施方式16.下面结合附图对本发明做进一步的详细说明。17.本发明在具体实施时,如图1和图2所示的实施例中,提出一种基于pe虚拟沙盒实现js脚本虚拟沙盒的方法,其特征在于包括以下步骤:18.第一步,启动基于pe的虚拟沙盒,构建封闭、防逃逸的运行环境,用以保障运行其内的pe程序不会破坏其真实的操作系统环境,虚拟沙盒通过模拟仿真系统api,为运行其内的应用程序提供了运行时资源支持(包括但不限于文件系统操作,内存管理,注册表服务等);19.第二步,载入并初始化jscript脚本虚拟沙盒,该沙盒提供jscript脚本运行环境,该环境是一组可运行的pe格式的程序,完全运行于pe虚拟沙盒之内,与真实操作系统无直接交互,运行于该虚拟沙盒的jscript程序,通过调用第一步中pe虚拟沙盒提供的,兼容于真实windows系统的api访问,修改系统资源;20.第三步,载入并运行待检测的jscript脚本,此脚本完全运行于jscript脚本虚拟沙盒之内,与pe虚拟沙盒无直接交互;21.第四步,监测并记录jscript脚本运行过程中产出的文件及api调用,直至程序退出;22.第五步,根据第四步产出,判定此次检测结果,判定依据包含且不限于:1)其运行过程中调用过哪些api;2)请求和/或访问过哪些系统资源;3)产出文件有哪些特征,是否包含敏感字段,是否是已知的恶意程序;4)是否删除/篡改沙盒(与真实系统一致)内重要的文件;5)是否访问已知恶意网络站点,下载已知恶意程序;6);是否记录用户输入设备;7)其他疑似对系统造成破坏/泄露的行为;23.第六步,如果第五步检测判定为恶意程序,给出恶意程序类别,检测结束;24.第七步,如果第五步检测判定为可信程序,给出判定结果,检测结束。25.本发明首先通过提供基于pe(portableexecutable,windows系统支持的一种可执行文件的格式,该格式可执行文件通常以.exe作为文件名后缀)虚拟沙盒,来保障恶意程序识别过程的安全性。该沙盒为windows系统pe格式的可执行程序提供虚拟仿真的运行环境。既保障程序正确执行,又防止其产生逃逸,威胁到真实运行环境。此沙盒还具有:1)记录其内运行的pe程序行为;2)为其内运行的pe程序提供各种系统资源(文件访问,网络连接等);3)保存其内运行的pe程序的各种产出(文件,文字输出等)。26.进一步的,如图2所示的实施例中,第四步的jscript脚本运行过程如下:1)jscript程序调用的操作系统api被pe虚拟沙盒记录;2)jscript程序创建/访问/修改/删除文件功能由操作系统api提供并执行,执行结果存在于pe虚拟沙盒内,可通过pe虚拟沙盒api获取/访问;3)jscript程序执行周期内对系统资源的访问/修改,由操作系统api提供并执行,执行结果存在于pe虚拟沙盒内,可通过pe虚拟沙盒api获取/访问。本发明提供一套可运行于上述沙盒的jscript脚本虚拟沙盒。该沙盒内置jscript脚本执行器,为被检测的潜在恶意的jscript脚本的运行提供支持。该执行器兼容于真实windows系统内置的jscript脚本执行器,可以无差别运行jscript脚本。此沙盒还具有:1)记录其内运行的jscript脚本的行为;2)为其内运行的jscript脚本提供各种系统资源;3)保存其内运行的jscript脚本的各种产出。27.api(applicationprogramminginterface)是一组由系统和/或平台定义的,可由运行其上的应用程序调用,用以提供相关功能和服务的编程接口。通过记录,分析被检测程序在运行过程中对各类api的调用可以得出该程序的行为,并保存其产出的资源,包括且不限于:1)创建和/或修改文件;2)经由网络上传和/或下载文件;3)修改系统配置。28.进一步的,如图2所示的实施例中,集成于windows操作系统内的jscript通过调用特定的系统api来实现对系统的管理与利用。而恶意jscript程序则通过调用特定的系统api对系统进行监视或破坏。本发明提供的jscript解释器功能上兼容于windows操作系统内置的jscript,完全运行于本发明提供的pe虚拟沙盒之内。通过调用pe虚拟沙盒提供的,兼容于windows系统的api,达到与真实windows一致的运行逻辑与输出结果。29.以上显示和描述了本发明的基本原理和主要特征以及本发明的优点,本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。当前第1页12当前第1页12
转载请注明原文地址: https://www.8miu.com/read-786.html

最新回复(0)