アプリケーションの攻撃パターン - 4) Cookieの改ざん

Cookieとは、Webサーバ側からWebブラウザを介してユーザのPCに情報を書き込むことによって、ユーザを識別するための情報を一時的に記録する仕組みです。

Cookieの仕組みを簡単に説明すると、以下のような流れになります。
  1. ユーザがWebブラウザを利用してWebサイトへアクセスします。
  2. リクエストを受け取ったWebサーバは、Cookieを発行し、HTTPヘッダに付加してレスポンスを返します。
  3. Webブラウザは発行されたCookieをローカルに保存し、これ以降、同じWebサイトへアクセスする際には、毎回Cookieの情報をHTTPヘッダに付加してリクエストを送ります。
Webサイト上でセッション管理を必要とする場合、発行したセッションIDを記録するためにもCookieが利用される場合があります。この時危惧されるのが、Cookieの改ざんという攻撃です。

例えば、テクマ太郎というユーザがあるWebサイトにアクセスして、発行されたCookieに以下のようなセッションIDの情報が書かれていたとします。
Cookieの改ざん 例


暗号化されていて、一見すると意味のないランダムな文字列に見えますが、「Tt442371419513」という部分を以下の法則にしたがって変更すると、「Ttてくまたろう」に複合化できてしまいます。

表) セッションIDの暗号法則の例

表) セッションIDの暗号法則の例

 この法則にテクマ太郎が気づいたとしたら、そしてもし悪魔のささやきに良心が屈服してしまったとしたら、テクマ太郎は以下の行動を起こすことでしょう。
まず、テクマ太郎はよくありそうな名前(よくあるとは思えないが、ここではマトリ花子とする)を想定し、この暗号化法則にしたがって、“まとりはなこ”を暗号化します。
次いで、暗号化した内容をCookieにセットして、再度そのWebサイトにアクセスを試みます。マトリ花子というユーザが実在したとしたら、セッション・ハイジャックの成功です。テクマ太郎はマトリ花子になりすまして、Webサイト上で好きなことが出来てしまうでしょう。
例えばそのWebサイトがオンラインショッピングサイトならば、テクマ太郎はマトリ花子になりすましたまま好きなだけ買い物が出来てしまいます。オンラインバンキングサイトならば、不正に金銭を送金出来てしまうでしょう。

このケースで問題なのは、セッションIDに安易な暗号方式を使っていたため、ロジックを見破られてしまう余地があった点です。有効な対策としては、暗号方式にメッセージ・ダイジェストなどを用いることです。ただ、それでも完全に改ざんの可能性がなくなるわけではないので、Cookieのdomainや path、有効期限などの設定を適切に行う必要があります。 


本文中に記載されている会社名および製品名はそれぞれ各社の商標、または登録商標です。

AppScanに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ネットワークセキュリティ事業部
    第3営業部
    セキュリティプロダクツ営業2課

    03-4405-7814

メールでのお問い合わせ
watchfire@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。