新しいTCP / IPスタックWindowsの動作の機能

Windows Vista以降、Microsoftはオペレーティングシステムで新しいネットワークスタック-次世代のTCP / IPスタックに切り替えました。 スタックには、Windowsフィルタリングプラットフォーム、スケーラブルなTCPウィンドウなどのさまざまな機能が含まれていますが、それらについてはまったく説明しませんが、新しいネットワークスタックの動作の特定の機能について説明します。

自尊心の高いネットワークスキャナーは、スキャンされたノードのOSを判別できる必要がありますが、使用されるパラメーターが多いほど、結果はより正確になります。 たとえば、Nmapネットワークスキャナーは、さまざまなTCPメトリック(タイムスタンプの動作、TCPオプションの並べ替え)、IPメトリック(パケットシーケンス番号生成アルゴリズム、IPパケットフラグの処理)およびその他のメトリックなど、非常に幅広いメトリックセットを使用してオペレーティングシステムを決定します。



Positive Technologiesでは、メトリックの収集とOSバージョンの決定も行っているので、新しいスタックを持つWindowsシステムを特定できる最近発見されたメトリックについてお話ししたいと思います。 この方法は、ICMPタイムスタンプ応答の分析に基づいています。 ICMPタイムスタンプは、時刻同期プロトコルの遠い先祖であり、リモートシステムに設定された時刻を照会できます。 ICMPタイムスタンプ要求と応答の構造を図1に示します。







図1-ICMPタイムスタンプ要求への応答の構造



標準のICMPヘッダーは赤で強調表示され、その後にリクエストが送信された瞬間、ユーザーがリモートでリクエストを受信した瞬間、ユーザーがレスポンスを送信した瞬間のタイムスタンプフィールドが続きます。 タイムスタンプ-UTCの午前0時から経過したミリ秒数。 ホストがミリ秒の精度で時間に関するデータを送信する機能を持たない場合、最上位ビットを1に設定し、少なくともいくつかの時間データを送信する必要があります。 最後のタグに興味があります。 よくあることですが、Microsoftはよくあることですが、RFCの実装に非常に軽率にアプローチしました。秒に正確。 それだけでなく、Vistaからは、推測しかできない理由で、Windowsシステムはタイムスタンプを使用して奇妙なことをします。

タイムスタンプの予想される動作を図2に示します。グラフでは、青色の点がサーバーから受信したタイムスタンプの原因であり、サーバーの時間グラフは赤色でマークされています。 グラフの横軸は実験開始からの時間を示し、縦軸は秒単位のタイムスタンプ値を表します。 文字列<applied translation>は、ホストのネットワークバイトオーダーから変換が行われたことを示します。







図2-通常のタイムスタンプの動作



ただし、実際には、図3に示されている画像(より高い時間分解能)が観察されました。







図3-大規模なタイムスタンプの動作



1秒の期間で、送信されたタイムスタンプの値がtrueから10,000秒だけtrueに増加することがわかります。 グラフに表示されるギャップは、Windowsスケジューラがプログラムの実行を中断する時間であると判断したという事実の結果にすぎません。

おそらく、このようなタイムスタンプを使用して、Windowsはリモートホストの時刻を見つけようとする攻撃者を混乱させたいと考えています。 この動作は、新しいスタックを持つWindowsシステムでのみ観察され、これらのシステムを識別する新しい方法を可能にします。

ご清聴ありがとうございました。



ソース:

Windows VistaおよびWindows Server 2008の次世代TCP / IPスタック

ネットワークスタックの深さとピークVista Chris Kaspersky aka Myshch

Nmapネットワークスキャン。 第8章リモートOS検出



All Articles