このページの本文へ

Windows Info 第100回

インターネットからダウンロードしたファイルはZone.Identifierでセキュリティ管理をする

2017年09月17日 10時00分更新

文● 塩田紳二 編集● ASCII編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

NTFSの代替データストリームとは
ファイルやフォルダに付けられる付加情報

 NTFSの代替データストリーム(Alternate Data Stream。以下ADSと略す)は、ファイルやフォルダと関連付けられ、独立した内容を保持するNTFS上の記憶領域だ。

 簡単にいうとNTFS上のファイルやフォルダには、すべてADSと呼ばれる付加情報を一体にして記憶できる。ADSは、NTFS上にある限りファイルと一体で存在し、コピーや移動によって変化することはないが、ファイルを上書きしたり、メモリカードやUSBメモリなどFAT32などのファイルシステムへコピーすると消えてしまう。ADSには、それぞれ名前(ファイル名と同じルール)が付けられる。

 同様の機能は、OS/2やNetware、Linuxなどにも見られる。またプラットフォームによって「拡張アトリビュート」、「メタデータ」などさまざまな呼び方がある。

 NTFSのADSは、すべての通常ファイル、通常フォルダに追加することが可能だ。また、ADSは1つのファイルに複数追加することもできる。ADSの扱いは基本的にはアプリケーション側に任されており、どのような名前(ただしファイル名と同じルール)を付け、何を保存するのかはまったくの自由だ。見方を変えると、ファイルとは、複数の内容(ストリーム)からできていて、普段は名前のないストリームをアクセスしているといってもいいかもしれない。

 ADSは、Windowsが管理のために利用しているが、アプリケーションからも自由に使うことができる。ただし、Windows Explorerには、ADSを表示するなどの機能がなく、標準機能でADSを扱うには、コマンドプロンプトでコマンドを使う必要がある。また、ADSには、ファイルのパス同様、アクセスのための表記方法がある。たとえば、C:\XYZ\ABC.TXTといったファイルがあったとき、sampleという名前のADSは、

C:\XYZ\ABC.TXT:sample

としてパス指定ができる。なお、Windowsは、MS-DOS時代からの慣習でアルファベット1文字と「:」の組合せを常にドライブ文字として認識するため、カレントフォルダのアルファベット1文字のファイル名でADSを指定する場合は、

.\X:sample

としてファイル名であることが判別できるように指定する必要がある。

 しかし、このパス表記を受け付けるかどうかはプログラム次第だ。通常のプログラムは、単純にファイルのみをアクセスするため、ADSのパス表記を受け付けないものがほとんどだ。

 ただし、コマンドプロンプトでは、ファイルのリダイレクト指定がこの表記を受け付ける。簡単にコマンドラインによる操作を示す。

代替データストリーム(ADS)は、コマンドプロンプトでは、リダイレクト表記で利用できる

 前記の構文は、ファイルのリダイレトでは確実に受け入れてくれるため、echoやmoreコマンドとファイルのリダイレクトを行なわせて、ファイルを読み書きしている。ただし、ストリームは常にテキストとは限らず、ファイル同様にバイナリデータを含むことも可能である。Dirコマンドの/Rオプションでは、代替データストリームがあれば、それを表示する。

 なお、Dirコマンドで表示されるADSの最後についてる「:$DATA」はそのストリームがデータストリームであることを示す代替データストリームの種別である。なお、Windowsは、:$data以外の種別も定義している。このあたりについては、以下のマイクロソフトのドキュメント(英語)を見ていただきたい。

