アプリケーションの攻撃パターン - 4) Cookieの改ざん
Cookieとは、Webサーバ側からWebブラウザを介してユーザのPCに情報を書き込むことによって、ユーザを識別するための情報を一時的に記録する仕組みです。
Cookieの仕組みを簡単に説明すると、以下のような流れになります。
例えば、テクマ太郎というユーザがあるWebサイトにアクセスして、発行されたCookieに以下のようなセッションIDの情報が書かれていたとします。
Cookieの仕組みを簡単に説明すると、以下のような流れになります。
- ユーザがWebブラウザを利用してWebサイトへアクセスします。
- リクエストを受け取ったWebサーバは、Cookieを発行し、HTTPヘッダに付加してレスポンスを返します。
- Webブラウザは発行されたCookieをローカルに保存し、これ以降、同じWebサイトへアクセスする際には、毎回Cookieの情報をHTTPヘッダに付加してリクエストを送ります。
例えば、テクマ太郎というユーザがあるWebサイトにアクセスして、発行されたCookieに以下のようなセッションIDの情報が書かれていたとします。
暗号化されていて、一見すると意味のないランダムな文字列に見えますが、「Tt442371419513」という部分を以下の法則にしたがって変更すると、「Ttてくまたろう」に複合化できてしまいます。
表) セッションIDの暗号法則の例
この法則にテクマ太郎が気づいたとしたら、そしてもし悪魔のささやきに良心が屈服してしまったとしたら、テクマ太郎は以下の行動を起こすことでしょう。
まず、テクマ太郎はよくありそうな名前(よくあるとは思えないが、ここではマトリ花子とする)を想定し、この暗号化法則にしたがって、“まとりはなこ”を暗号化します。
次いで、暗号化した内容をCookieにセットして、再度そのWebサイトにアクセスを試みます。マトリ花子というユーザが実在したとしたら、セッション・ハイジャックの成功です。テクマ太郎はマトリ花子になりすまして、Webサイト上で好きなことが出来てしまうでしょう。
例えばそのWebサイトがオンラインショッピングサイトならば、テクマ太郎はマトリ花子になりすましたまま好きなだけ買い物が出来てしまいます。オンラインバンキングサイトならば、不正に金銭を送金出来てしまうでしょう。
このケースで問題なのは、セッションIDに安易な暗号方式を使っていたため、ロジックを見破られてしまう余地があった点です。有効な対策としては、暗号方式にメッセージ・ダイジェストなどを用いることです。ただ、それでも完全に改ざんの可能性がなくなるわけではないので、Cookieのdomainや path、有効期限などの設定を適切に行う必要があります。
本文中に記載されている会社名および製品名はそれぞれ各社の商標、または登録商標です。
まず、テクマ太郎はよくありそうな名前(よくあるとは思えないが、ここではマトリ花子とする)を想定し、この暗号化法則にしたがって、“まとりはなこ”を暗号化します。
次いで、暗号化した内容をCookieにセットして、再度そのWebサイトにアクセスを試みます。マトリ花子というユーザが実在したとしたら、セッション・ハイジャックの成功です。テクマ太郎はマトリ花子になりすまして、Webサイト上で好きなことが出来てしまうでしょう。
例えばそのWebサイトがオンラインショッピングサイトならば、テクマ太郎はマトリ花子になりすましたまま好きなだけ買い物が出来てしまいます。オンラインバンキングサイトならば、不正に金銭を送金出来てしまうでしょう。
このケースで問題なのは、セッションIDに安易な暗号方式を使っていたため、ロジックを見破られてしまう余地があった点です。有効な対策としては、暗号方式にメッセージ・ダイジェストなどを用いることです。ただ、それでも完全に改ざんの可能性がなくなるわけではないので、Cookieのdomainや path、有効期限などの設定を適切に行う必要があります。
本文中に記載されている会社名および製品名はそれぞれ各社の商標、または登録商標です。
PICK UP
イベント・セミナー
AppScanに
関するお問い合わせ
テクマトリックス株式会社
東京本社ネットワークセキュリティ事業部
第3営業部
セキュリティプロダクツ営業2課03-4405-7814
- メールでのお問い合わせ
- watchfire@techmatrix.co.jp