[2021]杀毒软件查杀技术 huoji 反病毒,杀毒软件,随便一说 2021-09-27 1582 次浏览 139 次点赞 杀毒软件查杀技术 1. hash查杀: 算个hash,查查这个hash在库里面吗 2. 单特征码查杀: 随便取一段字节码,比如程序的中间,取8个字节或者32个字节,存着,如果这些字节一样,杀掉 3. 多特征码: base+偏移,比如 duck.exe+0x1337 = 0xf5ff7788 那么就是木马 4. 辅助特征码技术: pe头、字符串、导入表、pe信息等 5. 全局特征: 多半是基于局部敏感hash算法,此类误报最大,因为病毒加壳后就基本上无解了 6. 启发查杀 初级版: 提取字符串、导入表、之类的,遇到某些函数或者字符串进行加分减分操作 中级版: 指定一些pe信息,比如PE入口点前x字节,导入表导出表函数等信息,送入机器学习网络,与多分类任务无差别,玩的花的比如把整个PE当成一张图片,然后做CNN的也有,用SVM做特征的也有,目前大部分安全软件的 "启发引擎" 就是这玩意. 高级版: 中级版的信息+动态行为模式,所谓的动态行为是用CPU仿真的操作虚拟出一个系统,然后模拟跑样本(可以参考unicorn-engine),看API调用+中级版查杀脱壳后的东西 7. 后置查杀引擎 对运行后的行为链进行提取,送入机器学习的网络,根据行为启发引擎+静态启发引擎进行行为判定,此类目前被称为 "下一代杀毒引擎" 8.其他辅助查杀 云查杀,本地算个特征丢到云里面看看,毕竟本地特征库现在上万亿的病毒数量,实在是太大了太影响性能了. 评价: 早期特征码是个有效手段,中期特征码开始发到上万亿的行为库,VT杀毒就是这个时候发家(做特征码查杀?先交一笔钱,交了后你就能瞬间拥有同等级的特征码库) 静态启发查杀到最后发现易语言、.net、hta、VB等全部完蛋,演变成了白文件扫描,不是白文件就上报,然后人肉分析要么加黑要么加白.这几年唯一的进步是整了个动态+静态启发,动态脱壳,静态杀脱壳后的数据 虚拟执行动态启发,想法很好,但是99.999%的虚拟机无法解决GUI界面库问题,0.0001%的公司解决了界面库的问题后发现自己的杀毒引擎还不如直接套个qemu来获取行为,毕竟都快把整个系统给搬到代码里面了,工程量大还不说,瑕疵很明显,很容易绕过 后置查杀引擎: 行为链难以链接上,虽然有效果,但是需要的投入的时间与资金是无法想象的,卡巴斯基这么多年也无法保证在离开静态引擎的情况下实现"下一代杀毒引擎",因此这种方法才被叫做是"下一代杀毒引擎",但是目前看最有希望做出来的是微软,因为微软毕竟是自家的产品,为了实现监控ssdt调用,微软在kisystemcall64直接插defender的API,卡巴斯基为了实现这个东西去做行为引擎废了老大力气写hypervisor,微软用不超过10行代码(9行是PG为了防止其他人"盗用")实现了 动态+虚拟执行+静态: 有钱随便霍霍,反正结合在一起查杀率肯定很高 **当然本篇不是为了否认这些厂商、人员所存在的。只是简单说一下当下各大技术的原理与缺点** 本文由 huoji 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。 点赞 139
还不快抢沙发