Board logo

标题: 金山对主动防御的见解~~~~分析 [打印本页]

作者: langzi2009     时间: 2010-1-2 17:14    标题: 金山对主动防御的见解~~~~分析

说说主动防御

导读: 这部分在金山毒霸 2010 Beta 中暂时没有可对照的实体对象, 所以本篇并不是讲述主动防御在金山毒霸 2010 Beta 中应用.


主动防御应不应该有?

1) 这个可以有, 也应该有. 我想问大家一个问题, 主动防御是什么? 其实主动防御什么都不是 :P 主动防御只是为了迎合宣传的需要而早就的一个 "技术" 概念. 那主动防御到底代表了什么? 在我眼中, 主动防御意味着另一个名词: 访问控制. 用过 Vista/7 系列视窗操作系统的用户一定不会对这个东西感到陌生:

  下载 (23.69 KB)

2009-11-18 18:21

对, 这就是 UAC, 用户账户控制的询问窗口. 这其实就是个简单的访问控制, 或者说, 主动防御 :D 在需要管理员权限的程序真正开始执行前, 就文件进行分析, 随后决定向用户提供怎么的提示信息并询问用户是否允许其获得相应权限, 这就是 UAC 的主要职责. 关于针对不同程序 UAC 所给出的不同提示的具体含义, 请参见 Smallfrogs 的文章: Windows Vista UAC 和 可信任安全

当然, 这样的提示与询问是很容易造成困惑的, UAC 不能很好的判断所有程序, 于是用户需要面对大量关于 "未能识别的程序" 的请求. 当出现大量需要用户去自行研究判断的交互时, 我们便称这样的机制是不易用的. 同时 UAC 只能在程序执行前进行 "一刀斩", 无法灵活的处理实际使用中所遇到的具体问题, 比如我无法判断这个程序是否友善, 但是我又急需他所宣传的功能, 我愿意尝试运行, 但同时也担心遭遇风险, 这该怎么办? 很显然这时候 UAC 已经无法满足用户的需求, 于是大家向一种能在程序运行中作出反应的保护模式寻求帮助, 那就是行为防御. 在安全软件中的行为防御包含两个阵营: 控制派与非控制派, 对于控制派阵营的用户, 他们希望能够尽可能的掌握软件的每一个行为和动向, 所以他们借助于标准的 HIPS 来达成这个需求, 由于这类用户普遍对操作系统知识具有基础水平或更高的了解, 而这样的用户在所有用户中所占的比例较小, 今天就不谈他们. 对于非控制派用户, 他们对软件具体行为的细节并不关心, 只希望能够避免使用中所遇到的潜在风险. 安全厂商为了迎合消费者的这种需求, 开发出了具有行为防御功能的模块, 并去了个名字, 叫主动防御. 在早期的主动防御产品里, 他的交互和使用模式更多还是脱胎于 HIPS 软件, 通过一些关键函数的拦截, 完成对操作系统特定位置的保护. 例如一款支持浏览器主页保护的主动防御产品, 在发现一个游戏补丁试图更改主页设置时, 会弹出询问, 提示用户该游戏补丁试图变更当前的主页设置, 游戏补丁的进程名是什么, 当前的主页是什么, 这个补丁又试图改成什么, 都会一一显示在界面中, 并询问用户是否同意修改.

至此, 一切似乎都很美好, 用户关心的主页设置得以保留, 同时游戏补丁又可继续安装下去(如果该补丁设计时没有要求一定要修改成功, 否则不继续安装的话). 但随着病毒等计算机威胁的越来越隐秘与越来越深入操作系统, 用户开始发现并不是所有的提示都是那么通俗易懂了. 例如对下面这个提示, 请问大家如果是你, 你会选择允许还是阻止呢?

  下载 (12 KB)

2009-11-18 18:20

