エンタープライズ:ニュース 2003/08/08 23:19:00 更新


IPA/ISEC、産総研レポートを受けてcookie設定に注意を呼びかけ

IPA/ISECは8月8日、産業技術総合研究所が発行したテクニカルレポートを受けて、cookieを用いたセッション管理について注意を喚起する文書を公開した。

 情報処理振興事業協会セキュリティセンター(IPA/ISEC)は8月8日、産業技術総合研究所が発行したテクニカルレポート「Cookie盗聴によるWebアプリケーションハイジャックの危険性とその対策」(AIST03-J00017)を受けて、cookieを用いたセッション管理について注意を喚起する文書を公開した。

 多くのショッピングサイトでは、ユーザーごとにカスタマイズしたWebページを提供するためにセッション管理を行っている。セッション管理を実現するにはいくつかの手法があるが、中でも多用されているのがcookie機能だ。

 だが多くのサイトでは、このcookieの扱いに問題があるという。それも、SSLによって経路の暗号化を行っている、一見安全そうに見えるWebサイトでも、cookieが正しく取り扱われていないケースがあるという。

 というのも、ショッピングサイトでは、通常の「http://」から始まるページと、SSLで保護された「https://」のページが混在していることが多い。これに対しcookieは、デフォルトでは、そのどちらにアクセスするときでも送出されてしまう。つまり、同じドメイン内に「http://」のページと「https://」のページの両方が存在し、cookieの設定を適切に行っていないと、SSLを使わないページを見るときに、cookieが盗聴されてしまうおそれがある。これを悪用されれば、個人情報を盗み見られたり、第三者によって成りすましの被害を受ける可能性もある。せっかくSSLで経路を暗号化している部分があるのに、保護されない部分でわざわざcookiwを送り出してしまうことになるので、これでは意味がない。

 産業技術総合研究所のレポートとIPA/ISECでは、この問題を回避するため2つの方法を提案している。

 1つは、cookieの設定を変更し「secure」フラグを立てるとともに、サイト内のすべてのページを「https://」で構築することだ。もしsecureフラグの設定が困難な場合は、すべて「https://」としたうえで、httpのポート(一般にはTCP/80ポート)をふさぐことでも対策できるという(8月18日追記:産業技術総合研究所の高木浩光氏のその後の調査により、この手法は解決策になりえないことが判明した。HTTPSのポートである443も閉じないと、罠のリンク、例えば「http://hostname:443/」などにアクセスさせられ、cookieが暗号化されていない通信路に流れてしまうが、ポート443まで閉じてしまうとWebサイトそのものを全面的に閉鎖してしまうことになり、解決たりえなくなってしまう)。

 もう1つの方法は、「http://」ではデフォルト状態のcookieを、また「https://」ではsecureフラグを立てたcookieを発行し、この2つをサーバ側で対応付けることである。

 なお産業技術総合研究所のレポートによれば、SSLを用いている著名なショッピングサイト、25サイトに対し調査を行ったところ、cookieを用いていたサイトは22サイト。うち適切にsecureフラグを利用していたのは2サイトに過ぎず、残る20サイトではパケットの盗聴によって個人情報を盗み出されるおそれがあったという。

 また、今回のレポートでは触れられていないが、予測が困難なセッションIDをcookieに入れる、という比較的妥当な方式を用いず、URLに秘密であるはずの情報を組み込んだり、ユーザーIDをそのままcookieに入れたりといった、安易なセッション管理も論外である。

関連リンク
▼IPA/ISEC:経路のセキュリティと同時にセキュアなセッション管理を
▼産業総合研究所:「Cookie盗聴によるWebアプリケーションハイジャックの危険性とその対策」(AIST03-J00017)の発表スライド(8月13日訂正版)

[ITmedia]