Minerva (ミネルバ)

Acrobatリーダはセキュリティ製品のDLLインジェクションをブロックしてしまうのか?                2022年6月20日 Minervaのブログから

2022年3月以来、Acrobatリーダの実行が開始されると、各種セキュリティ製品のクエリーを発生する件が徐々に増えてきています。最近になってAdobe製品にこのような現象が起こるので、Minervaチームは調査に乗り出しました。

 

この現象が起こるのは、2022年3月にアップデートされたlibcef.dllが要因であり、このファイルはChromium Embedded Framework (CEF) Dynamic Link Library の一部です。 

 

このDLLには、ハードコーディングされたDLL呼称のリストがあります。

図1. ハードコーディング化されたDLLリスト(一部抜粋) - Libcef.dll

全DLLリストは以下PDFでご覧ください。

DLLクエリー全リスト.pdf
PDFファイル 143.3 KB

Chromium DLLのベーシックドキュメントには、DLLのブラックリスト化されているショートリストが含まれています。

図2. ChromiumによってハードコーディングされたDLLブラックリスト

Libcef.dllを使用しているベンダーはDLLリストを容易に変更することができます。Adobe libcef.dllバージョンでハードコードされているDLLリストは、以下にある30社のセキュリティ製品のDLLを含むリストでした。

 

1. Trend Micro

2. BitDefender  

3. AVAST  

4. F-Secure 

5. McAfee 

6. 360 Security 

7. Citrix 

8. Symantec 

9. Morphisec 

10. Malwarebytes 

11. Checkpoint 

12. Ahnlab 

13. Cylance 

14. Sophos 

15. CyberArk 

16. Citrix 

17. BullGuard 

18. Panda Security 

19. Fortinet 

20. Emsisoft 

21. ESET 

22. K7 TotalSecurity 

23. Kaspersky 

24. AVG 

25. CMC Internet Security 

26. Samsung Smart Security ESCORT 

27. Moon Secure 

28. NOD32 

29. PC Matic 

30. SentryBay 

Libcef.dll ローディングプロセス

Libcef.dllは2つのAdobeプロセスであるAcroCEF.exeとRdrCEF.exeが実行されています。両方のファイルは、ネットワークインタラクションやドキュメントクラウドサービス (記入と署名、署名を送信、ファイルの共有/更新など)など複数のアプリケーションを統合管理しています。これらのファイルは同じDLLを使用し、上記に記載のあるセキュリティ製品の存在をチェックすることが、調査の結果判明しました。

 

インジェクションされたDLLを検証するために、Chromiumの組み込みフレームワークDLLソースコードの幾つかを調査しました。

インジェクトされたDLLをチェックするかどうかをレジストリーキーで設定されています。

 

Adobeリーダーの場合は、レジストリーパスがHKEY_CURRENT_USER\SOFTWARE\Adobe\Adobe Acrobat\DC\DLLInjectionです。レジストリキー名は、"bBlockDllInjection”で、Acrobatリーダーの最初の実行時に生成され、デフォルト値が  "0" に設定されています。この値が "1" に設定されている場合、libcef.dllはロードされたDLLチェックを実行します。ユーザーによってアクセスや編集が可能で誰でもキーを変更できるようになっています。

 

レジストリキー名の "bBlockDllInjection" を cefドキュメントで調べてみると、ブラックリスト化されたDLLをブロックするようになっているのではと推測します。またMinerva 調査チームは数か月前にCitrixブログにあるブログを見つけ、内容によるとAdobe社は新規バージョンのAcrobatリーダーのDLLインジェクションの無効化をアンチウィルスベンダーに提案していました。しかしながらAdobe社は、数社のアンチウィルスベンダーとDLLインジェクションの問題を抱えていたと述べています。 

 

このレジストリキーは、Acrobatリーダーが実行する毎に設定されることは注目に値します。ほとんどの場合は、デフォルト値が "0" に設定されていました。しかし稀に "1" の設定もありました。デフォルト値はエンドポイント環境、Acrobatのバージョンとローカル環境の特性などによって影響されます。

 

セキュリティ製品のDLLインジェクションをAdobe製品がブロックしてしまう現象については、セキュリティホールの可能性があります。セキュリティ製品がプロセス時のインジェクションが無効化されると、プロセスの可視化に支障が起こり、検知及び防御する性能が妨害されてしまう恐れがあります。生成されたAdobe関連プロセスは、今後、監視することが困難になるかもしれません。PDFの "OpenAction" のコマンドを追加することで、PowerShellを実行することが可能になります。これにより新たなマルウェアが台頭するきっかけとなり、セキュリティ製品のDLLがインジェクトされないことで検知が不可能になるでしょう。

 

Minerva Labs社はこの件についてAdobe社へコンタクトを取り回答を得ることができました。彼らの返答は、Acrobatリーダが採用しているChromium Embedded Framework (CEF) はサンドボックス機能があり、特定のセキュリティ製品のDLLとの互換性に問題はあるが、それを回避することで安定性を維持しているので問題はないとの回答でした。

調査結果からの懸念

Adobeリーダのような世界規模で利用されている正当なソフトウェアが、セキュリティ製品のクエリー (存在) をチェックし、セキュリティのインジェクションプロセスを妨害する仕組みは、悪意のソフトウェアが検知回避する可能性があります。最悪なのは、マルウェアがネットワークへ侵入し、検知回避を繰り返し行い、攻撃の足掛かりを構築したときです。

 

今回のケースは、サプライチェーン攻撃予兆の懸念を感じます。SolarWinds社サイバー攻撃のような大規模攻撃が開始された時、マルウェアは同様のクエリーを発し、セキュリティ製品からの検知を回避していました。またマルウェアは、普段とは異なる動きをしたり、不必要なクエリーを発していました。

 

今回のAdobeからの回答は、セキュリティ製品との互換性を強調する趣旨ですが、サイバーセキュリティの観点で言うと、今回のケースは新たな脆弱性の問題と捉える必要があると思います。セキュリティソフトウェアとの互換性問題に目を向けるより、セキュリティソフトがプロセス上において防御する機能を無効化している問題を現実直視すべきであると考えます。

Minerva Armorはこのようなタイプの悪意行動を防御

Minerva Armor(製品名)は、敵対的環境防御モジュールで怪しい行動を検知することができます。このモジュールは、悪意のあるソフトウェアはネットワーク内に侵入して状況を把握するためにOSへクエリーを発しますが、そのクエリーに対し全てポジティブな応答をすることでマルウェアの実行を先制防御します。例えばトレンドマイクロなど特定のセキュリティ製品が稼働しているかなどのクエリーを発した時には、実際にその製品がインストールされていなくてもポジティブな応答をすることで、マルウェアは危険を察し検知されるのを恐れて攻撃実行するのを止めてしまいます。

図 3.  Adobe Acrobatによって誘発されたセキュリティ製品クエリーイベント

Minerva製品(Minerva Armor)についてのお問い合わせはPico Technologies (info@pico-t.co.jp)までお願い致します。

HOME