如果你长年累月地使用过杀毒软件,不难发现这么一个现象——杀毒软件的弹窗总体来说是越来越多了。以前的杀毒软件,装了就装了,有病毒才会弹窗警告提示用户;近几年的杀毒软件随便用户在系统中进行什么操作,例如安置个软件、修改个设置,都会弹窗问你到底要不要这么干!不但如此,就算你啥事也没做,杀毒软件还是有可能会弹窗来问候你的冷暖、贫富、安危,就差没问你大小了。为什么杀毒软件会酿成这样?今天就一起来谈谈这个问题吧。
杀毒软件真的需要弹窗才能杀毒?
虽然大家都在说杀毒软件,但其实杀毒软件的机理早已经不但仅是发现病毒然后查杀这么简单。病毒木马是不停进化的,从最开始的毫无掩饰,到加上种种免杀手段,病毒木马变得越来越难啃。病毒逃避杀毒软件的手段很多,例如加壳技术,病毒可以通过一些手段加密代码,令杀软检测不到其特征;例如加花技术,病毒可以在自身中插入混淆视听的代码,改变其特征;例如自动变异,病毒可以在传播中自动改变特征码,令杀毒软件疲于奔命……为了对付这些病毒免杀手段,杀毒软件也不得纷歧次次进化自身。
杀毒软件最早使用特征码来检测病毒,这需要安适公司发现某个病毒的特征后,把该特征更新到杀毒软件中,杀软才能发现病毒并查杀。特征码查杀的历史非常悠久,如果你接触杀软的年头比较久远,应该还会有着在 90 年代的时候,对着电脑报上发布的病毒特征码,,一个个字符手工打入杀毒软件的回忆。但面对发作性增长的病毒,特征码是应付不来的,无论病毒库更新速度多快,病毒始终走在杀软前面。如何才能对付安适公司尚未发现的病毒?这是个在安适行业一直在探讨的问题。
特征码是最早的查杀方式,早期的杀软需要手动输入特征码
特征码查杀的改进版是基因码查杀。这种技术相当于是总结了一堆病毒的特征,提取出了某类病毒的“基因”,只用一个基因码就可以对付一大票病毒。这就相当于杀软看过黑熊,就能认出白熊棕熊灰熊也都是熊,知道它们都很危险。基因码用来查杀变种病毒还是挺有效的,但用来对付全新的病毒还是无能为力,能认出熊有危险,不等于就能认出老虎有危险。杀软接着改进,又祭出了启发式扫描。
启发式扫描的机理有点像钓鱼执法,你病毒伪装得再怎么好,最终也是要运行才能发挥作用。如果某段程序运行时会干些奇奇怪怪的事情,那它多数就是恶意代码。启发式扫描的关键在于“启发”,它在类似虚拟机的环境下诱导某个程序运行,从运行的情况来判断该程序是否危险。如此一来,就算杀软不认得某个病毒的特征也无妨,只要这个病毒被成功“启发”,就逃不过被裁决的命运。
著名杀软“小红伞”就以启发式扫描著称
以上的查杀手段,在差别的杀软中有着差别的名字。实际上大多数杀软,都不会单纯只是用某种手段进行查杀。对于安适更有追求的杀软,更是加入了强大的HIPS系统进行防范。
HIPS英文全称是Host-based Intrusion Prevention System,翻译为中文就是主机入侵防御系统。这种技术的原理并非杀毒,而是以防御为主。HIPS会监控系统的关键部位,例如进程、系统文件等等,如果有程序对这些关键之处进行修改,HIPS则会冻结其行为,并询问用户是否放行。如果HIPS没有被攻破,那么病毒想要爆发,几乎成为了不成能的事情。
从特征码到基因码到启发式扫描再到HIPS,杀软的反病毒能力越来越强,但与此同时也带来了另一个问题——误杀率。特征码还好说,认准了基本错不了,但基因码、启发式扫描、HIPS都全自动运作的话,很有可能就会错杀良民了。例如某个游戏修改器,并不是什么病毒,但它也需要在其他程序上挂钩子注入代码,行为乍看上去和病毒无异。让杀毒软件来自动处理的话,这修改器多半就当场枪毙了。如何才能制止这种问题?只能让部分流程不自动化处理,靠弹窗让用户自行判断是否进行该操作。
UAC就是一个简单的HIPS系统,为了安适,系统需要把一些东西交给用户判断是否放行