セッションフィクセーション 【session fixation】 セッションIDの固定化 / セッションIDのお膳立て
概要
セッションフィクセーション(session fixation)とは、Webアプリケーションの利用権限を奪い取る攻撃の準備段階として行われる攻撃手法の一つで、攻撃者の用意したセッションIDを標的に利用者に使わせるよう誘導すること。「セッションIDの固定化」「セッションIDのお膳立て」とも呼ばれる。一般的なWebアプリケーションではログイン時にセッションIDという識別符号を発行し、以降はWebブラウザがHTTP Cookieなどの仕組みを用いて毎回セッションIDを申告することで、同一人物によるアクセスであると確認する。
このセッションを仕組み利用した乗っ取り攻撃(セッションハイジャック)では、攻撃者が何らかの方法で利用者が使用している正規のセッションIDを入手し、これを名乗ってWebアプリケーションにアクセスすることで、利用者になりすましてアプリケーション上での操作(不正な送金など)を実行する。
セッションフィクセーションはこの有効なセッションIDを入手する手口の一つである。攻撃者はWebアプリケーションにログインしてセッションが成立している利用者に対して、不正なリンクをクリックさせるなど何らかの操作を行わせ、セッションIDを攻撃者が用意したものにすり替えてしまう。
攻撃者はすり替えたセッションIDを知っているため、自らのブラウザにも同じセッションIDを仕込んだ状態でWebアプリケーションへアクセスすれば、パスワードなどを奪取しなくても標的の利用者になりすまして操作を行うことができるようになる。
この攻撃が成立するには、クライアント側から申告したセッションIDを有効なものとしてサーバ側が受け取る仕様になっている必要がある。多くのWebサーバやWebアプリケーションではこのようなセッションIDの書き換えが起こらないよう、サーバ側が生成したセッションフィクセーションのみを利用する制限を設けている。
(2022.10.23更新)