web-dev-qa-db-ja.com

KRACKエクスプロイトがより早く発見されなかったのはなぜですか?

私が読んだことから、問題は4ステップのハンドシェイクのステップ3を実行するのと同じくらい簡単で、そのステップを複数回実行した結果です。これらの種類のアルゴリズムの複雑さを考えると、コンセプトが非常に「単純」であることに多少驚いています。

この複雑なシステムが、ステップを2回実行した場合に何が起こるかについて誰も考えずに設計されたのはどうしてでしょうか。ある意味で、これは明白なはずだったように思えます。それは実際には微妙なトリックではなく、比較的露骨に明らかな欠陥であり、少なくともそれが私が得ている印象です。

118
Dave Cousineau

WPA2(802.11i)を記述する802.11仕様はペイウォールの背後にあり、IEEEの数人の主要な個人によって設計されました。この規格は暗号技術者ではなくエンジニアによってレビューされました。機能の詳細(再送信など)は、セキュリティ専門家にはあまり知られていないか、研究されていませんでした。

暗号学者のマシュー・D・グリーンはこの主題について ブログ投稿 を書いており、このセクションはそれをかなりうまくまとめていると思います:

IEEEの問題の1つは、標準が非常に複雑であり、非公開のプライベートミーティングプロセスによって作成されることです。さらに重要なことには、事後でも、通常のセキュリティ研究者がアクセスするのは困難です。 IETF TLSまたはIPSec仕様については、ググってください。Googleの検索結果の上部に、詳細なプロトコルのドキュメントがあります。次に、802.11i標準についてGoogleにアクセスしてください。私はあなたの幸運を祈ります。

IEEEはこの問題を緩和するためにいくつかの小さなステップを踏んでいますが、それらは非常に臆病なインクリメンタリストのでたらめです。 GETと呼ばれるIEEEプログラムがあり、研究者は特定の標準(802.11を含む)に無料でアクセスできますが、6か月間公開された後にのみ-偶然にも、ベンダーがハードウェアに取り返しのつかないほどそれらを焼き込むのにかかる時間とほぼ同じです。ソフトウェア。

201
Polynomial

ある意味で、これは明白なはずだったように思えます。

Heartbleed、Shellshock、POODLE、TLSトリプルハンドシェイク攻撃、「goto fail」などを覚えていますか?...

振り返ってみると、これらの問題のほとんどは明らかであるように思われ、適切な人々が適切な場所で適切な時間をよく見てさえいれば防止できたはずです。しかし、適切な技術的専門知識を持つ人は限られているため、通常、他にも多くのことを行う必要があります。それらが完璧であると期待しないでください。

標準が完全に設計されているという幻想を抱く代わりに、ソフトウェアにバグがなく、システムが100%安全であることは、これが今日の複雑なシステムで実際に達成することは不可能であることを認めるべきです。これを緩和するには、回復力と堅牢性についてもっと注意する必要があります。つまり、一部の部分がセキュリティを階層化することによって壊れても安全とセキュリティを維持し、何かを完全に信頼せず、何かが壊れた場合の計画を立てます。

72
Steffen Ullrich

KRACKに関する論文 では、この問題についてセクション6.6で説明しています。

いくつかの点:仕様にはあいまいさがありました。また、仕様の正式な証明は仕様のモデルに基づいており、そのモデルが実際の仕様と一致せず、その仕様に基づく実装との一致がはるかに少ない場合があります。

29
Dale Wilson