
- 数千の露出したAPIキーが静かに重要なシステムへのアクセスを許可している
- パブリックなウェブページには、クラウドおよび支払いサービスのロックを解除する認証情報が含まれている
- 開発者は知らず知らずのうちに、機密のAPIトークンをライブウェブサイトに埋め込んでいる
スタンフォード大学、UC デービス校、およびトゥエルフト工科大学のセキュリティ研究者は、機密のAPI認証情報が数千のパブリックなウェブページに公然と存在し、ほとんど保護されていないと述べています。
arXivのプレプリント版論文によると、研究者は1000万のウェブページを分析し、約10,000ページにわたって1,748個の有効な認証情報が露出していることを特定しました。
これらの認証情報は、本番環境で使用されるクラウドプラットフォーム、支払いサービス、および開発者ツールをカバーしています。
記事は以下に続きます
日常的なウェブサイト全体での広範な露出
この問題は、金融機関やインフラ関連サービスに関連したケースを含む、あまり知られていないサイトと高名な組織の両方に及んでいます。
スタンフォード大学の博士課程候補者であるNurullah Demirは、「我々が発見したのは、パブリックなウェブページに公然と露出している非常に機密性の高いAPI認証情報です」と述べ、孤立した間違いというより弱い管理体制を示唆するパターンを説明しました。
これらの認証情報はアクセストークンとして機能し、アプリケーションが外部システムと直接相互作用できるようにします。
API認証情報は標準的なログイン情報と異なります。なぜなら、サービスへの自動化された継続的なアクセスを実現し、追加の検証レイヤーなしに実行されることが多いためです。
Demirは、そのようなアクセスは、各キーに付与されたアクセス権限に応じて、データベース、ストレージシステム、および鍵管理インフラストラクチャに拡張される可能性があることを指摘しました。
1つの例は、クラウド認証情報がウェブサイトコードに埋め込まれていた大規模な金融機関の例で、内部サービスへの直接的な露出が生じていました。
別の場合では、ファームウェア開発に関連するリポジトリ認証情報が露出していることが判明し、不正なコード変更と改ざんされたアップデートの配布の可能性が生じていました。
これはリスクをデータアクセス以上に、接続デバイスで使用されるソフトウェアの潜在的な操作に拡大します。
研究者たちは、ほとんどの露出をクライアント側のコード、特にユーザーのブラウザに配信されるJavaScriptファイルに追跡しました。
特定された認証情報の約84%がJavaScriptリソースに現れ、多くはWebpackなどのビルドツールによって作成されたバンドルファイルから発生していました。
これらのプロセスは、設定が厳密に管理されていない場合、意図せず機密データを含める可能性があります。
他の露出はHTMLおよびJSONファイルで発見されましたが、CSSなどのあまり一般的でない場所に現れるものもありました。
複数のファイルタイプにわたって広がっていることは、この問題が単一の開発段階に限定されるのではなく、ウェブアセットの準備と展開の方法に組み込まれていることを示唆しています。
研究はまた、露出された認証情報がしばしば長期間アクセス可能なままであることを発見しました。数ヶ月から複数年にわたっています。
開発者は接触されるまで頻繁に問題を認識していませんでした。これは監視とレビュープロセスのギャップを示しています。
開示の取り組みが始まった後、露出された認証情報の数は2週間以内にほぼ半分に減少しました。
研究者は、サービスプロバイダーの限定的なセットから認証情報を検証したため、彼らの発見はおそらく下限を表すだけであることを警告しています。
これはさらに多くの認証情報がウェブ全体にわたって公開されたままで、検出されずにアクセス可能である可能性を開きます。