セッションハイジャック(1)

クライアントとサーバ間のセッションに割り込んで、セッションを奪う攻撃。

種類・対策

TCPセッションハイジャック

- TCPはコネクション確立を行う時に、シーケンス番号を交換する。

- コネクション確立後も発信者が送信するデータをオクテット単位で数えて、シーケンス番号に加算して送る。

これによって、受信者は正しくデータが送受信できていることを確認し、信頼性を高めている。

が、シーケンス番号を矛盾なく操作できればセッションを奪う事ができる。

攻撃者は、初期シーケンス番号を推測するか(※)、パケットを盗聴してシーケンス番号を特定する。

※最新のOSのTCPの実装では、初期シーケンス番号に乱数を使用しているが、

 古いOSでは一定の規則性があった。

Man-in-the-Middle-Attack [中間者攻撃]

奪われた被攻撃者は、セッションを奪われるとコネクションを保てない。

が、攻撃者がなりすましてセッションをコントロールしコネクションを保っているように見せかけ、盗聴を続ける。

UDPセッションハイジャック

TCPと違い、コネクションの確立がないので単純。

クライアントがサーバに対してUDPで通信したとき、サーバよりも先に応答するだけ。

DNSキャッシュポイズニングに使用される手法。

・予防・防止(TCP、中間者攻撃、UDP

- 最新のOS、ソフトウェアを使用する。パッチを当てる

- SSL/TLSIPSecSSHなどのパケットの偽装が困難な暗号化プロトコルを使用する。

- 脆弱性検査をする。