无名 发表于 2022-5-8 18:14:36

免杀第二课,什么是免杀?

01. 简介
免杀大概可以分为两种情况:

二进制的免杀(无源码),只能通过通过修改asm代码/二进制数据/其他数据来完成免杀。
有源码的免杀,可以通过修改源代码来完成免杀,也可以结合二进制免杀的技术。
免杀也可以分为这两种情况:

静态文件免杀,被杀毒软件病毒库/云查杀了,也就是文件特征码在病毒库了。免杀方式可能是上面的两种方式,看情况。
动态行为免杀,运行中执行的某些行为被杀毒软件拦截报读。行为免杀如果没有源码就不是很好搞了。
下面就静态和动态免杀来详细说说免杀的技术。

02. 静态免杀
对于静态免杀,针对的是杀毒软件的静态文件扫描,云查(病毒库)杀。

杀毒是提取文件一段特征码来识别病毒文件。

能识别一个程序是一个病毒的一段不大于64字节的特征串

那杀毒软件是怎么提取文件特征码的?

如果我们知道了一个文件是病毒,那么通过md5肯定可以判断一个就是这个病毒文件,那如果该病毒文件做了小小变动呢,直接md5肯定是不行了,那杀毒软件是怎么做的呢?这里有个叫做模糊哈希(Fuzzy Hashing)算法的东西。

模糊哈希算法又叫基于内容分割的分片分片哈希算法(context triggered piecewise hashing, CTPH),主要用于文件的相似性比较。

大致就可以理解为,不要把一个文件的所有内容都拿来计算hash,而通过分片,取出部分重要(不易改变)的内容进行hash计算,这样就能达到通过一个特征码找到类似的病毒变种。

关于模糊哈希更加详细的内容可以查看文章后面的参考文章,这里不再详述。

具体杀毒软件是不是通过这个算法来计算特征码的,我也不能完全肯定(纯猜测加网上一点点信息),但是根据免杀的经验可以总结出几点:

特征码会有多个串组合(减少误报)
代码数据(肯定有)
会解析PE,检查附加文件数据、PE文件的资源等等#第一课,什么是免杀#
页: [1]
查看完整版本: 免杀第二课,什么是免杀?