この 記事 は、OSフィンガープリント検出でnmap
をだます方法を説明しています。
つまり、nmap
は不正な形式のパケットを開いたポートと閉じたポートに送信し、応答をリッスンします。すべてのOSは独自のTCP/IPスタックを実装しているため、既知の署名と推測されたOSのデータベースに対して応答を照合できます。
これを軽減する2つの方法は
このパッチは、次の一致で受信したTCP/IPパケットを単に破棄します。
SYNとFINの両方がアクティブ化されたパケット(tcp_ignore_synfin)(QueSOプローブ)。
偽のパケット:TCPヘッダーのres1ビットがアクティブである(予約ビットの1つである場合、それは偽のパケットです)、またはACK、SYN、RSTのいずれもアクティブになっていない場合。 、FIN(Nmapテスト2)。
FIN、Push、URGがアクティブなパケット(Nmapテスト7)。
後者のアプローチには、いくつかの効率/安定性の問題がある可能性があります。
それらを微調整すると、スキャナーをだますことができますが、ネットワークパラメーターを変更することにより、通常の接続が切断される可能性があります。また、エミュレートされたIPスタックが最初のスタックほど強力でない場合、システムを脆弱にする可能性もあります。
前者には言及されている欠点はありません。
なぜこれがデフォルトの動作ではないのですか?オペレーティングシステムがこれらのパケットに応答するのはなぜですか?
OSは無効なパケットに応答します。これは、ネットワーク構成の問題の診断に非常に役立つためです。パケットを送信しても誰も応答しない場合、パケットに何が起こったのかわかりません。ルーターがそれを食べましたか?その返答は間違っていましたか?接続の問題はありますか?または、ターゲットはパケットを受信しましたが、気に入らなかったのですか?ターゲットが応答すると、パケットが拒否された理由がわかり、問題を解決できる重大なチャンスが得られます。
OSフィンガープリントはセキュリティの問題ではありません。脆弱性を見つけるのに役立ちますが、パッチが適用されていないセキュリティホールがあるシステムでのみです。パッチが適用されていないセキュリティホールのあるシステムがある場合は、パッチを適用してください。システムをフィンガープリントで認識できないようにしても、帯域幅を最適化する必要がある自動スキャンのごく一部からしか保護できません。
OSフィンガープリントはプライバシーの小さな問題です。それは主要なものではありません:ほとんどの人は正当な理由で気にしません。
さらに、フィンガープリントの1つの方法を排除するだけでは不十分です。すべての方法を排除する必要があります。したがって、指紋対策の保護は、誰かが別の指紋方法を試すまで有効です。
メリットは小さく、不確実です。欠点は大きなものです。 OSフィンガープリント保護はデフォルトでオフにする必要があります。