Windows向けのオープンポリシーエージェント(OPA)に重大な脆弱性が発見された。この脆弱性により、NTLMハッシュが漏洩し、攻撃者がシステムに不正アクセスするリスクがある。

Tenableによると、問題はOPAの古いバージョンが不正な入力検証を行っていないことに起因し、認証情報が攻撃者のサーバーに漏れる可能性があるとされる。この脆弱性は、特に企業が使用するオープンソースソフトウェアに対するセキュリティ管理の重要性を改めて浮き彫りにした。

OPAの脆弱性がNTLMハッシュを漏洩

Windows向けに使用されるオープンポリシーエージェント(OPA)に重大な脆弱性が発見された。この脆弱性は、バージョン0.68.0以前のすべてのOPAに影響を与えるものであり、NTLMハッシュを漏洩させる可能性がある。脆弱性はCVE-2024-8260として識別されており、適切な入力検証が行われていないため、攻撃者が悪意のあるサーバーメッセージブロック(SMB)共有を利用し、OPAを欺くことができる。

NTLMハッシュが漏洩すると、攻撃者はそのハッシュを利用して、他のシステムへの不正アクセスを試みることができる。特にNTLMv2プロトコルを採用しているシステムに対しては、リレー攻撃やハッシュの再利用によって認証を突破し、さらにシステム内で横展開を行うことが可能である。この脆弱性により、企業のセキュリティが大きく損なわれるリスクが生じている。

OPAは、クラウドネイティブアプリケーションやAPIなどのリソースアクセス管理に広く利用されており、今回の脆弱性はその重要な機能を脅かすものである。企業が使用するOPAのバージョンが0.68.0以前である場合、早急にアップデートを行うことが推奨される。

攻撃のメカニズム:認証情報の不正流出

Tenableの研究者が発見したこの脆弱性は、NTLMハッシュの漏洩を引き起こすメカニズムを持っている。問題の根源は、OPAが受け取るファイルの検証を適切に行っていない点にある。通常、OPAはルールやポリシーを管理するためにRegoファイルを使用するが、脆弱なバージョンではSMB共有経由で攻撃者が提供するファイルを受け入れてしまう。

攻撃者は、SMB共有経由で自分のサーバーを指定することで、OPAをそのサーバーに対して認証させることが可能となる。これにより、現在ログインしているユーザーのNTLMv2ハッシュが漏洩し、攻撃者はそのハッシュを用いて他のシステムやサービスに認証を中継できる。この一連のプロセスにより、システムの認証情報が外部に流出するリスクが高まる。

認証ハッシュを取得した攻撃者は、そのハッシュをリレー攻撃やオフラインでのパスワード解析に利用することができ、さらに深刻な被害をもたらす可能性がある。こうした攻撃は、企業のシステム全体に大きなセキュリティリスクを生じさせる。

NTLMプロトコルを悪用した攻撃手法

NTLM(New Technology LAN Manager)は、Microsoftによって開発された認証プロトコルであり、特に企業環境においてシングルサインオンを提供するために広く使用されている。しかし、NTLMは過去にも数々の脆弱性を指摘されており、今回のOPAにおける脆弱性もそのリスクを再認識させるものである。

NTLMハッシュを悪用する代表的な攻撃手法に「パス・ザ・ハッシュ」攻撃がある。この攻撃では、攻撃者が取得したNTLMハッシュを用いて、実際のパスワードを知らずに他のシステムやサービスにアクセスすることが可能となる。また、「NTLMリレー」攻撃では、攻撃者がキャプチャしたハッシュを他のシステムにリレーし、認証を行うことでさらなる不正アクセスが実行される。

このようなNTLMの脆弱性を利用した攻撃手法は、組織の内部ネットワーク全体に広がり、横方向に移動することができるため、深刻なセキュリティリスクをもたらす。特にシステム管理者や重要な役職にあるユーザーの認証情報が漏洩した場合、その影響は計り知れない。

オープンソースのリスクとその管理の重要性

今回のOPAの脆弱性は、オープンソースソフトウェアの使用に伴うリスクを浮き彫りにしている。Tenableの指摘によれば、多くの企業がオープンソースのコンポーネントを採用しているが、そのセキュリティ管理が不十分である場合、重大なリスクが生じる可能性がある。

Black Duckによる調査では、96%のコードベースにオープンソースコンポーネントが含まれており、そのうち77%がオープンソース由来であることが判明した。さらに、調査対象のコードベースの84%に何らかの脆弱性が含まれており、そのうち74%は重大な脆弱性であった。こうしたデータは、オープンソースソフトウェアの使用が企業にとって大きなリスク要因となり得ることを示している。

オープンソースソフトウェアを使用する際には、セキュリティチームとエンジニアリングチームが連携し、リスクを適切に管理することが求められる。脆弱性の早期発見と対策を講じることで、企業のセキュリティ体制を強化することが可能である。