CWE一覧に戻る
CWE-301

認証プロトコルにおける反射攻撃

Reflection Attack in an Authentication Protocol
脆弱性 レビュー中
JA

単純な認証プロトコルは、悪意のあるユーザがターゲット・マシンを使って信頼されたユーザになりすますことができれば、リフレクション攻撃の対象となる。

相互認証プロトコルは、各パーティが事前共有鍵で暗号化することで、もう一方のパーティのランダムなチャレンジに応答することを要求する。しかし、このようなプロトコルは、多くの異なるエンティティとの通信に同じ事前共有鍵を使用することが多い。悪意のあるユーザーや攻撃者は、プロトコルにリフレクション攻撃を仕掛けることで、正しい鍵を持っていなくてもこのプロトコルを簡単に侵害することができる。

リフレクション攻撃は、相互認証スキームを利用して、ターゲットとなるユーザーを騙し、そのユーザーと他の有効なユーザーとの間で共有されている秘密を暴露させるものである。基本的な相互認証スキームでは、ある秘密が有効なユーザーとサーバーの両方に知られている。この共有された秘密を無線で平文で送ることなく検証するために、両者は Diffie-Hellmanスタイルのスキームを利用する。このスキームでは、両者はそれぞれ値を選び、共有された 秘密をキーとしてその値のハッシュを要求する。リフレクション攻撃では、攻撃者は有効なユーザーであると主張し、サーバーにランダムな値のハッシュを要求する。サーバーがこの値を返し、自身の値をハッシュ化するよう要求すると、攻撃者はサーバーに別のコネクションを開く。このとき攻撃者が要求するハッシュは、サーバーが最初の接続で要求した値である。サーバーがこのハッシュ値を返すと、その値が最初の接続で使用され、攻撃者がなりすまされた正当なユーザーであることが認証される。

EN

Simple authentication protocols are subject to reflection attacks if a malicious user can use the target machine to impersonate a trusted user.

A mutual authentication protocol requires each party to respond to a random challenge by the other party by encrypting it with a pre-shared key. Often, however, such protocols employ the same pre-shared key for communication with a number of different entities. A malicious user or an attacker can easily compromise this protocol without possessing the correct key by employing a reflection attack on the protocol.

Reflection attacks capitalize on mutual authentication schemes in order to trick the target into revealing the secret shared between it and another valid user. In a basic mutual-authentication scheme, a secret is known to both the valid user and the server; this allows them to authenticate. In order that they may verify this shared secret without sending it plainly over the wire, they utilize a Diffie-Hellman-style scheme in which they each pick a value, then request the hash of that value as keyed by the shared secret. In a reflection attack, the attacker claims to be a valid user and requests the hash of a random value from the server. When the server returns this value and requests its own value to be hashed, the attacker opens another connection to the server. This time, the hash requested by the attacker is the value which the server requested in the first connection. When the server returns this hashed value, it is used in the first connection, authenticating the attacker successfully as the impersonated valid user.

Scope: Access Control / Impact: Gain Privileges or Assume Identity
Use different keys for the initiator and responder or of a different type of challenge for the initiator and responder.
Let the initiator prove its identity before proceeding.
MITRE公式ページ — CWE-301