水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > MT に脆弱性

MT に脆弱性

2005年5月12日(木曜日)

MT に脆弱性

ということで脆弱性だそうですが、

第三者が、Cookieの値を取得する。

以上、【重要】 第三者による不正アクセスを許す危険性の対策について より

って、これが起きたらその時点でセッションハイジャックできますね。おそらく重要なのは

Movable Typeのセッション管理で使われるCookieの値に、ハッシュ化されたユーザーアカウント情報が含まれており

また、このCookieの値が、Atom APIによるログイン時のパスワードとしても利用されているため、

というあたりで、「セッション管理で使われるCookieの値」が一時的なセッション ID ではない、という話なのでしょう。

通常のセッションハイジャックの場合、ターゲットがログアウトしてしまえばサーバ側で Cookie が無効になります。すると攻撃者に盗まれた Cookie も無効になり、それは二度と有効になりませんので、攻撃者が再度ログインしたい場合は盗聴なり攻撃なりをもう一度成功させなければなりません。が、Cookie が恒久的に使えれば攻撃者もその Cookie を恒久的に使えるわけでして、一度でも盗聴されたらそれでアウトになってしまうという事ですね。

パケット盗聴等で Cookie を盗まれなければ問題ないはずですが、たとえて言うならページアクセスのたびに「SSL 保護無しでパスワードを送る」という行為をしているのと同じような感じでしょうか。非 SSL で Basic 認証を使っていれば普通に起きていることなので、大して危険ではないような気もするのですが、危険性の評価は利用状況によるでしょう。MT を利用してるのは個人サイトだけではありませんし。

「リスクを軽減する対策」と称するものがいくつか挙げられていますが、これは本当に「軽減」にしかならないですね。

通常、Movable TypeのCGIスクリプトへのリンクは、"CGIPath"として"mt.cfg"ファイルに設定します。コメントやトラックバックのパスから、"CGIPath"の値を確認できるため、盗聴によるパスワードやCookieの漏洩から、管理画面のCGIスクリプトmt.cgiへの不正アクセスが行われる可能性があります。

以上、盗聴によるパスワードやCookieの漏洩からの不正アクセスを防止する(1) より

パケット盗聴で Cookie: フィールドが読まれていると想定するなら、そのとき一緒に Request-Line も読まれている可能性が高いはずです。それによってパスは読まれてしまいますから、表から隠してもほとんど意味がないのではないかと思います。管理画面へのアクセスではないリクエストだけが盗聴されたのであれば意味がありますが……。

※Request-Line というのはリクエストの最初の「GET /foo HTTP/1.1」のような行のこと。管理画面アクセス時は、/foo の部分に管理画面 CGI のパスが入ります。

Cookieの漏洩を防止する方法として、"AdminCGIPath"で管理画面のCGIスクリプトmt.cgiへのリンクを設定する以外に、「ブラウザにCookieを保持する期間を限定すること」で、第三者による不正アクセスを防止することができます。

以上、盗聴によるパスワードやCookieの漏洩からの不正アクセスを防止する(2) より

これも、もちろん何もしないよりはましだと思いますが、ぶっちゃけた話、「こまめにパソコンの電源を切るとウィルスに感染しにくい」というのと同じ程度の話でしかないわけで、根本的な対策にはならないですね。

やはりパッチ待ちということで。

関連する話題: セキュリティ / IPA / JPCERT/CC / JVN / SSL/TLS / Movable Type

最近の日記

関わった本など

インクルーシブHTML+CSS & JavaScript 多様なユーザーニーズに応えるフロントエンドデザインパターンデザイニングWebアクセシビリティ - アクセシブルな設計やコンテンツ制作のアプローチコーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践ウェブの仕事力が上がる標準ガイドブック 5 WebプログラミングDreamweaver プロフェッショナル・スタイル [CS3対応] (Style for professional)

その他サイト