• 締切
  • 暇なときにでも

FATやNTFSのファイルにUNIX のiノード番号に相当する情報はあるでしょうか?

  • 質問No.4377813
  • 閲覧数1277
  • ありがとう数3
  • 回答数3

お礼率 57% (4/7)

お世話になります。Windows系OSの知識を深めたいと考えている者です。
FATやNTFSでどうしてもわからないことがあります。
御存知の方がおられたら教えて頂けないでしょうか。

UNIX系OS(iノードと呼ばれるファイル管理システムが用いられています)で
管理されるファイルには、iノード番号と呼ばれる情報があります。

UNIXのコマンドで
ls -ali
と入力すれば確認できる情報で、UNIX上にファイルを最初に作成した時に
OSが割り当てるユニークな番号です。

iノード番号は通常の場合はあまり意識しませんが、
悪意のある改ざんをチェックしたりする際に用いられます。

どういうことかというと、
例えばファイルAのサイズが1KB、最終更新日時が10月4日22時22分だと仮定します。

もし悪意のある人がいて、このファイルAを改ざんしようとしたとします。
パソコンで「ファイルのサイズが1KB、最終更新日時が10月4日22時22分」だけれども
ファイルの内容はUNIX上のファイルAと異なるものを作成し、
パソコンでtar等でアーカイブし、それをUNIXに転送し、解凍したものを
UNIX上の本来あるべきファイルAを上書きしたとします。

このようなことを行うと、ファイルサイズやタイムスタンプからは
改ざんが行われたかどうかは確認できませんが、
iノード番号が全く別のものになってしまいます。
(上書きした時点でファイルAの iノード番号が新しいものになります。
UNIX系OS用に Tripwire等の改ざんチェックソフトもありますが、
Tripwire も自分で試したことはありませんが iノード番号をチェックしていると
教えてもらったことがあります。)

説明が長くなりましたが、
(1)FATやNTFSで管理されるファイルに、iノード番号に相当する情報はあるでしょうか?
(2)もしあるなら、どのような方法(DOSコマンドや専用ツール等)で確認できるでしょうか?

以上よろしくお願いします。

回答 (全3件)

  • 回答No.3

ベストアンサー率 42% (64/151)

>(本当にWindowsで動くのでしょうか?)
autopsyのDescriptionを読めば分かるのですが、
>The Sleuth Kit and Autopsy are both Open Source and run on UNIX platforms.
とあるのでWindowsだとCygwinかMinGWを使わないとダメです。SFUでもいいのかもしれませんが使ったことないです。
補足コメント
kodaiseki

お礼率 57% (4/7)

MASA_H 様

御回答ありがとうございます。
Cygwin も MinGW も使用したことがないのですが、
今後確認したいと思います。

以上ありがとうございました。
投稿日時:2008/10/15 08:45
  • 回答No.2

ベストアンサー率 42% (64/151)

Tripwireなんかの改ざんチェックはハッシュのチェックが主な手段じゃなかったかな。ファイルの作り直しならともかく更新ならi-node番号は変わりませんし。
  • 回答No.1

ベストアンサー率 42% (64/151)

1)FATにはありませんがNTFSだとMTFのエントリ番号がそれに当たるのではないかと。
NTFSにおけるハードリンクはMFT内の該当エントリに別の$FILE_NAMEアトリビュートを追加することで実現しています。

2)Autospyかな。
http://www.sleuthkit.org/autopsy/index.php
補足コメント
kodaiseki

お礼率 57% (4/7)

MASA_H 様

御回答ありがとうございます。
せっかく教えて頂いた Autospy ですが、
インストール方法等が理解できず、あきらめてしまいました。
(本当にWindowsで動くのでしょうか?)

ただ、教えて頂いたMFT等をキーワードにいろいろと調べたら、
「リンク作成シェル拡張for Windows 2000/XP」
というフリーのソフトを発見しました。

http://www.vector.co.jp/soft/winnt/util/se184746.html

作者の方からの紹介文にもあるように

・エクスプローラ上でハードリンクの数を表示できます(UNIX信者にはうれしい?)。
・エクスプローラ上で、ファイル一意識別子(64bit値)を16進で表示します。

とあり、これで私の疑問も解決しました。

またANo.2ですが、最近UNIXから遠ざかっていて身近に触れる機会がないのですが、
機会をみつけて確認したいと思います。

以上ありがとうございました。
投稿日時:2008/10/05 18:39
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