露出したラボ環境やデモ環境が、クラウド認証情報、IAM権限、機密データを漏えいさせている。
社内テスト、製品デモ、セキュリティトレーニングはサイバーセキュリティにおける重要な取り組みであり、防御側や一般ユーザーに、企業への脅威を防ぎ、対応するためのツールと手段を提供する。
しかしPentera Labsの新たな調査によると、これらの「テスト」および「デモ」環境がデフォルトのまま、または誤って設定された状態で放置されると、攻撃者にとって新たな侵入口となる。しかもこの問題は、本来なら理解しているはずの大手セキュリティ企業やフォーチュン500企業にまで及んでいる。
研究者らは、Hackazon、Damn Vulnerable Web Application(DVWA)、OWASP Juice Shopといった人気の公開トレーニングアプリが、しばしばパブリックインターネットからアクセス可能なまま放置されていることを突き止めた。その結果、Palo Alto Networks、Cloudflare、F5などのトップベンダーが意図せず露出していた。
「これは理論研究ではありません」と、Penteraのシニアリサーチャーで攻撃的セキュリティチームのリードであるNoam Yaffeは、技術ブログ投稿に記した。彼のチームは、これらの攻撃ベクトルが実際の環境で悪用され、暗号資産マイナー、Webシェル、永続化メカニズムを有効化している「明確な証拠」を発見した。攻撃者は東欧系とみられている。
「この研究は、『トレーニング』や『開発』とラベルを付けても攻撃者から見えなくなるわけではないことを示しています」とYaffeは指摘した。「インターネット上にあり、クラウド認証情報を持っているなら、それは標的です」
一見無害なラボを通じて“王冠の宝石”を露出させる
Yaffeは、クライアント向けの定期的なクラウドセキュリティ評価の最中に、Deloitteが開発した無料の意図的に脆弱なテストサイトHackazonの露出インスタンスを特定した後、露出アプリを探す5段階のハントを実施した。彼のチームは「検証済みで稼働中かつ脆弱なアプリケーション」1,926件を発見し、その半数以上がAWS、Azure、Google Cloudプラットフォーム上の企業所有インフラで稼働していた。
続いて、109件の露出した認証情報セットを発見した。多くは優先度の低いラボ環境からアクセス可能で、過剰な権限を持つIDおよびアクセス管理(IAM)ロールに紐づいていた。これらは「トレーニング」アプリに必要な範囲を「はるかに超えるアクセス」を付与していることが多いとYaffeは説明し、攻撃者に次のような能力を与えていた。
- クラウドアカウントへの管理者レベルのアクセス、ならびにS3バケット、GCS、Azure Blob Storageへのフルアクセス
- コンピュートリソースの起動・破棄、ならびにシークレットマネージャーへの読み書き
- イメージが保存・共有・デプロイされるコンテナレジストリとやり取りするための権限
攻撃者は永続的なアクセスを維持し、ネットワーク内を横方向に移動し、クラウド認証情報やその他の機微情報を悪用し、被害者のインフラで暗号資産マイニングを行っていた。さらにPenteraの研究者は、Slackキー、GitHubトークン、Docker Hub認証情報といった有効なシークレットに加え、実在ユーザーデータや独自のソースコードも容易に発見した。
憂慮すべきことに、DVWAでは発見されたインスタンスの54%が依然としてデフォルト認証情報「admin:password」を使用しており、攻撃者はワンクリックでセキュリティ設定を(「impossible」から「low」へ)引き下げられ、組み込みの脆弱性がすべて「容易に悪用可能」になるとYaffeは述べた。
「無害なラボとして始まったものが、組織の“王冠の宝石”へ直結し得るのです」と彼は語った。
現実世界での悪用
現実の事例として、Penteraのチームは、Google Cloud Platform(GCP)上で稼働するCloudflareのクラウドアカウントに紐づいた、設定ミスのあるバグだらけのWebアプリケーション(bWAPP)を発見した。bWAPPは、トレーニング目的で使われる無料のオープンソースで、意図的に安全でないWebアプリだ。GCPのメタデータサービスを照会することで、研究者らはデフォルトのサービスアカウントになりすまし、「数百」のストレージバケットへの読み取りアクセスを得ることができた。
同様に、F5のクラウドアカウントに紐づくDVWAがGCPインスタンス上で稼働しているのが見つかり、研究者らはログやメトリクスデータを含む多数のストレージバケットにアクセスできた。さらに、Palo Altoに紐づく設定ミスのDVWAアプリがAWS上で稼働していることも特定され、Yaffeと彼のチームは付与されたIAMロールと一時的な認証情報を用いて、AWSアカウントへの完全な管理者アクセスを獲得した。
研究者らはまた、GCPサービスアカウントのOAuthトークンを流出させてそのIDを引き受け、特定のバケット内容を一覧化してアクセスした。例えば、ある「cloud_build」バケットには、攻撃者が容易にダウンロードできる.tgzファイルが保存されていた。このアカウントは管理者メールで管理されており、ポリシー権限を含んでいたため最小権限の原則に反していたとYaffeは説明した。
「たとえ『開発』/『トレーニング』アカウントであっても、高度に機密性の高いシークレット、認証情報、APIトークンが含まれていました」と彼は述べた。
これらの設定ミスで脆弱なアプリケーションを評価する中で、彼のチームは、それらがすでに実環境で全面的に悪用されている「明確な証拠」を見つけた。彼らが発見したDVWAインスタンスの約20%には、悪意ある行為者によって配置された痕跡が含まれており、具体的には次のようなものがあった。
- XMRig暗号資産マイナーが稼働中で、収益を攻撃者が管理するウォレットへ送金し、ユーザーに気付かれないようサイレントに動作するよう設定されていた
- 侵害が発見された後でも永続性を維持する「高度な」ウォッチドッグスクリプト。自己回復、自動ダウンロード、暗号化されたペイロード配信、証拠削除、そして脅威アクターが容易に作戦を停止できるキルスイッチを備えていた
- PHPのWebシェルで、攻撃者にファイルの読み取り・書き込み・削除・アップロード・ダウンロード、リモートマシン上でのOSコマンドやスクリプト実行、ソースコードに埋め込まれた認証情報・APIキー・その他のシークレットへのアクセス能力を与えていた
すべての発見事項は影響を受けた組織に対して責任ある開示が行われ、公開前に緩和措置が講じられたとYaffeは強調した。
「これらは孤立した事案ではなく、組織化された継続的な悪用キャンペーンを示していました」と彼は警告した。
企業が今できること
この広範な脅威に対抗するため、Yaffeと彼のチームはSigIntという、Pythonベースで大規模言語モデル(LLM)により強化された自律型リコン(偵察)フレームワークを開発した。GitHubで利用可能なこのツールは、稼働中のターゲットまたはGitHubリポジトリから直接フィンガープリント署名を生成し、一致を検索して信頼度スコアリングを適用する。さらにIPインテリジェンス、クラウドプロバイダー検出、アトリビューションデータを取り込み、追加調査を支援する分析も提供する。
これに加えてYaffeは、すべてのクラウドリソース(「一時的」なものや「テストデプロイ」を含む)について完全で最新の全体像を確立するために「すべてを棚卸し」し、露出したサービスを検出するための定期監査を実施し、最小権限を適用するよう企業に助言した。
「トレーニングやデモ環境に広範なIAMロールを決して付与しないでください」と彼は述べた。
さらに防御側は、トレーニング環境を本番ネットワークから分離し、本番環境と同等の監視とアラートを適用し、外向きのインターネットアクセスを制限し、デプロイ前にデフォルト認証情報の変更を文書化して徹底し、指定期間後に一時的なテスト環境が期限切れになるよう制御を設定すべきだという。「終了日がなければ、永遠に動き続けます」とYaffeは指摘した。
最終的に彼はこう強調した。「これらは修正可能な問題です。基本的な衛生管理……それだけで、私たちが見つけたすべてのケースは防げたはずです」