https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa364404(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/dn410405.aspx

インターネットからダウンロードしたデータには
Zone.Identifierという代替データストリームが付く

 WindowsによるADSの利用には、インターネットからダウンロードしたファイルのセキュリティ管理がある。これは、ファイルに付けられるADSの名前から「Zone.Identifier」と呼ばれている。IEなどがファイルのダウンロードをした場合に、該当のファイルにADSを付け、ダウンロード元のインターネットゾーン(IEなどのセキュリティ管理範囲)やダウンロード元URLなどの情報を付加するものだ。

 ファイルを開こうとすると、インターネットからダウンロードした旨のメッセージが表示されることがあるが、それは、このZone.Identifierの情報を見ているためだ。つまり、インターネットからダウンロードしたファイルには、Zone.Identifierという代替データストリームが付いている。もちろん、NTFS内に置かれていれば、ファイルをコピーしたり移動させても、ADSはそのまま残る。

 実際にインターネットからダウンロードしたファイルが持つZone.Identifierとその内容を表示させたのがだ。

インターネットからダウンロードしたファイルには、Zone.Identifierという代替データストリームが付加される

 このように、Zone.Identifier ADSの中身はテキストファイルで、いくつかの行から構成されている。具体的には、

HostIpAddress:ダウンロード元のホストIPアドレス
ZoneId:インターネットゾーン(3=インターネット)
ReferrerUrl:ダウンロードを開始したページのURL(HTTPリファラ)
HostUrl:ファイルのダウンロードURL

となっている。ただし、ブラウザで「名前を指定して保存」などを使うとReferrerUrlが記録されないことがある。

 これを利用すると、過去にダウンロードしたファイルから、ダウンロード元を調べることが可能になる。簡易には、Dir /rでZone.Identifierの有無を確認したあと、

more < ファイル名:Zone.Identifier

でダウンロード元URLを得ることができるが、自動処理を考え、PowerShellを使ってフィルターを作ってみた。Batchでは、ADSの内容を扱うのにはちょっと無理がある。

 PowerShellについては、別途解説したいと考えているが、ここでは、ファイルに対応したPowerShellのFileObjectに「HostUrl」と「ReferrerUrl」というプロパティを追加するフィルターを考えた。このようにすることで、いろいろと応用が可能になる。

filter add-zoneidentifier {
  $hurl=($_ | get-content -Stream Zone.Identifier -ErrorAction SilentlyContinue | Where-Object {$_ -match "HostUrl="});
  $rurl=($_ | get-content -Stream Zone.Identifier -ErrorAction SilentlyContinue | Where-Object {$_ -match "ReferrerUrl="});
  if (-not [string]::IsNullOrEmpty($hurl)) {
    $_ | Add-Member "HostUrl" $hurl.substring("HostUrl=".length);
    }
if (-not [string]::IsNullOrEmpty($rurl)) {
    $_ | Add-Member "ReferrerUrl" $rurl.substring("ReferrerUrl=".length);
    }
  return $_
  }

 PowerShellのコマンドウィンドウから、

dir *.pdf | add-zoneidentifier | Format-List name,HostUrl,ReferrerUrl

とすれば、カレントディレクトリにあるpdfファイルのHostUrlやReferrerUrlを表示させることが可能だ。

リスト01のフィルターを使うと、PowerShellのFileObjectにZone.Identifierの情報がプロパティとして付加される

 さらに

start microsoft-edge:$((dir ダウンロードファイル名 | add-zoneidentifier).ReferrerUrl)

として、ダウンロードリンクのあるページ(ReferrerUrl)を直接ブラウザ(Edge)で開くことが可能になる(もちろんReferrerUrlが記録されている場合のみ)。また、最後の部分の「ReferrerUrl」を「HostUrl」に変えれば、再ダウンロードやブラウザでの表示ができる。

カテゴリートップへ

この連載の記事
1
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
¥26,880
2
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥36,979
3
HP ノートパソコン 15-fd 15.6インチ インテル Core Ultra 5 125H メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M7PA-AAAF)
HP ノートパソコン 15-fd 15.6インチ インテル Core Ultra 5 125H メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M7PA-AAAF)
¥134,377
4
Apple 2025 MacBook Pro 10 コアCPU、10 コアGPU のM5 チップ搭載ノートパソコン:Apple Intelligence のために設計、14.2 インチLiquid Retina XDR ディスプレイ、16GB ユニファイドメモリ、512GBのSSD ストレージ - スペースブラック
Apple 2025 MacBook Pro 10 コアCPU、10 コアGPU のM5 チップ搭載ノートパソコン:Apple Intelligence のために設計、14.2 インチLiquid Retina XDR ディスプレイ、16GB ユニファイドメモリ、512GBのSSD ストレージ - スペースブラック
¥238,747
5
Lenovo Chromebook クロームブック IdeaPad Flex 3i Gen8 12.2インチ インテル® プロセッサー N100搭載 メモリ4GB eMMC 64GB バッテリー駆動12.0時間 重量1.25kg アビスブルー 82XH001KJP
Lenovo Chromebook クロームブック IdeaPad Flex 3i Gen8 12.2インチ インテル® プロセッサー N100搭載 メモリ4GB eMMC 64GB バッテリー駆動12.0時間 重量1.25kg アビスブルー 82XH001KJP
¥39,800

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥1,880
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
3
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥980
4
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
5
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
6
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
7
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
8
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,555
9
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
¥1,980
10
バッファロー USBメモリ 32GB USB3.2(Gen1)/3.1(Gen 1)/3.0/2.0 充実サポート RUF3-K32GA-BK/N
バッファロー USBメモリ 32GB USB3.2(Gen1)/3.1(Gen 1)/3.0/2.0 充実サポート RUF3-K32GA-BK/N
¥880

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン