メディア

MicrosoftのASP.NETが危ない ユーザーの「鍵」が狙われる

問題の焦点はASP.NETのマシンキーだ。Microsoftは悪用のリスクが高い3000件のマシンキーを特定した。

» 2025年03月24日 12時00分 公開
[Rob WrightCybersecurity Dive]
Cybersecurity Dive

 Microsoftは同社のWeb関連製品で企業のサーバに対するコードインジェクション型の攻撃の危険性があると発表した。実際に悪用された例もあるという。

 その製品とは「ASP.NET」だ。ASP.NETはMicrosoftが開発したオープンソースのWebアプリケーションフレームワークで、動的なWebサイトやWebアプリケーション、Webサービスを構築する際に使われる。

 今回の問題の焦点はASP.NETのマシンキー(データの暗号化や改ざん防止を目的として使用される暗号キー)だ。Microsoftは悪用のリスクが高い3000件のマシンキーを特定した。

MicrosoftのASP.NETが危ない データを抜き取られないためには

 Microsoft Threat Intelligenceは2025年2月6日、「2024年12月に(ASP.NET関連の)限定的な活動を観測した」と発表した。攻撃者は不用意に公開されていたASP.NETのマシンキーを利用して悪質なコードをユーザーのサーバに注入し、システムへの侵入後に使用するツール(ポストエクスプロイトフレームワーク)の「Godzilla」を展開した。Godzillaを使うとターゲットシステム上で任意のコマンドを実行でき、システムの完全な制御を奪うことが可能になる。

 Microsoftは攻撃者が誰なのかについて「まだ特定できていない」と述べた。米国政府は以前にGodzillaを中国政府が支援する攻撃者と関連付けている(注1)。米国政府はGodzillaがバックドアとして利用可能な悪質なWebShellを作成すると指摘した。

 攻撃者はどうやって正当なマシンキーを入手したのだろうか。「問題を調査して修正を施し、対策を講じる中で、コードのドキュメントやリポジトリなどの公開リソースから流出したASP.NETのマシンキーを開発者がそのまま使用しているケースを確認した。このような不適切な運用のため、攻撃者がターゲットのサーバに対して悪質な行動を実行できる」と記した(Microsoft)(注2)。

どのような攻撃なのか

 Microsoftによると、不適切な運用により、ASP.NETのマシンキー3000件以上がインターネットで公開されている。攻撃者は、ASP.NETにおける「ViewState」の機能とともにこれらのマシンキーを悪用して、コードインジェクション型の攻撃を仕掛ける恐れがある。Microsoftの説明によると、ViewStateはASP.NETのページフレームワークがページやコントロールの値を保持する仕組みだ。ASP.NETのマシンキーはViewStateが改ざんされたり、データが漏えいしたりするのを防ぐために使われる。

 これらのキーが攻撃者の手に渡ると、悪質なViewStateが作成されて、それをWebサイトに送信できてしまう。結果として企業のIISサーバでリモートコードを実行できるようになる。つまり、ASP.NETのマシンキーが漏えいした場合、意図せずに攻撃者に強力なハッキングツールを提供したことになる。その結果、自社のサーバをリモートで侵害されるリスクを負う。

 「ViewStateを悪用したコードインジェクション型攻撃を受けた場合の多くは、漏えいしたキーや盗まれたキーを使用しており、ダークWebフォーラムなどでキーが売買されることも多い。しかし、今回は違う。誤って公開されたキーは、複数のコードリポジトリで利用可能であり、修正されることなく開発コードに組み込まれている可能性があるため、より高いリスクをもたらす恐れがある」(Microsoft)

どのような対策が可能なのか

 Microsoft Threat Intelligenceのセキュリティリサーチ部門に所属するジェレミー・ドルマン氏(シニアディレクター)は、「LinkedIn」への投稿で次のように対応を呼び掛けた(注3)。

 「ASP.NETの静的なマシンキーに関する不適切な運用により、コードサンプルやドキュメントを通じて、これらのキーが意図せずインターネットに流出してしまった。この問題を解決するために、開発コミュニティー全体で対策を強化し、不適切な運用を根絶する必要がある」

 漏えいした3000件のキーのうち、所有者によってローテーションされ保護されたものがあるかどうかは不明だ。Microsoftはコメントに応じていない。

 MicrosoftはASP.NETのマシンキーの所有者に対して、キーを定期的にローテーションし、コードドキュメントやリポジトリなどの公開リソースに露出させないように推奨した。開発者に対しても、これらの漏えいしたキーを自分の環境で使用しないよう強く求めている。

 Microsoftは公開されたマシンキーのハッシュ値を「GitHub」のリポジトリで公開した(注4)。同社が提供したスクリプトを使用してネットワークを確認するよう顧客に推奨した。同社によると、「Microsoft Defender for Endpoint」は、「Publicly disclosed ASP.NET machine key」(公開されたASP.NETのマシンキー)というアラートを通じて、リスクのあるキーをネットワーク内で検出できるという。

© Industry Dive. All rights reserved.

会員登録(無料)

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。