如何识别在 arch linux 上通过 yaourt 安装的软件包是否对我的电脑有害?我在 wiki 中读到,我应该检查我用 yourt 进行的每个安装。但我到底需要检查什么以及如何识别恶意软件包?
答案1
如果不对代码进行广泛的审核并“从外部”观察其运行情况(例如使用虚拟机),您就不能(实际上)。没有万无一失的方法来查找恶意软件包,当然也没有相对容易规避的自动化方法。有些事情你可以现实地这样做,这些都不是灵丹妙药:
- 下载压缩包,解压(不安装它!)并对解压的文件运行病毒检查。这可以发现一些众所周知的问题,但不能发现有针对性的或自定义的黑客攻击。
- 在使用它之前,将其安装在虚拟机上,并检查它是否没有执行任何“可疑”的操作,例如触摸不应触摸的文件、与外部服务器通信、自行启动守护进程等。它可能会定期执行类似的操作,例如运行 X 小时后,如果不详细检查代码,您将无法知道。 Rootkit 检测器可以自动执行其中一些操作。
- 在受限环境中安装。 SELinux、chroot 监狱、虚拟机、独立的断开连接的机器以及许多其他东西都可能包含不同类型的有问题的软件,从普通的恶意软件到主动恶意的软件。
- 有价值的(但不是秘密的)数据可以放置在单独的服务器上,并为不受信任的机器提供只读访问权限。
- 秘密数据应放置在不受信任的机器无法访问的机器上。任何通信都应通过可移动介质手动复制。
最后,唯一安全的软件就是没有软件。您确定需要安装您不信任的软件吗?难道就没有众所周知的、值得信赖的替代方案吗?
答案2
正如前面提到的,你无法确定。
我个人使用的主要启发法之一是:
- 阅读 PKGBUILD 并找出从哪些网站下载该软件。是你所期望的地方吗?是否来自可信来源?以 Spotify 为例,其来源是 'http://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_1.0.15.137.gbdf68615_amd64.deb'
如果我要尝试手动安装它,我无论如何都会从spotify.com 下载它,所以这在我的书中是可以的。简单浏览一下 PKGBUILD 的其余部分,它似乎没有做任何明显不寻常的事情。当然,有很多方法可以偷偷摸摸,但我认为 AUR 上任何恶意代码的主要目标都是使用 yaourt 等的人,他们通常在安装软件之前不会阅读 PKGBUILD,即使问题很明显也不会发现问题。