一些不实的宣传,网络上流传的各种错误尝试,知识的欠缺,以及对某些问题想当然的思维习惯造成了许多看起来十分正确且广为流传的误 解。比如“卡巴死机”,“AVG杀木马强”,“BitDefender是世界第一”之类的问题。
本篇侧重于澄清一些误解,而不是注重介绍背后的原理,有些内容可能有悖直觉。
①基础认识类
★被玩坏了的“多层防护”
各种安软的宣传文章中经常提到“多层防护”,“多层防护”中的“层”不是一个明确的概念。比如,“聊天文件防护”,“U盘防护”,“网址URL防护”等等就可以各算一“层”,再比如“文件监控”,“邮件监控”,“防护墙”等又可以各算一“层”。而“防火墙”和“浏览器网址防护”指的“层”,根本不是一类的东西。总之,各个厂商所指的“层”的意义不一样,没有可比性。“40层防护”和“5层防护”相比,也不能说明什么问题。在这里,你应该把它当作广告用语,而不是技术用词。
★内存/硬盘占用大小,与性能有直接关系吗
可能你总是认为,占用的物理内存大,硬盘空间大就一定拖慢系统,这是没有根据的。一个程序使用的物理内存和其本身的大小对于性能没有直接的关系。安软性能怎么样,应该看它利用资源的能力有多强,如果硬要卡在很小的资源占用中,反而会导致效率的低下。举个简单的例子(当然这不是安软有时候占用物理内存大的原因):
你需要同时使用100KB的数据,如果要求只能占用2KB的物理内存,那你只能每次加载2KB的数据到内存,然后再清除掉加载下一2KB数据,如果一次性加载100KB的数据到内存中去,就省去了很多重复过程(涉及到系统中断,环境切换之类的),而访问硬盘的速度是远远慢于读取内存中的数据。
另外,任务管理器显示的进程的物理内存占用不是准确的,因为各个安软的机制不同,并不能统一说其它的占用到底在哪里。有可能安装安软后,某几个系统进程的物理内存占用增加,几个用户进程的物理内存占用增加。并且,随着环境的不同,资源占用不同,比如在不同的系统下,开启的软件增多后,使用手动扫描等,都不是一样的。
性能好不好,最好的方式是自己的感觉,或者是靠谱点的评测数据(AV-C之类的),至少不是什么资源占用,毕竟我们的计算机不是只有64KB物理内存的嵌入式设备。
★测试排名怎么看
对于一些业余类的网站的测评,没有任何意义,测试安软不是为了检测下安装速度有多快,UI有多漂亮,安装包有多大,扫描下“化石”病毒包查杀率有多少。需要测评数据作为参考时,建议参考一些专业机构的。
AV Comparatives
AV-Comparatives是被奥地利政府认证过的的非盈利组织,一个国际性的独立测试机构,自身有严格的测试制度。这些测试从每月到每十个月的都有,最优秀的厂商会有相关的认证,它还有对安卓,Mac OS平台的支持。AV-C相对具有较高的权威性。
AV-TEST
AV-Test提供反病毒产品测试,技术测试以及监测监测计算机安全产品的长期检测率。AV-Test在反病毒评测领域有超过15年历史,有完整的病毒库检,独立客观的检测过程和严格的标准。
Virus Bulletin
英国著名独立病毒测试中心Bulletin,也是一个非商业性组织,独立不受政府组织控制(指测试)。
其他的可靠性较高的还有MRG Effitas,SE Labs和NSS Labs等。
测试的类型远非大多数人认为的只是扫描一下那样简单。有手动扫描,运行时测试(就是“双击”),真实世界测试,主动预防性测试,病毒清除测试,误报测试,还有一些专项测试,比如漏洞利用保护之类的。这些测试方法不是一晚上就能够想出来的,它很复杂和高成本,需要常年累月的工作,需大量的资源和专门的知识。
如果你喜欢在卡饭的样本区看帖,可能较新的样本测一下扫描还有一点意义,至少与入库速度和样本搜集能力/甚至是静态启发技术挂钩,而一些“化石”包就没有任何意义了。有些很老的病毒无法在当前普遍使用的Windows下运行,有些安软通常不会查杀此类病毒,比如流传甚久的“7168个样本,你的杀软能杀多杀”,有些安软根本不会检测到几个。这样的样本包,体现不了安软的能力。另外,有些安软静态扫描查杀率略低,但安软不等于扫描器,还有其它模块,光靠扫描也不能说明综合实力,比如,文件/系统修复能力,误报,可操控性等等也是很重要的点。
测评数据是你选择安软的参考,你可以选择长期成绩优秀的安软,但也不代表成绩低就一定不好。需理智看待。
★系统出了问题,不该总是“杀毒”
可能你以前有类似的想法,一旦操作系统出现一些异常状况,马上会运行全盘扫描,一旦没有任何威胁发现,便会换其他安软,如果在中间又系统恢复正常了,而安全软件恰好地报了一些“毒”(可能是一些COOKIE tracker之类的,根本不会是原因),那么“背黑锅”的往往是前一个安软。
很多问题不是病毒引起的,而且有些可以系统自动解决,比如可能在Windows Update安装更新时时系统响应会稍慢一点,这类问题会自动解决。比如,各种dll错误,有可能是你自己误删的,只要找到合适的版本再替换一下就行,安软不一定负责修复dll(虽然有些安软确实可以)。有些软件,尤其是大型软件或者是安全软件无法安装,有可能是系统版本问题,运行库不全,或者是软件没有卸载干净之类的,而安软一般不负责修复此类问题。
★国外安软本土化问题
首先,在提问“什么安软’本土化’最好时”,要先明确“本土化”指的是什么?对中国地区的“特殊威胁”(“特殊威胁”是什么?)的防御能力?对国内软件的兼容性?还是对注册机,破解补丁之类的“宽容度”?
这里不做任何推荐,“本土化”问题是存在的,但不要过分夸大它。并不是在国内只有国产安软可以使用。当然,在中国有病毒响应中心的会好一点。
不同的安软的所谓“本土化”问题不一样,有些是对一些常用软件但带有可以被判定为威胁的行为的“误报”,也有可能是完全不理会一类威胁,比如纯下载器,破解补丁之类。但这种情况已经好多了,大部分安软对常用的软件都有白名单,不会随便报毒,而广告软件之类也是全球都有的,不是中国特色,所以基本也会有提示。
★各种“御用”的安软
可能你听说过类似“Dr.Web是俄罗斯军方专用安全软件”,“ESET是微软使用的安全软件”的话,先不管它们是不是真实的。政府/大型商业机构采购和个人选择有必然的联系吗?它们在选择安全软件时,不光要选择产品本身,还要看其价格,维护成本,使用要求等各方面的因素,这类似的采购与个人用户的选购有很大的差别。有些公司的产品,企业版和个人版有很大的差别,并且企业版一般要有主控台统一管理,才能发挥最大的作用。
可能“御用”的安软的确很优秀,“御用”不应是自己选择安软的度量。
★不要听信小软件作者建议随意关闭安软
经常看到某小软件作者提示,“本软件可能被各种安软误报,请一定关闭安软!”。不得不承认,有时候“社会工程学”比“写病毒的能力”更重要,再加上UAC的提示对于大多数人来说没有任何提示作用,就可能会感染病毒。
可能很难判断这些软件是否是恶意的,毕竟有时候对一些需要修改系统关键部位的软件,是有可能报毒的。在报毒时,有详细报毒名的应该简单看下,比如含有“Ransom”字样,那基本不会是误报了,比如含有“HackTool”字样,可能并不属于病毒,只是所谓“可能被犯罪分子利用的合法工具”。总之,对于此类软件要慎之又慎,必要时可以使用沙箱,虚拟机,也可更换其他软件。
例,一个修改版“小马激活”,被瑞星和小红伞报PUA,至于到底有没有危险,就由自己判断了。
★安软扫描提示的文件,一定是恶意文件吗
安软并非只是查杀传统意义上的“病毒”(在人们印象中让系统崩溃的那种),很多安软只要是有威胁的,都会报告。比如下图所示,是一个不会对系统造成威胁的破解机,但还是会被有些安软报告(不是误报)。
更是有些安软,一旦发现主页被劫持,组策略被修改之类的,也会在结果报告栏中添加一行,那些更不是所谓“病毒”了。我们常说的“电脑病毒”,是一种广泛的称谓,指包括病毒、木马、蠕虫、黑客程序、玩笑程序、流氓软件等各类恶意软件的统一称呼,准确说叫它们叫“恶意软件”。
有些安软对keygen报毒比较多,比如Norton,而像MSE相对较少,如果换用不同的安软扫描,出现的结果有差距,也不能凭借这个评判哪一款更优秀。但有一点“共识”,比较严重的威胁比如“远控木马”,“勒索软件”之类,是各个安软都会识别的威胁。
安软有可能误报完全正常的文件,这种才叫“误报”。
★安软兼容系统,还是系统兼容安软
这个问题没有固定的说法。但是有一点要说的是,Windows系统本身也有很多安全机制,这些安全机制也在不断地更新发展,如果安软的某些功能无法在新系统上发挥作用,也可认为是Windows安全性的提高。安软需要适应系统的改变。
当然也不要认为安软有限制,病毒受到的限制会一样多(但它的确会受到很大的限制),病毒可能不使用公开 API,进入系统夺得控制权就行,API限制的是安软,安软需要考虑的比病毒要多。对于某些安软在Windows10山的限制,可以使用Secure ETW通道,或者硬件虚拟化,甚至是复制ntdll的API,拥有系统最高权限(这个与有没有Windows的源代码没什么大关系,没有源代码也可以做出来)
对于所谓“Windows创意者更新增添安全中心,让第三方安软成为鸡肋”之类的言论是无稽之谈。Microsoft不会终止和第三方安全软件的合作,也不会阻止它们的发展,之所以做这么多限制,是为了系统的安全性。当然,客观上讲,部分安软的功能要比Windows Defender提供的全一些是事实。
★各种“无敌”组合好吗
“无敌”又像是广告词。比如“红豆”组合,“SEP+小红伞”组合等等,都被传为“神话”,也许之前它们很有效。但安软在走向“一体化”,在个人端,单独的防火墙,单独的反病毒并不怎么流行。
举个例子,两款安软都Hook了同一个API函数,会互相影响。如果有驱动冲突,可能导致蓝屏,无限重启等。
截图证明两个安软在一起没有任何意义,不能说明它们是兼容的。KIS有可能和360安全卫士装在一起,但卡巴斯基明文说明了和360不兼容。即使是一个防火墙和一个反病毒软件,看上去功能没有交集,但它们有可能不兼容。过多的安全软件,过多的过滤驱动,如果不导致系统崩溃,也会加重系统的负担。
★Windows打造的安全体系不是鸡肋
Windows不是一个敞开了大门的房子,它一直有着一定的安全措施,不要忽略了系统在安全中占据的地位。关于UAC的内容,请查看本系列第二贴相关内容。Windows内核方面的安全措施,见第三篇。
Windows系统在不断的升级,带来的不仅仅是看得见的UI的改变,比如DEP,ASLR等,就是在升级换代中“悄悄”加入的,不了解根本不会察觉到。
需要注意的是,各种修改版的系统,总是刻意地关闭掉能关掉的防护措施。SmartScreen,Windows 防火墙,Windows Update总是被禁用,总是以内置管理员账户登陆,导致UAC不起作用等等。
★我只是一个普通用户,没有有价值的信息,黑客肯定不会攻击我
当然,黑客一般不会专门入侵个人电脑,因为你一个人的资料的确没有什么单独入侵的价值。但不代表他们就会放过你,比如,一个僵尸网络,到底有多少台设备陷入其中(不光是计算机,可能还有手机,网络摄像头之类的)。大面积的个人信息在暗网被拍卖,而受害者毫不知情……
当然,如果你要坚持认为系统无法启动,资料被清空之类的才算是“黑客攻击”,那也没办法。现在纯炫技的少,主要是为了利益。自己被控制时并不知情。
★各种安全播报的病毒,真的有那么厉害吗
各大厂商的安全播报都有时会提到一些近期的威胁,其中有些的确是重大威胁,比如Petya之类的勒索,但一些很简单的病毒就没有什么特别之处,比如某假冒小马激活捆绑着改主页之类的病毒,无需如临大敌,这类威胁在互联网上一直都会存在,很难完全消失掉。
★不要迷信安软的防漏洞利用功能,请使用Windows Update打补丁
漏洞本身无害,而是利用漏洞来入侵系统是很危险的。漏洞利用都是触发软件中的漏洞来加载各种恶意代码。为了通过软件来感染系统,用户必须被诱骗进入一个恶意网站(或者一个合法网站,被篡改,包含恶意代码);或者打开一个特殊的文档(Microsoft Office文档,PDF文件,甚至是图像文件),这些看起来不会是有危险的,但包含恶意代码触发漏洞。恶意网址或受感染的网址通过电子邮件,即时消息,社交网络散布,甚至是在搜索引擎搜索热门关键词时也会出现。典型的漏洞利用攻击在用户打开一个似乎无害的邮件附件时就开始了。
在某些情况下,一般的反漏洞利用技术不起作用,尤其是利用零日漏洞或者刚发现的漏洞进行攻击时。使用特征码技术检测此类漏洞对于安全厂商是几乎不可能的事。一些复杂的漏洞利用工具也可以使用技术绕开防护。即使逃过传统的检测方式的威胁不多,但一旦进行破坏损失很大。即使有自动反漏洞利用预防性保护模块的安软也不能保证一定拦截。为了堵死一些病毒的入侵路径,最好使用Windows Update下载安装系统更新(第三方的软件也行,但注意不要随便忽略补丁)。
★安软怎样卸载最好
正常情况下,请到控制面板卸载,或者到安装目录里找unistall字样的程序。通过第三方软件,如果调用的是官方的卸载程序,一般是可以的(但不排除有些安软禁止其他软件调用自己的卸载程序)。有时候自带的卸载不干净,有些安软可以重新安装一遍,再卸载,或者使用官方
的清理工具。
无论如何,不要随便听信“手动删除安装目录下所有文件,并清除所有注册表项”之类的话。
首先,你得保证能够删除那些文件,如果安软没卸掉强制删除,可能会蓝屏。其次,安软的文件,不光是Program Files下的那些,比如,安软驱动程序,在C:WindowsSystem32Drivers(系统盘下)。
当然,那些注册表项你根本手动找不完的,并不是含有安软字样的才是安软修改的注册表项,比如某一系统项,值由1改为0,你如何判断这是不是安软改过的?
总之,安软不是只是一堆静态的文件,一旦安装后,与系统紧密结合,挂的钩子,加的驱动之类都不是靠删文件和删注册表项做得到的。即使一些专业的卸载软件,也很难保证完整的卸载掉安全软件。比如,试试卸载Dr.Web?
★使用OEM引擎,就相当于组合了多个防护吗
以前360杀毒使用了小红伞和BitDefender引擎,有些人就认为360杀毒=小红伞+BitDefender。使用其他厂商的引擎,不代表完全使用人家的技术,360没有买到ATD(主动威胁防御)技术。以前金山毒霸购买了小红伞引擎,但也没使用小红伞的文件过滤驱动程序。百度杀毒曾经使用卡巴斯基引擎,也没有买System Watcher组件。使用其他厂商的引擎,可能还会有诸多限制,比如,病毒库滞后,引擎版本老等。
如图,曾经使用了卡巴斯基引擎的可牛杀毒。
②安软类
★卡巴死机
如今的卡巴斯基,和卡巴斯基6.0/7.0的时代是两回事。“卡巴死机”这个称号有点恶搞的意味,然后就成了一种“共识”,是不是“死机”,需要自己来试用。
另外,很多人认为“专业级别的安全软件”=“拖慢系统的安全软件”,“’轻巧’的安全软件”=“一般的安全软件”,一款优秀的安全软件,不光要考安全方面,还要考虑对系统的性能影响。
★AVG杀木马好,Avast功能全,小红伞查杀世界第一
看起来很荒唐的说法,也被“广为传诵”,AVG扫描出的很多COOKIE,算是“无关紧要”的,不要认为那是木马,avast功能全,又是一种主观感受,可能它的小工具比较多?小红伞的查杀率不低,具体可以看各种专业机构的扫描测试,但是世界第一这个帽子,即使打广告也很少这么打,最多是“世界一流查杀率”,又何来的“世界第一”一说呢。包括BitDefender,拥有一流的水平,但是也不能称为“世界第一”,建议以后不要再提“世界第一”这个称号。
AVG已经被Avast收购。
★诺顿曾经采用微点的引擎,金山毒霸曾经使用Dr.Web的引擎,G-Data曾经使用avast引擎
前一个是无稽之谈,后两个是真的,金山毒霸使用Dr.Web的引擎,也是接近20年前的事了。对于没有找到明文资料的“xx采用xx引擎”,可以一律视为谣言。
③技术类
★各种规则
对Windows系统本身没有深入地理解,很难写出合格的规则来(指的是HIPS规则)!规则不光限制级个目录的读写,系统是一个整体,限制某一部分,必须考虑对于其他组件的影响。有人直接套用别人写好的规则,这个软件没法用,那个程序出问题。规则用好了可以事半功倍,但是想当然地“在实践中学习技术”是很无聊的行为。
另外,规则也不是一定就能“规范”住的。禁止程序写入某个目录,就一定不能写入吗?如果一个加载了设备驱动程序的软件,有没有可能写入呢?
建议对于普通人来说,不要随便编写规则,你必须清楚每一步在干什么,有什么影响,而不是漫无目地禁用,禁用,禁用。即使套用其他人的规则,也请看好了作者的说明,尤其不能套错了系统。
★主防
“主防”又是一个没有十分严格的定义的概念,楼主暂且下一个宽泛的定义:凡是能够通过各种手段分析已经运行的程序的行为特征并因此对其安全性作出判断的模块都可以叫“主防”。像Norton的SONAR,BD的ATD,卡巴的System Watcher,都可以算作“主防”。可能每个安软对于“主防”的认识都不同,这里取并集。
★再谈内核模式
不知这句话的原话是什么,反正很多人认为,“诺顿有Windows部分源代码,所以可以深入底层,只有诺顿工作在R0,”所有安全软件的驱动,都是在内核模式工作,不会是用户模式的驱动(基于UMDF的驱动),写内核驱动不需要Windows源代码,Microsoft提供的有接口。另外,硬件抽象层,也在内核模式下(R0)。设备驱动程序可以借助硬件抽象层与硬件交互,也可以直接控制设备,在内核模式下,各个组件拥有同等的权力。
★静态/动态启发
“启发”不是凭空启发,也需要启发特征库。静态启发,顾名思义,在病毒没有运行之前,可以对其中所包含的行为做一定的分析(反编译)。动态启发就是病毒运行后在一个仿真环境下运行很短时间,再对其行为分析,做出判断,很遗憾,这么做会耗费一些资源,可能让系统很慢,在前几秒不执行恶意动作的话,很容易绕过这一防护。ESET的静态启发相对强,这个是真的,不是谣言,但这项技术是有缺陷的,它不可能不考虑机器本身的性能,也受制于反编译器的能力,总之,在个人计算机上,很难分析出病毒所有的指令。
★主机入侵防御检测系统
主机入侵防御检测系统,也就是HIPS,有FD(文件防护),RD(注册表防护),AD(应用程序防护)三“层”,具体的措施就是,将程序的所有行为都弹窗交给用户判断,是否放行。它旨在于把系统控制权给HIPS工具自己,再给用户提供一个接口。但是,这样真的很考验用户的识别能力,比如访问注册表项,用户不清楚的话,很可能会允许。
所谓的“单步主防”,你可以简单看作是HIPS上面加了一些预定义的规则,比如360安全卫士的单步主防,依托着云数据库,其目的是既能保证安全性,也不过分打扰用户。
HIPS必须加载驱动,否则拦截功能和监控功能是脆弱的。如果存在加载了驱动的病毒,可能HIPS还会受到影响。驱动对抗,可能会影响系统稳定性,甚至崩溃。
本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com