代替データストリーム(ADS)ファイルの作成・削除・検索
代替データストリーム(ADS)にご興味をお持ちですか?代替データストリームは、NTFSファイルシステムで提供される特殊な機能です。本記事では、この機能に焦点を当て、代替データストリームの作成方法や削除方法、検索方法について紹介します。
代替データストリームとは?
代替データストリーム(ADS)とは、WindowsのNTFS(New Technology File System)ファイルシステムにおいて利用される特殊なデータストリームのことです。通常のファイルには「メインストリーム」と呼ばれるデータストリームが存在しますが、代替データストリームでは、さらに追加のデータを格納することができます。
代替データストリームの概要
- プライマリーデータストリームと呼ばれる通常のファイルに加えて、プライマリー以外の複数のデータストリームを1つのファイルに格納することができます。
- プライマリーデータストリームは、通常目に見えるファイルであり、「無名のメインストリーム」とも呼ばれます。これはファイルやディレクトリの標準的なコンテンツを指します。プライマリデータストリームファイルはホストファイルであり、Windowsエクスプローラーを使用して確認できます。
- 一方、プライマリー以外のデータストリームは、名前を持つデータストリームです。これらは代替データストリームとも呼ばれ、ユーザーには目に見えず、Windowsエクスプローラーでは表示されません。
代替データストリームは、ファイルに関連付けられた補足情報やメタデータ、補助データなどを格納するのに利用されます。一つのファイルに複数の代替データストリームを持つことも可能であり、それぞれのデータストリームは独立してアクセスすることができます。
代替データストリームは一般的には見えないため、通常のファイル操作では意識することがありません。ただし、特定のツールやコマンドを使用することで、代替データストリームを操作したり検出したりすることができます。
代替データストリームは、データの追加情報やセキュリティ属性の保存など、さまざまな用途で活用されます。しかし、一般的なファイル操作では意識しないことが多いため、利用する場合は適切な知識と注意が必要です。
代替データストリームの利用範囲
NTFS代替データストリームは、元々MacintoshのHFS+ファイルシステムとの互換性を持つように設計されています。この技術により、ファイルリソースに関連データを代替データストリームとして書き込むことができます。そして、書き込まれたデータは簡単な方法で読み出すことができます。また、これらのデータは独立したファイルとして読み込みや実行も可能です。
- さらに、代替データストリームには他にもさまざまな機能があります。例えば:
- キーワード、要旨、音声ファイル、画像など、ファイルに関連するデータを保存することができます。
- 代替データストリームが作成したファイルは見えず、ホストファイルの大きさや内容は変わりません。これにより、ファイルを隠すことができます。
- アクセスしてはいけない危険度の高いファイルを識別することができます。
- Windowsの添付ファイルマネージャーでは、ADSをファイルスキャナーとして使用し、ダウンロードしたファイルの安全性を確認します。
- SQLデータベースサーバーは、ADSを使用してデータベースの整合性を維持します。
- Citrixの仮想メモリでは、ADSを使用してDLLの読み込み速度を向上させます。
- カスペルスキーなどのアンチウイルスアプリケーションでは、ADSを利用してスキャン技術を強化しています。
しかしながら、代替データストリームファイルは見えなくても実行可能であるため、多くのハッカーがウイルスの作成に悪用しています。このため、適切なセキュリティ対策が必要です。
代替データストリームファイルの作成方法
ADSファイルには、孤立したADSファイルと関連したADSファイルの2種類が存在します。
孤立したADSファイルを作成する唯一の方法は、コマンドプロンプトで「echo コンテンツ > :adsファイル名」というコマンドを使用することです。また、孤立したADSファイルを開くには、「notepad :adsファイル名」というコマンドが必要です。ただし、実際の状況に応じてコンテンツとADSファイル名を適切に置き換えてください。
関連したADSファイルを作成する場合は、いくつかの方法があります。関連したADSファイルを作成するには、echoコマンドまたはtypeコマンドを使用します。以下のガイドを参考にしてください。
ステップ 1. 「コマンドプロンプト」を管理者として実行します。ADSファイルを作成したいドライブに移動し、「dir」コマンドを使用してドライブ内のファイルを確認します。ファイルの拡張子からファイル形式を把握することができます(dirはディレクトリを指します)。
ステップ 2. ADSファイルを作成し、開きます。
- 「echo コンテンツ > ホストファイル名:adsファイル名」(例えば:echo AOMEI Partition Assistant Standard > file.docx:ads.txt)と入力すると、コンテンツ(AOMEI Partition Assistant Standard)がADSファイル(ads.txt)に書き込まれ、ホストファイル「file.docx」と関連付けられることが確認できます。
- 「type adsファイル > ホストファイル:adsファイル」(例えば:type txt.txt > file.docx:txt.txt)と入力すると、Dドライブに「txt」と「file.docx」の2つのファイルが存在することが確認できます。その後、「txt.txt」ファイルをADSファイルに変更し、ホストファイル「file.docx」に格納されます。この場合、typeコマンドを使用します。
- サブディレクトリにADSファイルを作成する場合は、まずドライブを開き、「cd ディレクトリ名」でサブディレクトリに移動してください。
- ホストファイルおよびADSファイルは、実行ファイル、画像、ドキュメント、フォルダー、圧縮ファイルなど、さまざまな種類に設定することができます。なお、ホストファイルはドライブ(c:\、e:\など)である可能性があります。
- ADSファイルが正常に作成されたかどうかを確認するために、「dir /r」コマンドを使用することができます。
- ADSファイルの開き方は、ファイルの種類によって異なります。たとえば、ADSファイルがテキストファイルの場合はメモ帳で、ADSファイルが画像ファイルの場合はmspaintで開くことができます。
- ADSファイルを開いた後、編集、修正、保存などの操作が可能になります。
代替データストリームファイルの実行方法
Windows XP時代では、「start」というコマンドを使用して、実行可能なADSファイルを実行することができました。しかし、マイクロソフトはこのセキュリティ上の脆弱性を修正しました。現在では、ADSファイルを実行するためには、以下の2つのコマンドを使用します。
►wmicプロセスコールを使用して「adsファイルのパス」を作成します。この際には、「プロセスID」を指定します。その後、「タスクマネージャー」を開き、「詳細」タブに移動すると、該当のプロセスを特定することができます。
►mklink「ファイルのパス」「adsファイルのパス」というコマンドを使用します。このコマンドにより、ADSファイルへのシンボリックリンクが作成されます。そして、そのシンボリックリンクファイルを実行することで、ADSファイルを実行することができます。「タスクマネージャー」を開き、「詳細」タブに移動すると、adsファイルが実行されていることが確認できます。
- ★ヒント:
- 実行可能なADSファイルは、単体で完全なプログラムファイル(たとえば、セットアッププログラム)である場合にのみ正常に実行されます。それ以外の場合は、重要なファイル(.dllファイルなど)が不足しているために実行できません。
- 最初の方法を使用すると、「docx:setup.tmp」というプロセスが見つかります。一方、2番目の方法を使用すると、「xxads.tmp」というプロセスが見つかります。これは、2つの方法の違いかもしれません。
代替データストリームファイルの検索方法
ADSファイルを検索するためには、「dir /r」というコマンドを使用することができます。ただし、このコマンドでは現在使用中のフォルダー内のADSファイルのみを検索できます。サブフォルダー内のADSファイルを検索する場合は、まずサブフォルダーを開いて(例:dir サブフォルダー名)、その後コマンドを使用してADSファイルを表示する必要があります(例:dir サブフォルダー名 /r)。また、lads.exeというツールを使用することでもADSファイルを検索することができます。
代替データストリームファイルの削除方法
見つかったADSファイルを削除する方法は以下の3つあります。
- ホストファイルを直接削除する方法です。ADSファイルを含むホストファイルを選択し、削除操作を行います。
- ホストファイルをNTFS以外のパーティション(たとえば、FAT32やFAT)に移動する方法です。ADSファイルを含むホストファイルを選択し、別のパーティションに移動させます。
- マイクロソフトが提供するexeファイルを使用して、ストリームを削除する方法です。マイクロソフトが提供するexeツールをダウンロードし、それを使用してADSファイルのストリームを削除します。この方法は、特定のADSファイルに対してのみ使用できる場合があります。
以下は、代替ストリームを削除するためのstreams.exeを使用する方法のガイドです。
ステップ 1. 代替データストリームファイルが実行されていないことを確認します。
ステップ 2. マイクロソフトのウェブサイトからstreams.exeユーティリティをダウンロードし、適当な場所に解凍します。
ステップ 3. 解凍されたフォルダー内の「streams」アプリケーションを開きます。
ステップ 4. 代替ストリームを削除したいファイルのパーティションのルートディレクトリ(例:c:\)に「streams」アプリケーションを移動します。
ステップ 5. コマンドプロンプトを開き、「streams -d ホストファイルのパス」のコマンドを入力します。 このコマンドを実行すると、選択したホストファイルに関連するすべての代替データストリームが削除されます。
- dir /rコマンドは、孤立したADSファイルを表示しません。
- 孤立したADSファイルを削除するには、その上位ディレクトリを削除する必要があります。ただし、Streams.exeツールは、孤立したADSファイルの削除をより簡単に行うことができます。上の画像では、Eディレクトリに孤立したADSファイルを作成しました。そして、「streams -d e:\」コマンドを使用して、この孤立したADSファイルを削除しました。
この方法により、ホストファイルに関連するすべてのADSファイルが削除されます。
パーティションをNTFSに変換する方法
前述の通り、代替データストリームはNTFSファイルシステムでのみ利用可能です。代替データストリーム機能を使用したい場合は、まずパーティションがNTFSファイルシステムであることを確認してください。
もし現在のパーティションがFAT32ファイルシステムである場合、信頼性が高く、使いやすいAOMEI Partition Assistant Professionalを使用することで、データを失うことなくNTFSに変換することができます。
また、パーティションが他のファイルシステムである場合は、まずデータをバックアップしてから、そのパーティションをNTFSとしてフォーマットすることができます。
ステップ 1. AOMEI Partition Assistant Proをダウンロードし、インストールし、起動します。変換するパーティションを右クリックし、「詳細処理」を選択し、「NTFSパーティションに変換」をクリックします。
ステップ 2. ミニウィンドウで「はい」をクリックします。
ステップ 3. 「適用」をクリックして、変換を開始します。
または、ツールバーにある「変換」⇒「NTFS to FAT32変換器」をクリックし、「FAT32 to NTFS」を選択し、「次へ」をクリックします。そして、変換するパーティションを選択し、「次へ」をクリックします。最後に、「続行」をクリックし、操作を実行します。
AOMEI Partition Assistant Professionalを使用すると、パーティションをフォーマットしたり、データ損失の心配なしにパーティションをNTFSとFAT/FAT32間で変換したりすることができます。このソフトウェアは、Windows 10だけでなく、Windows 11/8.1/8/7、Windows Vista、XP、および2000 Professional SP4にも対応しています。さらに、AOMEI Partition Assistant Proには、「ディスクの管理」機能に加えて、パーティションの移動やパーティションのサイズ変更などの機能も備わっています。これにより、パーティションの操作が容易に行えます。
代替データストリームに関連するよくある質問
Q1:代替データストリームとは何ですか?
A1:代替データストリームは、WindowsのNTFSファイルシステムで使用される一種のデータストリームです。通常のファイルに追加のデータを関連付けることができ、隠れた情報や補足的なコンテンツを格納することができます。
Q2:代替データストリームはどのように利用できますか?
A2:代替データストリームは、ファイルに関連情報やメタデータを保存するために使用されることがあります。例えば、ファイルの説明文や作者情報などを格納することができます。
Q3:代替データストリームファイルを作成する方法はありますか?
A3:代替データストリームファイルを作成するには、Windowsのコマンドプロンプトやサードパーティのツールを使用することができます。具体的な方法については、Windowsの公式ドキュメントや関連するガイドを参照してください。
Q4:代替データストリームファイルを検出する方法はありますか?
A4:代替データストリームファイルを検出するには、コマンドプロンプトで「dir /r」コマンドを使用するか、サードパーティのツールを利用する方法があります。
Q5:代替データストリームファイルを削除する方法はありますか?
A5:代替データストリームファイルを削除するには、Windowsのコマンドプロンプトやサードパーティのツールを使用することができます。適切なコマンドや手順については、関連するガイドやツールのドキュメントを参照してください。
Q6:代替データストリームはどのようにセキュリティ上のリスクと関連していますか?
A6:代替データストリームは、悪意のあるソフトウェアやマルウェアによって悪用される可能性があります。したがって、信頼されたソースからのファイルのみを処理することが重要です。
最後に
代替データストリーム(Alternate Data Stream)とは何か?その機能とは?ファイルのどのような側面に利用できるのか?代替データストリームファイルを作成・実行する方法は?代替データストリームファイルを検出/検索・削除する方法は?本記事では、これらの疑問にお答えしました。
この記事がお役に立ちましたでしょうか?他にデータストリームに関するアイデアはありますか?代替データストリームの良い活用方法をご存じですか?ぜひ、以下のコメント欄に情報を共有してください。また、AOMEI Partition Assistant Professionalのご利用に関してお困りの点があれば、[email protected]までお問い合わせください。迅速に対応いたします。