通过更改恶意软件行为的顺序进行混淆

逆向工程 恶意软件 混淆 静态分析
2021-07-03 17:02:40

我知道有一些混淆技术会导致在使用静态分析时减慢甚至无法检测恶意软件。

但是,是否有类似的技术可以改变属于同一家族或变体的恶意软件行为的顺序?

有一个例子Malware 1,并Malware 2从同一恶意软件系列X

  • Malware 1 将连接到互联网,然后访问注册表
  • Malware 2 会做同样的事情,但顺序不同

如果它确实存在,它们是否是这种混淆的已知名称?是否有任何论文提到这种混淆技术?

2个回答

这可能属于“高级变形恶意软件”的范畴,尽管我不知道任何现实世界的恶意软件会自动将高级运行时功能的顺序从变体更改为变体。

一个例外是恶意软件将多个线程用于各种功能,其中操作系统调度程序将“随机”选择跨线程功能操作发生的顺序......但我认为这不是你所要求的.

寻呼@peter-ferrie,他可能在这里提供更重要的东西......

我发现的唯一可比较的技术称为Code Transposition,您必须区分两种类型:第一种基于条件跳转,第二种基于独立指令。我不确定您是否正在寻找更高、更“语义”级别的技术。

[...] 第二种方法通过选择和重新排序彼此没有影响的独立指令来创建新一代。由于寻找独立指令是一个复杂的问题,这种方法难以实现,但会使检测成本很高。[2]

来源是:

[1] Christodorescu, M., & Jha, S. (2006). 
Static analysis of executables to detect malicious patterns.   
Wisconsin Univ-Madison Dept of Computer Sciences.

[2] You, I., & Yim, K. (2010, November). 
Malware Obfuscation Techniques: A Brief Survey. 
In BWCCA (pp. 297-300).