なぜNTFSは目に見えない実行可能ファイルを許可するのですか?


105

次のように入力するだけで、別のファイル内のファイルを非表示にできます。

type sol.exe > container.txt:sol.exe

隠しファイルを実行するには、次を使用します:

start c:\hide\container.txt:sol.exe

しかし、これに関する最大の問題は、ファイルのサイズが大きくならないことです(したがって、完全に非表示になります)。

また、隠しファイルが含まれているファイルを削除しても、隠しファイルは削除されません。ただ使用する:

more <  container.txt:sol.exe > sol.exe

NTFSでこれが許可されるのはなぜですか?ウイルスを隠す最良の方法のようです。


1
素晴らしい、Macリソースフォークのようです。
ステファノボリーニ

15
悪いことに、あなたがそのようsol.exe起動したときに、タスクマネージャをcontainer.txtとしてプロセス名を示し
HASEN

16
この質問につながる「怖い」というように、我々はグーグルを爆撃すべきである
HASEN

4
これが行われている限り、それについてまだ知らないファイルシステムを頻繁に使用するAV開発者/他の人々に時々走るのは驚くべきことです。必要がないので、平均的なアプリ開発者がそれについて知っているとは思わないが、もしあなたがファイルシステムのことに熱中しているなら... :
ブライアン・ノブラウフ

おそらく、ADSをフォルダーに添付することもできます。フォルダを削除してADSを削除できますが、フォルダがドライブのルートである場合、たとえばドライブを再フォーマットせずにC:ドライブを削除することはできません。私には隠されたルートキットウイルスを作成するためのメカニズムのようです(?)。
HighTechGeek

回答:


98

この質問には2つの側面があります。1つ目は、この機能がまったく存在しない理由であり、2つ目は、GUI(またはコマンドプロンプト)が機能の表示と管理を容易にしない理由です。

有用だからです。他のいくつかのプラットフォームは、ファイルごとに複数のデータストリームをサポートしています。Macでは、たとえばforksと呼ばれていました。メインフレームの世界にも同様のものが存在することは合理的に確信していますが、今日の明確な例に指を当てることはできません。

最新のWindowsでは、ファイルの追加属性を保持するために使用されます。Windowsエクスプローラーから利用できる[プロパティ]ボックスには、シンプルビュー(Windows XPの場合、他のフレーバーとは異なります)に[タイトル]、[件名]、[作成者]などの便利なフィールドがあり、など。そのデータは、ある種のサイドカーデータベースを作成してファイルから簡単に分離されるすべてを保持するのではなく、代替ストリームに格納されます。

代替ストリームは、ファイルがダウンロード時にInternet ExplorerとFirefoxの両方によって適用される信頼されていないネットワークソースから来たことを示すマーカーを保持するためにも使用されます。

難しい質問は、ストリームがまったく存在しないことに気付くための優れたユーザーインターフェイスがない理由と、実行可能なコンテンツをストリームに入れることができ、さらに悪いことに、後で実行することができる理由です。ここにバグとセキュリティリスクがある場合、これがそれです。

編集:

別の回答へのコメントに触発されて、ここでは、アンチウイルスおよび/またはマルウェア対策が代替ストリームを認識しているかどうかを確認する1つの方法を紹介します。

EICARテストファイルのコピーを取得します。有効なx86実行可能ファイルでもあるのは、68バイトのASCIIテキストです。完全に無害ですが、アンチウイルス業界によって、あたかも本物のウイルスであるかのように検出されることに同意しています。発信者は、本物のウイルスを使用してAVソフトウェアをテストすることは、ごみ箱に火をつけて火災警報器をテストすることに少し似ていると考えていました...

EICARファイルは次のとおりです。

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

拡張機能で保存すると、.COM(AVが注意を払っていない限り)実行され、グリーティングが印刷されます。

代替データストリームに保存してスキャンを実行すると有益です。


11
設計上、表示されるファイルサイズは、メインの$ DATAストリームのサイズのみを示します。これはまた、通常必要なものです。また、ファイルサイズにファイル名の長さ(メタデータの一種)を含めないでください。セキュリティリスクであることに関して。ADSは、個々のファイルほどリスクはありません。これらのメカニズムで正常に拡散/隠蔽されたマルウェアは聞いたことがありません。
ジョーイ

4
テキストファイルのADSに保存されている実行可能ファイルを誤って実行することはできません。よく隠されているため、一般ユーザーが誤って実行することはできません。最初に妥協する必要があります。
R.マルティーニ・フェルナンデス

7
@ashh:Martinhoはそれを否定しています-そのようなストリームで実行可能ファイルを見つけるのを困難にする不明瞭さは、積極的に試行せずに実行することも困難にします。これとは対照的に、「隠しファイル拡張子」の大失敗とは、実行可能ファイルはGUIのテキストファイルのように見えても、非常に簡単に実行できるということです。
Shog9

3
少なくとも.COMファイルにリアルタイムの注意を払っているAVがあると仮定すると、AVが.COMファイルへのアクセスを妨げるため、ADSとして添付することはできません(ADSはファイル)。ただし、EICAR文字列を含むテキストファイルを添付し、ADS内に.COM拡張子を付けて名前を付けることができるはずです。すなわち、タイプEICAR.txt> test.txt:EICAR.COM
KTC

