
微软Defender被曝未经提示上传用户未发布程序,三个月记录217次提交
来源标题:I caught Microsoft Defender uploading my unreleased software without asking
开发者发现Microsoft Defender未经提示就上传了他自己编写但尚未发布的程序。其电脑上的Defender事件日志显示,三个月内共有217次样本提交记录,其中201次是同一个Go测试程序的构建版本。MpCmdRun.exe曾在一天内向Azure存储上传224MB数据,上传呈每分钟约28MB的突发式传输。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
Microsoft Defender 上传了我编写但尚未发布的程序。它的事件日志记录显示,在三个月内,我的电脑上共有 217 次样本提交。我没有看到任何一次提交的提示。
我是在调查一个网络连接卡顿问题时发现这些的,当时我正在使用 Hodometer,这是我开发的一个 Windows 托盘工具,用于按进程和目标地址跟踪流量。
微软的程序在约 100 小时内占总下载量的 4.7% 和总上传量的 4.5%。大部分流量来自我的浏览器、开发工具和游戏补丁。当我查看各个进程时,Defender 的上传显得格外突出。
MpCmdRun.exe 是 Defender 的命令行工具,它在一天内向 Azure 存储发送了 224 MB 数据。上传以每分钟约 28 MB 的突发形式进行,回传的数据非常少。
流量是加密的。为了识别文件,我查看了 Defender 的 Operational 日志。事件 2050 会记录样本提交的文件名和 SHA-256 哈希值。我机器上的消息如下:
Microsoft Defender Antivirus 已上传文件以进行进一步分析
在 217 条记录中,有 201 条是同一个 Go 测试程序的不同构建版本。其余 16 条大多是已构建但未发布的程序。这些提交中共有 216 个不同的哈希值;它们大多是新的二进制文件,而不是对未更改文件的重复上传。在最繁忙的一天,Defender 记录了 75 次提交。
Defender 的支持日志解释了其所涵盖上传的流程。测试二进制文件触发了低置信度签名,Defender 查询了云端,响应提供了一个位于 blob.core.windows.net 的上传地址。
Windows 的按应用数据使用记录显示,MpCmdRun.exe 在过去 30 天内上传了 2.8 GB,约占该时间段内这台电脑上传到微软的总量的 80%。这是该进程的总流量。我没有每个提交文件的字节数。
微软在文档中说明了这种行为。默认设置是“自动发送安全样本”。其示例包括 .bat、.scr、.dll 和 .exe 文件。在此上下文中,“安全”意味着不太可能包含个人身份信息。被判定可能包含个人数据的文件应该需要提示。
我反对在这种默认设置下上传我未发布的构建版本。没有个人信息并不能告诉微软我是否愿意分享这个程序。
新的二进制文件是开发过程中的正常部分。在我的情况中,运行测试不断产生同一个程序的新构建,而这些构建几乎构成了所有提交。我是在检查流量和日志之后才知道这些的。
10 月 28 日,我运行了 Set-MpPreference -SubmitSamplesConsent 2 来禁用样本提交。17:56,事件 5007 记录了从值 1(自动发送安全样本)变为 2(从不发送)。
当天晚上 19:53,另一条记录显示了相反的变化:从 2 变回 1。
我不知道是什么把它改了回去。我找不到我运行过的任何会重置它的东西,而识别责任进程所需的日志已经被轮转清除了。在我更改后九秒,一个快速扫描在我的账户下启动,所以在 Windows 安全中心中的一次点击是一种可能的解释。
在它被禁用的近两个小时里,没有记录到样本上传,重新启用后有 25 次。我关闭了提交功能,却没有意识到该设置已经变回去了。
提交内容还包括一个来自我回收站的 Python 脚本,于 8 月上传。
11 月,微软的云端为一个属于本地开发数据库的 .tmp 数据文件提供了一个上传地址。那次尝试失败了;这不是一次完成的上传。这两个文件我都没有看到同意提示。
微软文档中的扩展名只是示例,因此 Python 脚本被选中本身并不违反政策。在审查日志时,请检查脚本和数据文件以及编译后的程序。
在四天里,Defender 的支持日志包含 85 条标记为“command line reported as lowfi”的记录。它们包括完整的 curl 和 PowerShell 命令行。其中 78 条包含我的用户文件夹和项目文件夹名称。一条较旧的检测记录还包含一条命令行,其中有我输入到另一个程序中的文本。
微软的云保护文档称元数据不包含个人数据,并且文件名会被哈希处理。我的本地日志包含完整路径。我无法确定这些字符串在传输前是否被哈希或以其他方式更改,因此这些记录并不能证明微软收到的命令行与我看到的完全一致。
在这四天里,Defender 还发起了 1,802 次云请求。这是请求计数,与三个月内 217 次文件提交是分开的。
Windows 连接审计显示,在 22 小时内三次登录中的每一次都有 Copilot 活动。每次它都与微软建立了 41 到 54 个连接。我没有打开过该应用,也找不到它启用的启动项。我还没有确定是什么启动了它。
每月流量很小:下载 31 MB,上传 6 MB。我仍然想知道为什么一个我没有使用的应用在我登录时会建立连接。
我已经在这台电脑上禁用了主要的 Windows 遥测服务。其记录显示三个月内没有上传。其他组件继续连接:devicecensus.exe 在一个上午运行了两次,Defender 的核心服务在 22 小时内与 ecs.office.com 和 mobile.events.data.microsoft.com 建立了 104 个连接。Office 和 OneDrive 的辅助程序也连接到后者。排队的错误报告任务也在那天上午运行了。
连接记录标识的是程序和目标地址,而不是加密请求的内容。这也不是我带宽的一大部分:在另一次 15 分钟的抓包中,微软的目标地址在 343 MB 中仅占 0.9 MB。禁用那一个遥测服务并没有阻止其他组件进行通信。
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。