(1) MFTレコード内にデータを格納可能
NTFSではデータサイズが800バイト程度以下*であれば、MFT(Master File Table)レコードというファイル管理領域内に格納される。FAT用の抹消ツールには、MFTレコードに格納されているデータに対応していないものがあると予想される。
MFTについては「NTFSではフラグメントは発生しにくい?―NTFS基礎のキソ―」(http://www.atmarkit.co.jp/fwin2k/experiments/defragment/defragment_column.html)などを参照。
* この、1つのMFTレコード内に納まるデータ量である「800バイト程度以下」が実際どのくらいかというと、ハンドルネーム「kotsu」様から「752バイトまで入った」と教えてもらいました。kotsu様、ありがとうございました。
(2) 代替データストリーム
データストリームは、セクタやクラスタとは別の、ファイルの論理的な構成要素だ。NFTSではファイルを複数のデータストリームで構成できる。メインのデータストリームはFAT用のツールで読み書きが可能だが、それ以外のデータストリーム(代替データストリーム)の読み書きができないものもある。
代替データストリームについては「プログラマから見たNTFS 2000 Part1: ストリームとハードリンク」(http://www.microsoft.com/japan/msdn/windows/windows2000/ntfs5.asp)などを参照。
NTFSのデータ抹消の問題には、他にもスパース・ファイルとかEFSで暗号化した場合の一時ファイルといったものがあるが、本稿では扱わないことにする。
上記(1)(2)について検証するため、本稿では以下のファイルをテストに用いる。
代替データストリームは、以下のコマンドでファイルに追加した。コマンドラインでは、「ファイル名:代替データストリーム名」という形式を使う。
C:\>type hidden.txt > alt.htm:stream2
代替データストリームの内容は、通常のブラウザやテキストエディタでalt.htmを読み込んでも表示されない。コマンドを以下のように使うと、表示できる。
C:\>more < alt.htm:stream2
コマンドにデータストリームを扱う機能があるのは、Windows NT/2000/XP以降である。
230MBのMO(光磁気ディスク)をNTFSでフォーマットしたものを使用する。
商用のデータ復元ツールには、[FAT編]と同じく「ファイナルデータ 2.0 DELUXE 試供版」(株式会社アルファ・オメガソフト)を使用する。
ファイナルデータには、データの先頭クラスタ番号が削除されていても、上書きされていないデータがHTMLやMS-Word(*.doc)であれば、ファイルとして復元する機能がある。テストにはHTMLファイルを使用するので、抹消が不完全であれば、HTMLファイルが復元されるわけだ。なお、テキストデータはこの機能の対象外であり、データの先頭クラスタ番号が削除されている場合、復元ができない。
また、ファイナルデータを使った復元テストとともに、抹消前のデータが存在したセクタのダンプ表示も行う。
ダンプ表示には、Windows 2000/XPのインストールCD-ROMに収録されているDiskProbeを使用する(インストールCD-ROM\SUPPORT\TOOLS\SETUP.EXEでインストールする)。
ダンプ表示のため、テストデータが存在するセクタ番号をあらかじめ調べておく。これは、ファイルを削除/抹消する前に、ファイナルデータでディスクをスキャンすることでわかる。
抹消ツールを使用した場合と比較するため、ファイルを削除した場合、ディスクをNTFSでクイックフォーマットした場合、ディスクをNTFSで通常フォーマットした場合のそれぞれについて、ファイナルデータで復元を試みた。
結果(概要)
通常の削除
3つのファイルすべてについて、ファイル名、データとも完全に復元される。代替データストリームも条件が合えば復元される。代替データストリームがファイナルデータで復元できない場合でも、データ自体は残っているため、ディスクダンプを行えば表示できる。
NTFSでクイックフォーマット
NTFSで通常のフォーマット
クイックフォーマットとまったく同じ結果になった。
NTFS編で最初に検証するツールは、Microsoft自身がテストしているはずのcipher.exeだ。
結果(概要)
「復元」は名前のとおりデータ復元ツールだが、ディスク未使用領域の抹消機能も持つ。実行方法が簡単なので利用者数も多いと思い、テストすることにした。
NTFSフォーマットのハードディスクについての追記
「復元」の「完全削除」機能がNTFSで機能しないのは、NTFSフォーマットのMOの場合のようだ。NTFSフォーマット、容量160GBのハードディスクでテストしたところ、正しく抹消できていた。ハードディスクについては、NTFSフォーマットでも正しく抹消できるのだろう。MOをNTFSでフォーマットしている場合はあまりないと思うが、もしそういうMOを「復元」で抹消したいなら、いったんFATでクイックフォーマットすること。また、MO以外のリムーバブルメディアについては未確認なので、注意してほしい。
結果(概要)
ファイルを選択して削除した後、完全削除を実行した。
つまりNTFSフォーマットのディスクを抹消する場合は、「復元」の完全削除機能を使うべきではないといえる。
ちなみに「復元」自体を使ってスキャンした場合は、これらのデータは検出されなかった。この結果を追試する場合は、抹消結果を「復元」自体で検証せず、別の復元ツールか、ディスクダンプツールを使うこと。
「復元」の完全削除機能は、FATフォーマットでは正しく動作するので、FAT用としては問題はない。
Copyright (C) Cybernetic Survival Network. All Rights Reserved.