这个问题有两个方面。第一个是为什么此功能完全存在,第二个是为什么GUI(或命令提示符)使查看和管理该功能更容易的原因。
之所以存在是因为它很有用。其他几个平台支持每个文件多个数据流。例如,在Mac上,它们称为forks。我有把握地确定大型机世界中也存在类似的情况,但是今天我不能指望任何明确的例子。
在现代Windows上,它用于保存文件的其他属性。您可能会注意到,Windows资源管理器中的“属性”框具有“摘要”选项卡,在“简单”视图中(我使用的是Windows XP,您的里程在其他版本上会有所不同)包括一堆有用的字段,例如“标题”,“主题”,“作者”和“等等。该数据存储在备用流中,而不是创建某种形式的副车数据库来保存所有将太容易与文件分离的数据。
备用流还用于保存标记,该标记表示文件来自不受信任的网络源,Internet Explorer和Firefox均在下载时将其应用。
困难的问题是,为什么没有更好的用户界面来通知流完全存在,以及为什么可以将可执行内容放入其中,而更糟的是稍后执行。如果这里存在错误和安全风险,就是这样。
编辑:
受到对另一个答案的评论的启发,这是一种找出反病毒和/或反恶意软件保护是否意识到备用流的方法。
获取EICAR测试文件的副本。它是68字节的ASCII文本,恰好也是有效的x86可执行文件。尽管完全无害,但防病毒行业已同意将其检测为真实病毒。发起人认为使用真实病毒测试AV软件有点像通过将废纸ket着火来测试火灾报警器...
EICAR文件为:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
使用扩展名保存它,.COM
它将执行(除非您的AV正在关注)并打印问候语。
将其保存在备用数据流中并运行扫描将很有帮助。