GuLoaderの変化

ほぼこもセキュリティニュース By Terilogy Worx

GuLoaderは、名前の通り、ローダーです。
マルウェア検知の回避を目的として攻撃者が使用する、最も有名なダウンローダーの一つです。
GuLoaderの中核機能は、過去数年間で大幅に変わっていません。
しかし、難読化技術が継続的に変更されてきているため、GuLoaderの分析には時間とリソースを大量に投入する必要があります。

これまでのGuLoaderも、いくつもの手法を実装して解析を逃れるための機能を搭載しています。

  • セキュリティソフトの仕掛けたフックを解除する
  • GetProcAddressを活用することで、アンチマルウェアソリューションやアナリストの解析を難しくする
  • EnumWindowsを利用して、解析されていると思われるときには活動しない
  • NtSetInformationThreadのThreadHideFromDebuggerによるデバッグ改ざん手法で、デバッグされるとクラッシュするようにする
  • DbgBreakPoint APIを使って、デバッグされるとクラッシュするようにする
  • シェルコード自体にジャンク命令を多数追加して訳がわからなくする

盛りだくさんです。
最近の活動において、ここにまた新たに解析を逃れる機能が追加されていることが確認されました。

  • VEHを使う
    VEHはVectored Exception Handlingで、ベクトル化例外処理です。
    この機能により、Windowsアプリケーションは、標準の例外プロセスを経由する前に例外をインターセプトして処理できるようになります。
    これを活用し、何段階にもわたって動作し、解析されているまま動作することを回避するように作用します。

マルウェアの難読化の解除は、どんどん手間と時間がかかるようになってきています。
困ったものです。

参考記事(外部リンク):Getting gooey with GULOADER: deobfuscating the downloader
www.elastic.co/security-labs/getting-gooey-with-guloader-downloader