情報セキュリティスペシャリスト
情報技術者試験まとめへ

情報セキュリティにおける脅威(7)

セッションハイジャック

コンピュータネットワーク通信におけるセッション(特定利用者間で行われる一連の通信群)を、通信当事者以外が乗っ取る攻撃手法

概要


ほとんどのネットワーク通信には「双方向」(HTTPなど)や「連続」(ストリーミングによる動画配信など)といった要素があり、両者を兼ね備えたものも多数存在する(TCPやtelnetなど)。どこからどこまでが一連の通信であるかを明確化するため、通信の開始・実際のデータのやり取り・通信の終了といった手順で一連の通信を管理することが多く、このような一連の通信をセッションと呼ぶ。セッションを、通信当事者以外が乗っ取る攻撃手法をセッションハイジャックという。セッションの乗っ取りを防ぐ仕組みとして「セッションID(セッションキー)」を用いて管理することが多い。攻撃者が「セッションID」を得ることができ、その「セッションID」を用いてあたかも通信当事者であるかのように通信を偽装すること。セッションIDの奪取と偽装通信をすること。
(例)

以下のような脆弱性をついて行われる

種類と実行方法

TCPセッション

TCPではコネクション確立時に、シーケンス番号を交換し、コネクション確立後は発信者がデータを送る際にシーケンスを加算して通信を行うことで信頼性を高めている。この仕組みを利用して矛盾なくシーケンス番号を操作して成り済まし通信を行う行為をTCPセッションハイジャックという。送信元IPアドレスの詐称とTCPシーケンス番号予測攻撃を組み合わせることで、確立済みのTCPセッションに不正データを挿入することやセッションの強制切断を行うことが可能であり、セッションの乗っ取りが可能となる。
具体例


≪Pスプーフィング≫
偽のIPアドレスを送信元にセットしたパケットを送り込む攻撃手法。
不正侵入の手段として使われることが多く、その際、信頼されているコンピュータに成りすまして認証をパスするという手口が利用される。企業の情報システムでは、プライベートIPアドレスからアクセスすると利用できる機能などがあるが、IPスプーフィングによってプライベートアドレスを詐称することにより、外部から不正にこうした機能にアクセスできてしまう。DoS攻撃の際に送信元が割り出されないように別のコンピュータのIPアドレスを名乗るなどもある。
IPスプーフィング攻撃による、自ネットワークのホストへの侵入を防止するのに有効な対策は外部から入るパケットの発信元IPアドレスが自ネットワークのものであれば、そのパケットを阻止する

UDPセッション

UDPはコネクション確立手順がないため、クライアントからのリクエストに対して、正規サーバよりも先にレスポンスを返すことでセッションハイジャックを行う。
具体例

HTTP(Web)セッション

HTTPは、一つ一つセッション単位で完結するため、連続的なやり取りや状態を管理することはできない。そのためWebアプリケーション側で各セッションを管理するための識別情報(セッションID)を生成し、URLやクッキーにセットしてクライアントとやりとりを行う。侵入者は、URL、クッキー、hiddenフィールドにセットされたセッション管理情報を推測や盗聴するなどして取得し正規ユーザに成り済まし、Webサーバとのセッションハイジャックを行う。 以下のような脆弱性をついて行われる

hiddenフィールド

ブラウザの画面上には表示されないHTMLフォーム上の項目(隠しフィールド)。セッションIDや計算に用いられる定数の格納などに使用される

認証サーバ−クライアント セッション

認証をおこなっているサーバ(認証サーバ)になりすましてクライアントからのアクセス要求を受け付け、セッションハイジャックを成立させる手法。
認証プロセスにおいて、クライアント側でサーバの信頼性を確認する手段がない場合に発生する可能性がある。

偽装ARPセッション

ARPスプーフィング、ARPキャッシュポイズニング。
ARPプロトコルの応答を偽装することにより、LAN上で通信機器のなりすましを行なう手法。通信経路情報を不正に書き換えること。攻撃を受けると、目的のノードにアクセスしたつもりが、実は悪意ある何者かのノードへと誘導される可能性がある。
攻撃者は、ユーザを意図した先へ誘導することが可能となる。
ARPというプロトコル自体の欠点であるため、本質的な解決法は現時点では見出されていない。

セッション ID の固定化


  (Session Fixation/セッションフィクセーション)
  1. 攻撃者がシステムにアクセスし、セッションIDを取得する。ログインしていないがセッション ID は発行される
  2. 攻撃者は、正規ユーザがそのセッションIDを使ってログインするように仕向ける
  3. 正規ユーザがそのセッションIDでログインすると、そのセッションは「ログイン済み」となる
  4. 攻撃者の指定したセッションIDがログイン済みとなるので、攻撃者もアクセス制限された領域にアクセスできる
根本的対策

対策

予防・防止

TCP、UDPセッションハイジャック
HTTPセッションハイジャック
認証サーバセッションハイジャック
ARPスプーフィング
セッションフィクセーション

「HTTPセッションハイジャック」の対策+

検知・追跡

回復

 

ページトップへ 次へ