誰かがこの問題に直面している場合、ディスク上のファイルサイズ/スペースの大きな違いを見る別の理由が代替データストリーム(ADS)の使用であることを知ることも役に立つかもしれません
私の知る限り、これはNTFSにのみ適用されます。ADSは正当な用途と正当でない用途の両方で知られています。
- インターネットからダウンロードしたファイルにタグを付ける
- メタデータを保存します(Microsoftは、ファイル拡張子を使用してファイルの種類を判別しないなど、Apple OSの機能の一部を含めたいと考えていました)
- マルウェアのコンテキストでデータまたはコードを非表示にします。
ADS単純:NTFSファイルは複数のデータストリームを保持できます(「サブファイル」を理解してください)。1つは、Windowsエクスプローラーおよびその他のWindowsツールで使用されるメインストリームであり、ファイルの通常のコンテンツを保持します。代替データストリームには、メインストリームとまったく同じ他の情報が含まれている場合がありますが、Windowsツールで直接処理することはできません(特に、エクスプローラーは、ADSのサイズに関係なく、メインストリームのサイズに等しいファイルサイズを表示します)、 ADSの作成、読み取り、検索には、専用のツールまたはコードを使用する必要があります。
主なポイントは、大きなファイルサイズの違いが観察された場合、ADS、および隠れたマルウェアの可能性を見落とさないことです。
別のリンク。
ADSを安全に試すには、DOS / CMDレベルでこれを試してください...
Cのルートにあるファイルのコンテンツを作成して表示します。
C:\> echo The main data stream> test.txt
C:\> type test.txt
結果:
C:\> The main data stream
次に、同じメソッドでADSを追加します。ファイル名に加えてADS名を指定するだけです。
C:\> echo The secret message> test.txt:secret
ファイル内の秘密のメッセージを非表示にしました。ADSの「秘密」にバイトを追加したにもかかわらず、エクスプローラーのファイルサイズは変更されていないことに注意してください。
ADSコンテンツを表示してみてください:
C:\> type test.txt:secret
結果:
The filename, directory name, or volume label syntax is incorrect.
CMD type
はADSのコンテンツを表示できません。代わりにメモ帳を使用します。
notepad test.txt:secret
メモ帳では、ADSの内容を確認できます。
The secret message
また、無害なテキストファイルのADSで完全な実行可能ファイルを非表示にして、いつでも実行できます。富はハッカーに害を与えません:-)