本文へ移動

せっしょんはいやっく

セッションハイジャック

Session Hijack = —

Webサイトでログイン中のIDを盗み出し、本人になりすまして不正操作を行う攻撃です。通信の盗聴や脆弱性を突かれることで発生するため、暗号化通信や適切なID管理が対策となります。

詳しい説明

1. 定義

セッションハイジャックとは、Webサイトなどで、正当なユーザーがログインして確立したセッションを、攻撃者が乗っ取る攻撃手法です。攻撃者は、ユーザーになりすましてWebサイトを操作し、個人情報の閲覧や不正な取引を行うことができます。

これは「なりすまし」の代表的な手口です。一度認証をパスしてしまえば、あとはWebサイト側は「ログインしているユーザー」として攻撃者を扱ってしまうため、非常に危険です。

2. 仕組みと種類

攻撃者は、ユーザーの「セッションID」を盗み出します。セッションIDとは、ログイン中であることを識別するためのIDで、WebサイトからCookieなどを通じて発行されます。攻撃者は、盗んだIDを使って自分をそのユーザーだと誤認させます。

盗まれる原因には、通信の盗聴(暗号化されていない通信)、XSS(クロスサイトスクリプティング)攻撃でのID漏洩、推測可能なセッションIDの利用などがあります。これらを悪用して、正当なユーザーから「セッション」を「ハイジャック(乗っ取り)」します。

3. 試験ごとの視点

ITパスポート試験では、Webアプリケーション攻撃の代表例として問われます。対策として「通信の暗号化(HTTPS)」や「怪しいリンクを開かない」といった基本的な対策が重要です。

基本情報技術者試験では、より技術的な脆弱性の仕組み(Cookieの属性指定など)が問われます。特に、「HttpOnly」や「Secure」属性といったCookieのセキュリティ設定の重要性が頻出です。セッション管理の仕組みと、攻撃・対策のメカニズムを深く理解する必要があります。

4. 紛らわしい語との違い

「フィッシング詐欺」は、偽サイトへ誘導して情報を盗む手法です。セッションハイジャックは、ログイン後の「状態」を盗む攻撃です。フィッシングで盗んだID/PWを使ってログインし、その後セッションハイジャックを行うこともあります。

「なりすまし」は、犯人が他人のふりをすること全般です。セッションハイジャックは、なりすましを行うための具体的な技術的手段の一つです。

5. 身近な例

例えば、カフェのフリーWi-Fiで暗号化されていないWebサイトにログインすると、通信内容を盗聴され、セッションIDが奪われることがあります。その奪ったIDを使って、攻撃者があなたになりすましてサイトを操作する例です。

また、XSS脆弱性がある掲示板で、悪意あるスクリプトを踏むと、セッションIDが自動的に攻撃者のサーバへ送信されるような罠もよくあります。これらにより、本人は何もしていなくても、裏でアカウントが乗っ取られてしまいます。

試験で問われること

ITパスポート試験

  • ログイン後のセッションを乗っ取ってなりすます攻撃手法。
  • セッションIDが盗まれることで発生する。
  • 通信の暗号化やセッション管理の徹底が対策となる。

基本情報技術者試験

  • セッションIDの盗聴経路が重要である。
  • Cookieの属性指定(HttpOnly, Secure)が具体的な対策である。
  • Webアプリケーション攻撃としてのメカニズムが問われる。