如何检查 AUR 包中的恶意代码?

GAD*_*D3R 4 security arch-linux malware aur pkgbuild

恶意代码已被发现并随后从 3 个 AUR 包中删除acroreadblaz并且minergate例如:acroread PKGBUILD detail)。它是在恶意用户通过更改孤立的 AUR 包的所有者并包含恶意curl命令而发布的提交中发现的。

curl命令将下载主 bash 脚本,x然后是第二个脚本u( u.sh) 以创建 systemd 服务并使用函数收集一些系统数据(非敏感数据),但攻击者可以修改脚本以按顺序上传。

实际上,由于某些原因(需要一些知识,需要更多时间等......),并非所有用户都能够在他们的系统上构建任何包之前检查 PKGBUILD。为了了解它是如何工作的,我在这个过去的页面上下载并上传了 2 个 bash 脚本。

检查 AUR 包中是否存在恶意代码的最简单方法是什么?

赤裸裸的安全:另一个存在恶意软件问题的 Linux 社区

在 Arch Linux 用户存储库中发现的恶意软件包

Rui*_*iro 6

关键是,对于没有经验的用户来说,检查源代码可能不是那么容易。然而,自然而然地对立,也可以说 Arch Linux 不是最适合没有经验的用户的 Linux 发行版。

Arch wiki(s)、AUR helpers 和大多数在线论坛都警告此类存储库/AUR 的危险,并且不能盲目信任它们。一些助手还警告您在安装之前应该阅读 PKGBUILD。

作为建议,始终建议使用trizenaurman(或类似实用程序)而不是yaourt(列为有问题/已停产),因为它们为用户提供了检查包/差异列表的机会。它还有助于在获取或更新包时查看贡献的历史记录。

当你有官方二进制包作为替代时,临时用户不应该使用这些存储库作为他们包源的主要主食。如果您必须使用 AUR,您可以在 Arch 论坛和/或邮件列表中搜索问题报告。然而,虽然这是一个过于乐观的观点,但 Arch 社区似乎定期检查包,就像这里的情况一样。

您也可以尝试使用maldetect在下载的源代码中搜索已知恶意软件签名的下载源代码,但是使用自定义代码捕获某些内容的概率为零。maldetect通常更适合捕获 PHP 代码中的恶意软件。

PS 在我的上一份工作中,我使用了一小段时间dhcpd从源代码编译的包,并且多年来一直使用从源代码编译的 FreeRadius 包(因为 Debian 版本已经过时)。

在第一种情况下,我从 github 上粗略检查了几次我下载的源代码。在第二种情况下,我积极关注 FreeRadius 用户论坛、github 论坛和代码更新。我也有一个测试/隔离环境。(我什至设法提交了在我的测试环境中发现的重要错误报告)。

说到点子上,如果您正在对源代码安装的包进行任何认真的工作,它通常比发行版提供的官方编译包涉及更多的工作。

PS2。通常,任何经验丰富的 Unix 管理员都会告诉您直接运行直接源自的脚本/源代码,curl而不进行任何视觉检查,从安全角度来看,这是一个非常糟糕的主意。