セッションハイジャックとは?ログイン済みの状態を盗まれる仕組み

本人確認後の通行札がコピーされ、別の端末で使われることを表す図

30秒でわかる答え

セッションハイジャックとは?

セッションハイジャックは、ログイン後の利用者を示す情報などを悪用して、本人になりすまし操作する攻撃です。パスワードを知られなくても、ログイン済みの状態が不正に利用される場合があります。

セッションハイジャックは、ログイン後の利用者を示す情報などを悪用して、本人になりすまし操作する攻撃です。パスワードを知られなくても、ログイン済みの状態が不正に利用される場合があります。

「二段階認証も設定したのに、なぜ?」と感じるかもしれません。鍵になるのは、最初に本人か確かめる仕組みと、その後の利用を続ける仕組みが分かれていることです。

この記事では、Webサービスでのセッションハイジャックを扱います。すでに身に覚えのない操作がある場合は、原因を自分で特定してからではなく、サービスの公式の保護手順を確認してください。

セッションハイジャックはログイン後の情報を悪用する

買い物サイトでログインした後、商品ページへ移っても、毎回パスワードを求められるわけではありません。サービスが、一連の操作を同じ利用者のものとして扱っているからです。このようなやり取りのまとまりを「セッション」と呼びます。

その利用者を区別する目印が、セッションIDなどの情報です。ブラウザへ保存する小さなデータであるCookieに、その情報を持たせる方式があります。基本の働きは、セッションとは何かで説明しています。

受付で本人確認を済ませた後、会場を行き来するための通行札を受け取る場面を考えると分かりやすいでしょう。毎回身分証を出す代わりに、札を見せて通ります。その札を他人が使えれば、入口での確認を済ませた人として扱われる可能性があります。

実際には札ではなくデータであり、期限、端末の状態、追加の本人確認なども関係します。コピーを入手すれば、どのサービスでも何でもできるという意味ではありません。

IPAのセッション管理の解説は、識別情報の不正取得や管理の不備によって、本人になりすました閲覧や設定変更などが起こり得ると説明しています。

入口で確かめることと、入った後に確かめること
1ログイン時

パスワードや追加の方法で、利用者本人か確かめる

2利用を続ける間

セッションIDなどを目印に、同じ利用者の操作として扱う

3不正利用が疑われたら

公式手順でログイン状態を無効にし、端末の問題も確認する

Webサービスの一例です。期限や再確認、ログアウトの範囲はサービスにより異なります。

セッションCookieを盗まれる経路は一つではない

Cookieは、表示の設定や買い物かごなどにも使われます。すべてのCookieが、ログイン済みであることを示すわけではありません。ここで注意したいのは、その情報を持つCookieです。Cookieの基本と分けて考えると整理できます。

情報を奪う経路には、端末へ入り込んだ不正なソフト、偽の案内を使う攻撃、Webサービス側の不備などがあります。通信の保護が不十分な場合に盗み見られる危険もあり、対策の担当は利用者だけではありません。

守る場所利用者や運営側ができることの例
端末不明なソフトや指示を実行せず、OS・ブラウザを更新する
利用する相手公式アプリや保存済みの正規の入口を使い、偽の案内へ情報を渡さない
通信サービス側がHTTPSなどで通信を保護する
ログイン後の管理サービス側が期限・無効化・不審な利用の検知を整える

HTTPSは通信途中の盗み見を防ぐために重要ですが、端末内で情報を盗むソフトまで消してくれるわけではありません。一つの対策で、別の場所の問題も解消すると考えないことが大切です。

Cookieを消せば、盗まれたコピーも消える?

自分のブラウザから消す操作は、そのブラウザに残るデータへ働きます。すでに外へ持ち出されたコピーまで回収する操作ではありません。

サービス側で、そのログイン状態を使えなくする対応が必要になる場合があります。「すべての端末からログアウト」などの機能があるか、公式の案内で確認します。機能名や対象範囲はサービスによって異なります。

二段階認証とセッション管理は守る段階が違う

二段階認証などの追加の確認は、パスワードだけで入られる危険を減らします。一方、すでに認証を済ませた状態を示す情報が盗まれた場合、攻撃者が最初の確認を同じ形で受けずに利用できることがあります。

OWASPのCookie盗難対策も、ログインの強化に加え、盗まれたセッションの検知や無効化が必要だと説明しています。

だからといって、二段階認証を外す理由にはなりません。入口での本人確認を強くすることと、入った後の状態を守ることは、両方必要です。 二要素認証の仕組みを知っておくと、それぞれの役割を区別できます。

対応主に変えられることそれだけでは分からないこと
パスワードの変更古いパスワードを使ったログイン既存のログイン状態も全部無効になるか
二段階認証の設定ログイン時などの本人確認盗まれたセッションがすべて使えなくなるか
セッションの無効化対象のログイン状態の利用端末に不正なソフトが残っていないか

サービスによって、パスワード変更と同時にログアウトする範囲は異なります。設定を一つ変えたら完了と思わず、被害時の公式手順を一通り確認します。

セッションハイジャックが疑われるときに確認するログイン履歴

身に覚えのない端末、設定変更、送信や購入の記録があれば、不正利用を疑う手がかりになります。ただし、表示される地域が違うという一点だけで、攻撃と断定はできません。通信環境や移動によって表示が変わることもあります。

反対に、端末一覧に違和感がないだけで、不正利用を完全に否定できるわけでもありません。履歴は確認材料であり、感染や攻撃手法を自動で確定する診断ではありません。

Googleの不正使用されたアカウントの保護案内では、最近の操作と端末を確認し、心当たりのないものに対処する流れが示されています。利用中のサービスにも、同様の公式案内があるか探します。

  1. 普段使う公式アプリや公式サイトから、セキュリティ設定を開く。
  2. 心当たりのない操作や端末があれば、公式の保護手順へ進む。時刻や変更内容も残す。
  3. 案内に従い、不審なログイン状態の終了、パスワードや復旧先の確認を行う。
  4. 不正なソフトを実行した疑いもあれば、端末の調査・対処を別に行う。会社や学校の端末は管理担当へ連絡する。

端末の感染が疑われるときは、その端末で秘密情報を入力し続けず、感染の疑いがない別の端末などから保護手順を確認してください。ログインできなければ、公式の復旧窓口を使います。

今すぐ被害の兆候がない人は、重要なアカウントを一つ選び、ログイン中の端末を確認する場所を見ておくだけでも構いません。本人確認の設定に加え、「使っている状態をどこで確かめ、止められるか」が分かると、不審な操作に気付いたときの行動が具体的になります。

内容の最終確認日: