はてなブックマークモバイル版の脆弱性とその対策について
Tweet
先日はてなブックーマークモバイル版で、他人になりすましてアクセスできるという脆弱性があったのですが、 はてなからそれに対する公式なコメントが出ているようです。
原因とその対策についても触れられており、モバイルサイトを作成している方には参考になると思われるため、ご紹介させていただきます。
→ はてなブックマーク日記 「はてなブックマーク モバイル版」の脆弱性を利用した不正アクセスに関するご報告 [hatena.ne.jp]
ご存知のない方のために軽く説明すると、9月下旬にid:guldeen氏のブックマークコメントが、何者かに改ざんされるという事件がありました。
当初、パスワードが盗まれたのでは?という話になっていましたが、どうやらセッションハイジャックによるものだったようです。
はてなの報告によると、モバイル版の一部のページでコンテンツをキャッシュしており、その中でセッションIDをキャッシュしてしまうという問題があったようです。
ドコモ端末の場合、ごく最近発売された機種を除きほとんどの機種でクッキーが利用できないため、セッションはURLの後ろにセッションIDを保持して引き継ぐという形になります。
そのリンクを踏んだ他のユーザは、そのセッション情報を引き継いでしまい、他人でログインしたのと同じ状況になってしまっていたようです。
今回の場合は、
- セッションIDがURLについた状態でキャッシュしてしまっていた
- セッション情報が本人のものであるかどうかのチェック処理が足りなかった
という2点が原因となっていたようです。
1の方は当たり前ですがセッション情報を取り除いてからキャッシュするようにする。
2に関しては、セッションやDB内にユーザ(契約者)ID・端末IDなどを保存しておき、アクセスの要所要所(可能なら毎回)で端末側からIDを取り直しそれと比較する、といった処理が必要になると思われます。
はてな側では不正アクセス禁止法違反と言っていますが、利用者は普通にアクセスするだけで他人になりすませたわけで、不正アクセスかどうかは微妙なところだと思います。
ケータイのセッション管理(特にドコモ端末)は、PCに比べセキュリティの問題が大きく関わってきます。
今回の件を教訓として、セッションを使ったサービスを開発する場合には、より一層の注意をしたほうが良さそうですね。
関連:
- JavaScriptとかんたんログインのセキュリティについて解説した記事「携帯JavaScriptとXSSの組み合わせによるかんたんログインなりすましの可能性 」
- ソフトバンクの携帯用GatewayをPCで通る方法があるようです
- 実際に動いてすぐ使える「PHPによるかんたんログインサンプル」を作ってみました
10月 4th, 2009 at 22:05:29
[…] はてなブックマークモバイル版の脆弱性とその対策について | ke-tai.org はてなブックマークモバイル版の脆弱性とその対策について | ke-tai.org […]
10月 5th, 2009 at 15:02:20
参考:
http://d.hatena.ne.jp/IwamotoTakashi/20091002/p1
10月 11th, 2009 at 3:48:27
[…] 「はてなブックマーク(モバイル版)」の脆弱性(セッションハイジャック)とその対策について […]