免杀原理

1.反病毒软件原理 构成: 多个扫描器,病毒库,虚拟机 特征码:病毒具有的独一无二的特征字符 虚拟机: 构建运行环境与实际cpu,硬盘隔离

2.扫描技术

1.基于文件扫描 字符串扫描,正则表达式匹配扫描 智能扫描:忽略nop无意义指令,脚本病毒和宏病毒通过替换多余格式字符如空格,换行 多套特征码和校验和, hash函数计算 骨架扫描:对脚本和宏病毒,去掉多余字符后分析代码骨架,提高对变种病毒的检测能力 ..... 2.基于内存扫描 与实时监控型扫描器协作. 检测只基于文件免杀的病毒

3.基于行为监控 :配合主动防御和虚拟机,识别程序的行为

4.云查杀 一个用户查到了病毒,将特征发到服务器,然后整个用户都能查杀到 .... 还有其他内容

5.多种技术一起查杀

6.神经网络的启发式分析

2.免杀原理 基本思想:破话特征码,包括文件,内存特征, 行为特征 1.文件免杀 字符串修改, 如果特征码是字符串的话 花指令: 插入垃圾代码干扰反汇编 加壳 2.内存免杀 内存中有是另外一套特征码. 建立代码虚拟机,破坏指令特征 3.行为免杀 内核级病毒 利用系统漏洞,软件漏洞掩盖自己的行为 3.特征码定位 文件分割识别特征码, 但是如果使用校验和就不行了 .....................

3.特征码定位

  1.逐块填充

  2.逐块暴露

4.免杀思路:

  1.加1减1 汇编机器码相近的

  2.空白区域跳转 基于特征码的偏移,这里修改了偏移.

  3.上下互换 2条不影响执行流程的指令上下交换

  4.等值替换  2条执行结果等价进行互换

  5.修改入口点 .其实和空白区域跳转类似

  6.使用补丁

  7.利用花指令

   8.利用seh

  9.移动pe头部

  10.移动导入表

  11.为了避免启发式扫描,不应添加新的代码段,而是将原有代码段增大,然后增加新的内容

.如可疑的区段属性:代码段可写,数据段可执行,一般的程序代码段只有一个,且数据段属性为不可执行等

  12.多个pe头部,内嵌pe程序.

5.源码免杀

基本思路,通过定位特征码,然后对比是哪些源码代码生成的,通过修改这些代码使特征消失.

需要干的事:

1.定位行为特征, 定位文件特征

可以修改编译选项和更换编译器

写垃圾代码(注意防止被优化)

原文地址:https://www.cnblogs.com/freesec/p/6235053.html