我的 Windows 10 机器有大量 NTFS备用数据流名为Win32App_1
附加到整个系统驱动器中的各个文件夹。NoVirusThanks 的流检测器将它们检测为零大小$DATA
流。
有谁知道是什么造成了这些流?
Windows Defender 离线扫描未检测到任何有害内容。
我还看到了很多Zone.Identifier
$DATA
流,尽管我已经知道这些只是用于识别从互联网下载的文件来源的 Windows 元数据流。我根本不关心它们。
我自己在空白磁盘上安装了 Windows 10,因此它们不是由制造商添加的。我无法发布示例,因为我已经删除了这些流。
截至 2017-04-18 的更新:我刚刚再次扫描了我的计算机,备用数据流又回来了。使用more < C:\path\to\alternate_data_stream:Win32App_1
显示流的内容为空,与 NoVirusThanks 的流检测器报告的结果一致。我已经设置了 SysInternals 的进程监视器来查找正在创建/接触这些备用数据流的进程,如果我看到该监视的任何结果,我将更新此问题。
仅供参考,我已经对此进行了大量研究。我第一次接触备用数据流是在 90 年代初 NTFS 首次发布时。我不太关心实际的 ADS 本身,因为它们都是零大小,但或多或少这可能是某些恶意软件的“煤矿中的金丝雀”。
我已经启动了一个开源命令行实用程序,用于识别并选择性地删除 NTFS 备用数据流。该项目是托管于 gitHub以防有人发现它有用。
截至 5 月 10 日,我已经能够观察到其他不属于我或我接触过的 Windows 10 机器将名为 Win32App_1 的备用数据流附加到整个系统驱动器中的各个文件夹中。它们似乎与 Windows 10 本身有关。我预计它们用于某种编目过程。
答案1
Win32App_1 备用数据流由 Windows 操作系统中的“存储服务”服务创建。Windows 10 之前的服务版本似乎不会创建这些流。
如果您使用可移植可执行文件查看器(例如dumpbin.exe
Visual Studio 2017 中提供的工具)查看资源部分%SystemRoot%\System32\StorSvc.dll
,则会看到 Win32App_1 被引用多次。
我运行 Sysinternals Process Monitor 大约一周,以确定哪个进程正在创建 Win32App_1 备用数据流。它显示SvcHost.exe
命令-k LocalSystemNetworkRestricted -s StorSvc
行是创建流的进程。“设置”应用中的“存储”小程序似乎使用了存储服务。
我使用以下内容来验证存储服务/存储设置作为流的源:
- 我用了我的ADSIdentifier 应用到识别并删除所有流名为 Win32App_1:
命令行:ADSIdentifier /folder:C:\ /pattern:Win32App_1 /r
- 我停止并重新启动了“存储服务”服务。
net stop "storage service"
net start "storage service"
- 服务运行后,我打开“设置”应用程序,转到“存储”部分,单击我的系统驱动器(C:) 以显示该驱动器的“存储使用情况”详细信息。
- 重新运行 ADSIdentifier 并发现流已被重新创建。命令行:
ADSIdentifier /folder:C:\ /pattern:Win32App_1
答案2
计算的基本规则是:空文件或空流本身不会构成威胁。
然而,应用程序(无论是善意的还是恶意的)可能会为空文件或替代流的存在赋予某种意义,就像每个文件的信号一样。经验告诉我,这种情况很少见。
在这种情况下,我会选择一个实用的答案:列出包含这些流的文件的完整列表,删除这些流,然后警惕几天,找出是什么创建了它们。它们很可能不会被重新创建。如果您因丢失这些流而遇到异常,请使用您的列表恢复它们。