Firebase インスタンスのミスコンフィグ:平文パスワード 1900 万件が流出

Misconfigured Firebase instances leaked 19 million plaintext passwords

2024/03/19 BleepingComputer — データベース/クラウド/アプリ開発などをホスティングする、Google のプラットフォーム Firebase のミスコンフィグにより、1,900 万件あまりの平文のパスワードがインターネット上に流出していたことが、3人のサイバー・セキュリティ研究者たちの調査により明らかになった。研究者たちが 500 万件以上のドメインをスキャンしたところ、セキュリティ・ルールが有効化されていない組織の、あるいは、間違って設定されている組織の Web サイトが、916 件も発見されたとのことだ。さらに、電子メール/名前/パスワード/電話番号/銀行明細を含む請求情報などの個人情報が、1億2500万件以上も公開されていることも判明した。

何百万もの平文パスワードが流出

研究者たち (Logykk、xyzeva/Eva、MrBruh) の調査は、脆弱な Firebase インスタンスを通じてパブリック・ネットワークに公開された、個人情報 (PII:Personally Identifiable Information) のスキャンから始まった。

研究チームの一人である Eva は、「スキャンを実施した結果として、セキュリティ・ルールが全く存在しない Firebase インスタンスや、不適切なコンフィグによりデータベースへの読み取りアクセスを許可している Firebase インスタンスが発見された。恐ろしいことに、銀行も含む多くのサイトでは、書き込みも有効化されていた」と、BleepingComputer に対して語っている。

Eva は、Catalyst スクリプトを用いて、公開されたデータベースごとに利用可能なデータの種類をチェックし、100 レコードのサンプルを抽出した。

Database with samples of exposed user records
公開されたユーザー情報のサンプルを含むデータベース
source: xyzeva

研究チームは、不適切なセキュリティ設定により漏洩した、すべての個人情報データの集計を、非公開のデータベース上で行った:

  • 名前:84,221,169 件
  • 電子メール:106,266,766 件
  • 電話番号:33,559,863 件
  • パスワード:20,185,831 件
  • 支払い情報 (銀行の詳細/請求書など) :27,487,924 件

やっかいなことに、パスワードについては、その 98% (19,867,627件) が平文であったという。

Firebase には、Firebase Authentication という End-to-End の ID ソリューションがあり、ユーザーのパスワードを記録に残さない、セキュアなサインイン・プロセスを実現している。そのため、ユーザーである企業は、パスワードをあえて平文で保存しているに違いないと、Eva は語っている。

Firestore データベースで、ユーザーのパスワードを公開する方法の1つは、管理者がデータをプレーンテキストで保存する’password’ フィールドを作成することだ。

サイト所有者たちへの警告

研究者たちは、サンプルのデータを分析した後に、影響を受けた全ての企業に対して、不適切に保護された Firebase インスタンス関する警告メールを送信した。13日間にわたって送信されたメールの総数は、842通にのぼる。

通知を受けたサイト管理者のうち、回答したのはわずか1%だったが、25%が Firebase プラットフォームのミスコンフィグを修正したという。

研究者たちは、この報告に対して、2つのサイト所有者からの少額のバグ・バウンティを受け取ったが、その金額については明かしていない。

カスタマー・サポート経由でコンタクトを取った組織もあったが、その対応は専門的とは言い難いものだったという。

また、9つの Web サイトを管理するインドネシアのギャンブル・ネットワークにおいては、問題を報告して修正するためのガイダンスを送ったが、まともに取り合ってもらえなかったようだ。

Reply from an online gambling network
Researchers face mockery when reporting Firebase issues
source: xyzeva

また、銀行口座の記録 (800万件) と、平文のパスワード (1000万件) の流出件数が最多だったのは、空前にも同じ会社だったという。研究者の一人によると、この会社はインドネシアに本社を置き、年間 $4M の利益を上げているという。

2億2300万件の記録

インターネットをスキャンし、そのデータの解析/整理するには約1ヶ月を要しており、最初から最後まで作業は難航したという。

作業を開始した当初は、MrBruh が構築した Python スクリプトを使ってスキャンを実行し、Firebase の設定に変数がないかという視点で、Web サイトや JavaScript バンドルをチェックしていた。しかしこのスクリプトは、大量のメモリを消費するため、タスクに適さなくなり、Logykk により書かれた Golang スクリプトに変更されたという。

研究者たちは、新しいスクリプトを使用して、バックエンドのクラウド・コンピューティング・サービスとアプリケーション開発用の Google の Firebase プラットフォームに接続されている、500万以上のドメインをスキャンした。

研究チームは、Firebase の読み取り権限のチェックを自動化するために、Firebase コレクション (Cloud Firestore NoSQL データベース) へのアクセスについて、サイトや JavaScript をクロールするという、Eva のスクリプトを使用した。

研究チームが発見した、設定が不適切なデータベースの 223,172,248 件のうち、124,605,664 レコードはユーザーに関するものであり、残りは組織とテストに関連するデータだった。公開されたレコードの数が多いにもかかわらず、この数字は控えめであり、その量はもっと多いだろうと、研究者たちは警告している。

すべての始まり

この、ミスコンフィグされた Firebase インスタンスから暴露された、PII をインターネット上でスキャンするという調査は、研究者たちが2ヶ月前に実施した別の調査の延長上で行われたものだ。以前の調査も、Firebase インスタンスのミスコンフィグに関するものであったが、AI を活用した採用ソフトウェア・ソリューションである、Chattr が使用する Firebase のミスコンフィグにより、管理者権限および ”superadmin” 権限が獲得できるというものだった。

Chattr は、KFC/Wendy’s/Taco Bell/Chick-fil-A/Subway/Arby’s/Applebee’s/Jimmy John’s などの、米国の多くの大手ファストフード・チェーン企業が、従業員の採用に使用している。

Chattr の Firebase ダッシュボードの管理者権限を得ることにより、ファストフード・チェーン企業に就職しようとする、個人の機密情報を閲覧できるようになる。その一方で、”superadmin” 権限は、企業のアカウントにアクセスして、採用決定などのタスクを、その企業になりすまして実行することが可能になる。

研究者たちは、Chattr にも脆弱性を開示し、Chattr は欠陥を修正したが、それ以降のメールには応じなくなったという。