杀毒软件的一些杀毒原理

当前的互联网情况大家都很了解,机遇与危机并存。得益于硬件的迅速发展以及新技术的不断提出,互联网在世界的方方面面也越来越普及,得到了更广泛的应用,但同时,从早期的石头,小球病毒,熊猫烧香到现如今的勒索病毒,也让我们明白了互联网所面临的危机。废话不再多说,今天主要讲作业题涉及到的“杀毒软件的杀毒原理”。
所谓“知己知彼,百战不殆”。如果我们要搞清楚杀毒软件的工作原理,那我们就一定要先搞清楚“毒”是什么?“毒”一般指恶意代码。恶意代码主要是指以危害信息的安全等不良意图的程序,它们一般潜伏在受害计算机系统中实施破坏或窃取信息。恶意代码主要分为计算机病毒,蠕虫以及木马。下面,我们谈谈这三类恶意代码的特点:
计算机病毒:1.依附性:需要依附于其他文件进行繁殖。2. 隐蔽性:a.引导型病毒:感染磁盘的引导系统,在系统启动时载入内存;b.文件型病毒:感染各类文件,在文件执行时载入内存。
蠕虫:不需要依附于其他文件,可以在计算机系统自行繁殖。蠕虫恶意代码一旦被激活常通过以下步骤复制自己:搜索系统或网络,确认下一步的感染目标 ;建立与其他系统或远程主机的连接;将自身复制到其他系统或远程主机,并尽可能激活他们。
木马:通过冒名顶替的方式,伪装成能够在系统中正常运行的程序,随后与攻击者建立远程连接为攻击者打开入侵的通道。
恶意代码的工作流程:
杀毒软件的一些杀毒原理_第1张图片在这里还要提一下程序规范:正常的程序规范是指在程序所在系统平台上操作系统本身洗净有定义的或者业界已经公认的程序行为过程,比如操作系统正常运行就必须要求应用程序与系统核心进行进程响应并交换相关数据。非异常程序活动是指可能存在非法程序操作结果但能够以较高的置信度确定其非非法程序活动规范的。总结来说,就是执行windows确认的“安全操作”的,就是规范的,即使某些程序有异常行为,比如复制一个你桌面的文档,但是你相信这是个友好的程序,那么它也是正常程序。
接着讲,了解到恶意代码的工作流程后,我们就可以开始检测并查杀恶意代码了。在这一块,目前有好多种方法,还是制作一张脑图来进行说明吧。
杀毒软件的一些杀毒原理_第2张图片
复合特征码技术:
我们首先要提取恶意代码的特征,进行特征工程:a.基本思路:通过分析,抽取得到特征代码。抽取的特征代码要具有特殊性,能够在大范围的匹配中唯一标识一个恶意代码程序b.提取特征代码的注意事项:不宜过长,也不宜过短,特征代码一般被列入特征代码库,它存储了大量已知恶意代码的特征代码,是常用检测工具的必备构建之一。构建好特征代码“黑名单”后,就可以开始进行匹配了。如果某一代码其特征码与病毒一一对应,就能判断其为病毒。
校验和法:
首先计算正常文件的校验和,定期不定期的检查文件的校验是否与正常的校验和一样,因此能检测文件是否被感染,这样可以拟补特征码的弱点,也就是能发现未知的病毒。校验和法通常能在两个地方实现,分别是杀毒软件、应用程序本身,杀毒软件计算被查文件正常运行时的校验和,然后进行比较,而应用程序本身也能有这种功能,计算其正常运行时的校验和,然后达到自检测功能。虽然能够发现未知病毒,但是对已知病毒这种方法也辨别不出该病毒的类型,而且误差率极高,因为被查程序可能会进行更新或者其他情况改变了校验和。
行为检测法:
这个方法是利用病毒特有的行为特征进行监测,因为病毒有许多共同的行为,都是比较特殊的,所以当程序运行的时候,可以进行监视,发现有这些行为,就会报警。什么是特有的行为呢?病毒可能会占有一些特殊的内存,也经常会改变某个内存的内容啥的。
虚拟机技术:
这也叫启发式查杀技术,是一种蜜罐策略,即为待查程序提供一个虚拟的执行环境,提供它可能用到的一切元素,包括硬盘,端口等,让它在其上自由发挥,最后根据其行为来判定是否为病毒。在虚拟机技术中,能嵌入行为监测法和校验和法等其他技术。这种技术被应用在大多数的杀毒软件中,不过这种技术很占资源。
实时监控技术:
这并不是什么新的技术了,但是也算是比较主流的技术,要达到实时监控的功能并不是那么容易,因为大多数应用程序都不可能随意监控系统活动,因此实现这功能基本上都使用了驱动编程技术。实时监控可以包括许多方面的,流量监控、行为监控等,其实就是一个文件监视器。它会在文件打开,关闭,清除,写入等操作时检查文件是否是病毒携带者,如果是则根据用户的决定选择不同的处理方案,如清除病毒,禁止访问该文件,删除该文件或简单的忽略。这样就可以有效地避免病毒在本地机器上的感染传播,因为可执行文件装入器在装入一个文件执行时首先会要求打开该文件,而这个请求又一定会被实时监控在第一时间截获到,它确保了每次执行的都是干净的不带毒的文件从而不给病毒以任何执行和发作的机会。
云查杀技术:
这项技术是在云技术的基础上发展的,云技术的开发主要目的是让客户端“变轻”,例如将许多病毒库放在几十几百个的终端上,客户端将待查文件的特征码发送至各个终端进行对比。这种技术的优点是能减少客户端的负担,而且一般杀毒软件提供商都会假设许多的终端,只要网速OK的话杀毒的速度还是挺快的,缺点是对网络有依赖,如果没有网络连接估计就不能实现了。
值得一提的是,因为一些原因,比如虚拟机技术“误杀可能性比较大”等,目前流行的还是复合特征码技术。但我们可能有一个疑问,现如今世上“恶意代码”千千万万,子子孙孙无穷尽,杀毒软件厂商又是如何最快最全的收录这些“恶意代码”呢?在这里主要有两种方法:1. 由用户提交可疑程序给杀软厂商分析,一般提交后24小时内会被处理并答复(卡巴斯基据说这方面效率奇快,一般两个小时内会有回复),更新下病毒数据库后就可以免疫该病毒了。
2. 布置大量蜜罐和蜜网系统让病毒、黑客自己往里钻。在这里介绍一下蜜罐技术。蜜罐技术由来已久,蜜罐好比是情报收集系统。蜜罐好像是故意让人攻击的目标,引诱黑客前来攻击。所以攻击者入侵后,你就可以知道他是如何得逞的,随时了解针对贵公司服务器发动的最新的攻击和漏洞。还可以通过窃听黑客之间的联系,收集黑客所用的种种工具,并且掌握他们的社交网络。

