セッション・ハイジャック の変更点


#author("2022-09-10T15:09:30+09:00","default:k1rou","k1rou")
#author("2023-02-25T23:39:53+09:00","default:k1rou","k1rou")
*セッション・ハイジャック とは [#i94fe843]
-プロトコルやアプリケーションの[[脆弱性]]を悪用して、他者の[[セッション]]を奪い取り、そのセッション上で不正な行為を行う攻撃。
-セッションIDの推測、盗聴などによりセッションを奪う。
-セッションを奪い取られると、[[なりすまし]]による被害が発生する。

*セッション・ハイジャックの種類 [#l3f1de09]
**[[TCP]] [#v10f2526]
-TCPコネクションのシーケンス番号を特定して、偽装したパケットを発信してなりすます。
--ソースIPアドレスを偽装する([[IPスプーフィング]])
--正規のクライアントがACKを応答するより前に、偽装したACKをサーバに発信してなりすます

**[[UDP]] [#o806659b]
-クライアントからサーバへの問合せに対して、正規のサーバが応答する前に応答してなりすます。
--ソースIPアドレスを偽装する([[IPスプーフィング]])
-[[DNSキャッシュポイズニング]]

**Webサーバ [#s1c31c19]
-セッション管理の脆弱性を突いて攻撃する
--セッションIDを推測または盗聴して、偽装したパケットを発信してなりすます
-[[XSS]]

**認証サーバ [#a0f17a6c]
-認証のプロセスに、サーバの信頼性を確認する手段がない場合に、認証サーバになりすましてパケットを盗聴する。

**[[ARP]] [#i301fd38]
-ARPスプーフィング(ARPポイズニング)
--ARPの問い合わせに対して、正規のノードが応答する前に、攻撃者が偽のMACアドレスのARP応答を発信して、ARPキャッシュにIPアドレスに対して偽のMACアドレスの不正な登録をさせる攻撃手法([[なりすまし]])
--TCPコネクションのシーケンス番号も偽装する必要がある。

**セッションフィクセーション [#rbb591b1]
-「[[セッションフィクセーション]]」参照

*対策 [#rd6e719c]
-セッションIDを推測されずらくする。
--推測が困難なセッションID([[乱数]],[[ハッシュ]])を生成する

-セッションIDを固定化しない。
--ログインに成功したタイミングで、新たにセッションIDを生成して、ログイン画面表示時に生成したセッションIDを破棄する。

-セッションIDを盗聴されないようにする
--通信を[[暗号化]]する
---[[Cookie]]のsecure属性を指定する。
--セッションIDをURLのパラメータではなく、[[Cookie]]やPOSTメソッドの[[hidden]]パラメータで受け渡す
--[[XSS]]の脆弱性を無くす

*関連用語 [#cf1ee432]
-[[セキュリティ]]
-[[セッション]]
-[[中間者攻撃]]
-[[不正アクセス]]
-[[リファラ]]
-[[Cookie]]
-[[IPスプーフィング]]
-[[WiFi]]
-[[WAF]]