1

ような状況でデータが漏洩することが見出されている、しかし、パケットを送信するときに行われるケアが短いです(snullのために私たちの仮想 "イーサネット(Ethernet)"である)がサポートしている最小限の長さよりも長くなっています。このような状況で多くのLinuxネットワークドライバがデータを漏洩しています。多くのLinuxネットワークドライバは、私はLDDを読んで、ノートを行います「<p> </p>以下の文について質問があるのです

ドライバーがデータを漏洩する理由を教えてください。

答えて

2

たとえば、イーサネットカードの場合、最小パケットサイズは60バイトです(このカードには通常、フレームチェックサムが追加され、ワイヤ上で最小64バイトになります)。送信しているペイロードの長さが60バイト以上の場合、カードは指定したデータを正確に送信します。

これを手渡すと、例えば40バイトしか渡されないと、それでも60バイトを送信します。に加えた40バイトと次の20バイトのは、送信します。

明示的にその領域を初期化していない場合、これらの20バイトは、以前に送信されたパケットから残りのデータである可能性があります。これは他の接続に属している可能性があります。または、そのメモリは、以前に実行されていたプログラムのデータページであった可能性があります(したがって、パスワード、または暗号化キーまたは機密情報のいずれかの種類を含む可能性があります)。

これはデータリークです(バッファリークと混同しないでください)。そのLDDテキストは、そのような状況でそれらのバイトをゼロにする必要があることを注意しています。

+0

お返事ありがとうございます。したがって、この意図されたパケットのデータ漏洩に関するものではありません。実際には以前のデータ用です。右 ? – nathan

+0

正しい。これは、バッファの上書きされていない部分にまだ座っていることになる以前のデータを漏らすことに関するものです。 –

関連する問題

 関連する問題