脅威のスポットライト:ブラックベリーサイランス vs. Upatre DownloaderとInfostealer

By The Cylance Threat Research Team

本ブログ記事は、2019年4月9日に米国で公開された抄訳版です。原文はこちらからご覧頂けます。

「BlackBerry Cylance Versus」シリーズは、過去から現在に至る様々なマルウェアを深く分析し、何年にもわたって活動している可能性がある脅威とその理由を明らかにすること、およびセキュリティコミュニティとしてそれらのマルウェアと戦うこと目的としています。

Upatreは、2013年8月に初めてインターネット上で発見され、その後2015年に全盛をきわめました。以後鳴りを潜めているとはいえ、今もまだ組織にとって脅威であることに変わりはありません。Upatreでは、2つの暗号化ルーチンを使ってそのペイロードが保護されています。最初のルーチンはXORおよびROL暗号化です。2番目のルーチンはRC4暗号化です。

Uparteは通常、マルウェア・ファイルが添付されたスパムメールを介して拡散します。多くの場合、この電子メールは、請求書やボイスメールメッセージ通知を装います。またこのマルウェアは、添付された、パスワードで保護されたアーカイブファイルの中にひそんでいたり、電子メール内に挿入された、不正なWebサイトへのリンクにアクセスすることによって自動的にダウンロードされ、インストールされたりすることもあります。Uparteでは、正規のファイルの種類のアイコンが使用されることがあります(図1)。


図1:PDFのアイコンはおとり

Upatreは、実行されると、自らのコピーをローカルシステム上にドロップし、悪意のあるファイルを%temp%\[ランダムファイル名].exeにダウンロードします。

アクティブになったUpatreは、情報を盗み、次のような別のマルウェアをダウンロードします。

  • Zeus
  • Rovnix
  • Dyzap
  • Cutwail
  • Zbot
  • Cidox
  • Asprox

技術的分析:

Upatreは、XOR/ROLとRC4という2つの暗号化ルーチンによって保護されています。プロテクタとペイロードのどちらにも同じ難読化手法(文字列のシフト、図2)が使用されています。これは、同じ人物によって作成されたことを示唆する可能性があります。


図2:文字列のシフトによる難読化

Upatreは展開前に“SizeOfCode”をチェックします。結果が768ではない場合、または131581より大きい場合、展開プロセスはスキップされ、その後プロセスはクラッシュします(図3)。


図3:コードサイズのチェック

パックされた領域の開始は、ESIによってポイントされます。ESIはエントリポイントによってoff_405200に設定されています(図4)。


図4:PEヘッダーをポイントするESI

展開ルーチンは、まずパック領域のサイズを計算します(図5)。


図5:最初の展開ルーチン

最初の展開ルーチンは、復号された領域へのリターンで終わります。次の展開ルーチンは、RC4を使用し、手動でAPIのアドレスを解決します。


図6:2番目の展開ルーチン

kernel32.dllがロードされ、現在のEIPが変更された後、エントリポイントが127AH(元のエントリポイントの場所)に設定されます。この情報は後で上書きされます(図7)。


図7:エントリポイントの設定

次に、Upatreは以下のAPIをインポートします(図8)。

  • GetProcAddress
  • VirtualProtect
  • LoadLibraryExA
  • GetModuleHandleA
  • VirtualAlloc
  • GetModuleFileNameA
  • CreateFileA
  • SetFilePointer
  • ReadFile
  • VirutalFree
  • CloseHandle
  • GetModuleHandleA


図8:APIのインポート

このマルウェアは、ロードされたコードの大部分を上書きした後、残りの部分を新たに割り当てられた領域にコピーして保存します。Upatreは、ペイロードの展開前に、イメージベースからメモリをゼロで消去して、現在のイメージをクリーンアップします。その後、マルウェアのペイロードが展開されます(図9)。


図9:ペイロード展開ルーチン

ぺイロードが展開されると、Upatreはさらなるマルウェアをダウンロードするために使用するネットワーク文字列を復号します。ダウンロードされたファイルは、一時ファイルパスに格納されます(図10および11)。


図10:Upatreによる、悪意のあるファイルをダウンロードするためのネットワーク文字列の復号


図11:Upatreによる、悪意のあるファイルを格納するための一時パスの取得

Upatreの重大性と懸念すべき理由

Upatreの暗号化および難読化ルーチンは、従来のシグネチャベースのアンチウイルス製品を回避する目的で作成されました(CylancePROTECT®はこの影響を受けません)。これらのルーチンによって、このマルウェアは、シグネチャベースのセキュリティ対策に頼っている今日のシステムにとって脅威となっています。Upatreには、それ自体の永続化メカニズムは備わっていませんが、別のマルウェアの追加ダウンロードを通じて、永続性と別の悪意のある機能の両方を確立する能力があります。

ブラックベリーサイランスはUpatreを阻止

Upatreは今後も進化し続ける可能性がありますが、どのように偽装したとしても、AIによってトレーニングされた当社の高度なセキュリティソリューションは、それが脅威であることを見破ります。ブラックベリーサイランスは、ゼロデイ脅威に対する予測優位性を提供するだけでなく、Upatreのような従来のマルウェアに対しても効力を発揮します。この能力により、ブラックベリーサイランスは、特定のファイルシグネチャではなく、無数のファイル属性に基づいて、脅威を検知できます。ブラックベリーサイランスは、Upatreとそのさまざまな亜種を検知し、それらの実行を未然に防ぎます。

Tags: