どこを探せばよいか分かっていれば、オンラインでは多くの秘密が見つかります。2021年秋以来、独立系セキュリティ研究者のビル・デミルカピ氏は、研究者が見落としがちな膨大なデータソースを活用し、膨大なセキュリティ問題を発見する方法を開発してきました。これには、サイバー犯罪者が企業システムにアクセスし、データを窃取する可能性のある、パスワード、APIキー、認証トークンなどの開発者向け秘密情報を自動的に検出することも含まれます。
本日、ラスベガスで開催されているセキュリティカンファレンス「Defcon」において、デミルカピ氏はこの研究の成果を発表し、膨大な量の漏洩した機密情報とウェブサイトの脆弱性について詳細に説明した。ソフトウェアにハードコードされた少なくとも1万5000件の開発者向け機密情報の中には、ネブラスカ州最高裁判所とそのITシステムに関連する数百件のユーザー名とパスワード、スタンフォード大学のSlackチャンネルへのアクセスに必要な情報、そしてOpenAIの顧客が所有する1000件以上のAPIキーが含まれていた。
大手スマートフォンメーカー、フィンテック企業の顧客、そして数十億ドル規模のサイバーセキュリティ企業など、数千もの組織が、うっかり機密情報を漏洩させてしまった。デミルカピ氏は、この事態を食い止める取り組みの一環として、機密情報を自動的に無効化し、ハッカーにとって無価値なものにする手法を考案した。
デミルカピ氏は、この研究のもう一つの柱として、データソースをスキャンし、ダングリングサブドメインの脆弱性を持つ6万6000のウェブサイトを発見しました。これらのウェブサイトは、ハイジャックを含む様々な攻撃に対して脆弱です。ニューヨーク・タイムズが所有する開発ドメインを含む、世界最大級のウェブサイトの一部に、この脆弱性が見られました。
デミルカピ氏が調査した2つのセキュリティ問題は研究者の間ではよく知られているが、通常は他の目的に使われるような型破りなデータセットを活用することで、数千もの問題をまとめて特定することができ、さらに拡張すればウェブ全体の保護にも役立つ可能性があるとデミルカピ氏は述べている。「目標は、些細な脆弱性クラスを大規模に発見する方法を見つけることでした」とデミルカピ氏はWIREDに語った。「創造的な解決策の余地があると考えています。」
漏洩した秘密、脆弱なウェブサイト
開発者がソフトウェアやコードに会社の機密情報をうっかり含めてしまうことは、比較的容易です。クラウドセキュリティ企業WizのAI・脅威調査担当バイスプレジデント、アロン・シンデル氏は、ソフトウェア開発パイプライン全体を通して、開発者がうっかりハードコードしたり、漏洩させたりする可能性のある機密情報は多種多様にあると述べています。パスワード、暗号化キー、APIアクセストークン、クラウドプロバイダーの機密情報、TLS証明書などがこれにあたります。
「秘密をハードコードしたままにしておくことの最も深刻なリスクは、デジタル認証の資格情報と秘密が漏洩した場合、敵対者が企業のコードベース、データベース、その他の機密デジタルインフラストラクチャに不正アクセスできる可能性があることです」とシンデル氏は言います。
リスクは高い。漏洩した秘密は、データ侵害、ハッカーによるネットワークへの侵入、サプライチェーン攻撃につながる可能性があるとシンデル氏は付け加える。2019年の以前の調査では、GitHubで毎日数千件の秘密が漏洩していることが明らかになっている。また、様々な秘密スキャンツールが存在するものの、それらは主に特定の標的に焦点を絞っており、Web全体を対象としていないとデミルカピ氏は指摘する。
5年前、10代の頃に学校でハッキングを仕掛け、注目を集めたデミルカピ氏は、調査を進める中で、特定の企業を選んでその企業の秘密情報を探すのではなく、大規模に秘密鍵を探し出した。そのために、彼はGoogle傘下のウェブサイト「VirusTotal」を利用した。VirusTotalは、開発者がアプリなどのファイルをアップロードし、潜在的なマルウェアがないかスキャンできるサービスだ。
VirusTotalのRetrohunt機能は、1年間分のアップロードファイルをスキャンし、YARAルールを使用してデータ内の特定のパターンを探すことができます。「これらのツールとVirusTotalのペタバイト規模のデータを再利用し、代わりにシークレットを探したらどうなるでしょうか」とDemirkapi氏は言います。Demirkapi氏は複雑なサーバーレス構成を用いて、150万以上のサンプルをシークレットとしてスキャンし、発見したパターンが有効なシークレットキーであることを検証しました。シークレットとキーの有効期限が切れていないことを確認するために、API呼び出しを実行しました。Demirkapi氏は合計で15,000件以上のあらゆる種類の有効なシークレットを発見しました。
公開された膨大な数のキーの中には、攻撃者が企業や組織のデジタル資産にアクセスし、機密データを入手する可能性のあるものが含まれていました。例えば、ネブラスカ州最高裁判所の判事が、同裁判所のITシステムにリンクされたユーザー名とパスワードの詳細をアップロードしていたり、スタンフォード大学のSlackチャンネルにAPIキーを使ってアクセスできたりするなどです。
ネブラスカ州裁判所長官のコーリー・R・スティール氏は、公開されたすべての情報は直ちに変更され、情報が悪用されたという証拠はなく、同様の事例を未然に防ぐための方針も変更されたと述べています。スタンフォード大学はコメント要請に応じませんでしたが、WIREDが確認した文書によると、これらの問題は報告後すぐに修正されたようです。
デミルカピ氏はパッシブDNSレプリケーションデータも精査し、ダングリングサブドメインの問題を抱えるウェブサイトを探した。脆弱なウェブサイトは、なりすまし、マルウェアやフィッシングページの拡散、Cookieの窃取などに利用される可能性がある。「ダングリングドメインは広く蔓延しており、攻撃者が価値の高い標的を見つけるのは非常に簡単です」と、パロアルトネットワークスのシニアリサーチマネージャー、ダイピン・リウ氏は述べている。リウ氏によると、常時数万件のダングリングレコードが露出しており、大規模なドメインは管理が困難で人為的ミスが発生する可能性が高く、この問題の影響を受けやすいと付け加えている。
例えば、デミルカピ氏はニューヨーク・タイムズの制作ドメインに「緊張が高まる中、米国がロシアに宣戦布告、国際社会に衝撃波」という見出しの(ほぼ説得力のある)風刺記事を短期間掲載した。デミルカピ氏によると、この記事は約1週間後に削除されたという。ニューヨーク・タイムズの広報担当者はコメントを控えた。
研究者は、特定のドメインまたはドメインセットの問題を探すのではなく、宙ぶらりん状態のクラウドリソースから始めることで、問題を体系的に発見できると述べています。全体として、彼は66,000の頂点ドメインにリンクされた78,000以上の宙ぶらりん状態のクラウドリソースを発見しました。パッシブDNSレプリケーションデータを用いた同様の手法を用いた学術研究を例に挙げ、しかしURLから始めることで、彼のアプローチははるかに多くの問題を発見できたと述べています。

