你有没有遇到过这种情况:明明是一个正常的pdf文件,双击打开没问题,但在文件资源管理器的预览窗格里死活显示不出来,只弹出一行字“你尝试预览的文件可能对你的计算机有害”。其实这是windows在告诉你:这个文件来自互联网,我对它多留了个心眼。背后起作用的东西,叫mark of the web(网络之印,简称 motw) 。
一个藏在文件“背面”的小标签。motw这个概念其实从windows xp sp2时代就有了。它的思路很朴素:当文件通过浏览器、邮件客户端等渠道从互联网下载到本地时,系统会在这个文件上悄悄附加一条来源信息。之后操作系统和软件(比如office、powershell、文件资源管理器)就可以根据这条信息,对文件采取额外的安全策略。
这条信息存在哪儿?这里就要说到ntfs文件系统的一个特性——备用数据流(alternate data stream,ads)。平时我们看到的文件内容,存在主数据流里。但ntfs允许同一个文件挂载多个附加数据流,motw就是利用了这个机制,把来源信息写进一个名为zone.identifier的ads。
可以这么理解:文件本身是正面,zone.identifier是背面贴的便利贴。正面该是什么内容还是什么内容,背面的便利贴上写着“此文件来自xxx网站”。
那么问题来了,怎么看到这张便利贴?
方法一:
通过文件属性。鼠标右键文件→属性→常规选项卡,拉到最底下。如果文件带有motw,你会看到一段安全提示,说文件可能被阻止以保护电脑,旁边有一个“解除锁定”的复选框。勾选它再点应用,motw就被移除了,预览限制、宏阻止等随之解除。

方法二:直接读取 zone.identifier内容。
属性窗口只能看到是否带有motw,但看不到具体来源。想看更多信息,可以打开命令提示符或powershell,切换到文件所在目录,执行命令:
notepad idman643build10.exe:zone.identifier
注意将上述命令中的红色字体,替换成你需要检测的文件名。执行命令后自动弹出一个文本文档。里面记录了
里几个字段的含义:
zoneid取值从0到4,分别对应:0是本机、1是本地、2 是可信站点、3是互联网、4是受限制站点。zoneid=3就意味着windows认定这个文件来自互联网。hosturl是文件实际被下载的链接。
需要说明的是,并非每个文件都同时包含这两个字段,具体取决于创建motw的应用程序或浏览器实现。

如果文件被复制到了不支持ads的文件系统(比如fat32或exfat 格式的u盘),或者被某些解压工具解压时没有正确传递motw,标记就会消失。motw自身存在被绕过的记录,近年来微软持续修补 motw相关的安全漏洞。此外,部分第三方解压缩软件(如 bandizip等)也曾被发现解压后不传递motw标记,导致解压出来的恶意文件“洗白”了来源身份。微软也在持续通过安全更新修补这些绕过路径。
所以你看,一个文件从互联网来到你的电脑,就像换了个地方重新开始。它可能被复制、被移动、被重命名,表面上和本地文件毫无区别。但只要你打开属性,或者读一下zone.identifier,它上一世的记忆就还在那里,从哪来一目了然。你可以选择替它抹掉过去,勾一下“解除锁定”即可。
发表评论