と入力するだけで、他のファイルの中にあるファイルを隠すことができます
type sol.exe > container.txt:sol.exe
と隠しファイルを実行するには、単に使用します
start c:\hide\container.txt:sol.exe
しかし、これのおかしなところは、ファイルのサイズが大きくならない(だから完全に隠されている)ことです
中に隠したものが入っているファイルを削除しても隠したものは削除されませんよ使えばいいんだよ
more < container.txt:sol.exe > sol.exe
なぜNTFSはこれを許しているのでしょうか?ウイルスを隠すには最適な方法のように思えます
104 Kredns 2009-07-23
この質問には二つの側面があります。1つ目は、なぜこの機能は全く存在しないのか、2つ目は、なぜGUI(またはコマンドプロンプト)で見やすく、管理しやすくしないのか、ということです
これは便利なので存在しています。他のいくつかのプラットフォームでは、ファイルごとに複数のデータストリームをサポートしています。Macでは、フォークなどと呼ばれていました。メインフレームの世界にも似たようなものが存在していたことは間違いないと思いますが、今日では明確な例を見つけることができません
最近のWindowsでは、ファイルの追加属性を保持するために使用されます。Windowsエクスプローラから利用可能なプロパティボックスには、シンプルビュー(私はWindows XPを使用していますが、他のフレーバーでは異なるでしょう)のサマリータブがあり、タイトル、件名、著者などのような便利なフィールドの束が含まれていることに気づくかもしれません。そのデータは、ファイルからあまりにも簡単に分離されるであろうそれをすべて保持するためにいくつかの種類のサイドカーデータベースを作成するのではなく、代替ストリームに格納されています
代替ストリームは、ダウンロード時にInternet ExplorerとFirefoxの両方で適用される、ファイルが信頼されていないネットワークソースから来たというマーカーを保持するためにも使用されます
難しい問題は、なぜストリームが存在していることに気づくためのより良いユーザインタフェースがないのか、そして、なぜその中に実行可能なコンテンツを入れて、さらに悪いことに、後でそれを実行することが可能なのか、ということです。ここにバグとセキュリティリスクがあるとすれば、これです
Edit:
別の回答へのコメントに触発されて、アンチウイルスおよび/またはアンチマルウェアプロテクションが代替ストリームを認識しているかどうかを調べる方法の1つをご紹介します
EICAR テストファイルのコピーを入手してください。これは68バイトのASCIIテキストで、有効なx86実行ファイルでもあります。完全に無害ですが、本物のウイルスであるかのように検出されることがアンチウイルス業界で合意されています。発案者は、本物のウイルスで AV ソフトウェアをテストするのは、ゴミ箱に火をつけて火災報知器をテストするようなものではないかと考えました
EICARファイルは
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
拡張子.COM
で保存すると(AVが注意していない限り)実行されて挨拶文が印刷されます
別のデータストリームに保存してスキャンを実行するのは有益だろう
98 RBerteig 2009-07-23
Windows Server: services for macのクロスプラットフォーム機能に必要な機能です
これにより、NTFS上で動作するWindowsサーバをAFP経由でMacに共有することができます。この機能を動作させるためには、NTFS ファイルシステムがフォークをサポートしていなければなりません
そして、あなたが尋ねる前に、この機能はまだ使用されていますか?はい、私がサポートしているクライアントのサーバーで毎日使用しています
主なセキュリティ問題は、人やアプリケーションがその存在を忘れてしまったり、気づかなかったりしたときに発生します
しかし、フォークをファイルサイズの合計に含めるか、ウィンドウズエクスプローラに表示するオプションがあるべきでしょう
15 Bruce McLeod 2009-07-24
主な用途(おそらく意図した用途)の一つは、ファイルへのあらゆる種類のメタデータの追加を透過的に許可することではないかと想像しています。ファイルサイズが変わらない理由は、このシナリオではファイルの見た目や動作が、元のアプリケーションがファイルの見た目に依存してしまうことを防ぐためです
例えば、複数のファイルが関与して一つのユニット(コードファイル/フォームファイルなど)を形成することがあり、それらが誤って分離されないように、このような方法で元のファイルに添付することができるような、IDEでの興味深い用途を想像することができました
また、指定されたディレクトリツリー内のすべての「添付ファイル」を見つけるコマンドがあると思うので、実際には完全に隠されているわけではありません。また、優れたウイルススキャナがこのことに気づかず、これらの「隠された」領域をチェックしていないとしたら驚きですが、わざと感染した実行ファイルをテキストファイルに添付して、それが拾われるかどうかを確認することで確認することができます
5 jerryjvl 2009-07-23
セキュリティの脆弱性が代替データストリームによってもたらされる可能性についての良い記事があります
5 JP Alioto 2009-07-23
良い質問ですね。私は昨年までADSを正しく認識していませんでしたし、私は長年Windowsの開発者をしてきました。これについては、私だけではないことを保証します
ファイルの代替データをチェックすることに関して、私は、Ladsという便利な小さなツールをFrank Heyne softwareから見つけました。これは、暗号化されたファイル(およびサブディレクトリ内のファイル)であっても、指定されたディレクトリ内のすべてのファイルのADSをリストアップすることができます
4 Ash 2009-07-24