查看: 9203|回复: 51
收起左侧

[其他] 浅谈杀软检测技术

  [复制链接]
飞霜流华
发表于 2011-12-19 00:35:23 | 显示全部楼层 |阅读模式
本帖最后由 飞霜流华 于 2012-9-10 00:26 编辑

杀毒软件的检测技术历经长时间发展,已经由最基本的特征码查杀发展到了启发、云、甚至人工智能,今天,我们就来讲讲历史,看看各种检测技术。
本文分为传统杀毒引擎、云查杀以及现在炙手可热的人工智能引擎,部分内容可能有偏差,欢迎指正。
另外,感谢姐夫童鞋的部分资料


传统杀毒引擎检测手段,主要分为特征码检测、基因扫描和启发式扫描(不同的人观点会有些偏差,稍后我会解释)。

一、特征码检测
特征码又称电脑病毒特征码,它主要由反病毒公司制作,一般都是被反病毒软件公司确定为只有该病毒才可能会有的串一串二进制字符串,而这字符串通常是文件里对应代码或汇编指令的地址。杀毒软件会将这一串二进制字符串用某种方法与目标文件或进程作对比,从而判定该文件或进程是否感染病毒。
一个特征码对应一个病毒。

二、基因扫描(广谱特征查杀)
简而言之就是使用一个基因码来查杀一个家族的病毒,使用的载体仍然是“特征码”,但是一个“特征码”对应的是一系列的病毒。(比如MSE等杀软的广谱)
在这里,特征码的获取不可能再是简单的取出一段代码来,而是分段的,中间可以包含任意的内容(也就是增加了一些不参加比较的“掩码字节”,在出现“掩码字节”的地方,出现什么内容都不参加比较)。这就是曾经提出的广谱特征码的概念。

三、启发式扫描
一般正常程序和病毒是有很明显的区别的,而这个区别对于熟练的技术人员显而易见,启发,正如其名,将人识别的病毒的能力移植到了杀软中。
启发式扫描是通过分析指令出现的顺序,或特定组合情况等常见病毒的标准特征来决定文件是 否感染未知病毒。因为病毒要达到感染和破坏的目的,通常的行为都会有一定的特征,例如非常规读写文件,终结自身,非常规切入零环等等。所以可以根据扫描特 定的行为或多种行为的组合来判断一个程序是否是病毒。

启发分为动态启发和静态启发:
①动态:最常见的就是虚拟机。模拟一个虚拟的环境(虚拟CPU、驱动、硬件等),让程序在其中运行,然后观察其行为,从而判断其是否是病毒。
②静态:就是通过对静态的代码指令序列进行反编译,来了解一个程序的真正动机。(就像做题,正面推导不行了,从反面进行论证一样)。
其中,动态启发又被称为行为判定。

以上三种分类也只是大概的分法,也有人坚持基因查杀要归入特征码,也有人说基因也算广义的启发,目前没有完整的统一定义,自己了解就好。


云查杀:这里取国内的两家厂商做代表进行介绍(金山和360),本来想找一些熊猫云的资料,时间仓促,未能如愿,抱歉~

360云: 360云首先是依据 MD5的黑白名单,在白名单里就直接报安全,在黑名单就直接爆出具体病毒名称,如果都不在黑白名单里,那么则看他是不是伪装成了一些常见的应用程序,如果都没有,那么就交由云端分析。

金山云:微特征查杀【据姐夫论证,原型为fuzzy hash(模糊哈希)算法,感谢姐夫的资料】
金山的微特征提取的专利描述摘要:
本发明涉及计算机杀毒软件领域,尤其涉及一种对病毒文件自动提取特征的方法和装置。对病毒文件自动提取特征的方法,在病毒文件中选取N个适合提取病毒特征的固定位置,每个固定位置分配一个位置ID号,以其中M个固定位置的位置ID号和这M个固定位置所对应的特征值作为病毒特征;所述特征值是指以某个所述固定位置为起点,取长度为L的一段二进制数据来计算的HASH值;其中N≥2,M≥2且M≤N,L>0。本发明方法和装置所提取的病毒特征大大提高了文件扫描的速度;而且可以用一个病毒特征匹配大量的相似或者相同的病毒文件。
基本流程:确定分块位置并记录——分块——对每个分块计算哈希值——结果比较。

附:哈希算法:
哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。
哈希算法是用来产生一些数据片段(例如消息或会话项)的哈希值的算法。使用好的哈希算法,在输入数据中所做的更改就可以更改结果哈希值中的所有位;因此,哈希对于检测数据对象(例如消息)中的修改很有用。此外,好的哈希算法使得构造两个相互独立且具有相同哈希的输入不能通过计算方法实现。典型的哈希算法包括 MD2、MD4、MD5 和 SHA-1。哈希算法也称为“哈希函数”。
通过将单向数学函数(有时称为“哈希算法”)应用到任意数量的数据所得到的固定大小的结果。如果输入数据中有变化,则哈希也会发生变化。哈希可用于许多操作,包括身份验证和数字签名。也称为“消息摘要”。

金山30核云鉴定器
30多款鉴定器 不是30多个杀软。是分工不同的鉴定器,有的鉴定器是专门鉴定网购木马,有的鉴定器专门鉴定感染型 等等。流水化的作业是效率最高的方式。
30多款云鉴定器都是自主研发的,你可以理解一个鉴定器可以是一个病毒分析师,他最擅长分析某个模块,他会把他擅长的经验做成自动化的鉴定器,每天不停的运营,优化。
后台当然也还有同行的几款杀软对每天鉴定的样本检测率进行对比(同行的杀软的结果只可以算一个参考,仅仅做的是和自己鉴定的数据样本做比较)



其他:

QVM人工智能引擎

QVM人工智能引擎是 Qihoo Support Vector Machine 的缩写。它采用人工智能算法,具备“自学习、自进化”能力,无需频繁升级特征库,就能清除病毒。
简单的说360的人工智能引擎就是在海量病毒样本数据中归纳出一套智能算法,自己来发现和学习病毒变化规律。
这类技术有明显的优点:   
1、只要算法得当,完全可以自我学习,减少的人力成本。   
2、对病毒的变形,加密,加壳,具有良好的效果。  
3、病毒编写者完全不知道你的算法是如何去区分病毒的,定位特征也就无从谈起了。   
也可以看出,明显的缺点:   
1、对算法,数学功底要求高,如果算法不行,效果大打折扣。   
2、对和正常文件特征较近的流氓软件,不易区分。   
3、要求具备海量的病毒和白文件库,以供算法学习。若数量过少,则效果大打折扣。



评分

参与人数 3经验 +35 人气 +3 收起 理由
我爱熊猫 + 5 版区有你更精彩: )
心的轨迹 + 3 抱歉,求助请到综合区
forgotten + 30 原创内容

查看全部评分

forgotten
发表于 2011-12-20 18:32:14 | 显示全部楼层
MSE貌似是静态启发吧
飞霜流华
 楼主| 发表于 2011-12-20 19:47:59 | 显示全部楼层
forgotten 发表于 2011-12-20 18:32
MSE貌似是静态启发吧

有动态,但是不强
forgotten
发表于 2011-12-20 20:11:19 | 显示全部楼层
飞霜流华 发表于 2011-12-20 19:47
有动态,但是不强

其实,QVM引擎,可以参考http://bbs.kafan.cn/thread-867712-1-1.html
飞霜流华
 楼主| 发表于 2011-12-20 20:20:52 | 显示全部楼层
forgotten 发表于 2011-12-20 20:11
其实,QVM引擎,可以参考http://bbs.kafan.cn/thread-867712-1-1.html

我看过那个贝叶斯算法本来打算写进去的,不过想想这个老头,就来气。。。
另外,姐夫文章的最后,和我在度娘上查到的相似,就没引用
tangjquan
发表于 2011-12-28 10:47:04 | 显示全部楼层
学习下了
sasalemma
发表于 2011-12-28 13:06:27 | 显示全部楼层
先收藏科普下、话说本来想人气+1、权限不够、感谢分享~
羚骑士史昂
发表于 2011-12-28 15:14:46 | 显示全部楼层
很好的扫盲贴
mystunner
发表于 2012-1-1 19:42:42 | 显示全部楼层
私以为特征码等太过依赖病毒库,对未知新病毒木马等难以防范

启发式扫描基本就是虚拟模拟,资源占用和耗时十个问题

云,不是很了解,但还是依赖网络,搞不好就是病毒库不在本地了而已

评分

参与人数 1经验 +1 收起 理由
forgotten + 1 鼓励交流

查看全部评分

cyberarmy
发表于 2012-1-1 19:56:06 | 显示全部楼层
QVM这个的介绍不错,以前一直都不了解数字的QVM究竟是什么东西,只是知道查杀率比较厉害。
现在我用熊猫云1.9和Emsisoft Anti-Malware,一个主要是云,另外一个是Ikarus+Emsisoft引擎和Mamutu智能HIPS。感觉不错。

之前翻译了个诺顿的技术开头,但是好像没啥人看所以就没继续了,其实诺顿包含的各种技术也极其牛,但是却不像其他软件到处宣传。

评分

参与人数 1经验 +1 收起 理由
forgotten + 1 鼓励交流

查看全部评分

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-26 11:39 , Processed in 0.139154 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表