「Cookie(クッキー)」と聞くと、不気味なトラッキングCookieや迷惑な広告を連想するかもしれませんが、必ずしも悪意のあるものではありません。Cookieは、私たちのオンライン体験をより良くしてくれる存在でもあります。しかし、もし悪意のある第三者があなたのCookieを盗んだ場合、セッションハイジャックと呼ばれる悲惨なサイバー攻撃を受ける可能性があります。
Laura Klusaite
Nov 20, 2021 · 1分で読む
目次
Cookieは危険かつ一般的なセッションハイジャック攻撃の重要な要素であり、Cookieを盗まれると最も重要なデータがハッカーにさらされる可能性があります。無断でお金が使われたり、パスワードが盗まれたりと、セッションハイジャックは、気づかないうちに多くの被害をもたらします。この記事では、セッションハイジャックの仕組みと、被害に遭わないためにできる対策を紹介します。
セッションハイジャックとは、ハッカーが何らかの方法でターゲットのセッションIDやCookieを入手し、ターゲットになりすまして通信を行うというサイバー攻撃のことを指します。セッションハイジャックは、セッションIDの発行や管理に不備がある場合に起こることが多いです。
セッションハイジャックをより深く理解するには、セッションとセッションIDについて知る必要があります。ここからは、セッションとセッションIDについて詳しく説明していきます。
セッションとは、通信の開始から終了までの一連のやり取りのことで、ウェブサイトのアクセス解析の指標としても使われています。
たとえば、ひとつのウェブサイト内で離脱せずに複数のページを閲覧したとします。この場合、通信の開始から終了までの一連のやり取りなので、1セッションとして考えられます。
セッションの仕組みを簡潔に説明すると、セッション情報をサーバーに蓄積し、複数のページで共有できるというものです。セッションの仕組みを活用している例として、ショッピングサイトで使われているカート機能がわかりやすいでしょう。カートに入れた商品の情報は、複数の商品ページを閲覧している間も保持されています。セッションにデータを登録しておくと、ユーザーが別の画面に移動しても同じデータを取得して利用することができるのです。
セクションIDとは、ウェブサイトなどにアクセスするユーザーのセッションを識別するために、WebサーバーやWebアプリケーションが割り当てるIDのことです。このIDは、基本的にログイン時に付与され、ログアウトするまで維持されます。
セッションもCookieも、情報を保存するために使われるという点では同じです。セッションとCookieの主な違いは、それぞれの保存場所です。Cookieはブラウザにのみ保存されるのに対し、セッションはブラウザだけでなく、サーバーにも情報が保存されます。
また、それぞれの保存期間も異なっていて、Cookieは永続的に情報が保存され続けるのに対し、セッションはユーザーがブラウザを閉じたりサイトを離れたりすると情報が消えるという特徴があります。さらに、セッションは無効化できませんが、クッキーは無効化可能というのも大きなポイントです。
セッションハイジャックの種類は、ハッカーが何を望んでいるかによって、以下の2つに分けられます。
能動的な攻撃:能動的な攻撃では、ハッカーがセッションを乗っ取り、あなたのデバイスがサーバーと通信するのを阻止して、最終的にあなたを追い出します。ハッカーはあなたになりすまして、あなたにしかできない行動をとるのです。セッションが行われているウェブサイトに応じて、ハッカーはあなたになりすまして、オンラインショッピングや、パスワードの変更、アカウントの復元などを行います。
受動的な攻撃:受動的な攻撃では、あなたがセッションから追い出されることはありません。代わりに、ハッカーはあなたのデバイスとサーバー間のデータトラフィックを観察し、機密情報を収集します。このようにして、あなたに気付かれることなく、パスワードやクレジットカードの詳細などの情報を抜き取るのです。
セッションハイジャック攻撃を行う方法は、かなり多くあります。ほとんどのセッションハイジャックの手口は、Webサーバーの脆弱性を利用していますが、ユーザー側のセキュリティ意識の低さを悪用するものもあります。
セッションハイジャック攻撃を受けると、以下のような被害が想定されます。
セッションハイジャックが成功するかどうかは、利用しているウェブサイトやアプリケーションのセキュリティにかかっています。しかし、自分自身でできる以下のような対策もあります。