恶意软件二进制文件可以打包吗?

时间:2019-05-19 12:28:49

标签: malware malware-detection binaries

最近我正在阅读恶意软件分析。我正在浏览此恶意软件存储库(https://github.com/ytisf/theZoo)。在这里我们可以找到恶意软件的二进制文件。二进制文件可以打包吗?如果是这样,我们怎么能说这些二进制文件已打包?

PS :打包程序压缩程序并尝试向我们隐藏内部内容(某种压缩或加密方式)。我对此表示怀疑。二进制文件可以打包吗?

Edit2 :在此存储库中,他们只是为了安全起见才将其压缩,这并不是我在说的实际包装。解压缩后,我们将获得一个二进制文件。可以打包吗?

1 个答案:

答案 0 :(得分:0)

首先,您在“打包程序”和存档程序(ZIP等)或压缩程序之间的区别似乎没有任何依据。

“打包”的可执行文件不能直接执行。必须先打开包装。 (例如)与包含恶意软件的ZIP文件或已使用标准压缩程序压缩的恶意软件文件完全相同。

由一个以“秘密”方式“打包”……逃避检测的程序创建的“打包”可执行文件呢?好吧,那行不通。恶意软件在执行之前仍必须先解压。因此,这意味着坏的肠道现在有第二个问题:将拆包器放到受害者的机器上。一旦有人(反黑客)掌握了超级秘密的拆包程序,它就不再是秘密。它可以进行逆向工程...或由AV产品按原样使用在可疑的二进制文件上。

我能想到的“打包”的唯一实际用途是为恶意软件添加自动解压缩功能。该恶意软件(已分发)将由可执行文件和少量实现拆包程序的代码组成。可执行文件的其余部分将打包为可实现讨厌内容的代码。当用户运行恶意软件时,它将解压缩打包的代码,将其加载到内存中并开始执行。

但是,有潜在的方法可以检测或预防这种情况。

  • 如果解压缩程序在加载可执行代码之前将其写入文件,则AV产品可以检测到该错误。
  • 如果打包程序尝试将代码加载到自身中,则可能会阻止某些方法;例如使用内存保护硬件+操作系统等阻止解包程序创建包含可执行代码的内存段;参见https://en.wikipedia.org/wiki/Executable_space_protection
  • AV可以在打包的代码中寻找签名,也可以在拆包器的代码中寻找签名。

简而言之,恶意软件可以使用某种“打包”来隐藏自身,但必须在某处有一个可执行组件才能对其进行“解压缩”。


  

如果是这样,我们怎么能说这些二进制文件已打包?

  • 如果该恶意软件以非可执行文件的形式分发,您会弄清楚如何将其拆包。

  • 如果恶意软件是自解压的,则对自解压组件进行反向工程以了解其工作原理。

相关问题