SPONSORED

セッション固定攻撃(せっしょんこていこうげき)

最終更新:2026/4/25

セッション固定攻撃とは、攻撃者が被害者のセッションIDを特定し、それを悪用して被害者になりすます攻撃手法である。

別名・同義語 セッションハイジャック(一部類似)ID固定攻撃

ポイント

セッションIDの予測可能性や管理の不備が原因で発生する。Cookieの盗難とは異なり、ID自体を直接盗むのではなく、IDの再利用を狙う。

セッション固定攻撃の概要

セッション固定攻撃は、Webアプリケーションにおける認証の脆弱性を利用した攻撃手法の一つです。Webアプリケーションでは、ユーザーがログインすると、サーバー側で一意のセッションIDが発行され、Cookieなどを介してクライアント側に保持されます。このセッションIDは、サーバーがユーザーを識別するために使用され、認証状態を維持する役割を果たします。

セッション固定攻撃では、攻撃者が被害者のセッションIDを特定し、そのIDを悪用して被害者になりすまします。具体的には、攻撃者は被害者がログインする前に、自身の管理するWebページにセッションIDを埋め込み、被害者にそのページを訪問させます。その後、被害者が正規のWebアプリケーションにログインすると、埋め込まれたセッションIDが使用され、攻撃者はそのIDを使って被害者のアカウントにアクセスできるようになります。

セッション固定攻撃のメカニズム

セッション固定攻撃が成功するためには、以下の条件が満たされる必要があります。

  1. セッションIDの予測可能性: セッションIDが予測可能な場合、攻撃者は被害者のセッションIDを推測することができます。
  2. セッションIDの固定: 攻撃者が被害者のセッションIDを固定できる必要があります。これは、Cookieの盗難とは異なり、ID自体を盗むのではなく、IDの再利用を狙う点が特徴です。
  3. セッション管理の不備: Webアプリケーションのセッション管理に不備がある場合、攻撃者はセッションIDを悪用しやすくなります。

セッション固定攻撃への対

セッション固定攻撃を防ぐためには、以下の対策を講じることが重要です。

  • セッションIDの生成: セッションIDは、十分にランダムで予測不可能なものを生成する必要があります。
  • セッションIDの更新: ログイン時や重要な操作の際に、セッションIDを更新することで、攻撃者がセッションIDを悪用するリスクを低減できます。
  • セッションタイムアウトの設定: セッションタイムアウトを設定することで、一定時間操作がない場合、セッションIDを無効化し、攻撃者がセッションIDを悪用する時間を制限できます。
  • CookieのSecure属性: CookieのSecure属性を設定することで、HTTPS接続でのみCookieが送信されるようにし、通信経路での盗聴を防ぐことができます。
  • HTTPOnly属性: CookieのHTTPOnly属性を設定することで、JavaScriptからのCookieへのアクセスを禁止し、クロスサイトスクリプティング(XSS)攻撃によるCookieの盗難を防ぐことができます。

SPONSORED