homebrew维护者如何确保每个公式中二进制文件的真实性?

时间:2016-12-12 23:36:49

标签: homebrew homebrew-cask

由于自制软件是社区驱动的,如果有人提交恶意公式会发生什么。这会被合并到主存储库并最终由其他人安装吗?自制软件如何阻止这种情况?

1 个答案:

答案 0 :(得分:1)

这些事情可能会发生。在那里普遍的共识似乎是可能性小到可以忽略。像谷歌,亚马逊等IT公司对员工使用它非常好,所以如果你这样做也可以。

  

Google:我们90%的工程师使用您编写的软件(Homebrew)[...]

     

--- Homebrew的发起者Max Howell(https://twitter.com/mxcl/status/608682016205344768

审核工作

合并恶意公式并不是那么容易。您需要一个GitHub帐户并建立一个GitHub配置文件(为了让自己可信)是一项艰苦的工作(您必须编程)才能成为第一道防线。

在拉动请求过程中,有实际的人在查看公式。没有任何明显的事情可以通过,此外,只有人们在那里并进行检查的事实可能会阻止许多人甚至试图提出恶意的东西。

可能的攻击

是否有任何存储库黑客实际发生过?很难说,因为下面的例子很容易就是一个诚实的错误。

CVE-2008-0166

2008年,一位过度活跃的Debian维护者向OpenSSL引入了一个错误,显然是为了清理代码。" (https://www.schneier.com/blog/archives/2008/05/random_number_b.html

现在让我们转向其他可能的攻击机制

错字蹲

攻击者上传一个类似于受欢迎程序包的程序包。人们会拼写错误并下载欺骗者。

在N. P. Tschacher的学士论文中,Pypi成功地证明了这一点,见incolumitas.com/2016/06/08/typosquatting-package-managers/

任何类型的人工审查都应该抓住它,因此Homebrew可能是安全的。

信任信任的思考

https://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf

Ken Thompson的着名文章,它引导您完成将特洛伊木马插入软件堆栈(编译器和应用程序)的过程,以便它存在于两者中,但在两者中都不容易检测到。