セッション固定攻撃

読み:セッション・こていこうげき
外語:Session Fixation
品詞:名詞

セッションハイジャック攻撃の一つ。

通常、セッションハイジャック攻撃は攻撃者が正規ユーザに発行されたセッションIDを入手することで成立するものである。

しかし、セッション固定攻撃は違い、正規ユーザが利用するセッションIDを、攻撃者が指定する。こうしてシステムは、そのセッションIDを正規のものとしてログインを許可し、以降はそのセッションIDを使う。こうして攻撃者の攻撃は成立する。

なんだこれは?

さて、通常、こんな攻撃はありえない。と、信じたい。ところが実際に発生した。

通常のWebアプリケーションならば、セッションIDはログインしてから発行されるからであり、そのセッションIDはWebサーバが独自の判断で作るもので、ユーザ側はセッションIDを作ることなど有り得ないからである。

しかし世の中には、ログインする前からセッションIDを発行するものがあり、システムは、正しいユーザID・正しいパスワード、正しいセッションIDが送られて来た時に、そのセッションをログインさせ、以降はそのセッションIDを使う、という実装がある。これが、セッション固定攻撃の対象となった。

セッション固定攻撃

この攻撃は、次の手順によって成立する。

  1. 攻撃者はシステムにアクセスし、セッションIDを得る。ログインしなくてもセッションIDは取得できるからである。
  2. 攻撃者は、そのセッションIDで、正規ユーザにログインするよう仕向ける
  3. 正規ユーザがログインする。以降はセッションIDで認証される。

非現実的な攻撃方法ではあるが、理論上、攻撃者はユーザIDとパスワードを知らなくてもセッションIDが得られるため、ログイン済みのシステムに対し、ログインが必要な領域に対して攻撃を加えることが可能となる。