百度首页 | 百度空间
 
查看文章
 
评所谓的“主动防御软件”
2007-04-12 14:07

真是好久没更新Blog了-_- 发一个我在EST论坛的回帖(第48楼)

原贴位置:http://forum.eviloctal.com/read-htm-tid-15522.html

     所谓的主动防御技术,目的是解决“病毒总是出现在杀毒软件更新病毒特征码之前”这个问题,但是,应用主动防御之后,仍然是杀毒软件在明,病毒/木马在暗。病毒/木马制作者可以在自己的电脑上安装一套所谓的主动防御软件,然后慢慢研究,不用费多少时间,无法“主动防御”的病毒/木马就会诞生。所以,说主动防御能解决AV软件杀毒能力滞后的问题,只是一种炒作。据我所知,主动防御或行为检测的概念,在DOS时代就有了,只是没有明确提出来而已。国内的AV要么是买国外的引擎(以至于没有版权,不能深入开发,甚至不能修正bug),要么烂得可以。只好搞点“新概念”吸引眼球,特别是在市场已经被瓜分完毕,新的AV想分杯羹的情况。我前段时间见到一个据说是国内最早(比江民早)搞AV的人,在他看来,国内的查杀毒技术,10几年来就没有大的进步,搞来搞去就那一套。

     主动防御依赖于行为检测,即所谓的“病毒行为动作特征库”。显然,这个行为特征库也存在信息滞后问题。比如对于木马修改注册表实现自启动这类行为,正常与否取决于注册表键值,没有一劳永逸的办法,只能是知道一个识别一个。大家可能都用过hijackThis或Autoruns,它们能列出系统中各种能实现自启动的地方,尤其是注册表特别多。随版本的升级,自启动项还在不多增加。再比如,我在《深入挖掘Windows脚本技术》中提到的WMI永久事件,这也是自启动,不知道现在市面上的AV有没有检测这个行为的。群众的创造力是无限的,再举个极端的例子,ACPI是可编程的,仍然写在注册表中(HKEY_LOCAL_MACHINE\HARDWARE\ACPI),有AV想到了吗?还有,写个dll取名和系统常用dll一样,导出的函数也一样,放在WINNT目录,当explorer.exe启动时,先加载的是这个Trojan Dll。有AV管这个吗?仅仅一个自启动,行为就层出不穷,再来个文件感染行为呢?

     如果说,从病毒特征值检测到行为检测,一定程度上减少了“特征库”更新的频率,这是个进步。那么另一方面,误报率恐怕反而会增加。仔细想想就会知道,“擦边球”实在太多了。比如金山词霸(消息钩子、远程线程),Serv-U(安装服务),SoftIce和VMWare(安装驱动),BT和eMule(修改防火墙规则)等等。当然,AV会采取加权方式,只有行为的权值累积到某个阈值才报警。再复杂点的算法是把行为分组,一些普通的行为连贯起来就有了权值。这类方案算不上创新,任谁来设计都能想到。且不论该方案本身的复杂度,即使实现了,离“智能”还差得远着呢。当行为检测碰上QQ——自启动、安装驱动、监听端口、文件传输、屏幕截图、远程控制、安装IE插件、弹出广告,这么多“恶意行为”集中在一个程序里,是木马吗??我开发安全产品的经验告诉我,控制粒度越精细,例外越多。QQ特例处理了,MSN呢?Skype呢?3721算不算木马?yahoo助手、网易泡泡,IE插件何其多。假设AV记录某个程序的各种行为,列成一张表,隐去文件名等信息后,交给“专家”来判断,能确定该程序是否木马吗?我看难说得很。人做不了的事,程序更搞不定了。

     最后,我统计了一下我的电脑(刚安装不久)上Program File下的30个软件,一半以上具有至少一个“恶意行为”,1/3具有两个或两个以上“恶意行为”。从概率上说,全世界有1/3的程序可能被拦截并提示用户,行为拦截机制多数情况在制造麻烦。要知道,多数AV用户是不熟悉计算机的,别指望拦截行为后给出提示,交给用户判断,就能“明辨是非”。而且,不是由用户自己装的就一定是正常的软件,也许是文件捆绑、伪装、欺骗用户执行,或者漏洞溢出执行,或者黑客入侵并像正常用户一般执行程序。当然,这种问题稍稍超出主动防御的范畴了。

     总之,我认为目前的主动防御技术,仅仅是原有技术的补充(很多AV已经这么做了),再往多的说就是炒作了。


类别:Security | 添加到搜藏 | 浏览() | 评论 (14)
 
最近读者:
 
网友评论:
1
2007-06-06 17:15
有点偏激,主动防御的确是你说的那样行为加权,累积到某一阈值报警,但首先对这些行为的监视和过滤可以在一定程度上阻挡传统木马病毒技术的攻击,尽可能少的去打搅用户,最后把判断的主动权交给用户。主动防御的概念虽然提出的很早,但因为涉及到内核的监控相当琐碎,对稳定性要求比较高,所以知道最近才被一些杀毒软件祭出来。
道高一尺,魔高一丈,本来就不可能有绝对的安全,但主动防御起码能提高病毒作者的门槛,不是随便从大街上拉个什么鸟都可以过主动防御的。就像上回的熊猫烧香,他出的比卡巴晚吧,但还不是过不了卡巴。
至于误报的问题,主要集中在程序安装阶段,如果你是那种喜欢天天当软件下来的发烧友,估计会经常看见提示。
 