还有,分享一下大部分杀毒软件与操作系统的关系:(注:以下Mcafee和Norton为两家不同的安全厂商)
我们使用的Intel系列处理器有两个 Ring层,对应两个层,微软的操作系统将系统中的所有行为分为如下几个层:
⑴最底层:系统核心层,这个层的所有行为都由操作系统已经内置的指令来实现,所有外界因素(即使你是系统管理员)均不能影响该层的行为。Norton的核心层既工作在这个层上。
⑵硬件虚拟层(HAL)。为了实现硬件无关性,微软设计了该层。所有的外部工作硬件(相对于系统核心而言)都进入HAL,并被HAL处理为核心层可以相应的指令。我们所使用的硬件的驱动程序既工作在该层上。当外界硬件存在指令请求时,驱动程序作出相关处理后传给核心层。如果无与之对应的驱动相应,那么将按照默认硬件进行处理。好像安全模式下硬件的工作就被置于默认硬件模式。Mcafee的杀毒软件,就被认为工作在HAL层上。
⑶用户层。我们所知的大部分杀毒软件既工作与该层上。一个完整的程序行为请求是如下流程:位于3户层上的应用程序产生指令行为请求,被传递至2HAL进行处理,最后进入1最底层后进入CPU的指令处理循环,然后反向将软件可识别的处理结果经1-2-3再响应给应用程序。对于Norton而言,其整个工作过程如下:3-2-1,完成;Mcafee:3-2-1-1-2,完成:其余:3-2-1-1-2-3,完成;这个环节代表了杀毒软件引擎的前端行为规范的获得。只从这个过程而言,Norton和Mcafee是比较先进的。具体到系统与CPU的Ring()的对应,Win NT时代,微软的NT系统被设计成与四个Ring()层相对应,RISC系列的处理器有四个Ring。因此现在的大部分杀毒软件是不能工作在NT上的。具体来说,CISC有四个Ring(),RISC有两个Ring()。
尽管比较先进的工作方式给Norton和Mcafee带来了较高的系统稳定性(HAL层很少出现问题,最底层出问题的几率接近于零),较快的响应速度(减少了环节),但同时也带来了一些问题:1.资源占用比较厉害。在Mcafee上体现的不是很明显,在Norton上表现非常明显。因为对于越底层的行为,硬件资源分配越多。最好资源的是什么?当然是操作系统。应为它最最底层。2.卸载问题。卸载底层的组件出问题的概率是相对比较高的,因此Norton的卸载比较慢,偶尔还容易出问题。

以下为本文参考引用的的一些文章:
本文参考1:(https://blog.csdn.net/leolewin/article/details/47841355)
本文参考2:(https://blog.csdn.net/zhangnn5/article/details/6437371)
本文参考3:(https://blog.csdn.net/ccrookie/article/details/45748137)
本文参考4:(https://blog.csdn.net/weixin_44944722/article/details/95620977)

你可能感兴趣的:(随笔)