【セキュリティ】セッション操作関連

【1】セッションハイジャック(Session Hijack)

セッションハイジャック(Session Hijack)とは...

 * セッションIDやセッション・クッキーを盗むことにより、
   別のユーザーがなりすまして、インターネットに不正アクセスする手口。

【例】
 * 以下に書かれているように、他のユーザのセッションIDを使って、
   そのユーザになりすまし、システムにアクセスする
http://www.atmarkit.co.jp/fsecurity/rensai/webhole03/webhole01.html

対策

 * 類推が難しいセッションIDやクッキーを生成する
 * セッションIDやクッキーの有効期間を短くする
 * HTTPS通信で利用するCookieには、secure属性やHttpOnly属性を加える(以下の関連記事を参照のこと)
http://blogs.yahoo.co.jp/dk521123/28437833.html
 * IPSecSSLを利用する
 * URLリライティング(URLパラメータとしてセッションIDを引き渡す機能)を禁止する
 * セッションキーをデフォルトから変更する(効果は薄いかもしれないが)

 [プログラム言語に対してのセッションキー]
   + Java => JSESSIONID
   + PHP => PHPSESSID
   + ASP.NET => ASP.NET_SessionId

補足:IPSec/SSLについて

 * 以下の関連記事を参照のこと。
IPSec
http://blogs.yahoo.co.jp/dk521123/34641688.html
SSL
* SSL通信について ~用語・拡張子編~
http://blogs.yahoo.co.jp/dk521123/33100623.html
* SSL通信について ~知識編~
http://blogs.yahoo.co.jp/dk521123/34090545.html

参考文献

http://securityblog.jp/words/87.html
http://www.atmarkit.co.jp/fsecurity/rensai/webhole03/webhole01.html
* セッションハイジャックの対策について
http://thinkit.co.jp/free/trend/24/3/1.html
https://thinkit.co.jp/free/tech/7/4/1.html

【2】 セッションフィクセーション(Session Fixation)

セッションフィクセーション(Session Fixation)とは...

 * 第三者(攻撃者)が予め用意しておいたセッションIDをユーザー(攻撃対象者)に使わせて、
   後からユーザーになりすます攻撃のこと

参考文献

http://itpro.nikkeibp.co.jp/article/COLUMN/20080221/294389/

関連記事

セキュリティ攻撃一覧

http://blogs.yahoo.co.jp/dk521123/25278676.html

ASP.NET】セッション(Session)

http://blogs.yahoo.co.jp/dk521123/28490495.html