単純なセキュリティバグが大学キャンパスの「マスターキー」になっている

Erik Johnson(エリック・ジョンソン)氏は、大学のモバイル学生IDアプリがまともに使えなかったとき、何か回避方法はないかと探した。

そのアプリはかなり重要で、彼の通っている大学の学生は、これを使って食事代を払ったり、イベントに参加したり、さらには寮の部屋や研究室を始めキャンパスのさまざまな施設の鍵を開けることもできる。GET Mobile(ゲット・モービル)と呼ばれるそのアプリを作ったのはCBORD(シーボード)というテクノロジー企業で、病院や大学にアクセス制御や決済のシステムを提供している。しかしジョンソン氏(およびアプリのレビューに不満の星1つをつけた多くの人たち)は、アプリは動きが遅くロードに時間がかかりすぎると言っていた。もっといい方法があるはずだ。

そして彼は、寮室の鍵を開けた瞬間のアプリのネットワークデータを解析することで、ネットワークリクエストを再現することに成功し、iPhoneのショートカットボタンを1タップするだけでドアを解錠できるようになった。ただしこのショートカットが動作するためには、自分の正確な位置情報をアンロックリクエストと一緒に送る必要があり、それがないと鍵は開かない。ジョンソン氏は、セキュリティの観点からこのアプリを使ってドアを解錠する際に学生は物理的にドアの近くにいなくてはならないようになっていると語った。キャンパス内のあちこちで誤ってドアが開いてしまうことを防ぐための措置だ。

まずはうまくいったが、ここでやめる必要はある?アプリを使わずにドアをアンロックできるとしたら、他にどんな動作を再現できるだろうか?

ジョンソン氏は広く助けを求める必要がなかった。CBORDは、APIを通じて使えるコマンドの一覧表を公開しており、APIは学生の識別情報(例えば彼自身の)を使って制御することができた(各APIでは、インターネットを通じて2つの実体がやり取りすることが可能で、この場合はモバイルアプリと大学の学生データが保存されているサーバー)。

しかし、すぐに彼はある問題を見つけた。APIは学生の識別情報が有効であるかどうかをチェックしていなかった。つまりこれはジョンソン氏、あるいはインターネット上の誰でもが、このAPIを使って他のあらゆる学生のアカウントを、パスワードを知る必要なく乗っとることができるを意味している。ジョンソン氏によると、APIは学生のユニークIDだけをチェックしていたが、ときとしてそのIDは大学が発行した学生のユーザー名あるいは学生ID番号であり、大学によってはオンライン学生名簿で公開しているため秘密とはいえないと同氏は警告した。

ジョンソン氏はこのパスワードバグを、大学の「マスターキー」と評した、少なくともCBORDで制御されているドアに対しての。解錠するためにドアの近くにいなくてはならないという要件についても、バグのおかげで物理的にそこにいるとAPIを思い込ませることができたとジョンソン氏は言った。鍵そのもののおおよその座標を送るだけでよかった。

バグはAPI自身にあることから、他の大学にも影響を与えている可能性があるとジョンソン氏はいうが、アカウントのアクセス境界を超えることを恐れて、チェックはしていない。代わりに彼は、バグをCBORDに報告する手段を探したが、同社のウェブサイトで安全な専用メール窓口を見つけることはできなかった。彼は電話サポートにつないで脆弱性を報告したが、サポート担当者は、会社にセキュリティ窓口はないと答え、バグは大学を通じて報告するように言われた。

このバグは容易に悪用が可能(すでに実行されているかもしれない)であることを踏まえ、ジョンソン氏はTechCrunchに、脆弱性の詳細をCBORDに伝えるよう依頼した。

脆弱性はTechCrunchが2月12日に会社に連絡を取ってからまもなく解決した。CBORDの最高情報責任者、Josh Elder(ジョシュ・エルダー)氏はメールで、問題の脆弱性は解決済みであり、セッションキーは無効化されため、残存していた可能性のあるAPIへの不正アクセスも遮断されたことを確認した。エルダー氏は、CBORDの顧客に通知を送ったと言ったが、メール内容をTechCrunchに知らせることは拒んだ。CBORDを使用している別の組織のセキュリティ担当幹部は、CBORDからその脆弱性に関する通知を受けていない、とTechCrunchに話した。果たしてCBORDが、ユーザーやアカウント保有者、例えばジョンソン氏のような学生に通知するつもりがあるのかどうか、わかっていない。

エルダー氏はジョンソン氏の発見に異議を唱えなかったが、会社がログを保存しているか、あるいはAPIの悪用を検知する仕組みがあるのかという質問に対してそれ以上の回答を拒んだ。TechCrunchは同社広報担当者に追加質問への回答を要求したが、その後連絡を受けていない。

遠隔からドアを解錠できる脆弱性をCBORDが修正しなくてはならなかったのはこれが初めてではない。Wiredは2009年に、ドアの解錠コマンドを傍聴することで次のシーケンス番号を予測し、IDカードの要求を回避できることを報じた。

画像クレジット:Olena Ruban / Getty Images

原文へ

(文:Zack Whittaker、翻訳:Nob Takahashi / facebook