因为病毒和正常软件的界限开始不清晰, 于是针对某一个特定行为的拦截逐渐变得不易用. 为了解决这个问题, 厂商开始引入了 "智能的" 的主动防御产品. 所谓智能, 是指当通过某一个或者两个行为无法界定出是否危害的时候, 将判断过程拉长, 通过更多的行为来综合判断程序是否包含恶意, 以减少对用户造成的干扰与困惑. 但智能不代表真的具备了智力, 只是通过一些辅助手段来达成了一定程度的自动化. 例如, 当一个程序具备以下行为特点时, 他可能是:
开机启动, 设置全局挂钩, 链接网络远程地址上传本地文件, 向用户文件夹写入文件.
A) 恶意软件 B) 非恶意软件
不知道各位会选择什么呢? 事实上, 这可能是一款盗号木马, 但同时也可能是 QQ. 于是我们需要辅助手段来判断, 我们需要检查文件是否具备可信任的数字签名, 当然, 数字签名也不能保证程序一定安全, 只是一般具备合法数字签名的程序都表明其来自正规公司, 基于正规公司不太会干缺德事这么一个观点, 所以大多数行为防御软件会认为此软件是可信任的. 同时我们需要更新白名单, 对于一些和恶意软件存在交叉的非恶意软件, 我们需要给他颁发 "良民证", 免得因为他长的贼头贼脑的被我们错抓错杀. 但是即使加上了许多辅助判断手段, 依旧无法完全避免对无恶意软件的误报, 而由此导致的恐怖问题是, 有时候用户会错误的将一些正确的报警当做误报, 特别是在钓鱼网站愈演愈烈的今天, 用户可能从钓鱼网站下载了恶意的仿冒程序而浑然不知, 甚至将杀毒软件的报警误认为是误报.

绕了那么大一个圈子, 那这和金山毒霸, 或者更具体一点, 和金山毒霸 2010 Beta 有什么关系呢? 的确, 大家从截图中都没发现金山毒霸 2010 Beta 中有主动防御的字眼或者类似的功能, 我用了一会儿也暂时没发现. (当然, 类似清理专家 2.7.5 那种系统防火墙也是访问控制功能的一种体现, 不过看大家都不认同他为主动防御, 那这里我也就先忽略他了...)

对于金山毒霸, 该不该搞主动防御呢?

如果问我这个问题, 我的回答会是: 应该要搞, 但不是现在其他厂商所搞的这种主动防御. 具体来说, 类似主动防御的访问控制和拦截功能在客户端需要有, 但是不一定需要做成现在其他厂商所提供的那样子.现在的访问控制或者说主动防御功能管得太宽, 对于向特定位置写入文件, 创一个服务, 修改某个注册表键值, 这些都要考虑的话对于用户的承受力是个挑战, 同时这些可能恶意也可能非恶意的行为判断起来太模棱两可. 我觉得, 主动防御, 搞得就是精确. 精确是指什么呢? 注册一个服务, 许许多多的程序都会这样干, 为了获得高权限, 为了自动启动, 目的各式各样. 但是试图结束杀毒软件进程, 这一个行为指向性和目的性很高, 除了用户通过 taskmgr 或者其他进程管理器主动执行这项操作之外, 其他所有试图结束杀毒软件进程的企图和程序都可以被认为带有恶意.

金山毒霸需要怎么样的主动防御?

都说主动防御不是救世主, 这句话大家都认同, 但不是救世主, 不意味着主动防御不行, 而是说主动防御不能解决所有问题. 而基于这个观点, 在当前技术手段的限制之下, 我们可以退而求其次, 不要求主动防御大包大揽, 具备对超 9 成的恶意软件都具有识别功能, 因为这样不可避免的要引来较多误报. 在我看来, 目前金山毒霸需要的, 是一个精确的行为防御功能, 他不需要对设置全局钩子, 注入其他进程, 读写其他进程内存空间之类模棱两可的行为作出反应, 不需要通过对一连串常见操作进行权衡来报一个可能恶意但也可能非恶意的程序. 需要的有所响应的只是一些精确的行为, 比如尝试结束杀毒软件的程序, 比如在 HOSTS 中屏蔽杀毒软件厂商地址. 这样, 我们或许只获得了 10-20% 的检测率提升, 但是我们也有效规避了日常使用中可能存在的误报, 提高了报警的可信度.

同时, 对于那些模棱两可的行为也并不是完全不理会, 我们可以记录这些模棱两可的访问动作但不给予拦截或提示, 只是后台记录并计算一个权重值, 当达到可疑标准时, 不需要报告用户说发现可疑程序, 而仅仅只是为这个程序添加较高的优先级将其反馈给云端(也就是服务器), 通过云端以更详细更可靠的方式(往往也伴随着更大的系统开销)进行的分析后再反馈这个程序的具体信息, 由此得知, 它是否可疑. 乍一看这套反馈机制和普通的后台上报没有区别, 但同样他也做到了更精确. 一个具备多种敏感行为的程序, 它存在风险的概率显然要高于其他仅具备一个敏感行为或者没有敏感行为的程序, 将威胁性较高的程序优先分析, 这是对云端计算资源的有效利用, 同时也是将分析筛选机制部分前移到客户端的一种表现.
作者: lsj301     时间: 2010-1-2 20:00
我也看的模棱两可.
作者: HomeSGerMine     时间: 2010-1-3 09:29
金山对主动防御理解错了,他认为是UAC或者是Hips,其实不是,看来有些人的理解能力还是不敢恭维的
作者: 化外愚民     时间: 2010-1-3 11:08
金山的软件也是分好几个块的。wps这一块的气氛还是不错的,安全软件这一块气氛不好,感觉文革式思维太严重。好几年前,我就被他们的管理员说成是枪手,和他们辩解,他们根本就不讲理,说你是你就是了。
作者: xlht123     时间: 2010-1-3 16:04
本人只知道能帮我防住病毒、杀掉病毒的软件就是好软件,至于它使用的哪种办法本人不懂也不想去弄懂。
作者: hw2619     时间: 2010-1-3 18:21
见解不同而已,总之能防住病毒,能杀毒就是好的
作者: 狙击virus     时间: 2010-1-3 20:30
给自己至今没有主动防御功能的借口而已。

