セッション ハイジャック(別名、セッション ハイジャッキング・Cookieポイズニング)は、サーバに送り返される有効なCookieを、攻撃者が改ざん、偽造、ハイジャック、または別の手法で「汚染」し、データの盗難、または、セキュリティの回避、あるいはその両方を行う攻撃手段です。
コンピューティングにおいて、CookieはWebサイトとユーザーのセッションに固有のデータです。ユーザーの興味やIDの情報を含み、ユーザーのブラウザで作成されて保存されます。Webサイトやサーバは、サイトのどのページが最もアクセス数が多いかなどの利用傾向を把握したり、ユーザーの過去の閲覧に合わせたコンテンツの優先順位付け、オンライン ショッピング カートの商品の追跡、個人情報の自動入力など、ユーザー エクスペリエンスをカスタマイズして合理化したりするために、Cookieを使用します。
攻撃者は、サーバに戻る前のCookieを傍受し、そこから情報を抽出したり、Cookieを変更したりする可能性があります。また、ユーザーになりすまし、他のユーザー データにアクセスする手段として偽造Cookieをゼロから作る可能性もあります。そのため、セッション ハイジャックやCookieポイズニングは、変更された(汚染された)Cookieだけでなく、有効なCookieからデータを盗むためのさまざまな手口や、その他のCookieの悪用を指す言葉として誤って使用されることがよくあります。
Cookieは、認証や、ユーザーがアカウントにログインしているかどうかの追跡によく使用されるため、Cookieには不正アクセスに利用できる情報が含まれていることになります。また、ユーザーが入力した財務情報など、その他の機密データが含まれていることもあります。セッション ハイジャックは攻撃者にとって比較的簡単で、攻撃者は汚染したCookieを使用して、不正行為のためにユーザーIDを盗んだり、さらに悪用するためにWebサーバへの不正アクセスを行ったりする可能性があります。
Cookie(またはその他のセッション トークン)の生成や送信が保護されていない場合、ハイジャックや汚染に対して脆弱です。Cookieを盗む一般的な手法としてクロスサイト スクリプティング(XSS)がありますが、パケット スニッフィングやブルートフォース攻撃など、多数の手口がCookieへの不正アクセスに使用される可能性があります。また、セッション ハイジャックはCookieが関わる数多くの悪意のある活動の総称であるため、セッション ハイジャックのエクスプロイトは、中間者攻撃、Cookieポイズニング、固定化攻撃、偽造などの言葉でより正確に表現されることもあります。
アプリケーションを入念に開発することで、Cookieに保存される機密データを制限したり、攻撃者が抽出しにくくしたりすることはできます。しかし、Cookieの目的がユーザーまたは行動、あるいはその両方を識別することである以上、アプリケーションはCookieを使い続けます。識別データの保護とセッション ハイジャックからの防御に役立つのが、適切なWebアプリケーション セキュリティとセッション管理であり、これらをWeb Application Firewall(WAF)で提供することができます。
F5 Advanced WAFは、フルプロキシのデータ検査、行動分析、機械学習を使用して、高度なセッション管理やSSL/TLS Cookie暗号化などのハイレベルなアプリケーション セキュリティを提供します。Webサーバとの間のあらゆるトラフィックを傍受することで、そのトラフィックを復号し、サーバから送信された情報と比較して、改ざんされたCookieがサーバまたはアプリケーションに到達するのを防ぐことができます。