虚拟软件虚拟化

软件虚拟化  时间:2021-03-27  阅读:()
1/16火绒虚拟沙盒简介"动若脱兔"2020/07/06公司:北京火绒网络科技有限公司地址:北京市朝阳区红军营南路15号瑞普大厦D座3层网址:https://www.
huorong.
cn电话:400-998-35552/16版权声明本文件所有内容受中国著作权法等有关知识产权法保护,为北京火绒网络科技有限公司(以下简称"火绒安全")所有,任何个人、机构未经"火绒安全"书面授权许可,均不得通过任何方式引用、复制.
另外,"火绒安全"拥有随时修改本文件内容的权利.
如有修改,恕不另行通知.
您可以咨询火绒官方、代理商等售后,获得最新文件.
3/16目录虚拟机技术概述4仿真技术分类及应用.
4虚拟执行技术分类及应用4关于虚拟沙盒.
5火绒虚拟沙盒技术与特性.
6虚拟沙盒总体架构.
6虚拟执行引擎.
6操作系统环境仿真.
7跨平台特性8火绒虚拟沙盒应用.
9通用脱壳(GenericUnpacking)9反病毒引擎深度扫描.
9基于火绒虚拟沙盒的动态行为分析(行为沙盒)10火绒虚拟沙盒应用演示.
11火绒虚拟化执行引擎vs.
动态翻译执行引擎.
11火绒行为沙盒检出典型恶意行为.
12动态还原Trojan/FakeAV高级包裹器(HLLW)12疯狂利用窗口系统特性的TrojanDownloader/Upatre混淆器.
134/16虚拟机技术概述仿真技术分类及应用仿真技术分类硬件仿真指令集仿真操作系统仿真定义通过软件仿真操作系统所需要的硬件环境,包括CPU、内存、总线等等;通过软件仿真特定(真实或虚拟)指令集的执行行为,例如通过仿真全部x86指令的行为来仿真x86CPU;通过仿真操作系统环境,使为该操作系统环境编译的程序得以运行;经典案例VMwareWorkstation,QEMU,Bochs,……JavaVM,LLVM,VMProtect,ThemidaVM……火绒虚拟沙盒,WINE,x86emu,……安全领域应用1.
搭建反病毒分析平台,如ThreatExpert等;2.
搭建云安全集群;1.
代码保护,如VMProtect,Themida等;2.
代码逻辑序列化,如ClamAV支持把查毒代码编译成LLVM中间代码(IR),并在查毒时虚拟执行中间代码来执行查毒逻辑;1.
实现相同平台、不同操作系统间的"跨界"执行,如WINE等;2.
配合指令集仿真,实现虚拟沙盒,如火绒虚拟沙盒等;虚拟执行技术分类及应用虚拟执行技术分类模拟类虚拟执行技术虚拟化类虚拟执行技术定义通过软件方法模拟CPU运行环境(如:寄存器等)和各种机制(如:内存寻址、异常处理、保护机制等)来实现实现虚拟执行;通过软件或硬件方法,利用当前CPU环境,创建(虚拟)出可控的隔离环境,并在这个隔离环境中利用真实CPU资源进行受控的代码执行;实现技术指令模拟动态翻译软件虚拟化硬件虚拟化典型应用瑞星v16+,……火绒,MSE,……火绒,……未知执行速度(相较于真实代码执行)≈1%≈30%≈95%≈99%5/16代码级控制粒度细一般粗粗限制无无任何支持分页机制的CPU(例如:IntelPentium386+以上,但并不限于x86架构)仅限支持硬件虚拟化技术的CPU(例如:IntelVT-x、AMD-V)引擎应用场景感染型病毒查杀简单代码分析辅助脱壳感染型病毒查杀指导脱壳行为分析感染型病毒查杀通用脱壳行为分析感染型病毒查杀通用脱壳行为分析关于虚拟沙盒套用一句广告词,"不是所有的虚拟机都叫虚拟沙盒".
反病毒虚拟沙盒应至少符合以下几个基本要求:1、虚拟执行效率要足够高反病毒引擎要求能够在相对较短的时间内(毫秒级)完成对待扫描对象的扫描,所以低下的虚拟执行效率是无法真正应用于反病毒虚拟沙盒的;2、具有完备的操作系统环境仿真如果仅仅能够虚拟执行指令,那么还无法称作虚拟沙盒.
虚拟沙盒应具有完备的操作系统环境仿真,至少应包括:文件系统、注册表、进程、线程、调度逻辑、时钟、同步对象;3、能够捕获并记录程序虚拟执行时的行为虚拟沙盒应当可以捕获并记录程序在沙盒内虚拟执行时所产生的行为,此类记录可以是系统调用级别或更高级的抽象等.
缺失捕获并记录行为的特性,行为分析便无从谈起;6/16火绒虚拟沙盒技术与特性虚拟沙盒总体架构虚拟执行引擎虚拟机化执行引擎负责实现指令集仿真,火绒虚拟沙盒实现了两个执行引擎:1、火绒虚拟化执行引擎通过火绒虚拟化技术,为目标代码划分独立的地址空间,并通过接管中断和异常为目标代码分配私有时间片,从而使目标代码得以受控执行.
执行效率几乎可以达到与真实机相当,仅执行环境切换带来微量开销;2、动态翻译执行引擎通过对目标代码进行分析并可控地翻译成本地代码执行的技术称为动态翻译,火绒虚拟沙盒通过动态翻译执行引擎实现对目标代码的细粒度控制;火绒虚拟化引擎执行效率极高,但对目标代码的控制粒度粗,而动态翻译执行引擎虽然执行效率低,但对代码的控制粒度高.
所以,火绒虚拟沙盒在运行时会根据虚拟执行的需要,自动对两个执行引擎进行切换以同时满足较高的执行效率和较细的代码控制粒度.
火绒虚拟沙盒虚拟执行引擎火绒虚拟化执行引擎二进制翻译执行引擎操作系统环境仿真进程线程时钟文件系统注册表同步对象.
.
.
.
.
.
7/16关于火绒虚拟化执行引擎和动态翻译执行引擎的效率比对,请参见"火绒虚拟沙盒应用演示"一节的相关演示.
操作系统环境仿真我习惯将虚拟执行引擎比作楼房的地基,而操作系统环境仿真则是建立在牢固地基上的万丈高楼.
火绒虚拟沙盒设计了完备的操作系统环境仿真,模拟了超过5000个WindowsAPI,涵盖了绝大多数操作系统的核心机制,包括但不局限于:1、文件系统存储着核心系统文件,并可以跟踪虚拟沙盒内进程执行时创建和修改的文件,反病毒引擎在并发扫描时,不同虚拟进程拥有隔离的文件系统视图;2、注册表系统完备的注册表系统仿真,虚拟沙盒内进程的注册表操作可以被跟踪和记录,以便反病毒引擎进行分析;3、进程、线程、同步对象、调度、时钟火绒虚拟沙盒仿真了完备的进程、线程对象,并根据虚拟时钟及调度逻辑对线程进行调度,可以有效地"跑开"Themida等多线程解码的壳;4、窗口系统火绒虚拟沙盒还实现了复杂、庞大的窗口系统,以及多中窗口控件,著名的TrojanDownloader/Upatre家族混淆器即通过Edit/RichEdit控件的各种消息和窗口特性来作为反虚拟机的手段;5、……8/16跨平台特性目前,火绒虚拟沙盒支持以下操作系统平台:1、Windowsx86/x64;2、Linuxx86/x64;3、MacOSXx86/x64;火绒虚拟沙盒非常容易移植到FreeBSD等类Unix操作系统平台.
9/16火绒虚拟沙盒应用通用脱壳(GenericUnpacking)仅实现指令集仿真就可以实现辅助脱壳的功能,而虚拟沙盒对于脱壳的真正意义在于通用脱壳.
通用脱壳是指在不需要识别样本是否加壳的情况下,通过将样本放入虚拟沙盒深度执行并通过启发式逻辑分析样本数据是否已被还原的技术.
通用脱壳对于多层壳、虚拟机保护壳、自定义壳、高级包裹器(High-LevelLanguageWrapper,HLLW)等有着非常重要的意义.
传统反病毒引擎的静态或动态指导脱壳,对于上述几类壳是毫无作用的.
关于通用脱壳更具体的内容,可以参见《反病毒"芯"技术——火绒反病毒引擎简介》一文.
反病毒引擎深度扫描凭借完备的操作系统环境模拟,火绒虚拟沙盒可以跟踪其中进程释放的文件、创建的进程等,火绒反病毒引擎在扫描过程中会对这些衍生物进行扫描,以此来实现对样本的深度扫描.
下面的扫描日志展示的是火绒反病毒引擎扫描一修改过的CAB自解压包.
火绒反病毒引擎并不需要对这种修改过的CAB自解压包单独进行解码支持,而只需要在虚拟沙盒中虚拟运行该样本,样本"自己"便会完成解码并释放压缩包中的文件到火绒虚拟沙盒的文件系统中.
火绒反病毒引擎可以提取沙盒跟踪到的虚拟文件,并对其进行扫描,进而发现威胁:>>1f9f805a839446db9b04fe66b9f9eb39a330a8b1>>1f9f805a839446db9b04fe66b9f9eb39a330a8b1>>genpack>>1f9f805a839446db9b04fe66b9f9eb39a330a8b1>>genpack>>subpe_000AB81A>>1f9f805a839446db9b04fe66b9f9eb39a330a8b1>>vfs:[c:\Windows\temp\IXP000.
TMP\CATALOGVIEWER.
EXE]10/16>>1f9f805a839446db9b04fe66b9f9eb39a330a8b1>>vfs:[c:\Windows\temp\IXP000.
TMP\wdfmgrs.
exe][ENG-3]1f9f805a839446db9b04fe66b9f9eb39a330a8b1>>vfs:[c:\Windows\temp\IXP000.
TMP\wdfmgrs.
exe].
.
.
infected:HVM:Trojan/MalBehav.
gen!
C[D736ACAC2F763626]基于火绒虚拟沙盒的动态行为分析(行为沙盒)火绒虚拟沙盒可以跟踪和记录运行在其中程序的行为,火绒反病毒引擎通过行为记录,可以通过启发式分析算法对程序的恶意性进行评估.
我们将虚拟沙盒的此类应用称为行为沙盒.
火绒行为沙盒不仅仅被应用火绒反病毒引擎.
在后台,火绒虚拟沙盒作为火绒反病毒自动处理平台的一部分,负责抽取样本的动态行为特征,与其他特征抽取模块组合,共同为样本的相似性聚类计算服务着.
更具体的关于火绒行为沙盒的相关内容,可以参见《反病毒"芯"技术——火绒反病毒引擎简介》一文.
11/16火绒虚拟沙盒应用演示以下演示均在Linux3.
19.
0x86_64内核下完成,通过asciinema(https://asciinema.
org/)录制.
火绒虚拟化执行引擎vs.
动态翻译执行引擎样本SHA1:a8e20a4edbfc083fdeee18aa6da56d932ea35eb4演示地址:https://asciinema.
org/a/27411演示说明演示中,首先以常规模式,即开启火绒虚拟化执行引擎的模式,虚拟执行样本a8e20a4edbfc083fdeee18aa6da56d932ea35eb4直至程序运行完毕退出.
运行结果显示,共执行了58条指令(只有自动切换到动态翻译执行引擎时才能够统计指令数,所以常规模式统计到的指令数非常少),执行了806,940个API调用,共耗时301毫秒.
接下来,仅开启动态翻译执行引擎,再次虚拟执行该样本直至程序运行完毕退出.
运行结果显示,共执行了907,528,493条指令,同样是执行了806,940个API调用,但耗时高达54,188毫秒(接近1分钟),比常规模式慢了180倍.
从结果可以看出,火绒虚拟化执行引擎的执行效率,比动态翻译引擎至少快100倍以上.
这为火绒反病毒引擎的深度扫描奠定了极为宝贵的基础,在同样的扫描时间下,火绒虚拟沙盒可以执行的深度更深,使得很多在传统反病毒虚拟机不可能"跑开"的样本,在火绒虚拟沙盒中成为了可能.
12/16火绒行为沙盒检出典型恶意行为样本SHA1:4f52ac297e86bc595acfa64859a9c87385368e22演示地址:https://asciinema.
org/a/27387演示说明演示中展示了样本4f52ac297e86bc595acfa64859a9c87385368e22在火绒虚拟沙盒中执行时的跟踪记录.
从跟踪记录可以看出,该样本具有很典型的恶意代码行为:将自身复制到系统目录并命名成类似系统文件的名称(C:\Windows\System32\SVOHOST.
exe),运行这个自复制的副本,最后通过WinExec("…cmd/cdel…")的方式自删除.
火绒反病毒引擎会在扫描时捕捉到上述行为,并将该样本检出为HVM:Trojan/MalBehav.
gen!
C威胁.
动态还原Trojan/FakeAV高级包裹器(HLLW)样本SHA1:d5cd4da969281905ed832a2587380c3968a2fb3f演示地址:https://asciinema.
org/a/27394演示说明演示中的样本由非常典型的高级包裹器(High-LevelLanguageWrapper,HLLW)包裹,这在Trojan/FakeAV等家族中相当常见.
在演示中,由于预先知道此样本应包含的关键字符串,所以当这些字符串无法被搜索到时,就怀疑可能是加壳保护了.
之后,通过Pyew分析发现该样本入口符合VC7编译器生成的入口特征,在火绒虚拟沙盒调试器中手工查看入口也符合VC7入口特征,所以怀疑该样本由HLLW包裹.
接下来,在火绒虚拟沙盒调试器中调试执行该样本,发现经过代码解密后,代13/16码停在UPX入口上,DUMP当前位置的镜像并用Pyew分析也能够确定当前位置的确为UPX入口代码.
跟踪到UPX最后的跳转,发现解出的新入口明显属于VC8入口特征,并用Pyew验证.
此时,对该样本的脱壳过程全部完成,DUMP当前镜像并搜索关键字符串证明Trojan/FakeAV的原始数据已被还原.
通过这样的还原,火绒反病毒引擎在扫描此类样本时就完全是顺水推舟了.
从对这个样本的脱壳过程可以看出,此样本最初由VC8编译,经过UPX加壳后(主要为了压缩体积),又用由VC7编写的高级包裹器再次包裹,可见此高级包裹器是独立存在的,很可能还会被其他恶意代码所使用.
这种多个恶意代码家族使用同一款高级包裹器或混淆器的例子屡见不鲜.
另外,由于火绒虚拟沙盒会在虚拟执行时动态对目标代码做优化调整,所以该样本在火绒虚拟沙盒中执行时会比在真实系统下执行更快,有兴趣的朋友可以自行测试.
但注意请在虚拟机环境中进行测试或调试,以免对真实系统产生不必要的危害.
疯狂利用窗口系统特性的TrojanDownloader/Upatre混淆器样本SHA1:51d17236fbf0236ccd2571e252a9f173f37702a4等演示地址:https://asciinema.
org/a/27054演示说明火绒反病毒通过火绒虚拟沙盒动态还原TrojanDownloader/Upatre的明文代码及数据,并通过行为跟踪记录实现启发式检出14/16HVM:TrojanDownloader/Upatre.
gen.
演示中展示的是火绒反病毒引擎对98个不同变种的TrojanDownloader/Upatre进行扫描的过程.
下面,我以样本51d17236fbf0236ccd2571e252a9f173f37702a4为例,介绍TrojanDownloader/Upatre家族常用的反虚拟机技术.
1、首先,在程序入口该样本注册了一个名为contents的窗口类,并创建了一个窗口,句柄保存在hwnd_contents中;.
text:00401747pushedi.
text:00401748dececx.
text:00401749jnzshortloc_401747.
text:0040174Bleaeax,[ebp+WndClass].
text:0040174Epusheax;lpWndClass.
text:0040174Fmovedx,hInstance.
text:00401755mov[ebp+WndClass.
hInstance],edx.
text:00401758leaecx,aContents;"contents".
text:0040175Emov[ebp+WndClass.
lpszClassName],ecx.
text:00401761leaeax,wndproc_contents.
text:00401767mov[ebp+WndClass.
lpfnWndProc],eax.
text:0040176AcallRegisterClassA.
text:00401770push67h;lpBitmapName.
text:00401772pushhInstance;hInstance.
text:00401778callLoadBitmapA.
text:0040177Epush66h;lpBitmapName.
text:00401780pushhInstance;hInstance.
text:00401786callLoadBitmapA.
text:0040178Cxoreax,eax.
text:0040178Epusheax;lpParam.
text:0040178FpushhInstance;hInstance.
text:00401795pusheax;hMenu.
text:00401796pusheax;hWndParent.
text:00401797push500;nHeight.
text:0040179Cpush756;nWidth.
text:004017A1push1400;Y.
text:004017A6push3300;X.
text:004017ABpush0;dwStyle.
text:004017ADmovecx,offsetaFrantically;"frantically".
text:004017B2pusheax;lpWindowName.
text:004017B3pushoffsetaContents;"contents".
text:004017B8pusheax;dwExStyle15/16.
text:004017B9callCreateWindowExA.
text:004017BFmovhwnd_contents,eax2、在hwnd_contents窗口回调收到WM_CREATE消息时,该样本又创建了一个Edit控件,并在创建时通过窗口名指定控件内容为7行文字,句柄保存在hwnd_edit_1中;.
text:00401091@@wm_create:;CODEXREF:wndproc_contents+9j….
text:004010EEmovecx,hInstance.
text:004010F4leaeax,ClassName;"edit".
text:004010FAmovedi,offsetWindowName;"sacdea\r\nebulu\r\nacasec\r\nlabai\r\nedufu\r\nmc".
.
.
.
text:004010FFpush0;lpParam.
text:00401101pushecx;hInstance.
text:00401102push0;hMenu.
text:00401104pushesi;hWndParent.
text:00401105movesi,0.
text:0040110Apush30;nHeight.
text:0040110Cpush240;nWidth.
text:00401111push185;Y.
text:00401116push25;X.
text:00401118pushebx;dwStyle.
text:00401119pushedi;lpWindowName.
text:0040111Apusheax;lpClassName.
text:0040111Bpushesi;dwExStyle.
text:0040111CcallCreateWindowExA.
text:00401122movhwnd_edit_1,eax3、当hwnd_contents收到特定次数的WM_PARENTNOTIFY消息后(此样本是固定的3次),通过EM_GETLINECOUNT获取hwnd_edit_1窗口中文字的行数(此样本为7行),并调用以此行数与0x40144a之和为地址的解码函数;.
text:00401000wndproc_contentsprocnear;DATAXREF:sub_401728+39o.
text:00401000.
text:00401000hWndParent=dwordptr8.
text:00401000Msg=dwordptr0Ch.
text:00401000wParam=dwordptr10h.
text:00401000lParam=dwordptr14h.
text:00401000.
text:00401000pushebp.
text:00401001movebp,esp16/16.
text:00401003moveax,[ebp+Msg].
text:00401006cmpeax,WM_CREATE.
text:00401009jz@@wm_create.
text:0040100Fcmpeax,WM_DESTROY.
text:00401012jzshort@@wm_destroy.
text:00401014cmpeax,WM_PARENTNOTIFY.
text:00401019jzshortloc_401032.
text:0040101Bpush[ebp+lParam];lParam.
text:0040101Epush[ebp+wParam];wParam.
text:00401021push[ebp+Msg];Msg.
text:00401024push[ebp+hWndParent];hWnd.
text:00401027callDefWindowProcA.
text:0040102Djmploc_401187.
text:00401032.
text:00401032.
text:00401032loc_401032:;CODEXREF:wndproc_contents+19j.
text:00401032moveax,[ebp+lParam].
text:00401035moveax,parent_notify_count.
text:0040103Adeceax.
text:0040103Bjzshort@@count_reached.
text:0040103Dmovparent_notify_count,eax.
text:00401042jmploc_401187.
text:00401047.
text:00401047.
text:00401047@@count_reached:;CODEXREF:wndproc_contents+3Bj.
text:00401047pushoffsetaInstability;"instability".
text:0040104Cpush0;wParam.
text:0040104EpushWM_SETTEXT;Msg.
text:00401050pushhwnd_edit_0;hWnd.
text:00401056callSendMessageA.
text:0040105Cxorecx,ecx.
text:0040105Epushecx;lParam.
text:0040105Fpushecx;wParam.
text:00401060pushEM_GETLINECOUNT;Msg.
text:00401065pushhwnd_edit_1;hWnd.
text:0040106BcallSendMessageA.
text:00401071shleax,3;shouldreturn7.
text:00401074movecx,eax.
text:00401076addecx,offsetunk_40144A.
text:0040107Ccallecx;=>realdecryptor4、前面的代码均为反虚拟机所用,上述代码在callecx后,方才真正执行解码函数.

