メインコンテンツへスキップ
一般的なサイバーセキュリティの脅威には、次のようなものがあります。
  • バケツリレー攻撃
  • リプレイ攻撃
  • クロスサイト・リクエスト・フォージェリ (CSRF または XSRF) 攻撃
  • 総当たり攻撃
  • クレデンシャルスタッフィング攻撃
  • リスト検証攻撃
Auth0 には、特定の種類の攻撃から保護できるアタックプロテクション機能があります。

バケツリレー攻撃

脅威の一種に、バケツリレー攻撃があります。これは「中間者攻撃」と呼ばれることもあり、攻撃者が 2 者の間に割って入る攻撃です。双方は自分たちがプライベートな接続でやり取りしていると思っていますが、実際にはその通信は第三者である攻撃者に制御されています。この種の攻撃を成功させるには、攻撃者が両者との間で相互認証を確立しなければなりません。 通常、バケツリレー攻撃では、攻撃者は WiFi ルーターを使ってユーザーの通信を傍受します。ユーザーは攻撃者のルーターに接続し、その後 Web サイトにアクセスして機密の認証情報でログインします。攻撃者はそのユーザーのログイン認証情報を保存し、後でそれを使ってユーザーになりすますことができます。 一部のバケツリレー攻撃では、アプリケーションとサーバーの間で送信されるデータを改ざんすることもできます。こうした攻撃は、新しい PC に付属する試用版ソフトウェアやプリインストールソフトウェア、ソフトウェア更新ツール、その他のソフトウェアの脆弱性を悪用して発生する可能性があります。最悪の場合、リモートコード実行、システムへのバックドアの設置、マルウェアのインストールなどにつながるおそれがあります。また、他のネットワーク資産の侵害につながる可能性もあります。 この種の攻撃を防ぐには、アプリケーションとサーバーの間で強力な暗号化と認証を使用することが重要です。暗号化を使用すると、サーバーはデジタル証明書を提示してアプリケーションのリクエストを認証し、その後でのみ接続を確立できます。たとえば、HTTPS はブラウザーの Secure Sockets Layer (SSL) 機能を使用して Web トラフィックを保護します。HTTPS を復号するには、攻撃者はネットワークトラフィックの暗号化に使用される鍵を入手しなければなりません。 サーバーで TLS を構成する際は、TLSv1.2 を使用する Mozilla OpSec recommendations に従うことを推奨します。Mozilla は SSL Configuration Generator も提供しています。これを使用するには、まずサーバーが稼働しているプラットフォームを選択し、次にアプリケーション基盤が対応できる範囲で最も新しい構成を選択します。新しい構成ほど、攻撃の防止に役立つより強力な暗号スイートが提供されます。

リプレイ攻撃

リプレイ (またはプレイバック) 攻撃では、攻撃者は次のことが可能になります。
  • 通常であれば容易にアクセスできないネットワークや情報にアクセスする
  • 重複したトランザクションを完了する
これは、別の送信者からのデータ送信を意図された受信システムに再送することで、セキュリティプロトコルを攻撃するものです。この攻撃によって、関係者はデータ送信が正常に完了したと誤認させられます。 リプレイ攻撃は、セッショントークンを使用することで回避できます。ただし、こうした認証情報がローカルストレージから盗まれた場合 (XSS 攻撃時など) でも、誰かが有効なトークンを無期限に保持し続けられないようにする方法があります。
  • トークンの有効期限を短く設定する
  • 使用済みのトークン (場合によってはユーザーも) を DenyList に追加できるようにする
  • ワンタイムパスワードを使用する
JWT の仕様では、リプレイ攻撃を防ぐ方法として jti フィールドが定義されています。現在、Auth0 のトークンは jti を返しませんが、jti を使ってトークンを DenyList に追加すれば、トークンが指定回数を超えて使用されるのを防げます。これは、 に似た仕組みを実装するものです (トークンの署名を nonce と考えてください) 。トークンが盗まれた場合や、指定回数を超えて使用された場合は、そのトークンを DenyList に追加する必要があります。これにより、有効なトークンが悪意を持って使用されるのを防げます。トークンの有効期限が切れれば、攻撃者はそのユーザーになりすますことができなくなります。 ワンタイムパスワードを使用することでも、リプレイ攻撃を回避できます。Auth0 では、従来のパスワードの代わりに、使い捨ての code やメール内のリンクを利用する 認証を使用できます。Auth0 では、SMS 経由の code など、username とパスワードに加えて別の認証要素を使用する (MFA) も提供しており、第 2 認証要素としてワンタイムパスワードを使用できます。これらはプッシュ通知やテキストメッセージで送信できます。

クロスサイト・リクエスト・フォージェリ

クロスサイト・リクエスト・フォージェリ (CSRF または XSRF) 攻撃は、悪意のあるプログラムが、ユーザーが現在認証済みの信頼されたサイトに対して、ユーザーの Web ブラウザーに意図しない操作を実行させることで発生します。この種の攻撃は、攻撃者が偽造されたリクエストへの応答を確認できないため、ユーザーデータの取得ではなく、特定の操作を開始する状態変更リクエストを主な標的とします。 送信されたリクエストを検証する方法の 1 つは、応答を検証するために プロトコルの state パラメーター を使用することです。

詳しく見る