杀毒引擎详解

0x0 反病毒软件工作原理
目前反病毒软件引起具有三种,分别是第一代扫描技术、第二代扫描技术、与算法扫描3种。
(1)第一代扫描技术
    第一代扫描技术:在文件中检索病毒特征序列,主要分为字符串扫描技术和通配符扫描技术。
(1.1)字符串扫描技术
字符串扫描技术是一种较为古老的扫描技术,会将“ok”、“windows10”、“mimikatz”、等等的字符串进行检测匹配,字符串扫描技术就是使用从病毒或木马中提取出来的具有特征的一段字符来检测病毒,这些字符一般不会在正常技术中出现。
(1.2)通配符扫描技术
此技术中的通配符扫描技术可以理解为具有一定意义的符号,例如DOS下*代表任意长度、任意字符、通配符扫描器一般用于跳过某些字节或字节的范围。
(1.3)其他扫描技术
不匹配字节数扫描技术:这是IBM Antivirous软件开发的一种技术。

通用检测法扫描技术:用一个简单的字符串来搜索某类病毒的部分或全部已知变种。

散列扫描技术:散列是一个常见的术语,这里指可以对特征码的首字节或第一个16位或32位字节进行计算,从而允许字符串后面的字节包含通配符。

书签检测法:一种保持病毒检测和清除过程更加准确的方法。

首位扫描检查法:通过扫描文件头部和尾部而加快检测速度的复杂方法。

入口点和固定点扫描技术:可以进一步提升防病毒扫描工具检查速度的一种方法。
(2)第二代扫描技术
第二代扫描技术表现为:近似精确识别法与精确识别法,除此之外还有智能扫描法,骨架扫描法。
(2.1)智能扫描法
智能扫描法会忽略检测文件中像nop这种无意义的指令,对于文本格式的宏病毒或脚本病毒,则可以替换掉多余的格式字符,例如空格、换行符、制表符等。
(2.2)近似精确识别法
近似精确识别法包含了若干种方法,常见的有多套特征码、校验和技术

多套特征码:该方法采用两个或多个字符串集来检测每个病毒,如果扫描器检测到其中一个特征符合,那么就会警告发现变种,但并不会执行下一步操作(例如清除病毒体或删除文件),如果特征全部符合,则发现病毒,并执行下一步操作。

校验和: 让每一个无毒文件生成一个校验和,等待下次扫描时在进行简单的校验和比较,如果校验和有所变化,再做进一步扫描,关于校验和就是通过对病毒中的某一段代码进行计算从而得出一个值与MD5类似。
(2.3)骨架扫描法
此方法有卡巴斯基公司发明,检测宏病毒时候特别强力,既不用特征码也不用校验和,而是通过逐渐解析宏语句,并所有非必要字符丢弃,只剩下代码骨架,通过对代码骨架的分析,从而提高对变种病毒的检测能力,
(2.4)精确识别法
精确识别是能够保证扫描器精确识别病毒变种的一种方式,常用第一代扫描方法结合使用,精确识别法也是利用校验和技术,只是更复杂,它通过对整个病毒进行校验和计算机生成特征图。
(2.5)基于行为监控反病毒
如果某些程序执行后会进行一些非正规的,可疑的操作那么就是会被拦截。
(2.6)内存扫描技术反病毒
内存扫描反病毒是一种原理复杂的扫描技术,内存扫描器一般与实时监控型扫描器协作,当程序运行后自身释放到内存,释放到文件与内存不一致就会有疑点。
(3)云查杀
用一句话概括云查杀就是可信继承、群策能力。
云查杀思路:以服务器为脑,以所有用户机器为触角,从而使得服务器可以随时知道每个用户的情况,如果其中一个用户和其他用户对比发生了异常,那么服务器就发出指令,让异常机器检查问题所在,并将问题反馈给服务器,从而在干扰其他用户之前扼杀。
   其他用户是云查杀信任的整个基石,举列子:如果大多数机器上都运行过QQ.EXE,那么当一个新加入的机器也试图运行QQ.EXE时,服务器就认为这是正常的,否则服务器就会发出相应指令让用户的机器去阻止运行。
(3.1)可信继承
整个云的信任机体系是非常复杂的结构,其中包含用户参与的信任评价体系,反病毒专业人员参与的样本分析信任体系,服务端自动判断信任体系,以及基于数字签名的认证信任体系等。
顶端的信任是由数字签名,样本分析构成的,这些顶端的信任体系在用户机器上表现出来的形式就是根可信进程,所谓的根可信进程就是指可信的进程链条的顶端,凡是由于可信进程开启的新进程都是被认为可信的。
举个例子:假如进程A具有数字签名的根可信进程,那么它在被用户直接运行的时候就不会触发反病毒任何操作,那么它被用户执行时就会收到严密的监控,如果它在执行期间进程B是一个非可信进程,那么它被用户执行就会受到严密的监控,如果在它执行期间有什么敏感操作,样本会被立即提交给服务器处理。
(3.2)群策能力
云计算的特点是具有分布式,而病毒木马的感染恰恰也具有分布性这种特点,这一样病毒木马感染越快,感染面积越光,被云查杀的捕获的可能性就越大。
4.代码仿真(Code Emulation)
代码仿真是一种极为强大的病毒检测技术,这种技术很好实现了一个程序运行所需要的所有虚拟环境,它的原理是通过一个虚拟机环境来仿真CPU和内存管理系统,从而模拟代码执行过程。
    当反病毒软件决定将某个程序放到虚拟机中运行时,首先要将可执行程序的内容读取到内存缓冲区,然后仿真器中的一个庞大switch语句对各个指令进行逐一分析,最后执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚构之人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值