写真:ロジャー・キスビー
簡単な解決策はない
数千もの脆弱なウェブサイトと公開された秘密鍵を発見することと、それらを修正することは別問題です。デミルカピ氏によると、ドメインの脆弱性を持つすべてのウェブサイトに問題を警告することはまだ不可能ですが、ハードコードされた15,000件の秘密鍵をクリーンアップする方法を見つけることはできたとのことです。
デミルカピ氏の中には、影響を受けた企業に直接報告する者もいました。しかし、彼は顧客に認証情報を提供している企業にも目を向け、漏洩した秘密情報を報告するより効率的な方法があるかどうかを探りました。2月、彼は1,000件以上の漏洩したOpenAI APIキーを報告しました。OpenAIは彼に、漏洩した情報を自動的に無効化できる公開セルフサービスAPIキーを提供しました。(OpenAIの広報担当者ニコ・フェリックス氏によると、このAPIは「侵害されたと検出されたキーを自動的に無効化」し、顧客の安全を守ることができるとのことです。)
スムーズに進まなかった事例もありました。4億2000万以上のコードリポジトリをホストするGitHubは、長年にわたり独自の「シークレットスキャン」ツールを運用しており、ウェブサイトにアップロードされたトークンやキーを検出しています。GitHubは外部企業と提携し、これらのキーを報告し、場合によっては失効させています。デミルカピ氏は3月、GitHubに対し、発見した数千ものシークレットを迅速にフラグ付けできるよう、公開エンドポイントがあるかどうかを尋ねました。同社の広報担当者は、個人向けのシステムは提供していないと述べています。
デミルカピ氏はAmazon Web Servicesに問い合わせたが、同社は既存のプライベートレポートツールへのアクセスを拒否した。「セキュリティキーを含むお客様の認証情報は、お客様だけに帰属するものと確信しています。AWSは、セキュリティポリシーに違反し、お客様の信頼を損なうため、外部ユーザーにセキュリティキーの管理や失効のアクセス権を付与しません」とAWSの広報担当者アイシャ・ジョンソン氏は述べ、セキュリティチームにメールを送信すれば、漏洩したキーが判明した時点でお客様に通知すると付け加えた。
これらの制限を回避するため、デミルカピ氏はGitHubを利用し、秘密情報をアップロードして会社の秘密スキャンを作動させ、報告を受けるようにした。「情報を一切公開しない方法を見つけたんです」と、メモに秘密情報をアップロードするためにハッキングした自動化方法について、デミルカピ氏は語る。
デミルカピ氏は最終的に、研究対象として容易に発見できるものを選んだと述べています。「ハードコードされた秘密の検出や、リソースが宙ぶらりんになっているかどうかの検出といった、比較的単純な脆弱性の種類です」と彼は述べ、ビッグデータソースではより複雑な脆弱性が検出できる可能性があると付け加えました。セキュリティ問題の解決に役立つ、未活用のデータベースが数多く存在する可能性があります。「これらの大規模データソースを活用し、従来とは異なる方法で価値を引き出す方法について、もっと深く考える必要があると思います」とデミルカピ氏は言います。
2024 年 8 月 12 日午前 9 時 45 分 (東部標準時) 更新: Amazon が Demirkapi 氏への提供を拒否したレポート ツールの性質を明確にしました。