安全产品的核心逻辑-杀毒软件

概述 

在《软件定义安全》中介绍了所有的安全产品本质上就是对安全业务的软件开发,在《安全产品的核心逻辑-防火墙》中介绍了防火墙的核心点和核心逻辑。在《安全产品的核心逻辑-IPS/IDS》中介绍ips/ids的核心内容和核心逻辑。本文接着对常用的杀毒软件做下分析。

一、杀毒软件的作用

杀毒软件(Anti-virus Software),也称反病毒软件或防毒软件,是用于消除电脑中的病毒、特洛伊木马、蠕虫等恶意软件的计算机威胁检测处理的一类软件。杀毒软件一般由扫描器、病毒库与虚拟机组成。

二、基本概念

在搞清楚杀毒软件的工作原理前,我们先要了解下一些基本概念。首先“毒”是什么?“毒”一般指的是恶意程序恶意程序主要是指以危害信息的安全等为不良意图的程序,它们一般潜伏在受害计算机系统中实施破坏,窃取信息或者不当获利。恶意代码主要分为计算机病毒,蠕虫和木马。下面,我们谈谈这三类恶意程序:

  • 什么是病毒:

病毒是编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。

  • 什么是木马:

木马是指通过特定的程序来控制另一台计算机。与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它主要向施种木马者提供打开被种主机的大门,使施种木马者可以远程操控被种主机,进而达到破坏数据,偷取数据等非法目的。

  • 什么是蠕虫病毒:

蠕虫病毒是一种能够利用系统漏洞通过网络进行自我传播的恶意程序。它不需要附着在其他程序上,而是独立存在的。

现在很多的恶意软件表现出的特性并不是单纯的某种特性,比如勒索病毒,它既表现出蠕虫的特性也表现出病毒的特性,所以现在大多数的病毒都是几种特征的混合体。

2.1 恶意程序的生效

计算机病毒等恶意程序与其他合法程序一样,都是一段可执行程序,只是有的是独立完整的程序,有的是寄生在其他可执行程序上的程序。只要是程序,只有执行这个程序时,程序才会起作用。理解这个原理很重要。举几个例子:

比如我邮件中收到了一个带病毒的html邮件,如果我不打开这个邮件,只收这个邮件,通常是不会中病毒的,因为它没有执行。没有执行就不会触发程序运行,所以这些邮件会伪装一些信息或者诱导一些信息让你打开,一旦你打开了就会中毒。再比如我收到了一个文本邮件,有附件带病毒,只要不打开附件,通常不会产生病毒。所以不要乱点击来路不明的邮件比较重要。这种邮件也叫钓鱼邮件,愿者上钩的意思。

比如我收到一个带链接的病毒短信,只要我不点击链接,通常不会中病毒。当你点击链接后就会触发程序运行,这个运行有可能是利用了一些漏洞引起的。当然也有更高级的收到短信就中毒的,这种一般是系统漏洞,收到短信后触发了操作系统的一些漏洞从而感染上病毒了,不过这种情况随着各厂家系统安全性的提高几乎不会出现了。所以不越狱对系统的安全性至关重要

2.2 病毒的传播方式

病毒的传播方式主要有以下几种:

1、通过移动存储设备进行病毒传播:如U盘、CD、移动硬盘等都可以是传播病毒的路径,而且因为它们经常被移动和使用,所以它们更容易得到计算机病毒的青睐,成为计算机病毒的携带者;

2、通过网络来传播:有好几种方式,包括网页、电子邮件、QQ、微信等都可以是计算机病毒网络传播的途径;

3、利用计算机系统和应用软件的弱点漏洞传播:越来越多的计算机病毒利用系统软件和应用软件的漏洞进行传播。这种方式现在成为主流的病毒传播方式。

三、内核程序和应用程序

Intel的x86处理器是通过Ring级别来进行访问控制的,级别共分4层,从Ring0到Ring3(后面简称R0、R1、R2、R3)。R0层拥有最高的权限,R3层拥有最低的权限。按照Intel原有的构想,应用程序工作在R3层,只能访问R3层的数据;操作系统工作在R0层,可以访问所有层的数据;而其他驱动程序位于R1、R2层,每一层只能访问本层以及权限更低层的数据。

但现在的OS,包括Windows和Linux都没有采用4层权限,而只是使用2层——R0层和R3层, 分别来存放操作系统内核数据和应用程序数据。驱动一般放在内核层,所以驱动加载了,就运行在R0层,就拥有了和操作系统同样的权限,可以做任何事情。

由于内核有至高的权限,所以木马病毒越来越向系统底层发展,进而杀毒软件也在不断向系统底层靠近。谁先抢占底层,让操作系统优先执行就对自身越有利。

四、杀毒软件原理

对于一款杀毒软件来说,执行过程通常都要经历病毒识别、病毒报警、病毒清除、文件或系统复原这几个过程。

病毒识别主要是扫描器来做的,他通过文件、网页监视等实时监控行为,结合病毒库来发现病毒,扫描器是杀毒软件的核心,用于发现病毒,一个杀毒软件的杀毒效果好坏就直接取决于它的扫描器技术是否先进,而且杀毒软件不同的功能往往对应着不同的扫描器,也就是说,大多数杀毒软件都是由多个扫描器组成的。一般扫描器是配套病毒库一起来工作的。病毒库存储着很多病毒所具有的独一无二的特征字符,称之为“特征码”。特征码总的分来只有两类,文件特征码与内存特征码。文件特征码存在于文件里,例如EXE文件、RMVB文件、jpg文件甚至是txt文件中都有可能存在文件特征码。而内存特征码仅仅存在于内存中已运行的应用程序中。大多数杀毒软件的原理就是匹配特征码。即在文件中寻找特定的十六进制字符串,如果找到,就可判定文件感染了某种病毒,如果没有,纵然这个文件确实是一个病毒,它也会把它当作正常文件来看待。为了更好的发现和分析病毒,相继开发了的虚拟机,实时监控,沙箱等相关技术。

