セッションハイジャックについて説明していきます。
■概要
Webアプリケーションでは、ユーザを識別するためにWebサーバからセッションIDと呼ばれる識別情報が発行され、それによりブラウザとサーバ間のセッションを管理しています。
セッションIDの発行や管理に不備がある場合、攻撃者によってセッションIDが乗っ取られてしまい、そのユーザになりましてアクセスされる可能性があります。
これを「セッションハイジャック」と呼びます。
セッションIDが攻撃者に知られてしまうパターンとして以下のようなものが挙げられます。
・セッションIDが推測される
・通信が盗聴され、セッションIDが盗まれる
・既存の脆弱性を悪用し、セッションIDが盗まれる
■想定される被害
セッションハイジャックによってユーザになりすましてWebサイトにアクセスされ、以下のような被害にあう可能性があります。
どのような被害を受ける可能性があるかあらかじめ把握しておき、攻撃を受けないように対策を検討することが必要です。
・ログイン後の正規ユーザのみが利用可能な機能を悪用される
※不適切な投稿、パスワード変更、商品購入、不正な送金、退会処理など
■対策
セッションハイジャックの対策として挙げられるものは以下のようなものとなります。
・推測困難なセッションIDを発行する
・セッションIDをURLパラメータに格納しない
・HTTPS通信で利用するCookieにはsecure属性を加える
・ログイン後、セッションIDとは別の識別情報を発行し、ページ遷移ごとにその値を確認する