サイバー脅威
DevOpsの「地雷原」に潜む脅威を分析
トレンドマイクロではDevOpsの具体的な事例をもとに、DevOpsに潜む危険性を分析し、明らかにするレポートをまとめました。攻撃者は、露出した「.env」ファイルを積極的に探しています。「.env」ファイルはDevOpsの現場に深く根付いた時限爆弾や地雷原のような存在です。
DevOpsの「地雷原」とは?
コンテナの利用が拡大するにつれ、アプリケーション開発は急速に変化してきました。コンテナはDevOps手法の中心的存在であり、従来のアプリケーションディレクトリ内に配置していた設定ファイルではなく、環境変数を使ってアプリケーションを構成する方法が広く普及しています。これは、デプロイを柔軟に行える大きな利点です。
しかし、環境変数によって機密情報を渡すことが当たり前になるにつれ、その内部実装を意識しなくなったり、無視してしまったりしがちになります。知っておくべき重要な点は、環境変数がすべての子プロセスに継承されるということです。今回の調査では、特にマネージドクラウドサービス上では、この特性がリモートコード実行などの高度な攻撃につながる危険性を実証しました。
さらに開発者は、利便性を追求して環境変数をまとめた単一の「.env」ファイルを作り、アプリケーションに関する無害な設定と、高度な機密情報であるクラウドサービスプロバイダ(CSP)のアクセス用トークンを一緒に扱うようになりました。これは結果的に、かつての設定ファイルと同じ過ちを繰り返しているともいえます。開発者の間で.envファイルがあまりにも広まったことで、その機密性が軽視され、共有範囲に注意を払わなくなり、外部からアクセス可能な状態になってしまっています。
トレンドマイクロが設置したハニーポットのデータによると、攻撃者は露出した.envファイルを積極的に探していることがわかりました。このように露出した.envファイルが攻撃者に入手されてしまった結果としては、数百テラバイト単位の大規模データ漏洩、サプライチェーン攻撃、そしてGDPRのような規制による経済的制裁のリスクまでが考えられます。つまり、.envファイルはDevOpsの業務の中に深く埋め込まれた「地雷原」ともいえます。
今回の調査では、人気のウェブアプリケーションフレームワークであるLaravelや、最新のAI・LLM(大規模言語モデル)アプリケーションで実際に起きている事例も取り上げ、DevOpsの危険な側面を浮き彫りにしています。レポートでは、.envファイルを利用することで漏洩した認証情報を狙う複数の悪意あるペイロードが確認された事例を紹介しています。特に、管理が行き届かない環境で600,000件を超える機密情報が露出しており、その中にはCSPアクセスキーも含まれます。これらはアカウント乗っ取りにつながる可能性が非常に高いと言えます。
また、.envファイル経由で認証情報が漏洩する状況をシミュレートしたDevOpsプロジェクト環境のハニーポットを構築し、不正アクセスの試みをモニタリングしました。その結果、.envファイルを求めるリクエストが顕著に増加していることがわかり、攻撃者の関心が高まりつつあることが示唆されます。
ハニーポットで収集したデータを分析したところ、攻撃者が.envファイルを見つけてアクセスしようとする際に用いるさまざまな手法が明らかになりました。ディレクトリトラバーサル攻撃や自動スキャンツールなどが多く確認され、リクエストは広範囲のIPアドレスから送信されており、攻撃者の属性や地理的分布が非常に多岐にわたることもわかりました。
- DevSecOpsポリシーの欠如が、最新のAIやLLMアプリケーションの顧客データを深刻なリスクにさらしている実態
- 書き込み可能なAI関連コンテナイメージが480件以上も露出しており、LLMアプリケーションのすべてのプロンプトやAPI構成が含まれるケースも存在
- 誤設定されたクラウド環境を再現したハニーポットを使い、攻撃パターン・侵入口・頻繁に狙われるリソースを観測したところ、1か月で24,488件の不正アクセスを記録
- 18,680件のインシデントは、クラウドストレージへの不正な読み書き行為で、データアクセスや情報流出を狙う意図が見られる
- 18,747件のリクエストの大半が単一のIPアドレスから発信されており、専業の攻撃者やボットネット運用者が関与している可能性が高い
- 稼働中のコードベースや誤設定されたプラットフォームを対象に、.envファイルを探す調査を実施した結果、1,754件のホストから機密情報が発見
- 合計で1,754ホストにまたがり710GBのデータが存在し、82,687ファイルに機密情報が含まれていた。特に._envファイルが圧倒的に多い
- さらに、677,426件の秘密情報が1,754件の異なるソースから確認され、generic-api-key、jwt、クラウドアクセス用トークンなどが大半を占める。OpenAIのAPIキーも含まれていた
- プライベートキー、クラウドアクセス用トークン、Slackのレガシートークンなどが漏洩していた事例は、深刻なセキュリティリスクに分類される
- .envファイルにはデータベースやメールの設定が大量に含まれ、平文で保存されているgeneric-api-keyとして分類されるケースも多かった
今回の調査結果をまとめたレポートでは、.envファイルの存在や、コンテナイメージおよび本番環境における機密情報を検出するスキャンの導入、CMSやイメージリポジトリへの秘密情報のコミット防止、万一露出した場合の秘密情報のローテーションなど、誤設定由来の脆弱性に対処するための具体的な対策についても詳述しています。
さらに詳しく知りたい方は、完全版レポートをご覧ください。
参考記事:
Unleashing Chaos: Real World Threats Hidden in the DevOps Minefield
By Alfredo de Oliveira and David Fiser
翻訳:与那城 務(Core Technology Marketing, Trend Micro™ Research)