- バケツリレー攻撃
- リプレイ攻撃
- クロスサイトリクエストフォージェリ(CSRFまたはXSRF)攻撃
- 総当たり攻撃
- 不審なIPのスロットリング
- 資格情報スタッフィング攻撃
- リスト検証攻撃
バケツリレー攻撃
脅威の1つにバケツリレー攻撃があります。中間者攻撃とも呼ばれるもので、攻撃者が二者の間に割り込みます。二者はそれぞれプライベート接続で交信していると思っていますが、実際には、サードパーティの攻撃者によって制御されています。この種の攻撃が成功するには、攻撃者が二者の間に相互認証を作成する必要があります。 バケツリレー攻撃では通常、攻撃者がWiFiルーターを使用してユーザーの通信を傍受します。ユーザーは攻撃者のルーターに接続し、Webサイトを表示して、機密の資格情報でログインします。攻撃者はこのユーザーのログイン資格情報を保存して、ユーザーになりすますために使用します。 バケツリレー攻撃によっては、アプリケーションとサーバー間で送信されるデータを改ざんできるものもあります。攻撃は、新しいPCの試用やプリインストールされたソフトウェア、ソフトウェア更新ツール、その他のソフトウェアの脆弱性から起きる可能性があります。最悪の場合には、リモートコード実行(RCE)、システムのバックドア、マルウェアのインストールなどの結果になります。また、他のネットワーク資産の侵害にも繋がりかねません。 この種類の攻撃から保護するために、アプリケーションとサーバー間で強力な暗号化と認証を使用することが重要です。暗号化を使用して、サーバーは提示されたデジタル証明書を用いてアプリケーションの要求を認証し、認証に成功した場合にのみ接続が確立されます。たとえば、HTTPSは、ブラウザーのセキュアソケットレイヤー(SSL)機能を使用して、Webトラフィックをマスクします。HTTPS を復号化するには、攻撃者はネットワークトラフィックを暗号化するのに使われた鍵を取得しなければなりません。 サーバーにTLSを構成する際には、TLSv1.2を使用するMozilla OpSecの推奨事項を参考にしてください。Mozillaは、SSL Configuration Generatorも提供しています。これを使用するには、まずサーバーが実行されているプラットフォームを選択してから、アプリケーションベースの対応内容に基づいて最新の構成を選択します。構成が新しいほど、攻撃を防ぐのに役立つ暗号がより強力になります。リプレイ攻撃
リプレイ(プレイバック)攻撃では、攻撃者は以下を行うことができます。- 通常は簡単にアクセスできないネットワークや情報にアクセスする
- トランザクションを複製する
- トークンの有効期限を短くする
- 使用されたトークンを(場合によってはユーザーも)DenyList(拒否リスト)に追加する方法を提供する
- ワンタイムパスワードを使用する
jti
フィールドが用意されています。Auth0トークンは現在のところ、jti
を返しませんが、トークンをDenyListに追加することができます。jti
を使用して、使用しているトークンの数が、指定の回数を上回らないようにします。これで、と類似したもの(トークンの署名をnonceと考える)を実装していることになります。トークンが盗まれたり、指定の回数を超えて使用されたりした場合には、必ずDenyList(拒否リスト)に追加します。そうすることで、有効なトークンが悪用されることを防ぎます。トークンの使用期限が切れると、攻撃者はユーザーになりすますことができなくなります。
リプレイ攻撃はワンタイムパスワードの使用でも回避できます。Auth0の Authentication(パスワードレス認証)は、従来式のパスワードではなく、1回限り有効のコードやメールのリンクを使用しています。また、Auth0が提供している多要素認証()は、プッシュ通知やテキストで送信可能なワンタイムパスワードを第2の認証要素として使用しています。