- Cerca という デーティングアプリで深刻な セキュリティ脆弱性 が発見された
- OTP が応答内に露出しており、電話番号さえ分かれば誰でもアカウントにアクセス可能
- 認証なしで開かれている複数の API エンドポイント から個人情報が容易に流出した
- ユーザーの 性的指向、メッセージ内容、身分証などの機微情報 が大量に露出した
- サービス運営側は研究者による責任ある報告にもかかわらず、適切な対応と告知が不十分
セキュリティを真剣に考えるべきスタートアップの重要性
- 近年、スタートアップ は市場投入を急ぐあまり セキュリティがおろそか になりがち
- 個人情報が集中する デーティングアプリ であるにもかかわらず、開発・運用の未熟さ によってユーザーが危険にさらされている
脆弱性の発見と通知の手順
- 2025年2月23日、Cerca 側にメールでセキュリティ脆弱性と関連問題 を説明した
- 2月24日には ビデオ会議を通じて詳細な脆弱性、対応策、今後の手順 を議論した
- Cerca チームは 深刻性を認識し、迅速な対処とユーザー通知の予定 を伝えた
- その後、何度も 進捗状況の問い合わせ を送ったが、4月21日時点で 回答も告知もない
- 独自に確認した結果、当該脆弱性はパッチ適用済み の状態だった
OTP 脆弱性と簡単なハッキングの流れ
- アプリのログイン過程で ワンタイムパスワード(OTP)がネットワーク応答にそのまま露出 していた
- 攻撃者は 電話番号さえ知っていれば誰でも簡単かつ迅速にアカウントへアクセス可能 だった
API エンドポイントへのアクセスと情報流出
- アプリのバージョンヘッダーを入力 するだけで、すべての API パスに接続できることが確認された
/docs エンドポイントを通じて OpenAPI ドキュメント全体が露出 していた
- Burp Suite などのツールを活用し、アプリヘッダー・トークンの自動注入 によって API 制御が可能だった
- 一部のエンドポイントは ビジネスロジックのみ変更 するが、中核エンドポイントは深刻な個人情報を返していた
- user/{user_id} などを通じて個人情報、電話番号、さらにはアカウント乗っ取りまで可能 だった
大量の個人情報と身分証情報の露出状況
- 個人情報エンドポイントを通じて 性別、都市、誕生日、学校メール、身分証情報などの PII が大量に露出 していた
- 特に、
national_id_verified などの身分証関連フィールドから パスポート・住民登録証画像など の機微ファイルへアクセス可能だった
- 攻撃スクリプトにより 6,117人のユーザーを識別し、207人は身分証情報まで入力済み であることが確認された
- イェール大学所属を示したアカウントも一部含まれていた
- Cerca 公式 Instagram 基準では 初週の1万人ユーザーに相当する規模 だった
実際の被害リスクと問題の深刻さ
- 性的指向、会話内容、身分証など極めて機微な情報が漏えい し、ストーキング、なりすまし、脅迫 など深刻な被害リスクがある
- Cerca は 「暗号化など業界標準を順守している」と案内 していたが、実際の運用実態とは一致していなかった
- ユーザーは直接検証できないため、アプリ提供者による積極的で責任あるセキュリティ管理 が不可欠
- 実際には 不特定多数がすでに大規模な個人情報を窃取していた可能性 もある
結論と責任あるセキュリティ文化の必要性
- 誰でも簡単にハッキングできるほど 脆弱なアプリ運用 は深刻な社会問題である
- ユーザーデータ保護 を最優先にしなければ、被害はリアルタイムで発生しうる
- セキュリティ研究者の報告に 積極的な対応とユーザー案内が不十分 だった Cerca の事例は他山の石である
- より安全なインターネット環境を構築するために、すべての開発会社はセキュリティ体制の確立を最優先 にすべきだ
1件のコメント
Hacker Newsの意見
このアプリが大学生たちによるかなり初歩的な出来の産物だと考慮しても、セキュリティとコミュニケーションには最善を尽くすべきだと思う。とはいえ、大手VCが資金を出している成人向け企業でさえこうした問題にぶつかって似たような振る舞いをしているのを見ると、学生に対してあまりに厳しくする必要まではないとも思う。記事リンクを共有する
開発者として小規模な会社で働いていると、自分の個人的責任について不安になることがよくある。多くの企業はPCIやHIPAAのような規制を受けなくてもよい領域で運営されている。小さな組織では、セキュリティは組織全体の課題ではなくエンジニアリングの課題として扱われがちだ。プロダクトチームは機能、PMはスケジュール、QAはバグだけに集中し、セキュリティについて声を上げる人はまれだ。エンジニアも割り当てられた仕事だけやればよい、という空気がある。エンジニアがセキュリティまで面倒を見られればよいが、そうでなければPMなどから非難されることもある。そしていつもこんな言葉が聞こえてくる。「それにどれくらい時間がかかる?」「実際にそんなことが起きる確率はどれくらい?」「まずはMVPを早く出して、後で補おう」など。だから私は従業員として会社に言われたことだけをやることになる。しかし、ハッキングや漏えいで会社が訴えられたとき、自分だけが「もっとよく知っているべきだった」エンジニアとして責任を負わされるのではないかとしょっちゅう不安になる
研究者の法的責任を減らすには、アカウントをもう1つ作るか、友人の同意のもとでプロフィールを作ってアクセス権を得る程度でも十分だと思う。実際にデータをスクレイピングする必要はなく、たとえば自分のidが12345で友人のidが12357なら、その間のidで別アカウントのプロフィールにアクセスできることを示せばよい。すでに多くの人が言っている通り、何千人分もの個人情報にアクセスする必要はなく、脆弱性を立証して公開するレベルで十分だ
この文章自体、かなり混乱しているように感じる。OTP(ワンタイムパスワード)を受け取るAPIが単純で、サーバー応答としてOTPが露出するため電話番号さえ分かれば誰でもアカウントにアクセスできる、という話のようだ。APIが単に otp/携帯番号 という形で、OTPがレスポンスに含まれて返ってくるというのだから、電話番号を当てさえすればコードも受け取れる構造なのだろう。そしてスクリプトでユーザーIDを列挙し、1,000回連続で空のIDが出たら止めるようにして、合計6,117人のユーザー、207人分の身分証情報、19人のYaleの学生を確認したと明かしている。だが、この程度の同意もなく他人の個人情報にアクセスしたのは、過去にweevがAT&Tをハックして刑務所に行った件に近い。規模が小さくても、この種の研究は法的に危険であり、セキュリティ研究者を保護しない法環境を著者が理解していないようで懸念される
私にも似た経験があり、別のマッチングアプリでバグを知らせようとしても連絡がつかなかったので、創業者のプロフィールを「連絡ください」に変えてみたら、バックアップから復元されてしまった。数年後、Instagramの広告でそのアプリを見かけて再び試してみたところ、まだまったく同じ脆弱性が残っていた。APIエンドポイントさえ分かれば誰でも管理者権限、すべてのメッセージ/マッチングにアクセスできる。もう一度連絡してみるべきか悩んでいる
パスポートや住所のような機微情報をアプリで収集するときは、本当に二度考えるべきだと思う。「学生が作ったアプリだから」と軽く流してよい問題ではない
OTPをAPIレスポンスにそのまま返すのは、あまりにもばかげた状況だ。理由が分からない
Yale Daily Newsの関連記事リンクを共有している
個人情報を核廃棄物レベルで危険なものとして扱う法律ができてほしい。漏えいした場合、会社が倒産するだけでなく責任者も法的危機に直面するべきだと思う。今はユーザーデータの収集があまりにも簡単なうえ、漏れても謝罪して終わりになってしまう
iOSでCharle's Proxyというツールを今さら知った。昔はアプリのバイナリから直接文字列検索をしながらペンテストしていた。iOS専用アプリの解析では本当に大きな助けになりそうだ