以前のバージョンのWindowsでは、SmartScreenフィルターはInternet Explorerの機能でしたが、Windows 8では、Windowsファイルシステムの一部になりました。しかし、どのファイルがダウンロードされ、どのファイルがPCから発信されたのかをどのようにして知るのでしょうか。 How-ToGeekがファイルシステムでどのように調査を行ったかを確認するために読んでください。
注:この記事で提供される情報は、教育目的のみです。
では、マジックとは何ですか?
ここで使用されている魔法は、実際にはかなり単純なテクノロジー、特にインターネットゾーンで構成されています。
これらのインターネットゾーンの設定にアクセスできるのはInternetExplorerからのみですが、これらはWindows全体のさまざまな場所で使用されています。インターネットゾーンからのファイルをダウンロードするたびに、そのファイルには特別なゾーン識別子がタグ付けされ、この識別子は代替データストリームに保存されます。これを確認するために、お気に入りのスクリプト言語であるPowerShellをバストオープンすることにしました。ダウンロードフォルダ内の各ファイルの代替データストリームを確認するために、次のスクリプトを作成しました。
$ Files = Get-ChildItem -Path C:\ Users \ Taylor \ Downloads
foreach($ Filesの$ File)
{
Get-Item $ File.FullName -Stream *
}
リストの最後のファイルには、Zone.Identifierという追加のデータストリームがあります。これが私たちが話していたものです。 Windowsでファイルを開くと、この特別なデータストリームがチェックされ、SmartScreenが存在する場合はトリガーされます。真のオタクのやり方で、データストリーム内を覗いて、どのような情報が保持されているかを確認することにしました。
Get-Item -Path C:\ Users \ Taylor \ Downloads \ socketsniff.zip -Stream Zone * | Get-Content
それは私たちにとって何の意味もないかもしれませんが、SmartScreenを回避する方法について考えさせられました。
Windows8でSmartScreenを回避する方法
それを回避する最初の方法は、GUIを使用することです。Zone.Identifierデータストリームを含むファイルがある場合は、ファイルのプロパティから簡単にブロックを解除できます。ファイルを右クリックしてコンテキストメニューからそのプロパティを開き、[ブロック解除]ボタンをクリックするだけなので、ファイルを開いたときにSmartScreenがトリガーされません。
PowerShell 3の新しいブロック解除ファイルコマンドレットを使用することもできます。これは、ブロック解除ボタンをクリックするのと同等のスクリプトです。
$ Files = Get-ChildItem -Path C:\ Users \ Taylor \ Downloads
foreach($ Filesの$ File)
{
ブロック解除-ファイル–パス$ File.Fullname
}
SmartScreenを回避する最後の方法は、ダウンロード元のWebサイトをInternetExplorerのイントラネットゾーンに追加することです。
もちろん、そのゾーンはイントラネットサイト用に予約されており、リスト内のそれらのサイトから発生するマルウェアに対して脆弱になるため、絶対に行わないことをお勧めします。その点について、PC上のファイルを検索するためのこのスクリプトを残しておきます。インターネットゾーンから発信されました。
$ Files = Get-ChildItem -Path C:\ Users \ Taylor \ Downloads
foreach($ Filesの$ File)
{
Get-Item $ File.FullName -Stream * | %{if($_.Stream -like “Zone*”){$File.Name}}
}
これですべてです。