杀毒引擎的原理
2016-06-24 18:09
701 查看
杀毒引擎的原理
用简单的话说,杀毒引擎就是一套判断特定程序行为是否为病毒程序(包括可疑的)的技术机制。一般来说,判断杀毒引擎好坏应从多方面综合考虑,主要包括:扫描速度、资源占用、清毒能力、对于多态病毒的检测,脱壳能力、解密能力、对抗花指令能力、对抗改入口点的变种病毒的能力等对抗变种病毒、免杀的能力,还有稳定性、兼容性。
影响扫描速度和检出率的因素
1.扫描方式快速扫描–一般是指扫描第三方应用。速度快,但是检出率低
全班扫描–连系统引用一起扫。还可扫描sdcard里的应用。速度慢检出率高。
2.本地扫描和云扫描
云扫描:像腾讯管家和360这种,拿到样本MD5值后传上云端,由云端计算和扫描,云计算速度快,扫描速度相比手机也快很多。一般500个样本也只需40秒左右。缺点,只能扫云数据库中包含的样本。检出率低。且无启发式功能。而且需要联网。所以腾讯一直在培养用户联网扫描的习惯。
本地扫描:像安天AVL这种引擎,有自己本地的数据库,先将需要检测的样本load到内存,在匹配引擎里面的特征和规则,匹配到白证书或者是黑样本的特征就返回特定的值。检测一个返回一个值。缺点:速度慢。优点:检出率高,无需联网。
一般引擎都是云+本地结合。但是本地才是王道啊。还有主动防御这一块,也需要加强能力。
传统反病毒特征值扫描技术
传统反病毒特征值扫描技术,由反病毒样本分析专家通过逆向反编译技术,使用反编译器(ollydbg、ida、trw等)来检查可疑样本文件是否存在恶意代码,从而判定程序文件是否属于正常程序或病毒、恶意软件。在确认程序为病毒、恶意软件后,不同的安全厂商根据自己的标准对此可疑程序样本进行特征提取和样本命名(不同安全厂商有自己规定的特征提取点和样本命名规则)。最后经过测试部门测试通过后,更新到服务器,提供用户的本地病毒库更新。在用户操作系统正常监控或用户手动扫描后,利用杀毒引擎对系统上的文件自动进行特征值提取并与病毒库中已存特征值比对,条件符合即比对结果为真时,即判断此文件为病毒库中记录的特征值对应的病毒名称的病毒(恶意软件)。病毒、恶意软件通常最初的指令是直接读写磁盘操作、解码指令,或获取系统目录(GetSystemDirctory)、获取磁盘类型(GetDriveType)、打开服务管理器(OpenSCManager)等相关操作指令序列。这些都是病毒样本分析专家分析中得到的经验。
传统的反病毒软件引擎使用的是基于特征码的静态扫描技术,即在文件中寻找特定十六进制串,如果找到,就可判定文件感染了某种病毒。但这种方法在当今病毒技术迅猛发展的形势下已经起不到很好的作用了。为了更好的发现病毒,相继开发了所谓的启发式,主动防御等相关技术。
相关文章推荐
- C++编译连接总结(三)--cmake
- Git
- #pragma mark /*邮箱验证 /手机验证 HELENSONG*/
- (Android)使用httpclient上传文件到服务器
- 通过一个接口获取json数据并展示
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之二
- 打印机驱动特殊安装步骤
- 脚本编程--shell
- 算法:模拟法二(杭电ACM4816)
- C++编译连接总结(二)--自己的静态库动态库的编译与引用
- SSH框架总结(框架分析+环境搭建+实例源码下载)
- 多个Tomcat运行,端口冲突,端口修改心得
- cell 与cell.contentView的区别
- ElGamal密码
- JQuery+ajax+jsonp 跨域访问
- 获取手机的IP(WIFI、GPRS)
- 西安邮电大学决赛
- APK安装失败
- 采用shiro实现登录认证与权限授权管理
- 搭建高可用的redis集群,避免standalone模式带给你的苦难