使用虚拟化软件 Docker 的开发人员已经被一个问题困扰了一周,用户抱怨说错误地将其检测为恶意软件。
Apple macOS 中的安全系统旨在保护用户及其数据在正常使用过程中免受大量在线攻击。然而,如果出现错误,这些相同的系统也可能在合法软件中触发。
情况似乎如此,一种经常用于开发应用程序的虚拟化工具。一个多星期以来,用户发现他们的 Mac 因所谓的恶意软件问题而阻止 Docker 运行。
对于某些版本的 Docker Desktop,用户可能会看到一条消息警告“恶意软件已被阻止”,并且“com.docker.vmnetd 未打开,因为它包含恶意软件。此操作不会损害您的 Mac。” Docker Desktop 根本就不会运行。
虽然让用户感到震惊,但事实证明这不是恶意软件问题。实际上,当 macOS 安全性分析时,这就是一个以这种方式显现的签名问题。
不好的迹象
Apple 在 macOS 中内置了许多安全工具,应用程序必须遵守这些工具才能运行。这包括用于检测恶意软件的 Notarization 用于检查恶意组件和代码签名问题,Gatekeeper 用于检查开发人员 ID 签名的有效性。
上状态页对于 Docker,从 1 月 7 日开始,针对 macOS 的 Docker Desktop 列出了一个“活跃事件”。官方列表是“由于恶意软件报告,macOS 上的 Docker Desktop 无法启动”。
macOS 中的恶意软件错误消息 - 图片来源:Docker/Github
最初,Docker 团队提供了一种解决方法,其中包括停止 Docker 服务、删除两个二进制文件、重新安装二进制文件,然后重新启动 Docker。
问题的实际原因于 1 月 8 日被发现。现有安装中的某些文件签名不正确,导致 macOS 反恶意软件保护失效。
为了解决该问题,开发人员最初通过将正确签名的文件从 Docker.app 应用程序包复制到正确的位置来修复该问题。直到 1 月 9 日,Docker Desktop 版本 4.32 至 4.37 的补丁才发布,修复了该问题。
一个支持文件还发布了帮助用户的信息,包括如何安装补丁的指南。使用 Homebrew casks 安装 Docker Desktop 的用户应执行完全重新安装以解决该问题。
还为企业环境中的 IT 管理员提供了 MDM 脚本。