セッション ハイジャックとは何か、および防止方法
公開: 2022-12-20ハッカーは、登録情報を盗むことなく、銀行振込やオンライン購入を代行できることをご存知ですか?
Cookie は追跡や迷惑なオンライン広告に関連付けられますが、検索クエリも保存されるため、ユーザー名とパスワードを入力せずに Web サイトにアクセスできます。

ただし、誰かが Cookie を傍受すると、セッション ハイジャックと呼ばれる壊滅的なサイバー攻撃につながる可能性があります。これにより、機密データが攻撃者の手に渡って危険にさらされる可能性があり、何が起こったかを知る前に多くの損害を与える可能性があります。
その正体と予防方法をご紹介!
セッションハイジャックとは?
セッション ハイジャックでは、攻撃者は、Web サーバー、Telnet セッション、またはその他の TCP ベースの接続など、ユーザーとホストの間で確立されたセッションを傍受して乗っ取ります。 ソーシャル ネットワーキング Web サイトなどの Web サイトまたはアプリケーションにログインすると、セッションが開始されます。

アカウント内にいる間、プロフィールを確認している間、またはスレッドに参加している間は継続し、システムからログアウトすると終了します。 しかし、Web サーバーは、ユーザーが行うすべての要求が実際にユーザーからのものであることをどのように認識しているのでしょうか?
ここで Cookie の出番です。ログイン後、資格情報を Web サーバーに送信します。 それはあなたが誰であるかを確認し、セッション中にあなたに添付される Cookie を使用してセッション ID を提供します。 そのため、誰かのプロフィールにアクセスするたびにアプリケーションからログアウトすることはありません。また、オンライン ストアは、ページを更新してもショッピング カートに何を入れたかを記憶しています。
ただし、攻撃者が特別なセッション管理技術を使用したり、Cookie を盗んだりすると、セッションを乗っ取ることができます。 したがって、Web サーバーをだまして、要求が許可されたユーザーからのものであると信じ込ませることができます。
セッション ハイジャックの現象は 2000 年代初頭に有名になりましたが、依然としてハッカーが使用する最も一般的な方法の 1 つです。
最近の例は、今年 FBI の最重要指名手配リストの一部となった Lapsus$ Group です。 InfoStealer Malware 感染を使用して、セッションをハイジャックします。
同様に、GenesisStore は、侵害された Cookie データを販売する同名のグループによって運営されている招待制のストアであり、そのリストには 400,000 以上のボットが含まれています。
セッション キャプチャの種類
セッション ハイジャックは、加害者の目的に応じて、2 つの主要なカテゴリに分けることができます。
アクティブ: アクティブな攻撃では、攻撃者がセッションを乗っ取り、リソースへの正当なクライアントの接続を取得します。 セッションのサイトによっては、ハッカーがオンラインで購入したり、パスワードを変更したり、アカウントを復元したりできます。 アクティブな攻撃の一般的な例は、ブルート フォース攻撃、XSS、さらには DDoS です。

パッシブ: パッシブ攻撃では、攻撃者はセッションを引き継いだり変更したりしません。 代わりに、デバイスとサーバー間のデータ トラフィックを静かに監視し、すべての機密情報を収集します。 通常、IP スプーフィングとマルウェア インジェクションは、パッシブ インジェクション攻撃を実行するために使用されます。

セッションハイジャックはどのように機能しますか?
HTTP はステートレス プロトコルです。つまり、サーバーにはクライアントの操作のメモリがありません。 新しい HTTP 要求はそれぞれ、新しい作業単位と一致します。つまり、サーバーは、クライアントの以前の要求を記憶することなく、クライアントにページを提供します。
しかし、Web をブラウジングすると、アプリケーションは理想的にはクライアントが誰であるかを (あまりにもよく!) 知っていることに気付きます。 このサーバーの「メモリ」のおかげで、「ウェブサイト、オンライン バンク、ウェブメール サービスなどの最新の予約領域を作成できます。
これを行うために、HTTP のようなステートレス プロトコルをステートフルにする付属物が生まれました: Cookie です。
ステートフル セッション
ログインすると、ステートフル セッションを使用する Web アプリケーションはセッション Cookie をドロップします。 これは、クライアントを追跡するためにこの Cookie に依存していることを意味します。 Cookie の内部には、クライアントの認識を可能にする一意のコードが保存されます。たとえば、次のようになります。
SESSIONID=ACF3D35F216AAEFC
上記の一意のセッション ID またはコードを持つすべての人が、サーバーの認証済みクライアントになります。 下の図に示すように、攻撃者がこの識別子を取得できた場合、正当なセッションを傍受するか、セッションを完全に乗っ取ることによって、被害者に対して最初に検証されたセッションを悪用する可能性があります。 この識別子は通常、URL、フォームの非表示フィールド、または Cookie に埋め込まれています。
ステートレス セッション
Web の進化に伴い、セッション Cookie を使用せずにサーバーの「メモリ」を管理するソリューションが登場しました。 フロントエンドとバックエンドが十分に分離され、API を介してのみ通信する Web アプリケーションでは、フロントエンドがバックエンドによって提供される API を使用できるようにする署名付きトークンである JWT (JSON Web トークン) が最適なソリューションになる可能性があります。

通常、JWT はブラウザの sessionStorage に保存されます。これは、タブが閉じられるまでクライアントがアクティブにしておくメモリ領域です。 その結果、新しいタブを開くと、新しいセッションが作成されます (Cookie の場合とは異なります)。
クライアントの識別トークンを盗むと、ユーザーのセッションを盗み、セッション ハイジャック攻撃を実行できます。 しかし、そのトークンを盗む方法は?
現在、ハッカーが最もよく使用する方法は次のとおりです。
#1。 セッションサイドジャッキング
この方法では、安全でないネットワークを使用してセッション ID を見つけます。 攻撃者はスニッフィング (特別なソフトウェア) を使用し、通常、セキュリティが低いことで知られている SSL 証明書のないパブリック Wi-Fi または Web サイトをターゲットにします。
#2。 セッション固定
被害者は、攻撃者が作成したセッション ID を使用します。 これは、セッション ID を「修正」する (悪意のあるリンクを介した) フィッシング攻撃で行うことができます。
#3。 強引な
最も時間がかかり、非効率的な方法です。 この攻撃の間、ハッカーはあなたの Cookie を盗みません。 代わりに、可能なすべての組み合わせを試して、セッション ID を推測します。
#4。 XSS またはクロスサイト スクリプティング
ハッカーは、Web サイトまたはアプリケーションの脆弱性を悪用して、悪意のあるコードを挿入します。 ユーザーがサイトにアクセスすると、スクリプトがアクティブになり、ユーザーの Cookie を盗み、攻撃者に送信します。

#5。 マルウェア インジェクション
悪意のあるソフトウェアは、デバイス上で不正なアクションを実行して個人情報を盗む可能性があります。 また、Cookie を傍受して攻撃者に情報を送信するためにもよく使用されます。
#6。 IP スプーフィング
サイバー犯罪者は、パケットの送信元 IP アドレスを変更して、あなたから送信されたように見せかけます。 偽の IP が原因で、Web サーバーはそれがあなたであると認識し、セッションがハイジャックされます。
セッションハイジャックを防ぐには?
セッション ハイジャックの可能性は、通常、使用する Web サイトまたはアプリケーションのセキュリティに帰着します。 ただし、自分自身を保護するために実行できる手順があります。
- 無料のホットスポットはサイバー犯罪者にとって理想的であるため、公衆 Wi-Fi は避けてください。 これらは通常、セキュリティが低く、ハッカーによって簡単に偽装される可能性があります。 言うまでもなく、データ トラフィックが常に危険にさらされている可能性のある被害者で常にいっぱいです。
- SSL 証明書を使用していないサイトは、トラフィックを暗号化できないため、脆弱になります。 URL の横にある小さな南京錠を探して、サイトが安全かどうかを確認します。

- マルウェア対策アプリケーションをインストールして、個人情報を盗む可能性のあるマルウェアやネズミを検出してデバイスを保護します。
- 公式のアプリ ストアまたは Web サイトを使用してアプリをダウンロードし、マルウェアをダウンロードしないようにします。
- 見慣れないリンクをクリックするように求めるメッセージが表示された場合は、クリックしないでください。 これは、デバイスに感染して個人情報を盗むフィッシング攻撃である可能性があります。
ユーザーは、セッション ハイジャック攻撃に対してほとんど何もできません。 ただし、逆に、アプリケーションは、別のデバイスが同じセッション識別子に接続していることに気付くことができます。 それに基づいて、次のような緩和戦略を設計できます。
- 登録されたパラメーターの変更を検出するために、接続されたデバイスの技術的なフィンガープリントまたは特性を各セッションに関連付けます。 この情報は Cookie (ステートフル セッションの場合) または JWT (ステートレス セッションの場合) に保存し、完全に暗号化する必要があります。
- セッションが Cookie ベースの場合は、HTTPOnly 属性を持つ Cookie をドロップして、XSS 攻撃の場合にアクセスできないようにします。
- 侵入検知システム (IDS)、侵入防止システム (IPS)、またはネットワーク監視ソリューションを構成します。
- 一部のサービスは、ユーザーの ID に対して二次チェックを実行します。 たとえば、Web サーバーは、ユーザーの IP アドレスがそのセッション中に最後に使用されたものと一致することを各要求で確認できます。 ただし、これは同じ IP アドレスを共有する誰かからの攻撃を防ぐものではなく、ブラウジング セッション中に IP アドレスが変更される可能性があるユーザーにとってはイライラする可能性があります。
- あるいは、一部のサービスでは、リクエストごとに Cookie の値が変更されます。 これにより、攻撃者が操作できるウィンドウが大幅に短縮され、攻撃が発生したかどうかを特定しやすくなりますが、他の技術的な問題が発生する可能性があります.
- ユーザー セッションごとに異なる多要素認証 (MFA) ソリューションを使用します。
- 最新のパッチとセキュリティ アップデートを適用して、すべてのシステムを最新の状態に保ちます。
よくある質問
セッション ハイジャックにはユーザーになりすますことが含まれますが、スプーフィングにはユーザーの置き換えが含まれます。 ここ数年、一部のセキュリティ アナリストは後者を一種のセッション ハイジャックと見なし始めています。
最後の言葉
セッション ハイジャックは、ハッカーがセッション トークンまたは Cookie を使用して、正規のユーザーになりすましてサーバーと通信できる方法です。 近年、セッションハイジャック攻撃の頻度が増加しています。 したがって、このような攻撃を理解し、予防策を講じることがますます重要になっています。 ただし、テクノロジーが発展するにつれて、攻撃もより巧妙になっています。 したがって、セッション ハイジャックに対する積極的な軽減戦略を作成することが不可欠です。
また、ダーク Web でのデータの価値を知りたい場合もあります。