私はWPS PINに対するブルートフォース攻撃について研究してきましたが、最後の数字がチェックディジットであり、PINがM4とM6で2つに分かれているため、メッセージの場合、WPS PIN 11.000回の試行で総当たりにすることができます。
けれども最近、WPSに対するPixie攻撃について聞いたところ、一部のルーターの低エントロピーを利用するようなものでした。ピクシー攻撃とは正確には何ですか?それはWPSにどのように影響しますか?もう1つの質問です。ブルートフォースのWPS PINからWPAキーをどのように見つけることができますか?
Pixie Dust Attack で説明されているように、Pixieは、エンローリーハッシュの生成に使用されるE-S1およびE-S2ナンスの生成の弱点を利用して機能します。
従来の攻撃は、オンライン攻撃でWPS PINの2つの半分(PSK1、PSK2)を攻撃し、基本的にPINのすべての可能なオプションを、それが見つかるまで総当たりします。これはターゲットに対してオンラインで実行する必要があるため、長時間かかります。
WPS交換では、2つのナンス(E-S1、E-S2)、登録者と登録者の公開鍵(PKE、PKR)、authkey(a Key Derivation Key/KDK)から派生した値、およびWPSの2つの半分PIN(PSK1、PSK2)。 PKE、PKR、E-Hash1、およびE-Hash2の値は、ルーターがそれらを提供する(またはクライアントとして提供する)ため、攻撃者に知られています。E-S1、Eの正しい組み合わせを見つける必要があります。 -S2、PSK1、およびPSK2は、ハッシュをオフラインにするためのものです。
PSK1およびPSK2部品のクラッキングは比較的簡単です。 PSK1に可能な値は10,000、PSK2には1,000(最後の数字はチェックサム)であり、各ハッシュは個別であるため、11,000のハッシュを計算するだけで済みます。これは、現代のシステムではそれほど時間はかかりません。
ただし、問題は、2つのナンス値E-S1とE-S2を知る必要があることです。これらは128ビット値であるため、オフラインのブルートフォースアプローチは受け入れられません。
ピクシーダストアタックの核心は、E-S1およびE-S2ナンスが多くのルーターで安全に生成されないことです。例として、MediaTekルーターは両方の値にゼロを使用することが知られています。一部のBroadcomルーターでは、使用されるPRNGは弱いもの(LFSRまたはMersenne Twisterなど)であり、PKEの生成にも使用されます。ルーターが提供したものと同じPKEを生成する値が見つかるまでpossilbe PRNGシード値を推測することで、E-S1とE-S2の値を簡単に生成できます。 Realtekルーターは秒単位のUnixタイムスタンプを使用してPKE、E-S1、およびE-S2の値を生成しますが、生成が速いため、通常はE-S1 = E-S2 = PKE(またはE-S1 = E -S2 = PKE + 1(2番目の境界を超えてティックした場合)。PKEがわかっているため、E-S1とE-S2がわかっています。
これが、Pixie攻撃が非常に速い理由です。ライブルーターに対して11,000の可能なPINを試行する代わりに(低速であり、ルーターによってブロックされる可能性があります)、WPSハッシュ値をキャプチャしてオフラインでクラックし、ノンス生成の弱点を利用して、11,000 PIN予想される各E-S1とE-S2の値のペアに対する値。