如何识别有害的AUR包装


11

我如何识别通过yaourt在arch linux上安装的软件包是否会对我的PC有害?我在Wiki中读到,我应该检查您所做的每一次安装。但是,我到底要检查什么?如何识别恶意软件包?


您应该使用没有AUR的官方软件包。无法保证,因为任何人都可以将任何内容上传到AUR,仅需要注册即可。检查AUR软件包的评论和投票,也许这是一个很好的起点。
uzsolt

Wiki指令是在继续安装之前阅读PKGBUILD ...
jasonwryan 2013年

3
@uzsolt有点荒谬:AUR中有很多很棒的软件包,其中一些已经从官方仓库中移走了。原则上,使用AUR包是可以的;重要的是了解您要安装的内容。
jasonwryan 2013年

1
毫无疑问,但是谁能知道aur-foo包装是否有害。是否存在通用规则或算法?我认为不是。仅仅阅读PKGBUILD是不够的-认为会安装有害的C程序。在安装之前,您是否阅读完整的源代码?我认为应该检查评论(关于报告,警告)和投票(如果有很多票,似乎还不错)。我正在使用许多AUR软件包,我认为其中大多数都很好。但是...魔鬼永远不会睡觉:)
uzsolt

Answers:


7

您不能,不是真的,如果不对代码进行广泛的审核并“从外部”观察其行为,例如使用虚拟机。没有找到防恶意软件包的防弹方法,当然也没有相对容易绕开的自动化方法。您可以实际执行的一些操作,都不是灵丹妙药:

  • 下载程序包,解压缩(不要安装!),然后对解压缩的文件进行病毒检查。这可以找到一些众所周知的问题,但不是针对性的或自定义的hack。
  • 在使用它之前,将其安装在虚拟机上并检查其是否没有“可疑”的事情,例如不应该触摸其文件,与外部服务器进行通信,自行启动守护进程等。当然,它可能会定时执行类似的操作,例如,在运行X个小时后,如果不仔细检查代码,您将无法知道。Rootkit检测器可以使其中一些自动化。
  • 在受限环境中安装。SELinux,chroot监狱,虚拟机,单独的断开连接的计算机以及许多其他东西,可能包含不同类型的有问题的软件,从普通的恶意软件到活跃的恶意软件。
  • 可以将有价值的(但不是机密的)数据放置在单独的服务器上,并对不信任的计算机进行只读访问。
  • 机密数据应放置在不受信任的计算机无法访问的计算机上。任何通信均应通过可移动媒体进行手动复制。

最后,唯一安全的软件就是没有软件。您确定需要安装不信任的软件吗?没有知名,值得信赖的替代方案吗?


好吧,我只是关注xflux和sun JDK的Wiki条目。是您对AUR的每个条目的指南,还是我可以信任包含wiki.archlinux文章的详细内容的软件包?
lup3x 2013年

4
没有人能告诉你要信任谁。没有人知道该信任谁。您所能做的就是根据您自己的经验,您所信任的人的建议,软件包的受欢迎程度或您认为足够的其他启发式方法进行判断。
13年

谢谢,我在安装新软件包时会记住这一点
lup3x 2013年

2
我不确定是否信任@ l0b0的建议。
Sparhawk

1
@Sparhawk好,我们毕竟在互联网上,谁信任是一个个人的决定。
l0b0

3

如前所述,您不能确定。

我个人使用的主要启发式方法之一是:

如果我想尝试手动安装它,无论如何我都会从spotify.com下载它,所以在我的书中还可以。简要浏览了PKGBUILD的其余部分,似乎并没有做任何明显不寻常的事情。当然有偷偷摸摸的方法,但是我认为AUR上任何恶意代码的主要目标都将是使用yaourt等的人,他们在安装软件前通常不阅读PKGBUILD,即使很明显也不会发现问题。 。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.