2
EICAR.COMファイルについての素晴らしい事実:64ビットバージョンのWindowsでは実行されないため、64ビットマシンを使用しているユーザー全員がこのトリックを実行することはできません(おそらくまだしばらくの間)。
クレッド

15

この機能は、Windows Serverのクロスプラットフォーム機能(mac用サービス)に必要です。

これにより、NTFSで実行されているWindowsサーバーがAFP経由でMacに共有できます。この機能を機能させるには、NTFSファイルシステムがフォークをサポートする必要があり、初日からサポートされています。

質問する前に、この機能はまだ使用されていますか?はい、サポートしているクライアントのサーバーで毎日実行して使用しています。

主なセキュリティの問題は、人やアプリケーションがそこにあることを忘れたり、気付かないときに発生します。

おそらく、合計ファイルサイズにフォークを含めるか、Windowsエクスプローラーで表示するオプションがあるはずです。


2
反対票を投じる場合は、理由についてコメントを残してください。
ブルースマクロード

2
これは、そもそも機能が存在するという完全に妥当な理由のように聞こえます。
RBerteig 2009

3
Macでファイル共有を許可するためだけにこの機能を追加することは、もっともらしい理由とは思えません。ネットワーク経由で共有する場合、ファイルをサーバー側にそのまま保存する必要はありません。ファイルをデータとリソース情報に分割する複数の* nixアップル共有サーバーを見てきました。これはクライアントに対して透過的です。AFPを許可するためだけに実際のドライブ形式を変更することは現実的ではありません。良い利点かもしれませんが、この機能の理由としてではありません。
Simurr

2
ええ、SfMがMSがNTFSでADSを実装した主な理由であると断言するなら、[引用が必要]と考えています。
フレイジャー

3
引用例:... 当初、Macintosh Hierarchical File System、HFSとの互換性を考慮して考案された ADS機能。ファイル情報は、場合によっては別のリソースに分岐されます。代替データストリームは、属性や一時ストレージなどのファイル情報を保存するためのネイティブWindowsオペレーティングシステムなど、さまざまなプログラムによって合法的に使用されるようになりました。ソース:windowsecurity.com/articles/Alternate_Data_Streams.html-JamesBarnett 11
1

5

私は、主な用途の1つ(おそらく意図した用途であっても)が、あらゆる種類のメタデータをファイルに透過的に追加できるようになることを想像しています。ファイルサイズが変更されない理由は、このシナリオでは、元のアプリケーションがファイルの外観の一部に依存しないように、ファイルの外観や動作を変更したくないためです。

たとえば、IDEで興味深い用途を想像できます。複数のファイルが1つのユニット(コードファイル/フォームファイルなど)を形成するために関与する場合があります。

また、特定のディレクトリツリーでそのようなすべての「添付ファイル」を検索するコマンドがあるため、実際には完全に非表示にならないと考えています。また、優れたウイルススキャナーがこれを認識せず、これらの「隠された」領域をチェックすると驚かされますが、故意に感染した実行可能ファイルをテキストファイルに添付し、それが取得されるかどうかを確認することができます。


このような実行可能ファイルへのリンクを投稿して、試してみてください。;)
R. Martinho Fernandes

マシンでAVGを実行し、隔離フォルダーから実行可能ファイルの1つを取得して試すことをお勧めします;)
jerryjvl 09

2
@ martinho、EICARテストファイルが必要です:X5O!P%@ AP [4 \ PZX54(P ^)7CC)7} $ EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$ H + H *ちょうどそのテキストを貼り付けます(正確に68バイトのASCIIテキスト。ストーリー全体についてはeicar.org/anti_virus_test_file.htmを参照してください)。拡張子が.COMのファイルに保存します。実行され、メッセージが出力されます。もちろん、AVが機能していない限り。それを別のデータストリームにドロップし、そこもチェックします。
RBerteig 09

@RBerteig:ちょっとかっこいい...そんなことがあるとは知らなかった。
jerryjvl 09

彼らが言うように@jerryjvl、それは...火にごみ箱を点灯することにより火災警報をテスト打つ
RBerteig

5

これは、Alternate Data Streamsによってもたらされる潜在的なセキュリティ脆弱性に関する優れた記事です。


6
<nitpick>これは脆弱性であり、脅威ではありません</ nitpick>。そして、それは思ったほど大したことではありません。それを使用するには、すでに資格情報が必要です。
ロマンダ09

問題ありません。ところで、スペルをチェックしてください。そして常に忘れないでください:脅威は脆弱性を悪用します。通常、脅威は人間ですが、自然災害や既成の災害も重要です。
ロマンダ09

@romandas、あなたはすでにどのような資格情報を持っている必要がありますか?自宅ではほとんどのWindowsユーザー(特にXP)が管理者権限で実行されているのに、なぜこれが大したことではないのですか?

@ashh、「侵害されたシステムに隠れる方法で...」。何かを隠すために、そしてこのように隠されたものを実行するために、システムは最初に既に侵害されている必要があります。
KTC

5

良い質問です。私は昨年までADSを適切に認識していませんでした。私は長年Windows開発者でした。私はこれについて一人ではないことを保証できます。

ファイルの代替データをチェックできることに関して、フランク・ハイネソフトウェアから入手できるLadsと呼ばれる便利な小さなツールが見つかりました。暗号化されたファイル(およびサブディレクトリ内)を含む、特定のディレクトリ内のすべてのファイルのADSを一覧表示できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.