- ダイビングインストラクターでありプラットフォームエンジニアでもある筆者が、ダイビング保険会社の会員ポータルに深刻なセキュリティ脆弱性を発見
- ポータルでは 連番のユーザーIDと同一のデフォルトパスワード が使われており、誰でも単純な組み合わせで他の会員の個人情報にアクセス可能だった
- 問題を CSIRT Malta と当該機関に同時に報告 したが、機関は感謝の代わりに 法務代理人を通じて刑事責任の可能性を警告 した
- 筆者は 秘密保持誓約(NDA) の要求を拒否し、データ削除の確認だけを含む修正済み宣言文を提案したが、機関は 名誉毀損の可能性 を理由に再び脅しをかけた
- この出来事は、責任ある脆弱性開示手続きの重要性と、法的脅威が研究者保護を萎縮させる現実 を浮き彫りにしている
脆弱性の発見
- コスタリカのココ島へのダイビング旅行中、ダイビング保険会社の会員ポータルの構造的欠陥 を発見
- インストラクターが受講者を登録すると、システムが連番の数字IDと 変更されないデフォルトパスワード を生成
- 多くの利用者がパスワードを変更しておらず、他の会員の個人情報一式(氏名、住所、生年月日、連絡先など)にアクセス可能だった
- パスワード変更の強制、ログイン制限、MFA などの基本的なセキュリティ対策が一切なかった
- 一部のアカウントには 未成年者(14歳) の情報も含まれていた
- 筆者は最小限のアクセスで問題を確認した後、直ちに中止し、収集したすべてのデータを完全に削除 した
検証と証明
- Python
requests で試みたが、セッション構造が複雑だったため Selenium を使ったブラウザー自動化 で検証
- 単にユーザーIDとデフォルトパスワードを入力するだけでログイン可能
- 自動化スクリプトは 動作しないサンプルコード として公開されており、実際の識別子はすべて削除されている
- 出力例には氏名、メールアドレス、住所、生年月日など プロフィール全体のデータ が含まれていた
- この過程で 複数の未成年者アカウント も同じ方法で露出していることが確認された
脆弱性開示手続き
- 2025年4月28日 に脆弱性を正式に報告し、30日の修正猶予期間 を設定
- CSIRT Malta と当該機関に同時にメールで通知
- 報告書には問題の要約、GDPR違反の可能性、スクリーンショット、暗号化された PoC リンクを含めた
- 7日以内の受領確認、30日以内の修正を要請
- これは 国家脆弱性開示ポリシー(NCVDP) に合致する標準手続きだった
機関の対応
- 2日後、ITチームではなく データ保護担当弁護士(DPO法律事務所) から返信があった
- パスワード初期化と 2FA 導入に言及した一方で、政府機関に先に知らせたことを問題視 した
- 筆者の行為が マルタ刑法上の犯罪になり得る として、法的責任の可能性を警告した
- 機関は 秘密保持宣言文 への署名を要求し、パスポートの写し提出と 当日中の署名期限 を提示
- 宣言文には「この宣言の内容を秘密に保持する」という条項があり、事実上 NDA(秘密保持契約) の形だった
- その後も「親切なお知らせ」「緊急通知」など、繰り返し署名要求が続いた
研究者の拒否と反論
- 筆者は 秘密保持条項への署名を拒否 し、その代わりに データ削除確認のみを含む修正版の宣言文 を提案
- CSIRT Malta への通知は 公式手続きの一部 であり、公開後の分析はセキュリティ業界の標準慣行であると明記した
- 機関は 刑法第337E条(コンピューターの不正利用) を引用し、海外で行われた行為でもマルタ国内の犯罪と見なされ得ると警告
- また、ブログやカンファレンスで機関名に言及した場合、名誉毀損および損害賠償請求の可能性 があると通知した
- 現在、脆弱性は修正されており、デフォルトパスワードの初期化と 2FA 導入 が進行中
- しかし、GDPR 第33条・第34条 に基づく 被害者への通知が行われたかどうかは確認されていない
責任転嫁と GDPR 違反
- 機関は「パスワード変更は利用者の責任」だと主張
- しかし GDPR 第5条1項(f) と 第24条1項 によれば、データ管理者が適切な技術的・組織的措置 を講じなければならない
- 同一のデフォルトパスワードと連番IDは、明らかに 不適切なセキュリティ対策 に当たる
繰り返されるパターン
- セキュリティ研究者が脆弱性を 責任を持って開示すると法的脅威を受ける「萎縮効果(Chilling Effect)」 は今なお存在する
- 法的対応はむしろ評判を悪化 させ、問題は脆弱性そのものではなく 組織の対応の仕方 にある
正しい対応手順
- 報告の受領と修正
- 研究者への感謝の表明
- CVD(Coordinated Vulnerability Disclosure)ポリシー の策定
- 影響を受けた利用者への通知、特に未成年者の保護
- NDA による沈黙の強要禁止
組織と研究者への助言
- 組織は security.txt など明確な開示手順を整備し、研究者に感謝すべき
- 研究者は 国家 CSIRT への参加、すべての記録の保存、データ削除後の秘密保持拒否 を実践すべき
- NIS2 指令 は EU 域内で責任ある脆弱性開示を促進している
- それでも 2026年になってなお、単純な脆弱性報告が法的脅威につながる現実 が存在する
1件のコメント
Hacker Newsの意見
他の人たちも 単調増加するユーザーID を見つけてテストした結果、刑務所に行った事例がある
そういう形でテストした瞬間に CFAA違反のリスク が生じる
すでにIDが単調増加で、かつデフォルトパスワードが設定されていると分かっていたなら、その時点ですぐに脆弱性を報告すべきだった
テストを実行した瞬間に法律を破ったことになる可能性がある
今こうして文章を書いていること自体、事実上の自白に近いので、弁護士を立てて関連法を学ぶべきだ
法的な専門知識はないが、3つ考えがある
保険会社のような組織には必ずサイバー監査を受けさせ、ホワイトハットハッカーを保護し、ユーザーが集団訴訟を起こせるようにすべきだ
そうなれば基本的な脆弱性はなくなり、弁護士よりソフトウェアエンジニアのほうが経済的に価値のある存在になるだろう
CS分野もAI時代にこういう方向へ進むのか気になる
プロフェッショナルエンジニアは設計承認と検査を担い、安全を保証する中核的役割を果たす
それだけ権限と責任が大きく、報酬も高い
初心者開発者のオープンソース活動を妨げたいわけではないが、大量の個人情報や金を扱うサイトは 認定されたソフトウェアエンジニア が署名すべきだと思う
そうすれば経営陣の無理な要求を止める力が生まれる
もちろん、BoeingやVolkswagenの事例を見れば完全な解決策ではない
つまり、当局に報告することと報道機関に公開することはまったく別の問題だ
特に マルタ のような場所では組織犯罪と汚職が深刻で、こうしたことを公にした人は「偶然の事故」に遭うかもしれない
私はサービスごとに別のメールアドレスを使っている
15年ほど前、diversalertnetwork 用のアドレスにスパムが届き始めた
DANに侵害の事実を知らせたところ、パスワード変更案内のメールが来ただけだった
刑事告訴されなかっただけでも幸運だったと思う
投稿者が組織名を明かすのを恐れていることから、法的脅しが効果的だった ことを意味している
「データ削除確認書に署名しろ」という要求について、なぜ署名したのか疑問だ
会社は協力よりも 統制 を望んでいたように見える
セキュリティ研究者が脆弱性を報告したことで 法的脅威を受けるパターン は何十年も繰り返されている
政府や企業はサイバーセキュリティの重要性を語るが、実際には研究者に敵対的だ
こうした不当な対応を防ぐ 立法 が必要だ
関連事例は このリンク で見られる
もしかしてこの件の対象は DAN Europe とその子会社 IDA Insurance Limited なのだろうか
ドイツでは、このようにスクリプトを回して他人のデータにアクセスするのは 違法 だ
他人の車のドアが開いているからといって、中に入ってエンジンをかけてよいわけではないのと同じだ
関連する法的解説は この記事 を参照
サイトを通常利用する範囲でスクリーンショットを撮って報告するのは問題ないが、Pythonスクリプトでデータ収集 をしたら一線を越える
それは、銀行のドアが開いているのを見て警察に通報する代わりに、中へ入るようなものだ
去年、ある大規模イベントのチケットシステムで脆弱性を見つけた
メールで受け取ったチケットリンクが 連番の注文番号をbase64エンコードしたもの だった
つまり、他人のチケットも簡単にダウンロードできた
主催者と開発会社にメールを送ったが何の反応もなく、今もそのまま開いた状態だ
今年のイベント時に修正されたか見守るつもりだ
ユーザーIDが連番で、デフォルトパスワードも同一だったなら、本当の脆弱性は 「セキュリティ担当者が存在するという前提」 だった
最近の「責任ある公開」とは、結局のところ 会社が弁護士を雇う時間を稼いでやること にすぎない