セッションハイジャック 【session hijacking】
概要
セッションハイジャック(session hijacking)とは、ネットワーク上で一対の機器間で交わされる一連の通信(セッション)を途中で乗っ取り、片方になりすましてもう一方から不正にデータを詐取したり操作を行なう攻撃。コンピュータや通信機器の間の通信は多くの場合、人が電話をかけるときのように、通信開始の手続き、データのやり取り、通信終了の手続き、が一定の手順に則って一連の流れとして行われ、これをセッションという。
セッションハイジャックはこの一連のやり取りに不正に介入する攻撃で、偽造したデータを送りつけるなどの手法によりセッションを結んでいる片方になりすまし、もう一方と通信を行なう。これにより、本来の相手にしか開示されない秘密の情報を詐取したり、パスワードの変更などの重要な操作を不正に実行することができるようになる。
Web上のセッションハイジャック
単にセッションハイジャックという場合はWebアプリケーションにおけるWebサーバとクライアント(Webブラウザなど)の通信に介入してセッションを乗っ取る攻撃を指すことが多い。
Webのデータ転送に用いられるHTTP自体にはセッション管理のための仕様が存在しないため、アプリケーション側にセッション確立のための仕組みが組み込まれている。その設計に不備があるとセッションハイジャックを可能とする脆弱性が生じる。
よく用いられる手法として、セッションIDに規則性がある場合にこれを推定して割り出す手法や、IDが記録・伝送される途上で盗み見る手法、攻撃者の用意したIDに不正にすり替える手法(セッションフィクセーション攻撃)などがある。
(2019.8.29更新)