セキュリティ入門Web講座

この記事を読むために必要な時間は約3分(1127文字)です。

セッションの保管場所とは

前回は、「セッションハイジャック」のお話をしました。
今回は、セッションハイジャック攻撃対策に重要な「保管場所」のお話です。

セッションの保管場所

セッションの保管場所は、大きく分けるとつぎの2種類です。
  1. 通信フォーマットの中
  2. 通信データの中

通信フォーマットの中

セクションハイジャックに関連する「通信フォーマット」の代表例は、次の2つです。
  1. TCP
  2. HTTP

TCP

TCPの通信フォーマットには、セッションを記録する場所が規定されています。
詳細については、本講座の趣旨から外れるので、省略いたします。

HTTP

HTTPの場合、次の3か所あります。
  1. Cookie(クッキー)
  2. URL
  3. オリジナルヘッダ
Cookie(クッキー)
今回のお話のもとになった「pass-the-Cookie攻撃」のCookieです。
元は、通信相手とのデータの送受を行うための情報です。
ユーザーの見えないところで情報の送受信を手軽に行えるため、Cookieにセッションの情報を入れて通信する方法が広まりました。

URL
フォームのデータ送信(GET方式)で利用されるURLのクエリー(Query)にセッション情報を入れて通信する方法です。
HTMLのFormタグ内で、非表示にできるHidden属性を利用して、ユーザーの見えないところで情報の送受信を行えるため、使われることが多くあります。

オリジナルヘッダ
実は、HTTPには、オリジナルのヘッダを挿入することができます。
現実問題として、規定にないヘッダなので、HTTPとしては処理されないです。
しかし、送受信は行うことができ、内容も確認できます。
このため、オリジナルのヘッダを作って、その中にセッション情報を含めることができます。

通信データの中

セクションハイジャックに関連する「通信データ」の代表例は、次の2つです。
  1. UDP
  2. 通信を利用するソフトウェア

UDP

TCPと異なり、UDPには、セッションを記録する場所が規定されていません。
このため、UDPのデータ部分に利用者がセッション情報を入れる必要があります。
入れ方は利用者が決められますので、様々です。

通信を利用するソフトウェア

通信を利用するソフトウェアの代表例はブラウザです。
先ほど、URLのところでは、フォームのデータ送信(GET方式)で利用されていました。
が、こちらの場合は、同じフォームのデータ送信でも、POST方式です。
HTTPのデータ部分に入れられます。
入れ方は利用者が決められますので、様々です。

次回は、「セッションハイジャックの対策」です。

タグ:


広告枠・・・広告やリンク先の保証はしません

参考記事(一部広告含む)


このページの記事についてちょっと質問!