6 月 1 日以来,中国科学技术大学 Linux 用户组维护的 USTC Mirror 收到持续的不明攻击,导致包括 mirrors 在内的 lug, blog, gitlab, vpn 等子站权限崩溃。 6 月 3 日,维护者李博杰在 其人人上发表声明称 ,Mirrors 下的软件仓库可能受到不明篡改:
被入侵以来,科大 mirrors 上的某些软件源的文件被篡改。Debian、Ubuntu、CentOS 等主流源的软件包都有校验,checksum 不对会拒绝安装。下载 ISO 之后,请养成检查 SHA1SUM 的习惯。我们正在对所有 ISO 全部重新同步。在同步完成之前,建议您使用其他软件源。如果您 5 月 31 日以来从科大 mirrors 上下载了 ISO、EXE 等文件且没有检查 checksum,请密切关注潜在的安全隐患。
随后他表示,这次攻击更可能出于恶作剧性质,因为篡改方式相对简单:
关于科大 mirrors 开源软件镜像被篡改的问题,在此特别说明,目前没有发现恶意代码植入的行为,所有篡改都是恶作剧性质的随机修改一个字节。主流发行版都有 checksum 验证,下载到被篡改的软件包是无法安装的,因此 apt-get/yum install 是安全的。似乎只有外部磁盘阵列上的源被篡改了,Debian、Ubuntu 等几个大源是正常的。mirrors 共有上百个软件源和 30T 数据,我们会采用 SHA1SUM 校验或全部重新同步的方式确保数据的完整性。
6 月 4 日,攻击方式已经基本明确,是运维客户端安全导致的问题:
自 31 日以来,LUG 活动室的灯 12 点前就没关过,前天晚上几位技术骨干更是彻夜奋战。我们未能抓出恶意内核模块的真身,也就无从推断服务器里除了随机篡改磁盘以外还被做了什么破坏,以及现在未被彻底重装的服务器里是否仍然藏有恶意代码。不过整个入侵的脉络算是理清了,基本上是利用浏览器 0day(不知道是什么)实现沙盒逃逸,篡改本地的 Cygwin1.DLL 植入木马,窃取 ssh 密码密钥。并非之前猜测的利用服务器 0day 远程打进服务器。
USTC Mirror 上托管了包括Debian、Arch、Rpm系在内共90多个软件项目的软件镜像,其中不少源属于官方认证仓库。