2021年恒创科技618活动:香港/美国服务器/云服务器/高防全场3折抢购

2021年恒创科技618活动香港美国服务器/云服务器/高防全场3折抢购,老客户续费送时长,每日限量秒杀。云服务器每款限量抢购,香港美国独服/高防每款限量5台/天,香港节点是CN2线路还不错。福利一:爆品秒杀 超低价秒杀,秒完即止;福利二:云服务器 火爆机型 3折疯抢;福利三:物理服务器 爆款直降 800元/月起;福利四:DDOS防护 超强防御仅 1750元/月。点击进入:2021年恒创科技618活...

DMIT:美国cn2 gia线路vps,高性能 AMD EPYC/不限流量(Premium Unmetered),$179.99/月起

DMIT怎么样?DMIT最近动作频繁,前几天刚刚上架了日本lite版VPS,正在酝酿上线日本高级网络VPS,又差不多在同一时间推出了美国cn2 gia线路不限流量的美国云服务器,不过价格太过昂贵。丐版只有30M带宽,月付179.99美元 !!目前,美国云服务器已经有个4个套餐,分别是,Premium(cn2 gia线路)、Lite(普通直连)、Premium Secure(带高防的cn2 gia线...

Megalayer新加坡服务器国际带宽线路测评

前几天有关注到Megalayer云服务器提供商有打算在月底的时候新增新加坡机房,这个是继美国、中国香港、菲律宾之外的第四个机房。也有工单询问到官方,新加坡机房有包括CN2国内优化线路和国际带宽,CN2优化线路应该是和菲律宾差不多的。如果我们追求速度和稳定性的中文业务,建议还是选择CN2优化带宽的香港服务器。这里有要到Megalayer新加坡服务器国际带宽的测试服务器,E3-1230配置20M国际带...

软件虚拟化为你推荐
梦之队官网NBA梦之队是什么游戏?西部妈妈网烟台分类妈妈网 分类妈妈网的前2个字什么?月神谭求古典武侠类的变身小说~!www.119mm.comwww.kb119.com 这个网站你们能打开不?百度指数词什么是百度指数www.javmoo.comjavimdb是什么网站为什么打不开4400av.com在www.dadady.com 达达电影看片子很快的啊www.zhiboba.com登录哪个网站可以看nba当天的直播 是直播www.ijinshan.com金山毒霸的网站是多少ww.66bobo.comfq55点com是什么网站
搬瓦工官网 suspended unsplash 512m内存 hnyd 云鼎网络 建立邮箱 howfile 空间论坛 七夕快乐英文 789电视网 秒杀汇 傲盾官网 爱奇艺vip免费领取 电信主机 便宜空间 网站加速软件 qq金券 ledlamp 97rb 更多