他对主动防御整个体系的理解还处于非常低的阶段。
作者: 专业路过     时间: 2010-1-4 01:54
金山的主动反应,搜狗输入法太了解了心意了,
作者: langzi2009     时间: 2010-1-4 15:02
能防未知病毒未必就是主动防御,只要能防就行管它什么主动不主动的!

主动防御真的那么好么?不见得,能杀未知病毒的技术多了去了!

不是金山没能力搞主动防御,而是人家不需要搞主动防御。

大蜘蛛没有主动防御,人家照样杀毒厉害,不论未知还是已知!~~

未必非要赶时髦搞什么主动之类的!

杀毒软件的技术日新月异,技术不断的突破创新!

各个厂商的思路也不同,只要有好的技术,能杀毒就行!包括未知和已知!

人家干嘛非要搞主动防御呢?麦咖啡、大蜘蛛、不需要主防就能杀毒防毒,熊猫烧香等所谓的未知病毒当时不也在它们面前倒下了么!

[ Last edited by langzi2009 on 2010-1-4 at 15:25 ]
作者: 狙击virus     时间: 2010-1-4 17:58
熊猫烧香在安软面前倒下了?  楼上的没睡醒吧   

当时熊猫烧香的频繁更新,安软都睡觉去了。

要不是通过法律手段才平息了这场风波,真不知道危害能有多大。
作者: langzi2009     时间: 2010-1-4 20:19


  Quote:
Originally posted by 狙击virus at 2010-1-4 17:58:
熊猫烧香在安软面前倒下了?  楼上的没睡醒吧   

当时熊猫烧香的频繁更新,安软都睡觉去了。

要不是通过法律手段才平息了这场风波,真不知道危害能有多大。

.......................楼主说反了吧?熊猫烧香没那么厉害!
作者: 龙龙007     时间: 2010-1-5 06:38
熊猫烧香是不厉害,但瑞星 江民 金山瘫痪了,还在出专杀,后来李俊被抓才算完。呵呵
作者: 化外愚民     时间: 2010-1-5 09:50


  Quote:
Originally posted by langzi2009 at 2010-1-4 15:02:
能防未知病毒未必就是主动防御,只要能防就行管它什么主动不主动的!

主动防御真的那么好么?不见得,能杀未知病毒的技术多了去了!

不是金山没能力搞主动防御,而是人家不需要搞主动防御。

大蜘蛛没有主 ...

麦咖啡含hiips模块,这得需要经验比较丰富的用户才好操作的,因此,不是麦咖啡能防熊猫烧香,而是hips的那种功能防的,确切地说,是用户自己防的(这样的用户不用麦咖啡也照样能防住,因此,和卖咖啡本身没啥关系了)。至于启发式扫描占资源太大,比如说卡巴默认就是不开启的(尽管如此也是很“卡”的),在不开启的情况下也是防不住熊猫的。

目前来说真正的主防,只有微点。金山不需要搞主动防御?可熊猫来时它也倒了啊。

[ Last edited by 化外愚民 on 2010-1-6 at 09:09 ]
作者: jackybaby     时间: 2010-1-5 10:31
哈哈,这个我亲身经历过的,熊猫当时很牛啊,除了微点外,全部束手无策,我当初用的就是麦咖啡,遇到熊猫的前身威金,立刻就挂了,一怒之下转用微点,后来熊猫肆虐时全公司电脑安然无恙。  虽然能捉住老鼠就是好猫,但原理先进的东西效果就是好。
作者: xiaomeng308     时间: 2010-1-6 23:02
看晕了
作者: dianshengmi     时间: 2010-1-9 14:07
当时熊猫烧香的频繁更新,安软都睡觉去了。




欢迎光临 微点交流论坛 (http://bbs.micropoint.com.cn/) bbs.micropoint.com.cn