セッションフィクセーションについて説明していきます。
■概要
前回、セッションIDの発行や管理に不備がある場合、攻撃者によってセッションIDが乗っ取られてしまう「セッションハイジャック」を説明しました。
セッションフィクセーションは、セッションハイジャックとは異なりセッションIDを乗っ取るのではなく、攻撃者が利用しているセッションIDを何らかの方法でユーザに強制させ、攻撃方法となります。
セッションIDを強制させるパターンとして以下のようなものが挙げられます。
・URLにセッションIDを含めたリンクをユーザに送付して、ログインさせる。
※セッションIDがURLに含まれているサイト限定
・既存の脆弱性(クロスサイトスクリプティングなど)を悪用し、ユーザにセッションIDを強制させる
■想定される被害
セッションフィクセーションによってユーザになりすましてWebサイトにアクセスされる、以下のような被害にあう可能性があります。
どのような被害を受ける可能性があるかあらかじめ把握しておき、攻撃を受けないように対策を検討することが必要です。
・ログイン後の正規ユーザのみが利用可能な機能を悪用される
※不適切な投稿、パスワード変更、商品購入、不正な送金、退会処理など
■対策
セッションフィクセーションの対策として挙げられるものは以下のようなものとなります。
・ログイン後、新しいセッションIDを発行する
・ログイン後、セッションIDとは別の識別情報を発行し、ページ遷移ごとにその値を確認する