せっしょんはいやっく
セッションハイジャック
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アプリケーション攻撃としてのメカニズムが問われる。