病毒实时监控,其实就是一个文件监视器。它会在文件打开、关闭、清除、写入等操作时检查文件是否是病毒携带者,然后根据用户的决定选择不同的处理方案,如清除病毒、禁止访问该文件、删除该文件或简单地忽略。这样就可以有效地避免病毒在本地机器上的感染传播,因为可执行文件在执行前首先会要求打开该文件,而这个请求又一定会被实时监控在第一时间截获到,它确保了每次执行的都是干净的不带毒的文件从而不给病毒任何执行和发作的机会。

4.1 病毒库说明

病毒库其实就是一些特殊格式的文件,我们以ClamAV为例来说明,Clam AntiVirus

(ClamAV)是免费而且开放源代码的防毒软件,软件与病毒码的的更新皆由社群免费发布。

clamav病毒库格式(cvd解压后)如下:

CVD(ClamAV病毒数据库)是一个文本格式的数字签名数据库。文件的头是512字节。用带冒号分隔的长字符串来表示:

ClamAV-VDB:build time:version:number of signatures:functionality  level required:MD5 checksum:digital signature:builder name:build time (sec)

用sigtool来显示有关具体CVD文件的详细信息:

zolw@localhost:/usr/local/share/clamav$ sigtool -i main.cvd File: main.cvdBuild time: 09 Dec 2007 15:50 +0000Version: 45Signatures: 169676Functionality level: 21 Builder: svenMD5:b35429d8d5d60368eea9630062f7c75aDigital signature: dxsusO/HWP3/GAA7VuZpxYwVsE9b+tCk+tPN6OyjVF/U8 JVh4vYmW8mZ62ZHYMlM903TMZFg5hZIxcjQB3SX0TapdF1SFNzoWjsyH53eXvMDY eaPVNe2ccXLfEegoda4xU2TezbGfbSEGoU1qolyQYLX674sNA2Ni6l6/CEKYYh Verification OK

病毒库分成了很多类别:

图片

详细介绍请参见官方手册:https://opensource.apple.com/source/clamav/clamav-158/clamav.Bin/clamav-0.98/docs/signatures.pdf

4.2 检测病毒的方法

检测病毒方法通常有:特征检查法、校验和法、行为监测法、启发式扫描。

  • 特征检查法:这是一种最常用的方法,“同一病毒或同类病毒的某一部分代码相同”的原理来识别病毒文件。该技术是利用留在受感染文件中的病毒特征值进行检测。发现新病毒后,对其进行分析,根据其特征编成病毒码,加入到病毒库中。今后在执行查毒程序时,通过对比文件与病毒库中的病毒特征码,检查文件是否含有病毒。这种方法比较滞后,就是要现有病毒库,好处是比较准确。

  • 校验和法:此法计算文件的校验和并保存,可定期或调用文件时进行对比,从而判断文件是否被病毒感染。这种方法也常用在网页防窜改等产品中。比较简单,缺点是样本要准确,还需要占用相关磁盘保存文件校验信息。

  • 行为监测法:此法根据病毒的行为特征来识别病毒,这需要对病毒行为进行详细的分类和研究,分析那些病毒共同的行为,以及正常程序的罕见行为,根据程序运行时的行为进行病毒判断和预警。现在很多的新产品,比如edr等产品就是利用进程的访问行为来分析是否是恶意软件的。

  •  启发式扫描是特征码扫描的一个分支,病毒完成特定的功能需要有相应的代码,启发式扫描的特征码就是针对病毒的这些功能总结出来的一套可以判定文件行为的代码。

当然,随着新技术的不断发展,现在也发展出来一些更先进的方法,但这些方法大多是之前方法的组合或者优化。

五、杀毒软件的前景

随着操作系统的进步和安全能力的提高,很多第三方杀毒软件的生成空间越来越小,最后也有可能杀毒软件就是操作系统自带的一个特性。比如作为世界权威的第三方独立安全测试机构AV-TEST,公布了最新的Win10平台下,各类防病毒软件测试排名。

图片

从中可以看出,微软自带的杀毒软件的能力已经达到了一个很高的分数。在不了解其他杀毒软件的情况下,选择win10系统自带的Windows Defender,无疑是一种比较好的选择!

六、未来

如今的病毒产生的目标早已不是炫耀技巧或者恶作剧的时代了,如今病毒更多的是趋向于获取利益的一种方式。所以病毒的感染与运作方式也变得更为隐蔽、复杂和多样化。当更隐蔽的病毒被制造出来后,对传统的防病毒软件是个巨大的挑战,这使得对系统的防护也变得超出“一个杀软可以解决”的范畴。

如今,在对网络安全需求较为强烈的公司中,往往不止采购杀毒软件,同时会配套部署一系列的软硬件来作为信息安全的整体解决方案,比如:防火墙、终端管理、准入、日志分析、数据库审计、安全管理平台等,并结合严格的安全管理规范,保证安全策略的正确运行。以确保那些没见过的病毒也能在其被发现之前就拒之门外。

而对于个人用户而言,最重要的是安全意识要提高,比如,不要随便打开来自网络的可疑文件。然后就是使用最新的操作系统,并随时保持补丁的更新这样就可以减少或者避免大多数的安全问题。


相关分享:

软件定义安全

安全产品的核心逻辑-防火墙

安全产品的核心逻辑-IPS/IDS

猜你喜欢

转载自blog.csdn.net/ducc20180301/article/details/119384945