混淆技术(Obfuscation techniques)

阅读: 评论:0

混淆技术(Obfuscation techniques)

混淆技术(Obfuscation techniques)

混淆技术被病毒制作者大量使用于躲避防病毒扫描程序的检测。
混淆对抗技术 只能对恶意软件的代码句法与签名进行混淆却无法掩盖恶意软件的行为。
所以基于动态的检测几乎都能针对混淆技术。
现有的恶意软件种类有:加密(encrypted),寡态(oligomorphic),多态(ploymorphic),变形(metamorphic)。

多态与变形恶意软件中常用的混淆技术。

  1. 死码插入(Dead-Code Insertion)
    程序无效指令改变其外观,但保证其行为。例如:通过插入无效指令nop可以轻松地对原始代码进行模糊处理。但是 基于签名的防病毒扫描程序可以通过在分析之前删除无效的指令来破坏此次技术,为了加大检测的难度,提出了一些代码序列。

  2. 注册重新分配(Register Reassignment)
    寄存器重新分配是另外一种简单的技术,可以将寄存器代代切换,同时保持程序代码及其行为相同,通过改变寄存器来改变原始代码。(前图为原始图,后图是修改寄存器后图像)


  1. 子程序重新排序(Subroutine Reordering)
    子程序重新排序通过以随机方式改变子程序的顺序来模糊原始的代码,这种技术可以生成n!种不同的变种
  2. 指令代替(Instruction Substitution)
    指令代替通过使用其他等效的指令进行替换来改变原始代码
  3. 代码转置(Code Transposition)
    代码转置重新排序原始代码的指令序列而不会对其行为产生任何的影响。具体有两种方法可以实现这种技术。
    1.基于无条件分支的代码转置(based on Unconditional Branches)
    随机重新混合指令,然后通过插入无条件分支或转跳来恢复原始的执行顺序,这种方式很容易恢复,通过删除无条件分支或转跳很容易恢复原始程序。
    2.基于独立指令的代码转置(based on Independent Instructions)
    通过选择和重新排序彼此之间没有影响的独立指令来创建新的原始程序,由于找到独立指令是一个复杂的问题这种方式难以实现,但会大大增加检测的成本
  4. 代码集成(Code Integration)
    恶意软件将自身编制到其目标程序的代码中,首先将其目标程序反编译为可管理对象,在它们之间进行无缝的添加,并将集成代码重新组合成新一代。作为最复杂的混淆技术之一,代码集成使检测与恢复变的非常困难
    7.加密代码
    8.变量重命名

References:malware obfuscation techniques,A Brief Survey

本文发布于:2024-02-02 23:55:31,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170688933147305.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:技术   Obfuscation   techniques
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23