2
2007-06-07 23:50
我就不信了,楼上,你哪个公司的,说一下你们的产品,我写个简单的东西,试试能不能过。

举个简单的例子,要是我写个中规中矩的MediaPlayer播放器插件,我跟着播放器一起启动穿墙呢!(你经常在线看电影,或是听歌吧,那就成了),而且MediaPlayer会打开其它进程(比如,MSN),还会安装消息钩子,我是Mcafee用户我通常都让MediaPlayer这些操作通过,那么可以用远线程,还可以用Msg Hook,Ring3层马已经完全够用了,你报个鸡巴啊!

支持Eva观点,讨厌那些只会故弄玄虚,乎悠人还拿巨烂产品到处吹的FB份子!
 
3
2007-06-26 10:15
象卡巴斯基那样的主动防御其实可以是说是几个内核钩子
比如它驱动挂钩了内核函ZwWriteVirtualMemory和ZwOpenSession
如果你用远程线程将代码注入到其它进程,最终都要调用内核函数ZwWriteVirtualMemory(),它就会提示某个程序有注入其它进程的操作(可能卡巴的函数还有具体的分析)。
如果你用ZwOpenSession()函数打物理内存(\Device\PhysicalMemory),它会分析这个是否是打开了物理内存,如果是它就会提示直接访问物理内存。

具体的情况我未做深入的研究,好象它的驱动还有其它的功能。

目前我正在研究突破“主动防御”方法,我曾试着在ring3下直接读写内存来恢复SSDT,但是因为最终用ZwOpenSession(),而跳了“直接访问内存”的提示;安装驱动,也跳出安装驱动和修改注册表的提示。

我考虑过用ring3无驱动执行ring0的代码的,所以搜索到这里了,但是看这个代码还是用ZwOpenSession()函数,我想这个可能也过不了卡巴的主动防御。

目前我在考虑是否可以使用ZwLoadDriver()或ZwSetSystemInformation()函数加载驱动?目前还没有用代码来实现一下。

不过好象卡巴也挂钩了内核函数ZwSetSystemInformation()、ZwCreateThread()等。
 
4
2007-06-28 20:51
楼上的,你企图用“公开”的API调用来绕过卡巴等主动防御,基本上是不可能的。道理很简单,你能轻易从网上了解到的办法,卡巴早就知道了。只有用非常规手段。要么是你自创且未被人公开的,要么是很复杂卡巴管不过来的。
要加载驱动,可以考虑直接改写Hive文件和PageFile。线程注入在Ring3走不通,请考虑用文件感染。
还原SSDT没意义,就算还原了,卡巴应该也会检测出这种还原,你可以用内核调试器验证一下。
 
5
2007-10-08 17:05
欢迎测试:)
 
6
2008-01-31 20:42
ZwSetSystemInformation卡巴早封了 连带的还有HIVE写注册表、ZwSystemDebugControl
 
7
2008-03-31 01:46
关于这文章的误区,请看:http://bbs.hypost.cn/read.php?tid-237530.html
 
8
2008-03-31 20:04
感觉楼主的分析似乎有问题,我在http://hi.baidu.com/046569/blog/item/8870b91190515e7aca80c4ad.html
写了回复,欢迎进一步探讨!
 
9
2008-03-31 21:43
To 046569:
晕死。我这篇文章是两年前写的。
你测试的微点版本和我测试的版本一样吗???
(程序版本:1.2.10289,特征版本:1.3.69.060428)
除非你是微点公司的,否则这么古老的版本没地方下载吧。
关公战秦琼,你好意思啊!
 
10
2008-03-31 21:47
to eva
你说的这个问题我后来才发现,我已经在论坛说明了。我写这篇文章的目的只是不想看到你被某些人利用。如此而已。仅仅是个讨论,何必动肝火呢?
 
11
2008-03-31 21:54
引用你Blog里的内容:
“烦请作者也写一个看看,没准一不小心成就了另一个刘旭。有作者在,中关村五杰全得下岗。”
这话你什么意思?!讽刺??

用事实说话是我的原则,你怀疑的做人的原则,我当然和你急。
 
12
2008-03-31 22:02
to eva 你怎么不把我之前引自你的话也一起说呢?
我这句话是承接你“12.说白了 微点这种软件就是一个小小的APIHOOK 稍微有些编程能力的都能轻易写出。”说的。
我应该没有歪曲你的意思,是你原话吧?
 
13
2008-03-31 22:10
拜托,看清楚啊。那个55楼不是我啊。
我引用它是想说明你一副自命不凡的样子,让人反感啊。
 
14
2008-03-31 22:13
to eva
这件事不要争论了,到此为止吧?好久看不到EST的人了,可能总见到出来活动的也就是灰狐。如果不介意的话,交个朋友。我Q:41412418
如果先前多有得罪,还请见谅。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu