Skip to main content
一般的なサイバーセキュリティの脅威には、次のようなものがあります。
  • バケツリレー攻撃
  • リプレイ攻撃
  • クロスサイトリクエストフォージェリ (CSRF または XSRF) 攻撃
  • 総当たり攻撃
  • クレデンシャルスタッフィング攻撃
  • リスト検証攻撃
Auth0 には、特定の種類の攻撃を防ぐのに役立つ攻撃対策機能があります。

バケツリレー攻撃

脅威の一種に、バケツリレー攻撃があります。これは「中間者攻撃」と呼ばれることもあり、攻撃者が二者の間に割り込む攻撃です。双方はプライベートな接続を通じてやり取りしているつもりでも、実際にはその通信はサードパーティの攻撃者に制御されています。この種の攻撃を成立させるには、攻撃者が両者との間で相互認証を成立させなければなりません。 通常、バケツリレー攻撃では、攻撃者が 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 では、従来のパスワードではなく、使い捨てコードやメールリンクを利用する認証を使用できます。Auth0 はまた、プッシュ通知や SMS で送信できるワンタイムパスワードを第 2 の認証要素として使用する (MFA) も提供しています。

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

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

詳しくはこちら