2

Linuxカーネル(net / ipv4 / inet_fragment.c)のIPv4フラグメントマネージャーについて質問したいのですが。構造inet_frags(include / net / inet_frag.h)に「rnd」フィールドがあり、明らかに乱数で埋められている理由がわかりません。つまり、IPv4スタックがランダムな順序でパケットを再構築することは期待していません^^。

plzを手伝ってくれませんか。事前にThx。(カーネル3.4.4)

4

1 に答える 1

6

実装では、ハッシュを使用してIPデータグラムフラグメントを格納します。固定ハッシュ関数を持つハッシュテーブルは、サービス拒否ハッシュ衝突攻撃を受ける傾向があります。そのため、攻撃から保護するために、各ハッシュ関数にランダムシードを追加します。

http://www.iss.net/security_center/reference/vuln/linux-kernel-packets-dos.htmを参照してください。

Linuxカーネルは、TCP / IPフラグメントの再構築の不適切な処理が原因で、サービス拒否に対して脆弱です。リモートの攻撃者が特別に細工したパケットを送信すると、ハッシュテーブルの衝突が多数発生し、使用可能なすべてのCPUリソースが消費される可能性があります。

于 2012-08-29T09:54:57.627 に答える