Windows 10で、ダウンロードしたファイルのブロック設定を解除するTech TIPS

Windowsでは、インターネットからダウンロードしたファイルをすぐ実行しようとしても、「保護されました」などと表示されることがある。その原因である「ゾーン情報」の解除方法を解説。

» 2016年03月11日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
Tech TIPS
Windows Server Insider


「Tech TIPS」のインデックス

連載目次

対象OS:Windows 10



解説

 Windows上のWebブラウザでインターネットからファイルをダウンロードしたり、メールなどに添付されていたファイルを保存したりしたとしよう。そのファイルをエクスプローラでダブルクリックして実行しようとしても、いったん警告ダイアログが表示され、明示的に[実行]ボタンをクリックしないと起動できないことがある(実行ファイル以外のファイルをクリックした場合や、コマンドプロンプトから直接起動した場合、SmartScreenによって安全性が検証されている場合などは表示されない)。

■ローカルのファイルを実行しようとした場合

ローカルのファイルを実行しようとした場合のブロック例

■リモートのファイルを実行しようとした場合

リモートのファイルを実行しようとした場合のブロック例 ファイルの実行のブロック
Windows 10上でインターネットからダウンロードしたファイルを実行しようとすると、このような確認ダイアログが表示されることがある。下の画面は以前のWindows OSにおける画面と同じである。Windows 10ではネットワーク経由で実行しようとすると、常にこの画面が表示される。これに対して、Windows 10のローカルに保存されているファイルを実行しようとすると、Windows SmartScreen機能によって上側のようなブロック画面が表示されることがある。いったん許可すると、以後は許可なしで実行できるようになる。
  (1)これらのボタンをクリックしないと実行できない。

 このような確認ダイアログが表示されるのは、インターネットからダウンロードされたファイルには特別な「ゾーン識別子(Zone Identifier)」情報が付いているからである(Internet ExplorerやMicrosoft Edge、Google Chromeなど、どれでダウンロードしてもこの情報は付加される)。これは、マルウェアなど不正で危険なプログラムが含まれている可能性のあるファイルを本当に実行してよいのか、一度ユーザーに警告して判断を仰ぐことにより、少しでも危険性を軽減するための仕組みだ。詳細はTIPS「XP SP2のZoneIdとは?」を参照していただきたい(古い記事だが、対象がWindows 8.1以前であれば、その仕組みはほとんど同じである)。

 当該ファイルに危険性がないことを確認しつつ、このゾーン識別子を削除または変更しておけば、このような確認ダイアログは表示されなくなる。本TIPSではその方法を紹介する。

操作方法

 ゾーン識別子の情報を削除する方法は、以前のWindows OSの場合と同じである。まず対象となるファイルのプロパティ画面を表示させる。すると画面下部の「セキュリティ」グループに[ブロックの解除]というチェックボックスがあるので、これをオンにする。

ブロックの解除 ブロックの解除
インターネットからダウンロードされたファイルの実行をブロックされないようにするには、ファイルのプロパティ画面で設定を変更する。
  (1)「ゾーン識別子」情報を持つファイルには、このような情報が表示される。何も表示されない場合は、最初からゾーン情報を持っていないファイルか、既に削除済みか、もしくは既に一度実行を許可したファイルのいずれかである。
  (2)少しややこしいが、このチェックボックスを「オン」にするとゾーン情報が「削除」される。以前のWindows OSでは、この部分は[ブロックの解除]というボタンになっていたため、もう少し分かりやすかった。
  (3)これをクリックして変更を適用する。

●補足1――ゾーン識別子情報とは?

 ゾーン識別子とは、実際にはNTFSの代替データストリーム(ストリーム名はZone.Identifier)に格納された、ファイルのダウンロード元(インターネットゾーンか、それとも制限付きゾーンか)を示すテキスト情報である。代替データストリームがあるかどうかはコマンドプロンプト上で「dir /r」コマンドを実行すると確認できる(TIPS「dirやPowerShellでNTFSの代替データストリーム情報を表示する」参照)。メモ帳で「notepad filename.exe:Zone.Identifier」のようにしても操作できる。

C:\Download>dir ChromeSetup.exe /r  …代替ストリームの表示
 ドライブ C のボリューム ラベルは Windows 10 Pro です
 ボリューム シリアル番号は D6E6-AA0A です

 C:\Download のディレクトリ

2016/03/10  12:10   987,728 ChromeSetup.exe  …メインストリーム
                         28 ChromeSetup.exe:Zone.Identifier:$DATA  …代替ストリーム
         1 個のファイル       987,728 バイト
         0 個のディレクトリ  66,475,655,168 バイトの空き領域

C:\Download>more < ChromeSetup.exe:Zone.Identifier  …代替ストリームの内容の表示
[ZoneTransfer]  …ゾーン情報
ZoneId=3

C:\Download>
……(ここで一度Explorerから実行を許可してみる)……
C:\Download>more < ChromeSetup.exe:Zone.Identifier  …もう一度確認する
[ZoneTransfer]
AppZoneId=4  …変更されている

C:\Download>



●補足2――Windows 10での変更点

 Windows 10ではこのゾーン識別子の扱いに少し変更が加えられている。(ネットワークドライブなどではなく)ローカルにあるファイルを実行する場合は、Windows SmartScreenによって実行をブロックする画面が表示されることがある(実行ファイルが適切なデジタル署名を持っていて安全性が確認されている場合などでは表示されない)。だが、いったんユーザーが実行を許可すると、以後は確認ダイアログは表示されなくなる。この場合、ゾーン識別子情報(代替データストリーム)が削除されるのではなく、元の「ZoneId=3」という情報が「AppZoneId=4」に書き換えられている(「ZoneId=4」ではない。これだと完全に実行がブロックされる)。

●補足3――ゾーン識別子情報を付加させないようにするには?

 インターネットゾーンからダウンロードしたファイルには、デフォルトで自動的にゾーン識別子が付加される。これを無効にするにはレジストリやグループポリシーで操作する。

項目 内容
キー HKEY_CURRENT_USERの
\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments
Attachmentsキーが存在しない場合は作成すること
値の名前 SaveZoneInformation
REG_DWORD
1 (ゾーン情報を付加しない)
値を削除するか2に設定する (ゾーン情報を付加する)
ゾーン情報を付加させないための設定
ユーザーアカウントごとに設定する必要がある。

 グループポリシーやローカルポリシーを使う場合は、[ユーザーの構成]−([ポリシー])−[管理用テンプレート]−[Windowsコンポーネント]−[添付ファイル マネージャー]にある[ゾーン情報を添付ファイルに保存しない]を[有効]にする。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。