作者KotoriCute (Lovelive!)
看板AntiVirus
标题[讨论] 2017各款防毒软体技术原理剖析 (70分组)
时间Sat May 27 02:43:44 2017
在巴哈看一篇关於各家防毒软体的技术分析文章就转过来
如果有转载需求请记得附上以下原始网址
※本文发布於巴哈姆特电应板以及部落格 IT Works,转贴请附上原文连结
https://forum.gamer.com.tw/C.php?bsn=60030&snA=463208&s_author=ts00937488
--
https://i.imgur.com/75XGgWn.png
Qihoo 360(75分):声名狼藉,却也是被最多人误解的一款防毒软体。解说原理前,必
须先替360澄清几点:
1.360国际版没有任何流氓和广告,甚至连弹窗都没有(在这个意义上比免费3A乾净多了
)。真的不放心,可以从微软的市集上下载,有通过微软认证
国际版地址:
https://www.360totalsecurity.com/zh-tw/features/360-total-security-essential/
2.2015年传出360在国际评测中作弊,导致许多不明事理的台湾乡民落井下石。如果对360
的防毒技术稍有研究以及翻阅正反两面的文章,会发现 AV-C 对360的指责有可议之处。
简单来说,360内建三种查杀引擎,分别是自家的 QVM、Avira、Bitdefender,使用者在
安装後可以自行设定要选择哪些引擎。
AVC 撤销360认证的理由是:「360仅在测试版本默认开启 BitDefender 引擎」
再来看看360的解释:「我们配备多引擎的目的,是为了针对不同国家和地区的特点,可
以进行引擎的灵活选择使用,以保证防护效果的最大化,比如 BD 是欧洲引擎,在欧洲病
毒木马的查杀有优势,而 QVM 和我们自己的云引擎针对中国地区比较好。三个引擎都配
置,在不同国家和地区有不同的默认配置,用户自己也可以选择。因为 AV-C 的评测标准
偏向欧美,所以我们的参测版本默认开启 BD 引擎,而对於中国用户我们推荐 QVM 引擎
」
一个简单的例子:游戏外挂、破解器在中国有上亿人使用,一些外挂甚至是游戏官方许可
的,如果这些软体本身无害,中国的防毒不会对其查杀。但是在欧洲,外挂和破解器统一
被定义为恶意软体,中国防毒在参加欧洲地区评测时,必须根据当地标准调整引擎和云查
杀策略
再来就是360并不是第一天参加 AVC 的评测,早在2010年时就有参赛纪录,而且对於参加
评测的版本与中国的版本略有差异也早就告知。五年的时间不见 AVC 有任何异议却在
2015年4月30日突然就取消认证,不给360任何答辩机会(5月1日是中国的五一假期,AVC
撤销认证後只给奇虎40分钟的答覆时间,一般来说对於评测有异议,都会给予参选企业24
小时作出回应,再考虑到中国与奥地利的时差,等於根本不给360任何答覆机会),此举
不符合国际评测机构的常规。总之这件事有太多吊诡之处,不能只看一方面的说法
还有就是,360只退出了AVC,另外两家评测 VB100、AV-Test 依然有360最新的成绩(中
国版)
https://i.imgur.com/GJbx5zl.png
https://i.imgur.com/5CSvqNT.png
这边有一段影片是测试360全引擎与单纯自家的云扫成绩的差别,可以看出其实相差不大
,奇虎绝对不是因为自家的 QVM 上不了台面才会在 AVC 只开 BD 引擎
https://www.youtube.com/watch?v=6jVoIauQYRY
全引擎 v.s 纯云扫
并不是我要帮360护航,以上两点说明是希望,评价防毒应该从技术面的角度去切入,尽
量减少先入为主的主观意识。下面就来剖析我为什麽觉得360值得大家一试
https://i.imgur.com/xVrAh79.png
当发现威胁时,360会将文件由四种扫描引擎做检查。在本地有 Avira、Bitdefender 引
擎基於特徵库的查杀;同时云端也会做初步的 MD5、Hash 判断,若在白名单直接放行,
黑名单拉黑;除了上述的云拉黑以及两个本地 OEM 引擎,第四种就是 QVM 人工智慧引擎
,它不利用特徵库以及传统启发判断,也不像主防会持续监控程式行为,而是一套智能算
法,会从云端收集到的资料不断「自我学习」最新病毒的行为模式。听起来很神奇吧?其
实目前基於大数据发展 AI 的厂商越来越多,像卡巴斯基的 KSN 就是一例。但 QVM 推出
的时间是在2010年,远比任何防毒使用 AI 的时间点都还要早,也是第一套在个人版防毒
以人工智慧为主要查杀手段的厂商
上面介绍了这麽多种识别病毒的方式,从传统的特徵码、复合式特徵码、静态动态启发、
主防行为判断。我们先跳出这些技术上的思维限制,从根本上思考一下:
区分病毒和正常
文件,靠的究竟是什麽?
其实答案很简单,那就是
difference,也就是差异、不同。只有发现病毒和正常文件的
difference 才能识别出病毒。综观特徵码、启发、行为判断,实质上都是在找出差异。
所谓的特徵码也就是在找病毒和正常文件在代码上的差异罢了
找到了问题本质,解决问题的方法也就千变万化了
於是有人想到,既然是找出差异,那能不能利用搜寻引擎广泛使用的一些智能算法来完成
目标呢?搜寻引擎需要完成的任务和防毒有很多相似之处:1.都是海量文件的分析;2.都
是去寻找特定特徵的目标
为了解说更浅显易懂,先介绍一个广泛用於拦截垃圾邮件的人工智慧算法 — 贝叶斯算法
。贝叶斯是基於统计学的一种自我学习过滤器,它能够区分正常邮件和垃圾邮件之间的差
别,我举一个例子:
一封含有 “ 法轮功 ” 字样的垃圾邮件 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 也是使用类似的技术(当然不是贝叶斯算法,而是360自己研发的算法),海量学习
病毒和一般正常档案之间的行为差异,得出数据模型,再将模型分发到用户端,防毒软体
再根据模型区分病毒
优点:
1.对新变种病毒识别率高。 QVM 一个月不更新,检出率降幅不会超过10%,半衰期为6个
月
2.模型数据由云端推送保存到本地,不怕断网(仅中国版有完整离线 QVM 模型;国际版
只有简单的索引库,依然需要连网才能发挥 QVM 的效果)
3.不怕加壳、免杀。传统特徵都是用 MD5 做匹配,可以被轻易修改;QVM 是直接对样本
做全局运算,较难被规避
4.俱备自我学习机能,维护成本低
缺点:
1.算法的优劣影响到效果,不好的算法将大打折扣
2.不易区分正常文件和 PUA、PUP 之间的差别
3.没有完美的算法,不可避免存在学习死区,造成误报可能
这类 AI 也算是启发式技术,我们知道所谓的启发就是反编译、模拟人工分析病毒的过程
,通常本地扫毒引擎的启发都是通过 PE 识别法、入口点监测、API 调用等等,只能算是
浅层的启发应用;而人工智慧顾名思义,会从样本不断的累积学习、自我进化,技术含量
与传统启发不在一个档次。除了QVM,卡巴的 KSN、红伞的 APC、迈克菲的月神都是云启
发。然而不代表 AI 就一定好过传统启发,现阶段 AI 局限於算法的精度和样本数量,都
会带有一定的误报;相对的本地启发技术成熟、误报少也不依赖云,不少防毒都是本地+
云启发相互配合达到最大的查杀效果
QVM 是 Qihoo Support Vector Machine (奇虎支持向量机)的缩写,具体细节可以参见
Vapnik 着作的机器学习经典《Statistical Learning Theory》
统计学习理论 WIKI
https://zh.wikipedia.org/wiki/统计学习理论
支援向量机 WIKI
https://zh.wikipedia.org/wiki/支持向量机
机器学习 WIKI
https://zh.wikipedia.org/wiki/机器学习
当病毒通过了网页防护到达了本地,又过了含 QVM 在内的引擎扫描,是不是就没办法阻
止了?现在要谈的就是最後一道防线360的智能 HIPS
当执行360无法识别的程式时(不在黑白名单+QVM 不杀),就会开始记录这个程式一切行
为动作,然後将这些数据上传到云端的规则分析器来判断是不是恶意行为。至於为什麽说
它智能,要知道360全球有近5亿的用户数,面对这些庞大的使用者,当然不可能跟
Comodo 一样让用户自己打磨规则
首先白名单是不可避免的,凡是在白名单内的程式多数行为都会放行,减少误报率;再来
360的规则是基於海量的云端数据分析出来的一套智能判断逻辑,只有高风险的行为才会
提示阻止;最後是易用性,如果有用过手动 HIPS 应该知道 services.exe 添加服务是一
件郁闷的事,所有程式添加服务都会呼叫 services.exe 写入对应的注册表,要不要阻止
只能看到底创建了什麽服务项目,如果判断错误就会导致添加失败或无法拦截。360使用
RPC 解析技术可以精准的报出到底是哪个程式添加了什麽服务,服务指向的执行档又是
哪一个,而且用简单的白话告诉你这些动作是在做什麽:例如 chrome.exe 修改预设浏览
器、增加开机启动项。使用者不用去理解注册表的内容,只要从程式的行为来判断即可
https://i.imgur.com/KME0m3m.png
360是少数有网页防护以及下载防护的免费防毒,凭藉着360在中国有4亿的装机量,它的
信誉库可谓是亚洲最大,对亚太区的恶意网站有相当好的拦截率;但是有一些缺点,你必
须安装它的浏览器套件才能发挥防护作用,不像部分防毒是直接对全局进行流量扫描,不
需依赖套件;另外它的 Firefox 套件已经很久没更新了,在64位元的火狐上不起作用
https://i.imgur.com/l5Yer75.png
做个总结,360的防御系统由三道防线构成
1.全亚洲最大的网页信誉防御
2.四种引擎(含QVM)的特徵库+启发扫描
3.智能化的 HIPS
与80分以上的防毒相比缺点也很明显:没有主防无法回滚(中国版360支持回滚,国际版
不确定)、没有 Exploit Prevention 模块、没有防火墙、没有流量扫描。但不要忘了它
只是款免费防毒,在兼顾易用性的前提下依然有相当出色的防护能力,而且程序轻巧不卡
机
你不相信?来跟付费最强的比特梵徳比较看看
https://www.youtube.com/watch?v=JqP2bwor27E
BitDefender v.s Qihoo 360
网页防护、钓鱼网站拦截率都是360小赢比特梵徳,文件扫描更是大胜1.4倍(201:139)
,直到本地双击 BD 才扳回一城(归功於鬼畜的 ATC 主防)
https://i.imgur.com/sijKWsD.png
https://i.imgur.com/d261SLS.png
https://i.imgur.com/BwgY5qB.png
它还有一个沙箱,但因为不俱备自动入沙功能就不介绍了
个人私心认为,360是目前免费智能防毒首选之一
https://i.imgur.com/ayR9rLQ.png
ESET(75分):过去 ESET 给人轻巧但查杀强大的印象,虽然随着改版功能的增加不再小
巧,却同时提供了丰富的自订性。ESET 的优势在於高启发和基因库,进阶的使用者可以
用 HIPS 和防火墙自订规则,达到不下於 CIS、BD 的防护水准
关於启发已经讲解多次了,不再赘述。我们只要知道 ESET 是最早使用启发的防毒厂商之
一,虽然时到今日每家防毒都带有启发技术,可是水平各不相同,多数还是必须配合传统
病毒码才能有水准以上的检测率;而 ESET 号称「启发之王」,在启发上投入的心血、累
积的经验都比其他厂商多,甚至有自己独创的启发式—进阶启发式,针对高阶语言(Java
、C、C++、C#)编写的程式优化过的反编译器,能更准确的读出程序指令
ESET 另一个强项是基因检测,所谓的基因就是防毒分析多种同类病毒後,提取出相似特
徵,只用一条定义就可以杀多个样本。通常来说俱备基因功能的防毒都有独立的基因库,
ESET 厉害在於它直接用病毒库代替基因库,利用演算法识别出相似病毒。若开启了「进
阶启发式/DNA/智慧型签章」选项会同时用进阶启发、基因来监控系统提升检测率。ESET
很少有拉黑报法,真的要说只有云杀 Suspicion Object 才是 ESET 的拉黑,所以 ESET
本地病毒库体积很小,只要启发和基因能辨别出来的样本都是不入库的
https://i.imgur.com/D35i9bd.jpg
「潜在的不安全应用程式」「潜在的不需要应用程式」这两个项目建议一般人关闭,如果
开了就会出现 PUP/PUA 报法(potentially unwanted Program/Application)。像是
CCleaner、格式工厂都会被拦阻,因为 CC 安装程式里面有 Google 浏览器的推广,虽
然不是强制安装,但是捆绑推广就属於可能不需要的程式 。这里给出 ESET 对 PUA 的定
义:
.以前没见过的新视窗(弹出视窗、广告)
.启动并执行隐藏的进程
.系统资源的使用增加
.搜索结果发生改变
.应用程式会与远端伺服器通讯
而潜在不安全通常都是报破解软体,因为多数破解会带有类似间谍软体的行为
报 PUP/PUA 不代表就是病毒,然而一般使用者看到防毒弹窗大概都会觉得有毒或者误报
,所以这边建议关闭
https://i.imgur.com/CifnJfH.jpg
ESET 没有主防,但是有 HIPS 可以自订义规则,预设共有五种模式:自动模式、智慧型
模式、互动模式、原则型模式、学习模式
.自动模式,基本的系统保护规则+自定义规则根据阻止>允许>询问的顺序执行,若遇到
规则中没有的项目则会默认放行
.智慧型模式,大体同自动模式,除此之外还会查询 ESET 云信誉和监控 HOST 文件修改
,弹窗稍多
.互动模式,除了规则外的一率弹窗询问
.原则型模式,规则外的默认全部阻止
.学习模式,所有行为放行并将目前操作创建白名单规则
确认自己电脑是乾净的前提下,可以开启学习模式一至两天,把常用的程式执行一遍,之
後再转互动模式(适合有经验的使用者);至於自动模式和智慧型模式说实在没多大用处
,预设的规则只保护重要系统文件,其它行为基本不拦,虽然有云信誉但资料规模不如卡
巴之流,无法做到智能分组。小白用户开自动模式就好,但不要期待有多大的防护效果
https://i.imgur.com/Gzv7EyE.jpg
https://i.imgur.com/O7WR6yO.png
“进阶记忆体扫描(AMS)”类似主防,用启发式扫描已在记忆体中执行的程序。但仍然
称不上真正的主防,主要差异在於这项功能没有记录程式行为的能力,所以没办法回滚或
进行较彻底的清毒。另外像 Sonar 这样的主防都有自己的启发定义库,当程序触发复数
的规则时才予以拦截;ESET 的”记忆体扫描”并没有专门的定义库,而是与一般启发式
通用规则,对於执行中的程式只要启发检测到就会报毒,相对来说比较不严谨
本质上 AMS 也是一种静态启发,利用特殊手法调用启发引擎扫描可疑程式申请的记忆体
位置,对载入到其中的组合语言数据进行启发分析,其实技术层面并不会比真正的主防差
,但组译层的安全近几年无重大突破,实测中也可以发现 ESET 这项技术还不成熟
https://i.imgur.com/KeY2Ydu.jpg
“程式漏洞防护”等同於卡巴的 AEP 或诺顿 PEP 组件,会特别监控利用 Browser、PDF
、Java、Office 等程式行为,当发现典型的漏洞攻击会立刻阻止,并且将事件记录上传
到 LiveGrid 云端伺服器分析,以利於增添新的漏洞行为签名
https://i.imgur.com/Ua7aRWn.jpg
Web 防护方面 ESET 有两种检测方式:
.依黑名单封锁(使用流量扫描)
.依内容封锁
之前有提过卡巴斯基会利用启发式侦测网页内容,ESET 的内容封锁也是这样。例如正常
的网址是 www.youtube.com,钓鱼网站可能会改成 www.youutube.com,这时後 ESET 就
会先封锁网页内容,并传送到 LiveGrid 云端分析是否有危害。比起其它防毒,ESET 可
能更依赖启发式作为分析手段
https://i.imgur.com/7GAERNC.jpg
防火墙的过滤模式,分为自动模式、互动模式、原则型模式、学习模式,大致上与 HIPS
差不多,这边不赘述
https://i.imgur.com/Oj0829R.jpg
ESET 的防火墙提供详尽的自定义规则,除此之外还有两个重要的功能:
.网路攻击防护(IDS)
.殭屍网路防护
IDS 会分析所有对内的网路流量,封锁可能有害的网路攻击。它还包含了
Vulnerability shield—这是一个附加在防火墙下的扩展,透过检测常用的通讯协议,
例如 SMB、RPC 与 RDP 协议,阻止利用网路层的漏洞行为。概念有点像诺顿的 IPS
https://i.imgur.com/YoSBTMk.jpg
殭屍网路防的则是对外网路,在电脑受到感染且 Bot 尝试通讯时,它会识别已知恶意特
徵并与远端站点恶意软体黑名单互相比对。一旦检测到恶意通讯,将立即阻止并通知用户
https://i.imgur.com/vXXkJmx.jpg
ESET 的云系统 LiveGrid 包含了拉黑和信誉,当扫描时档案的 Hash 会传送到黑白名单
比对,白名单上的项目将被标住日後不再扫描,以提高效率;黑名单会依据威胁性质采取
相应措施;若都不匹配则会上传至云伺服器後台系统处理,凡认定为恶意样本,自动生成
病毒特徵码在下次更新时发送给用户。不过 ESET 主要还是以本地扫描为主,云拉黑报法
相对罕见
另外就是信誉功能,会收集该档案的共有率,主要体现在 HIPS 以及防火墙的弹窗
https://i.imgur.com/OVWOjjX.jpg
整体而言,ESET 有几个比较大的缺点
对於活动威胁对抗能力偏弱
ESET 的引擎模块为非驱动级的 DAT 格式(至少在九版以前是如此),而且跟 AVG 一样
组件是模块化设计,这样的好处是各个组件互相独立,每次改版添加新功能相对容易(例
如 ESET 3版到现在都还可以更新,只是少了 Exploit Blocker、AMS、Botnet
Protection、IDS....等一堆功能)。但也因为架构的关系,常发生发现病毒,但清除不
了的状况,包含它的”进阶记忆体扫描”也是如此,只能报毒却无法终止病毒程序。AVG
虽然也是模块化,然而 Anti-Rootkit 是驱动级文件,还有可回滚的 IDP,相对来说
ESET 在这方面实在做得不好,只能”查”却不能”杀”
精简的病毒库
这其实不算缺点,我们已经知道 ESET 的病毒库相当小巧,多亏了启发和基因,不用像其
他厂商逐条入库。再者,ESET 每次更新都会把沉余病毒代码删除,譬如一些不流行的化
石包,或者现代作业系统无法执行的软体。但如果是 Windows XP、Server 2003 的用户
,ESET 比较没办法防护针对这些老旧作业系统的病毒
中文版不杀易语言
只要是中文版(不管简体/繁体)都排除了易语言病毒码,而英文版易语言一律通杀,报
法是 a variant of win32/flystudio unwanted application(PUA 报法)。主要影响的
是一些对岸的软体,关於易语言详见:易语言 WIKI
ESET 的防护流程如下
.网路入口防护(含 Web、IDS)
.本地特徵码、基因、启发检测
.HIPS(含 AMS、Exploit Blocker)
预设情况 ESET 主要靠基因和启发防御病毒,只要过了前两关,有害程式一但於记忆体中
执行 ESET 基本上是手无缚鸡之力,甚至我认为预设设定的防护能力比360还差(360至少
是智能 HIPS);但得益於 HIPS 以及防火墙丰富的自订选项,高手使用 ESET 可以达到
不下於 Bitdefender、Comodo 的强度。不过小白用户也不必过於担心,能过 ESET 启发
和基因杀的病毒其实相当罕见,只要习惯良好也不至於中毒
https://i.imgur.com/YTADsXf.jpg
Avira Pro(75分):如果说 ESET 是启发和基因技术的先驱,那红伞就是进一步将两者
发扬光大,而且加入云启发的概念。在本地加上云的双重检测下,使得红伞的查杀率在国
际评测中独占鳌头,是高检测率的防毒代表之一
https://i.imgur.com/srndpDc.png
早期红伞曾被人认为误杀严重,而且只要是加壳都杀,原因在於广谱特徵。我们先回过头
谈最基本的特徵码,首先「特徵码」只是一段特徵,每家防毒对同一个文件取样方法都不
一样,例如一般云杀是直接计算整个病毒文件的 MD5 或 SHA-256;而本地特徵为了减少
误报和缩减毒库体积,提高查杀效率,会先分析文件的结构寻找特定的内容代码段,一般
提取两个以上的代码段来制作特徵码,但是这种方法有其局限性,就是很难分类同种的不
同文件,於是「广谱」的概念就被提出来
所谓广谱简单的讲就是分段,像是将某文件进行分块,计算每一块的哈希值,再将一系列
哈希值利用比较函数进行相似度比较。以加壳文件为例,红伞可能从档案标头(加壳後的
共通部位)取一段,程式本体再取一段做为 CryptGen。口语概念大概可以表达成:这个
程式加了壳(可疑),而又包含某段特定程式码(确定为威胁)。这种方法对於变种病毒
有奇效,但也使得误报率大大增加,所以很快又发展了基因技术,从多点特徵值取样转变
为共通特徵值取样,从广大的样本数量建立病毒家族的 DNA 体系,现在广谱和基因的定
义已经逐渐模糊。至於为什麽要杀带壳文件,因为红伞脱壳很弱,才会采取带壳入库的措
施,这的确也导致了误报(但正常软体没事不会加壳)
https://i.imgur.com/p01Nalu.png
红伞没有主防,但无论免费或付费版皆有强大的 Avira Protection Cloud(简称 APC)
。APC 的工作原理可以参考360 QVM,大致上非常相似,却也有不同的地方。当年360研发
QVM 时红伞也有派人来观摩学习(QVM 08年开始研发,10年推出;APC 11年开始,首次
出现在13年),从这点来看,360在云 AI 上无疑是红伞的”老大哥”
与一般的云杀一样,APC 在侦测到未知文件时,会上传 Hash 比对,白名单放行,黑名单
封锁,如果依然未知再上传整个文件分析,整个过程只有几秒钟的时间
https://i.imgur.com/saq04Kk.png
文件上传後会在云端上进行行为模拟,APC 用了凸优化(Convex optimization),通过
凸函数和凸集细节分析未知文件的共性,并将未知文件分类为“白(good)”亦或是“黑
(bad),而且俱有自我学习的能力
所谓的 SVM 就是把分类问题抽象化为凸优化问题,因为凸优化的解一定是全局最优解,
本质上 QVM 和 APC 可说是同门师兄弟,但是局部算法不同,触发条件也不一样。360是
把规则下放到本地,不怕断网直接阻止;APC 要把文件传上云端跑行为。在云端模拟行为
有相当多的好处,除了不占用系统资源,也可以避免样本在沙箱中被规避,不少样本在沙
箱或 VM 中并不会展现出恶意行为,所以防毒无法检测到(像 Comodo sandbox 就不先进
,检查执行路径和 Memory Size 就可以被简单规避了)
当然 APC 有缺点,首先它不是实时启发,触发时机有三种:
1.双撃时 Trigger APC 开关
2.快速系统扫描
3.执行隔离区的档案扫描
为何不中断地在即时防护上监控扫描,原因在於 Windows Kernel 容许由其他程式负责的
期限只有十秒钟,而 APC 的上传及分析速度相比 Windows Kernel 慢,如果超过十秒,
Windows Kernel 就会自动取替有关档案的处理,这样会过份拖慢系统速度,所以只有手
动扫描和首次双击触发 APC
现在我们知道 APC 分析时间是有限的,而且尴尬的是如果上传前跳出 UAC 也算在秒数里
,使得分析失败的可能性增加,再来 APC 的检测也不是万无一失,难免有漏网之鱼。在
实测中 APC 对於勒索病毒相对是比较弱势的
https://i.imgur.com/TwsyHyo.png
https://i.imgur.com/HAZOgb3.png
https://i.imgur.com/ymDxFkc.png
APC 触发过程
付费版和免费版最大的差别,在於有无 Web Guard 网页防护,它是以挂载 LSP Winsock
的型式去过滤所有 http 流量。白话一点讲,就是在系统里设置一个代理伺服器,让所有
经过 Browser 的信息都先经过代理伺服器进行扫描,这样做的好处在於,可以使拦截入
口前移,只要网页内存在病毒,WG 会直接拦阻整个网页。我们把一般的防毒防护和网页
防护的具体流程做个比较:
一般防护:来自网路的数据下载到硬碟→防毒检测→系统
网页防护:来自网路的数据→代理服务器检测→硬碟→系统
也就是说网页防护会先在记忆体里扫描一遍才允许存取到硬碟,没有网防的防毒,则要病
毒到达本地端後才会有动作。有时後恶意网页并不止包含单一木马,如果完全倚靠本地特
徵库,难免会有漏网之鱼;而网页防护除了用特徵库比对,也包含了 URL 黑名单和
exploits 检测,就算毒网含有多个挂马,甚至是未入库的病毒,只要符合特徵库
/URL/exploits 其中一项定义就通通封杀,达到多重防护效果
https://i.imgur.com/J3YB8Hv.png
https://i.imgur.com/kmRjpvn.png
网页含可疑 JS 脚本直接将整个页面封锁
https://i.imgur.com/ZCVYCny.png
免费版当脚本下载到本地时,才会移除
免费版虽然没有完整的流量扫描,却可以安装 Avira Broswer Safety(非红伞用户也可
使用),一定程度上可以弥补网页防护的不足
https://www.avira.com/en/avira-browser-safety
ABS 的核心功能是云端网址辨识技术 Avira URL-Cloud,它相当於 WG 的 Web Filter,
只是把整个资料库都放在云端,不再依赖 WG 的 Webcat
ABS 有以下的优点:
1.所有运算都在云端中完成,对性能影响降到最低。因为 ABS 不再经过本地流量扫瞄才
可以截停,其截停方式完全依赖浏览器本身提供的附加元件 API,相容性较好。相较於
WG 需要多个步骤(下载→分析→截停),卡网现像会有所改善
2.由於资料库在云端的关系,不再需要等侯新的 Webcat 资料 WG 才可以截停(所谓的入
库),病毒网址的滞後时间大大缩短,恶意网站资料将永远处於最新状态
3.Web Guard 对於 Https:// 的网页无法扫瞄,因为连线是加密的;但 ABS 因为是建基
於浏览器的 API 不存在此问题
另外 ABS 也提供了 Tracking Protection(防追踪功能),由 abine 的 DNT/DNTME 技
术合作提供
ABS 看似完美,但实际上无法取代 WG,理由如下:
1.附加元件会降低浏览器的效能和稳定性
2.ABS 并没有提供下载防护,它是一个网址辨识功能。假设网址安全,但被人恶意注入木
马,ABS 将无法预防这种情况
也就是说 ABS 只包含了 URL 黑名单;而 WG 有病毒特徵库/URL/exploits。个人实测
ABS 的拦截率其实不高,红伞对於挂马网页的侦测相当倚赖启发,这只有 WG 才能做到
在本机应用上,APC 也有用到 Avira URL-Cloud。例如一个未知程式被 APC 发现可疑的
连线行为,这时就会调用URL Cloud 对该程式所连线的网站进行扫瞄并反馈结果,如果为
Malware 立刻封锁
https://i.imgur.com/TAvCU7G.png
ABS 封锁页面
红伞的整体防御流程如下:
WG/ABS 网页防护→本地病毒检测→APC
可以发现相较於卡巴、诺顿这些”重武器”红伞少了很多东西。首先它没有 HIPS、主防
这些本地行为防护;也没有专门的防火墙、Exploit Prevention 模块(WG 含有一部分
exploits 检测,但只针对网页脚本),对於巨集病毒和本地的漏洞利用红伞可说是无能
为力。更要命的是 Anti Rootkits 并不是驱动级的,跟 ESET 一样,对抗活动中威胁能
力偏弱,最後一道关卡 APC 被过就完了
幸好红伞的启发/基因/APC 三者加在一起的检测率不俗,只要病毒没活动起来,红伞的防
护能力还是不错的;虽然没有回滚,但红伞的修复流程相当完整(不是清毒,这边是指被
破坏後的系统重建),除了通用的修复,还有一套实时更新的脚本修复特徵库(Script
base),只要符合脚本上的内容就会根据其定义来修复你的系统,整套技术叫做 Avira
Intelligent Repair System Technology(AIRS)。AIRS 主要针对 PUA 和多态病毒造成
的破坏,就算是未知的变种因为行为相通,修复 Script(Repair.rdf)也可以相通
上面说了红伞没有主防,RD、FD 只是单纯把重要系统文件锁住,单奔红伞建议搭配 HMPA
、EMET 来防止本地的漏洞利用和注入行为
AVG Free(75分):跟付费版相比,少了 Online Shield、电子邮件和防火墙,入口防御
能力较差
Avira Free(70分):
https://i.imgur.com/6OgPJtl.png
免费版即时防护少了自动处理模式,虽说不影响安全性,但遇到多只病毒,会产生过多的
弹窗打扰使用者
https://i.imgur.com/4LIm5cO.png
付费版更新间隔最短可达15分钟
https://i.imgur.com/kbtHw9i.png
付费版才有网页防护
https://i.imgur.com/EuLGCWC.png
付费版才有 Mail 扫描
另外就是付费版才有游戏模式
以安全性来说最大的差别还是在 WG 的流量扫描,入口防御力决定这五分的差异
https://i.imgur.com/KxoLmMm.jpg
Avast(70分):Avast 是一款极度依赖云端的防毒软体,它在全球有2.3亿的安装数量(
加上 AVG 破五亿)提供了庞大的样本数据库。首先收集到的文件由威胁分析引擎
Scavenger 以及即时分析资料库 Medusa 追踪和解析样本,它们的任务性质相似,都是
分类器(Classifier)用以分辨恶意软体,只是後者使用 GPU 做即时的分类运算,可以
大幅减少病毒入库的滞後时间;再来,被 Avast 初步检测过的会被归类为 FileRep(文
件信誉,见第一张图中的选项),监控和扫描会调用云端中的黑白名单做比对,降低误报
率,并与 CC 等新技术结合连动
在红伞和360的介绍,我们已经大致了解机器学习在防毒中的运用。而 Avast 比较特别的
是每个 Medusa 结点采用2到4个 nVIDIA GPUs 进行计算,他们选择了资料样本学习法(
Instance-Based Learning),所使用的多种分类器中,其中一种是汉明距离(Hamming
Distance)。简单说就是两个等长度的字串对应的不同字符个数,例如 1011101与
1001001之间的汉明距离是2、2143896与2233796之间的汉明距离是3、"toned"与"roses"
之间的汉明距离是3。将每一个样本都以约100个静态或是动态的属性描述,构成一个唯一
且长度固定的向量,并计算两两向量之间的的汉明距离,,便能分类出安全档案(Clean
)、恶意程式(Malware)以及未知(Unknown)
除了汉明距离外,他们还有四种距离的计算方法,不过大致上的概念都相同,都是利用函
数达到分类的目的
https://i.imgur.com/C6QmNhW.png
早期的 Avast 对於未知文件,会丢入到 Sandbox 运作,後来改名为 DeepScreen 加入了
行为判断功能,在沙盒里执行的程式如果表现出恶意行为,将会被终止执行
触发沙盒的条件有以下情况:
.静态分析的可疑文件,通常是不在特徵库,但启发认为有威胁性的程式
.文件流行度,信誉度低
.文件产生点,来源可疑
.文件从移动设备或远端启动
.程式没有签名或无效的签名
.名称可疑
.and more...
但是沙盒有其限制,受限於 Windows API 许多程式无法在其中跑完整的行为,造成软体
没办法使用或部分功能失常,间接影响到行为判断的能力(沙盒中没有展现出病毒特徵,
结果防毒自己加白或使用者放出来造成漏毒),所以又加入了基於 Virtual Machine 的
NG 技术;NG 是一个完整的虚拟机,病毒可以在里面做任何事,包括加载内核攻击、攻
击内核漏洞、重写 MBR,甚至是硬碟格式化
但它也不是没有缺点:
1.NG 用了 VirtualBox 的引擎,开了就不能用 VirtualBox、VMware 等其它虚拟环境
2.颇耗系统效能,不适用老爷机,在资源吃紧时会退回使用 Sandbox
3.必须在 BIOS 开启硬体虚拟化才能启用
4.它只允许程式在其中执行很短的时间,约为10~15秒,大幅降低了决测算法的精度
於是在2016下半年的大改版中,DeepScreen 被彻底废除,行为侦测的功能移入到了云端
,重新取名叫 CyberCapture。这套系统类似於红伞的 APC,遇到无法判断的文件,先锁
定後上传到云端分析,由云端的超级电脑脱壳、解密,直到确定文件安全後才予以放行。
由於本地少了传统的分析组件(由云端取代),新版的 Avast 变得相当轻巧、速度更快
https://i.imgur.com/zBP2NQ8.png
小巧的占用量
然而 CyberCapture 同样有缺陷
1.它只能检测 http/https 下载的档案,来自 USB、FTP、E-Mail、P2P 下载的均不在囊
括范围内
2.分析时间过长,短的几分钟、长的可能数十小时甚至一天以上。这期间使用者可以主动
放行,但这样等於让电脑暴露在风险之中(由於 Windows Kernel 的限制,分析时间过长
会先结束程式)
Avast 在主防技术上一路来走走跌跌,一直无法有重大的突破,所以在2016年收购了 AVG
,预计2017年 AVG 的主防 IDP 将融入於 Avast,这点从 Avast CTO(首席技术官)获得
了证实
https://i.imgur.com/I1H6FT7.png
Avast 首席技术官 VLK 亲自证实将融入 IDP 技术
回到图一中 CyberCapture 下方有个选项叫「坚固模式」,这个模式开启後,每个程式的
执行都依靠云信誉判断。在积极模式下,只有高信誉的档案被允许执行;温和模式只拦截
信誉不良的文件。CC 和坚固模式两者只能择一启用,若使用坚固模式 CC 将被取代
CC 也有用到信誉做判断,例如高信誉放行,不良信誉阻止,而未知的文件锁住後上传到
云端分析;与「坚固模式」不同之处在於,後者只有「放」与「不放」两种选择,不会上
传到云端分析。这个模式与趋势的「最高安全性」项目非常相似,但因为 Avast 的信誉
库没有趋势来得齐全,坚固模式下虽然安全误判却相对严重,而且由於信誉杀无法防白加
黑(例如白名单软体混入了木马 DLL,CC 反而可以探查到),一般人不建议使用
https://i.imgur.com/7XjgwpK.png
免费版无法取消快显广告,但可以把持续时间改成1秒,或者禁用 avastUI.exe 连网也可
以屏蔽广告
https://i.imgur.com/X0Ilf1v.png
参与社群建议勾选,影响到信誉
https://i.imgur.com/quV2XGK.png
程式码模拟就是动态启发
勾选 PUP 杀会检测广告程式,但会增加误判率
HIPS 是轻量级的 AD+RD,无法自定义但可以记忆规则,老实说没啥鸟用,可以取消没关
系
https://i.imgur.com/w8TMk15.png
在早些前的版本,Avast 的 HTTPS 扫描是一种类似 SSL 中间人攻击的方式,将所有网页
的证书改成 Avast 自己的 CA,後来被第三方机构爆出漏洞後,现在是通过注入浏览器内
核的方式完成扫描,不再需要更换证书
智慧型串流扫描是指将待扫描的文件分割成小块,将 block 逐一检查後再合并成原始文
件。这个选项不要关
封锁恶意 URL,几乎是所有误报的来源,黑名单通过 avast CommunityIQ 共享。开启後
经常会看到 URL:Mal 的报法,像是广告连接、可疑 XML、甚至是图片和隐私相关的内容
等。它报的是访问地址,不是访问该地址的程式,例如部分的 ISP 会将一些档案缓存到
自己的伺服器上,而 Avast 发现不是原文件地址就有可能拉黑,所以报感染 URL 并不代
表中毒。
强烈建议关闭,对安全性影响小
指令码扫描等於脚本扫描,保持开启
https://i.imgur.com/SSni2CT.png
压缩包扫描选择常用的就行(例如 RAR, ZIP),被压缩的档案不具有威胁性,解压缩监
控一样会报毒,其实可以不用勾
https://i.imgur.com/zI7MoUA.png
如果前面取消了 URL 拉黑,网页启发可以调高一点
档案系统 PUP 有勾的话,网页 PUP 不用勾,下载下来一样会报
https://i.imgur.com/INnKgIu.png
串流更新是指病毒库就像流水一样,源源不绝的流入你的电脑,更新频率约为1次/3.75分
钟、300~400次/天,断网的情况下以最後收到的毒库版本为主,类似的有诺顿的脉动更新
。比起一些对免费版限制更新次数的防毒,Avast 慷慨多了
https://i.imgur.com/szjN2Oc.png
程式版本建议手动更新,Avast 其实不是很稳定,功能常常变动,当前版本没有什麽问题
可不更新
https://i.imgur.com/RGwAcPf.png
Avast 没有实时 Rootkits 扫描,也没有与活动中 Rootkits 对抗的能力。第一个选项是
指开机时的 Rootkits 静态扫描,可以检测到一些尚未活化或死 Rootkits
https://i.imgur.com/Rc9GwYl.png
若只需要防毒功能安装时勾选这三项即可
Avast 虽然有云 AI,但检测率表现平庸,病毒库的资料量不大,几乎是靠机器学习分析
出的基因码(报法 Trojan-gen、Malware-gen、Evo-gen)作规则性的通杀;网页防护误
报略高;更要命的是没有主防,CyberCapture 看起来有向 APC 借镜的味道,可惜刚起步
效果不彰
不过2017年 Avast 计划加入 AVG 的主防技术。同时拥有网页扫描和主防的免费防毒非常
罕见,除了 BD 外可说仅此一家,所以未来的改款相当令人期待
※目前已加入 IDP,但效果不如原版的 AVG(不是很稳定),在 Avast 完美融入 AVG 的
技术以前,暂时还是推荐 AVG
值得一提的是,相对於它款防毒企业版多数都要收费,Avast 的小型企业版 Business
Security 免费提供给中小企业和教育单位,但大企业版 Endpoint Protection 依然要授
权费用就是了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.165.185.3
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AntiVirus/M.1495824232.A.0ED.html
※ 编辑: KotoriCute (1.165.185.3), 05/27/2017 02:58:01
1F:→ sismiku: 谢谢 05/27 03:54
2F:推 purplvampire: Avast免费企业版功能限制颇多,需要进阶功能付钱开通 05/27 12:57
3F:→ purplvampire: 相关中毒资料统计当然不如其他防毒企业版 05/27 12:59
4F:推 atrix: 推 05/30 11:00