微点交流论坛
» 游客:  注册 | 登录 | 帮助

 

作者:
标题: 建议微点的扫描加入智能算法技术
mumaniu
高级用户





积分 664
发帖 658
注册 2008-12-6
#1  建议微点的扫描加入智能算法技术

360推出QVM智能引擎后,一石激起千层浪,赞赏者有之,质疑者有之。今天我就来谈谈我对这个智能引擎的一些不成熟看法。     
    为了识别病毒,反病毒手段在不断改进,从最初的简单特征码,到复合特征码、广谱特征码,到虚拟启发,到行为判定,经历了不少阶段(具体可参见此文:http://bbs.kafan.cn/thread-866036-1-1.html)。今天让我们跳出这些个条条框框的思维限制,让我们从根本上来思考一下,这样一个问题:区分病毒文件和正常文件,究竟靠的是什么??

      我反复思考,得出一个自认为正确的答案:difference,也就是差异、不同。 只有靠发现病毒文件和正常文件的difference,才能识别出病毒文件。这一点是我讨论的理论基础。纵观特征码,启发,还是行为,实质上都是在找出差异:病毒文件和正常文件行为上的差异,文件代码上的差异。所谓特征码,其实就是病毒和正常文件的差异特征代码罢了。
     找到了问题的本质,解决问题的方法也就千变万化了。     

     于是,有人就想到,既然是找出差异,那能不能利用搜索引擎广泛使用的一些智能算法来完成目标呢?搜索引擎需要完成的任务和我们的反病毒任务有很多相似之处:1、都是海量文件的分析  2、都是去寻找特定特征的目标。设想就这样确立了。
   
     我为了使介绍更通俗易懂,先介绍一个广泛运用于拦截垃圾邮件的智能算法——贝叶斯算法。贝叶斯是基于概率的一种算法。是Thomas Bayes:一位伟大的数学大师所创建的,贝叶斯过滤器是基于自我学习的智能技术,能够使自己适应垃圾邮件制造者的新把戏。
   我就不讲述复杂的算法步骤,我就举一个实际例子,让大家知道,贝叶斯算法是如何去区分垃圾邮件和正常邮件的。


   例:一封含有 “ *** ” 字样的垃圾邮件 A 和一封含有 “ 法律 ” 字样的非垃圾邮件 B 。 根据邮件 A 生成 哈希表(坏),该表中的记录为

  法: 1 次

  轮: 1 次

  功: 1 次

  计算得在本表中:

  法出现的概率为 0.3

  轮出现的概率为 0.3

  功出现的概率为 0.3

  根据邮件B生成哈希表(好),该表中的记录为:

  法: 1 次

  律: 1 次

  计算得在本表中:

  法出现的概率为 0.5

  律出现的概率为 0.5

  综合考虑两个哈希表,共有四个 字符串:法 轮 功 律

  当邮件中出现“法”时,该邮件为垃圾邮件的概率为:

  P = 0.3/ ( 0.3 + 0.5 ) = 0.375

  出现“轮”时,该邮件为垃圾邮件的概率为:

  P = 0.3/ ( 0.3 + 0 ) = 1

  出现“功”时,该邮件为垃圾邮件的概率为:

  P = 0.3/ ( 0.3 + 0 ) = 1

  出现“律”时,该邮件为垃圾邮件的概率为:

  P = 0/ ( 0 + 0.5 ) = 0

  由此可得第三个哈希表 hashtable_probability (也就是数据库文件),其数据为:

  法: 0.375

  轮: 1

  功: 1

  律: 0

  当新到一封含有“功律”的邮件时,我们可得到两个字符串:功 律

  查询哈希表 hashtable_probability 可得:

  P (垃圾邮件 | 功) = 1

  P (垃圾邮件 | 律) = 0

  此时该邮件为垃圾邮件的可能性为:

  P= ( 0*1 ) /[0*1+ ( 1-0 ) * ( 1-1 ) ] = 0

  由此可推出该邮件为非垃圾邮件。
   从这个例子我们可以看出,贝叶斯算法是先通过对垃圾邮件和正常邮件的“学习”,得出模型数据(即上例中的哈希表 hashtable_probability),然后利用模型数据,去区分新的垃圾邮件。显而易见,学习的越多,模型数据越大,则最终的鉴别结果也就越准确。

    而QVM使用的也是类似的技术,即利用一套智能算法(当然并不是上例中的贝叶斯算法,而是一种独创的算法)学习海量的病毒文件以及正常文件,得出数据模型(也就是分发到客户端的MDF文件),最后利用模型数据区分新的病毒。为什么说QVM是智能引擎??并不是说QVM,具有人类的智能和情感,而是指这套算法是可以不断归纳总结新的数据模型,不断适应新的病毒变化。
   
   从上述可以看出,这类技术有明显的优点:
    1、只要算法得当,完全可以自我学习,减少的人力成本。
    2、对病毒的变形,加密,加壳,具有良好的效果
    3、病毒编写者完全不知道你的算法是如何去区分病毒的,定位特征也就无从谈起了
   也可以看出,明显的缺点:
    1、对算法,数学功底要求高,如果算法不行,效果大打折扣
     2、对和正常文件特征较近的流氓软件,不易区分。
    3、要求具备海量的病毒和白文件库,以供算法学习。若数量过少,则效果大打折扣。



智能算法扫描技术应该是新扫描技术更实用

※ ※ ※ 本文纯属【mumaniu】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2010-12-22 22:54
查看资料  发送邮件  发短消息   编辑帖子
mumaniu
高级用户





积分 664
发帖 658
注册 2008-12-6
#2  

往往搞程序的算法不行,会算法的程序不行?
而且算法高手往往都被搜索公司收罗,人家不涉足反病毒领域啊?

※ ※ ※ 本文纯属【mumaniu】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2010-12-22 23:00
查看资料  发送邮件  发短消息   编辑帖子
littlefritz
版主

微点帮帮团团长


积分 3505
发帖 3502
注册 2009-5-23
来自 微点帮帮团
#3  

您好。感谢您的建议,已被+2分奖励。

※ ※ ※ 本文纯属【littlefritz】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

2010-12-22 23:54
查看资料  发送邮件  访问主页  发短消息  QQ   编辑帖子
kgbfbi
新手上路





积分 8
发帖 8
注册 2010-11-22
#4  

真是大开眼界啊,难怪卡巴的反垃圾邮件要学习呢,我开始还以为是骗人的,原来真有其事啊!!!

※ ※ ※ 本文纯属【kgbfbi】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2010-12-25 01:27
查看资料  发送邮件  发短消息   编辑帖子
高清直播
注册用户





积分 56
发帖 56
注册 2010-12-20
#5  

楼主太厉害了!去微点应聘吧!他们一定会高薪聘用你的!

※ ※ ※ 本文纯属【高清直播】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2010-12-25 11:47
查看资料  发送邮件  发短消息   编辑帖子
childjian
新手上路





积分 48
发帖 48
注册 2010-12-10
#6  

牛X的人很多啊

※ ※ ※ 本文纯属【childjian】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2010-12-26 15:53
查看资料  发送邮件  发短消息   编辑帖子



论坛跳转:

可打印版本 | 推荐 | 订阅 | 收藏


[ 联系我们 - 东方微点 ]


北京东方微点信息技术有限责任公司 福建东方微点信息安全有限责任公司

闽ICP备05030815号