カリフォルニア州を拠点とし、ロサンゼルス全域で新型コロナウイルス検査を提供している医療系スタートアップが、顧客が検査結果にアクセスするために使用していたウェブサイトに他人の個人情報にアクセスできる脆弱性が見つかったため、ウェブサイトを閉鎖した。
Total Testing Solutions(TTS)は、ロサンゼルス市内に10カ所の新型コロナウイルス検査施設を持ち、毎週、職場やスポーツ会場、学校などで「数千件」の新型コロナ(COVID-19)検査を処理している。検査結果通知の準備が整うと、顧客は結果を受け取るためのウェブサイトへのリンクが記載されたメールを受け取るようになっている。
しかし、同社のある顧客によると、ウェブサイトのアドレスに含まれる数字を一桁増減させることで、他の顧客の情報にアクセスできる脆弱性を発見したとのこと。それにより、その顧客は他の顧客の名前やテストの日付を見ることができた。また、新型コロナウイルスの検査結果にアクセスするためには生年月日が必要だが、この脆弱性を発見した顧客は、推測もしくはブルートフォース攻撃を行うのに「時間はかからない」と語った(30歳以下の人であれば、最大で誕生日を約1万1000回推測するだけだ)。
検査結果のウェブサイトは、顧客に電子メールアドレスとパスワードの入力を促すログインページで保護されているが、ウェブアドレスの変更や他の顧客の情報へのアクセスを可能にする脆弱な部分は、ログインプロンプトを完全に回避してウェブから直接アクセスすることができた。
その顧客は、誰かが発見したり悪用する前に(すでに悪用されていた可能性もあるが)Total Testing Solutionsが脆弱性を修正できるよう、脆弱性の詳細をTechCrunchに伝えた。
TechCrunchは顧客の調査結果を検証し、各結果コードを列挙することはしなかったものの、限定的なテストにより、この脆弱性によって約6万件の検査結果が危険にさらされている可能性があることがわかった。TechCrunchは、TTSのチーフメディカルオフィサーであるGeoffrey Trenkle(ジェフリー・トレンクル)氏にこの脆弱性を報告した。同氏は、発見された検査の数には異議を唱えなかったが、脆弱性は、検査結果を提供するために以前使用されていたオンプレミスのレガシーサーバーに限定されており、そのサーバーはその後シャットダウンされ、新しいクラウドベースのシステムに置き換えられたと述べた。
トレンクル氏は声明で次のように述べた。「当社は最近、以前のオンプレミスサーバーに潜在的なセキュリティ脆弱性があり、URL操作と生年月日のプログラミングコードを組み合わせて、特定の患者の名前と検査結果にアクセスできる可能性があることを認識しました。この脆弱性は、クラウドベースのサーバーが構築される前に公共の検査施設で得られた患者情報に限られていました。この潜在的な脅威に対応するため、当社は直ちにオンプレミスのソフトウェアを停止し、そのデータを安全なクラウドベースのシステムに移行する作業を開始して、将来のデータ漏洩のリスクを防ぎました。また、サーバーのアクセスログを確認し、認識されていないネットワーク活動や異常な認証失敗を検出するなど、脆弱性の評価を開始しました」。
同氏は、クラウドサーバーがいつから利用可能になったのか、また、レガシーとされるサーバーに2021年7月の時点でテスト結果が存在した理由については言及を避けた。
「現在TTSでは、以前のサーバーの問題により、保護されていない医療情報が漏洩した事実を認識していません。当社の知る限り、実際に患者の医療情報が漏洩したことはなく、今後のリスクはすべて抑制されています」とトレンクル氏は述べている。
トレンクル氏は、同社は州法に基づく法的義務を遵守すると述べたが、脆弱性について顧客に通知する予定があるかどうかについては明確にしなかった。企業は州の司法長官や顧客に脆弱性を報告する義務はないが、不正アクセスがあったかどうか判断しにくい場合もあることから、多くの企業が念のため報告している。
TTSのLauren Trenkle(ローレン・トレンクル)CEOは、一連の電子メールでコピーされていたが、コメントしなかった。
関連記事
・米T-Mobileで顧客データ漏洩、犯罪者フォーラムで販売
・保険テック系スタートアップBackNineの過失で米大手保険会社の数十万件の申込書が流出
・PR TIMESが会員企業の発表前情報に対する不正アクセス公表
カテゴリー:セキュリティ
タグ:ロサンゼルス、バグ / 脆弱性、新型コロナウイルス、データ漏洩
画像クレジット:Allen J. Schaben / Los Angeles Times / Getty Images
[原文へ]
(文:Zack Whittaker、翻訳:Aya Nakazato)