2022年6月10日

ゼロデイ脆弱性「Follina」の解説

ゼロデイ脆弱性は、その性質上、脅威リサーチャーやほとんどのセキュリティツールに検知されないため、防御が最も困難な脅威の一つです。これらの脆弱性が悪用された場合、脆弱性を特定し、脅威者が攻撃を開始するまでに穴を塞ぐことは、時間との戦いとなります。

Follina脆弱性とは?

2022年5月27日、サイバーセキュリティ・コミュニティは、「Follina」と名付けられたMicrosoft Support Diagnostic Tool(MSDT)の新しいゼロデイ脆弱性を認識し、後にCVE識別子 "CVE-2022-30190" が付与されました。Follinaは、コード実行を可能にするMSDTのバグに起因しています。特定の状況下では、攻撃者は、巧妙なMicrosoft Office文書またはRTF(Rich Text Format)ファイルを使って、被害者のマシン上でPowerShellコマンドを実行することができます。

この記事では、エクスプロイトの詳細な説明、攻撃の結果についての議論、および組織が Follina 攻撃の犠牲になる可能性を低減する方法についての助言を提供する予定です。

Follinaとマイクロソフト診断ツール

このエクスプロイトを理解するためには、まずMSDTの問題を理解する必要があります。通常、MSDTが呼び出されると、トラブルシューティングの段階に進むために、サポート専門家が提供するパスキーを要求されます。

パスキー要求の例
パスキー要求の例

これは、あるレベルのセキュリティを提供し、トラブルシューティングユーティリティの機能へのアクセスを制限するはずです。しかし、特定の条件下で特定の構文を使用すると、パスキーを提供せずに MSDT を介して PowerShell コマンドを実行することが可能です。

Follinaの悪用

このバグを利用するには、攻撃者は「ms-msdt」を使用してトラブルシューティングウィザードを呼び出すHTMLファイルを作成し、次の例のように、コマンドに特定のパラメータを追加してPowerShellコードを実行させることができます。

この方法は、バイナリの実行にも使用されます:


この方法によって、攻撃者はランサムウェアの実行から、リバースシェルを開きそこから被害者のマシン上で無制限のコマンドを実行することまで、さまざまな活動が可能になります。攻撃シナリオは、事実上、無限にあります。

ただし、この方法は、HTMLファイルのサイズが少なくとも4096バイトである場合にのみ有効で、これはファイルに大量のコメントを追加することで容易に実現できます。

攻撃者はどのようにマイクロソフトを利用してFollinaを配信するのでしょうか?

攻撃者は、悪意のあるHTMLファイルがホストされているアドレスに誰かがアクセスすることを、ただ指をくわえてぼんやりと待っているわけではありません。そこで、マイクロソフトのOffice文書とRTFファイルが活躍するのです。

このブログで説明したように、脅威者は、Microsoft Office Open XML(OOXML)ファイルの関係ファイル(RELS)を変更することで、Microsoft Office文書がインターネット上でホストされているHTMLファイルを開き、スクリプトが含まれていればそれをユーザに見せることなく実行させることができます。このような文書があれば、攻撃者は、例えば電子メールの添付ファイルとして、不審なユーザーにファイルを送り、クリックするように説得することができます。このアクションが実行されると、MSDTが呼び出され、悪意のある行為者のコマンドが実行されることになります。

さらに、攻撃者が最初のアクセスポイントとして、Microsoft Office文書ではなくRTFファイルを選択した場合、事態はさらに恐ろしいものになります。このシナリオでは、ユーザーがファイルにカーソルを合わせただけでも感染する可能性があり、ファイルを開かなくても感染を開始することができます。

Follinaはどのように実行されるのでしょうか?

MSDTを介して実行されるコードは、おそらくユーザーには見えないとしても、攻撃者はトラブルシューター自体の実行を隠すことはできません。

「ms-msdt」が呼び出されると、トラブルシューティングウィザードのウィンドウが表示され、問題の検知に取り組んでいることがユーザーに通知されます。もちろん、これは、現在コンピュータ上でマルウェアが実行されているというユーザーを不安にさせるような警告ではありません。

Follinaに慣れていない人にとっては、特に過去に同様のトラブルシューターに遭遇したことがある場合、これは比較的無害なものと考えてしまうでしょう。しかし、Follinaのことを聞いたことがある人にとっては、これはすぐに赤信号のサインです。

Deep Instinctのゼロデイ検知・防止機能

本稿執筆時点では、マイクロソフトは「CVE-2022-30190」に対するパッチを発行しておらず、MSDT URLプロトコルを無効にするようユーザに助言するにとどめています。

Deep Instinctは、Follinaやその他のゼロデイ脅威を、実行前に防止します。Deep Instinctは、悪意のあるファイルの実行を防ぐためにディープラーニングモデルを使用し、既知、未知、ゼロデイ脅威を20ミリ秒未満で予測・防止します。これは、ランサムウェアが暗号化できる最速よりも750倍速いスピードです。ディープラーニングによる予防第一のアプローチにより、最も高度な脅威であっても99%以上のゼロデイ精度で検知・防御することが可能です。

マルウェア、ランサムウェア、ゼロデイ対策についてもっと知りたい方には、製品のデモンストレーションも実施しております。

Follinaを利用して悪意のあるコマンドを実行するRTFファイルは、実行される前にDeep Instinctエージェントによって阻止されます。
Follinaを利用して悪意のあるコマンドを実行するRTFファイルは、実行される前にDeep Instinctエージェントによって阻止されます。

Follinaを利用してHTMLファイルをMSDTで実行しようとしても、悪意のあるPowerShellコードが実行されるのを防ぎます。
Follinaを利用してHTMLファイルをMSDTで実行しようとしても、悪意のあるPowerShellコードが実行されるのを防ぎます。

参考文献