BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / security / #20447同步于 2008/12/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖

有人对NOD32的启发机制有所了解吗?

moven
2008/12/4镜像同步17 回复
NOD32号称启发之王,查毒过程大概是:扫描可疑文件时,若未发现恶意文件特征码,则将文件载入其内置的一个虚拟机里运行,扫描。 我不了解它的虚拟机是什么原理?是基于HEC虚拟机技术的吗?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
rebirthatsix机器人#1 · 2008/12/4
。。。啥启发,改个名字而已 就是虚拟机跑
Racso机器人#2 · 2008/12/4
有啥这方面的文档没?杀毒软件中的虚拟机机制~ 好奇中 【 在 rebirthatsix 的大作中提到: 】 : 。。。啥启发,改个名字而已 : 就是虚拟机跑
rebirthatsix机器人#3 · 2008/12/4
我不知道nod32的主动防御是否依靠虚拟机,至少kis7的时候他的主动防御是不会依靠的 这个从行为来做虚拟机监控会损失一定的性能,见得多的也只是虚拟机脱壳再杀,这种技术现在使用的比较多 像完整虚拟一个环境来让这个程序跑,然后进行hook的话,也有可能,不知道有没有公司做,没什么意义,直接像kis这样内核inline,无所谓是不是虚拟机跑 说起来,这种虚拟机有点像用调试器加载exe的原理
moven机器人#4 · 2008/12/4
nod32是依靠虚拟机的应该不假,kis的主动防御是挂钩了一大堆系统底层的函数来实现主动防御(某安全公司大牛语,也有部分功能是从驱动级别上捕获文件流识别特征码),加上静态脱壳。跟调试工具的加载应该有所区别吧? 如果nod32是真的依靠虚拟机的话,我好奇的是是如何实现这个虚拟机的设计? 听说intel和AMD为了支持虚拟机的实现,在CPU功能上实现某些改进,以适应虚拟化技术(virtualization),不知道所谓的虚拟化技术是怎样的技术? 【 在 rebirthatsix 的大作中提到: 】 : 我不知道nod32的主动防御是否依靠虚拟机,至少kis7的时候他的主动防御是不会依靠的 : 这个从行为来做虚拟机监控会损失一定的性能,见得多的也只是虚拟机脱壳再杀,这种技术现在使用的比较多 : 像完整虚拟一个环境来让这个程序跑,然后进行hook的话,也有可能,不知道有没有公司做,没什么意义,直接像kis这样内核inline,无所谓是不是虚拟机跑 : ...................
moven机器人#5 · 2008/12/4
文档有个,intel的IA-32文档,volume3——chapter19 【 在 Racso 的大作中提到: 】 : 有啥这方面的文档没?杀毒软件中的虚拟机机制~ : 好奇中
rebirthatsix机器人#6 · 2008/12/5
【 在 moven 的大作中提到: 】 : nod32是依靠虚拟机的应该不假,kis的主动防御是挂钩了一大堆系统底层的函数来实现主动防御(某安全公司大牛语,也有部分功能是从驱动级别上捕获文件流识别特征码),加上静态脱壳。跟调试工具的加载应该有所区别吧? : 如果nod32是真的依靠虚拟机的话,我好奇的是是如何实现这个虚拟机的设计? : 听说intel和AMD为了支持虚拟机的实现,在CPU功能上实现某些改进,以适应虚拟化技术(virtualization),不知道所谓的虚拟化技术是怎样的技术? kis也有虚拟机啊。。。 现在哪个厂商没有?都有,我说了,关键看他们拿这个虚拟机干什么,nb的可以把主防都和虚拟机进行结合,弱的就只能用来做个动态脱壳 在启动的内存布局上,虚拟机和调试器是很像的,这个你可以找找其他资料 另,这个虚拟机就目前来看和你说的ia32中增加的vop关系不大
rebirthatsix机器人#7 · 2008/12/5
lz不要把kis的主动防御技术和虚拟机技术拿到一起想 根本不处于一个层级,内核inline以及hook基本上每家安全公司的主动防御都会有,现在还没有的,直接洗洗睡了算了 而虚拟机是在这个之上的,虚拟机之所以存在,是为了能够让目标程序运行在一个可控的内存空间里,其实也就是anti软件自己创建的进程空间,在这个空间里,目标如果要执行,一般都要先unpack,unpack之后,至于虚拟机怎么处理,各家有各家的想法,可以直接扫特征码,也可以继续放任其运行,将拦截机会留给内核routine,或者在虚拟机里先进行win32 api hook,这样就可以用户态将其废掉
moven机器人#8 · 2008/12/5
首先ym一下rebirthatsix大虾 我对调试器的设计原理以及工作原理都不太了解,哪里有这方面资料啊? 我不知道你说的虚拟机是哪种虚拟机,但是从网上用于脱壳的虚拟机貌似是基于解释执行字节码的原理,和调试器(比如)应该有所差别吧?貌似ollydbg是加载到真实内存的,而以前DOS下调试工具貌似也是加载到真实内存的,好像更改通过某个标志位(调试位)置为1来单步执行的,不知道ollydbg是不是这个原理。 【 在 rebirthatsix 的大作中提到: 】 : kis也有虚拟机啊。。。 : 现在哪个厂商没有?都有,我说了,关键看他们拿这个虚拟机干什么,nb的可以把主防都和虚拟机进行结合,弱的就只能用来做个动态脱壳 : 在启动的内存布局上,虚拟机和调试器是很像的,这个你可以找找其他资料 : ...................
rebirthatsix机器人#9 · 2008/12/5
【 在 moven 的大作中提到: 】 : 首先ym一下rebirthatsix大虾 : 我对调试器的设计原理以及工作原理都不太了解,哪里有这方面资料啊? : 我不知道你说的虚拟机是哪种虚拟机,但是从网上用于脱壳的虚拟机貌似是基于解释执行字节码的原理,和调试器(比如)应该有所差别吧?貌似ollydbg是加载到真实内存的,而以前DOS下调试工具貌似也是加载到真实内存的,好像更改通过某个标志位(调试位)置为1来单步执行的,不知道ollydbg是不是这个原理。 汗,你误解我的意思了,你说解释执行是肯定的,但是解释执行也得load进内存才能解释执行啊。。。毕竟这个2进制文件不是用vm处理过的纯数据段吧,而且杀毒软件估计也不会做这个处理。区别只是在于有虚拟机的话,虚拟机负责把这个文件load进自己的内存空间,而不是call entrypoint,然后搞自己的检测,没有虚拟机,peloader自然就在load之后去entry了 我的意思是在内存布局上比较类似,而不是在后续操作,调试的操作和解释执行这两个过程是不一样的,呵呵