
TCP/IPスタックフィンガープリンティングとは、 TCP/IPスタック実装の特性をリモートで検出することです。検出されたパラメータの組み合わせは、リモートマシンのオペレーティングシステム( OSフィンガープリンティングとも呼ばれる)を推測するために使用したり、デバイスフィンガープリントに組み込んだりすることができます。
TCPプロトコル定義内の特定のパラメータは、実装に委ねられています。異なるオペレーティングシステム、あるいは同じオペレーティングシステムの異なるバージョンでは、これらの値のデフォルト値が異なります。これらの値を収集して調べることで、さまざまなオペレーティングシステムやTCP/IPの実装を区別することができます。TCP/IPで変動する可能性のあるフィールドには、次のものがあります。
これらの値を組み合わせることで、対象マシンの 67 ビット署名、つまり指紋を形成できます。[ 1 ]初期 TTL とウィンドウ サイズ フィールドを調べるだけで、多くの場合、オペレーティングシステムを正常に識別できるため、手動での OS 指紋の特定作業が容易になります。[ 2 ]
指紋認証による攻撃の入り口に対する防御は、防御システムが応答するトラフィックの種類と量を制限することによって実現されます。例としては、送信ICMP制御メッセージトラフィックからのアドレスマスクとタイムスタンプのブロック、およびICMPエコー応答のブロックが挙げられます。セキュリティツールは、潜在的なフィンガープリンティングを警告することができます。つまり、フィンガープリントを検出することで、別のマシンがフィンガープリンティング構成を持っていると照合することができます。[ 3 ]
TCP/IPフィンガープリンティングを禁止することで、特定のオペレーティングシステムを実行しているマシンを標的とする脆弱性スキャナーから保護されます。フィンガープリンティングは攻撃を容易にします。これらのICMPメッセージをブロックすることは、攻撃から完全に保護するために必要な多くの防御策の1つにすぎません。[ 4 ]
ICMPデータグラムをターゲットとする難読化ツールは、インターネット層のIP上で動作し、TCP/IPフィンガープリンティングデータを混乱させる「スクラビングツール」として機能します。これらは、 Microsoft Windows [ 5 ] 、Linux [ 6 ]、およびFreeBSD [ 7 ]に存在します。
TCP/OSフィンガープリンティングツール一覧
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク)