3 EPO(Entry Point Obscuring) 技术 为什么要采用EP○技术呢? 杀毒技术提高--)防止被发现--)EPO 三种实现方法: 最早的EPO通过改变程序入口处的代码实现的。 简单但无用 把宿主程序的任意位置的指令替换为跳转语句 难点在于定位一个完整的指令(类似于一个反 编译器) PATCH|AT的函数
3 EPO(Entry Point Obscuring) 技术 • 为什么要采用EPO技术呢? – 杀毒技术提高 ---〉 防止被发现 ---〉 EPO • 三种实现方法: – 最早的EPO通过改变程序入口处的代码实现的。 简单但无用 – 把宿主程序的任意位置的指令替换为跳转语句。 难点在于定位一个完整的指令(类似于一个反 编译器) – PATCH IAT的函数
如果在一段代码中有一条指令 228738fd ff1 5eb0f107d call [7d100febh 把它替换成新的指令 Call [Address of virus 在病毒体内还要再次调用Ca[7d100febh]来完成宿主程序的功能。代 码如下: dwf15h;f15eb0107d的前缀 backaddr dd0;存放f15eb0107d的后缀,这个后缀是变化的 在病毒代码中,把 backaddr的值动态的改为Cal[7d100febh]指令编 译后的后缀
• 如果在一段代码中有一条指令: • 228738fd ff15eb0f107d call [7d100febh] • 把它替换成新的指令 • Call [Address of virus] • 在病毒体内还要再次调用Call [7d100febh]来完成宿主程序的功能。代 码如下: • dw ff15h ;ff15eb0f107d的前缀 backaddr dd 0 ;存放ff15eb0f107d的后缀,这个后缀是变化的 • 在病毒代码中,把backaddr的值动态的改为Call [7d100febh]指令编 译后的后缀
4抗分析技术 加密技术:这是一种防止静态分析的技术 使得分析者无法在不执行病毒的情况下, 阅读加密过的病毒程序 反跟踪技术:使得分析者无法动态跟踪病 毒程序的运行。 Win95 Flagger病毒
4 抗分析技术 • 加密技术:这是一种防止静态分析的技术, 使得分析者无法在不执行病毒的情况下, 阅读加密过的病毒程序。 • 反跟踪技术:使得分析者无法动态跟踪病 毒程序的运行。 • Win95.Flagger病毒
4抗分析技术:自加密技术 ·数据加密(信息加密) 例如:6.4计算机病毒就是这样处理的,计算机病毒发 作时将在屏幕上显示的字符串被用异或操作的方式加 密存储 -1575病毒加密数据文件。加密文件名 COMMAND. COM ·病毒代码加密 Chinese bomb把宿主程序前6个字节加密并转移位置。 1701/1704用宿主程序的长度作为密钥加密代码
4 抗分析技术:自加密技术 • 数据加密(信息加密) – 例如:6.4计算机病毒就是这样处理的,计算机病毒发 作时将在屏幕上显示的字符串被用异或操作的方式加 密存储。 – 1575 病毒加密数据文件。加密文件名 COMMAND.COM • 病毒代码加密 – Chinese Bomb把宿主程序前6个字节加密并转移位置。 – 1701/1704用宿主程序的长度作为密钥加密代码
4抗分析技术:反跟踪技术 DOs下,修改int0-3中断 Windows下 封锁键盘输入 关闭屏幕显示 修改堆栈指令 程序运行计时 动态地生成指令代码
4 抗分析技术:反跟踪技术 • DOS下,修改int 0-3中断 • Windows下: – 封锁键盘输入 – 关闭屏幕显示 – 修改堆栈指令 – 程序运行计时 – 动态地生成指令代码