正規プロセスに不正DLLを読み込ませて攻撃を実行させる

近年、セキュリティ製品による検知を回避するために実に巧妙なテクニックを駆使するサイバー攻撃の手口が増えてきています。今回はそのうちの1つである「DLLハイジャッキング」について解説してみたいと思います。

DLLハイジャッキングでは、マルウェア自身は実行形式ファイルの形をとらず、他のプロセスから読み込まれるDLL(ダイナミックリンクライブラリ)としての形態をとります。実際に攻撃を行う際には他の正規プロセスを巧みに操り、この不正DLLを読み込ませることによって正規プロセスに不正な動作を代わりに実行させます。

一般的なセキュリティ製品からこの挙動を見た場合、一見しただけでは正規プロセスの動作の一環にしか見えないため、不正DLLによって乗っ取られているとはなかなか気付けません。まさにDLLのメカニズムを悪用して正規プロセスを“ハイジャック”しているわけです。

弊社でもこのDLLハイジャッキングの攻撃をたびたび検知していますが、その中から今回は認証情報の窃取を試みる攻撃の手口を紹介したいと思います。

セキュリティ製品の正規プロセスをDLL読み込みで“ハイジャック”する

弊社の製品が検知したアラートの中に、「Windowsの正規の認証管理プロセスである『LSASS』に対して疑わしいアクセスが発生している」というものがありました。これは一般的に、認証情報の窃取を試みるマルウェアの典型的な所作の1つです。

そこでこの疑わしい処理を実行しようとしたプロセスを特定し、それがどのような経緯を辿って実行されたかを遡って調査したところ、とあるセキュリティ製品に含まれる正規の署名済みプログラムのプロセスが起点になっていることが分かりました。このプロセスはWindowsの管理インタフェース「WMI」を通じて起動されており、ユーザーの意図に反して実行された可能性が高いことをうかがわせています。

さらにこのプロセスの挙動を調査したところ、署名のない不審なDLLを読み込んでいることが判明しました。そしてこのDLLを読み込んだ後、不審な外部ドメインへの通信を試みた痕跡が見て取れました。この外部ドメインは、プログラムの開発元であるセキュリティベンダーに帰属するものではないことから、読み込まれたDLLファイルが正規ファイルになりすまし、窃取した認証情報を外部のC&Cサーバへ転送しようとしたのではないかと推察されます。

さらには、他の端末への感染の横展開や探索行為を試みるコマンドの実行なども観測されており、典型的なDLLハイジャッキングの手口ではないかと考えられます。

DLLハイジャッキングの攻撃に備えるためには

これら一連の不審な挙動は、一見すると正規セキュリティ製品の動作の一部にしか見えないため、一般的なセキュリティ製品ではなかなか検知できません。また多くのDLLハイジャッキングの手口は、OSやアプリケーションの脆弱性を悪用して正規プロセスを乗っ取って攻撃を行います。そのためこの手の攻撃による被害を未然に防ぐには、まずはOSやミドルウェア、アプリケーションの既知の脆弱性を決して放置せず、最新のセキュリティパッチを確実に適用することが大切です。

組織内で多数のPCやサーバを抱えている場合は、それらすべてで漏れなくセキュリティパッチを適用できるよう、資産管理ツールなどを活用してパッチの適用状況を常に把握できる仕組みが必要でしょう。

もし攻撃を受けていることが判明した場合は、まずは外部への情報流出と他の端末への感染拡大を防ぐために感染端末をネットワークから隔離するとともに、感染端末が通信を試みた外部ドメイン・IPアドレスへのアクセスをネットワーク機器上でブロックします。また感染端末の利用ユーザーのパスワードをリセットし、なりすまし攻撃によるさらなる被害を防止することも重要です。

さらには、OSの正規プロセスが乗っ取られている可能性を鑑み、感染端末のOSを再インストールしておけばより安心でしょう。

「Cybereason NGAV」「Cybereason EDR」でDLLハイジャッキングを効果的にブロック

もちろん、既知のDLLハイジャッキングの攻撃を検知するために、セキュリティ製品のシグネチャ情報を常に最新に保っておくことも大切です。例えば、弊社が提供する次世代アンチウイルス製品Cybereason NGAV」は、DLLハイジャッキングでこれまで利用されたDLLファイルに関する情報を多数保持していますので、既知の攻撃を効果的に検知・ブロックできます。

ただし既に何度か述べた通り、DLLハイジャッキングではOSやアプリケーションの正規のプロセスを隠れ蓑にして攻撃を行うため、未知の攻撃を検出するのは並大抵のことではありません。そのため、どうしても一般的なアンチウイルス製品やエンドポイントセキュリティ製品には備わっていない、高度な検知技術が必要になってきます。

その点、Cybereason NGAVはパターンマッチング処理で既知のマルウェアを検知するだけではなく、振る舞い検知や機械学習によるバイナリ静的解析など複数の検知技術を組み合わせて、未知のDLLハイジャッキング攻撃もブロックできます。それに、もし万が一これらの検知技術をすり抜けてマルウェアの侵入を許してしまったとしても、感染端末上で不審な動きを見せた瞬間に弊社のEDR製品Cybereason EDR」が即座に検知します。

今後もDLLハイジャッキングのように、正規のプロセスを隠れ蓑にした高度な攻撃手口が次々と考案されるでしょう。こうした攻撃にあらかじめ備えておくためにも、Cybereason NGAVやCybereason EDRのような最新のエンドポイントセキュリティ製品を導入しておくことをお勧めします。

ホワイトペーパー「次世代アンチウイルス(NGAV)とEDRが高度な脅威に対処」を公開中

EDRNGAVの組み合わせの優位性をご紹介するホワイトペーパーを公開しております。ぜひご活用ください。 https://www.cybereason.co.jp/product-documents/input/?post_id=1826 ホワイトペーパー「次世代アンチウイルス(NGAV)とEDRが高度な脅威に対処」