#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]]