SofTek Security TOPIC

セッション管理の脆弱性 (1/3)

「選べる診断コース」
 

セッション管理の脆弱性とは、ログインのある認証ページでは必ず必要となる「セッション管理」に関連する脆弱性を総称したものです。 以下では、「セッション管理の脆弱性」がどのようなものなのか、またどのような被害を受けるのかを順を追って説明していきます。

   ● セッション管理について
   ● セッションの管理方法
   ● セッション管理の脆弱性とは


■ セッション管理について

 「セッション管理の脆弱性」を理解するためには、まず「セッション管理」について知っていなければなりません。ここでは、セッション管理について簡単に説明します。

 Web ページにおけるセッション管理とは、Web サーバに対する多数のアクセスから特定のユーザのアクセスを区別して処理するためのシステムの一つです。
具体的には、以下の図のようになります。

 ② により Web ブラウザにユーザを識別する情報が送られるため、③ 以降では Web ブラウザからのアクセスにユーザを識別する情報が含まれ、Web サーバ側でアクセスしているユーザを識別することが出来るようになります。 この一連のユーザ識別のシステムをセッション管理といいます。

 Web ページにおいてセッション管理が必要になるのは、Web ページにアクセスするために利用されるプロトコル HTTP (Hyper Text Transfer Protocol) にはアクセスしてくるクライアント(Web ブラウザ等)を識別する機能が無いことが原因です。
 HTTP は、基本的にクライアントからの一つ要求に対応する応答を返したらすぐに切断してしまいます(実際には Keep Alive 機能により連続的に要求を送ることも可能な場合があります)。以下の図は、実際に Web ブラウザで Web サーバにアクセスした際のアクセス内容の一部です。

Web ブラウザから Web サーバへの要求
    (http://www.example.com/index.html にアクセス)

GET /index.html HTTP/1.0 
Host: www.example.com

①に対する Web サーバ から Web ブラウザへの応答

HTTP/1.1 200 OK 
Date: Mon, 04 Jul 2005 08:49:41 GMT 
Server: Apache 
Content-Length: 110 
Content-Type: text/html; charset=UTF-8 
Connection: close 

<html> 
  <head> 
    <title>Top Page</title> 
  </head> 
  <body> 
    Top Page 
  </body> 
</html> 

 複数の Web ページが遷移する場合(例えば、入力フォームに情報を入力して登録ボタンを押すと、次のページで内容確認のページが表示され、再度登録ボタンを押すと「登録しました」というメッセージが表示されるような Web ページ)、アクセスしてきたクライアントが前にアクセスしてきたクライアントかどうかを確認出来なければ、正常に動作させることが出来ません。 また、ユーザを識別しなければ、ユーザ認証を必要とする Web ページを構築することが出来なくなります。

 セッション管理を行うことで、上記のようなシステムに対応することが可能になります。 なお、セッション管理に使用される識別情報として ID を使用する場合、 セッション ID のように呼ばれることがあります。

 
選べる診断サービス
診断、4つの安心

お見積、購入方法

ご相談・資料請求

ソフテックの
診断アフターケア

サイトケンサー
ソフトウェア開発力
SID警告センター