在Ubuntu软件中心中,程序的不同部分
- 由Ubuntu提供
- 规范合作伙伴
- 购买
我知道所有这些都是开源的;但是Canonical是否进行了任何验证过程,以确保它们没有任何间谍软件或恶意软件?
我想知道是否有人会花时间查看所有这些(到目前为止2355个程序),以及每个版本的软件代码!!
我很担心,因为我经常从软件中心安装不太受欢迎的软件:)
在Ubuntu软件中心中,程序的不同部分
我知道所有这些都是开源的;但是Canonical是否进行了任何验证过程,以确保它们没有任何间谍软件或恶意软件?
我想知道是否有人会花时间查看所有这些(到目前为止2355个程序),以及每个版本的软件代码!!
我很担心,因为我经常从软件中心安装不太受欢迎的软件:)
Answers:
是否有流程来确保没有恶意软件?否。根本没有保证。
但是,有多种机制可以尝试检测它,但是尽管我不想太过失败,但是,老实说,您可能不如您想的那样安全。
首先必须将项目添加到Ubuntu。正如Rinzwind所说,在此阶段进行检查,但这实际上只是冰山一角,而这只是Ubuntu中一个软件包的生命。
长期计划的第一道真正防线是他们的项目维护者。这些人照顾他们的项目并接受修补程序以改进它们。他们是人类。他们犯错,错过事情。有些人可能很懒。
恶意软件可能会通过包含真正的改进和恶意软件来潜入一些恶意软件。
如果有问题的人被其维护者接纳到项目中,请保存一次成功的审核,否则代码最终可能会出现在Ubuntu用户的计算机上。
安全审核是第二步。这是在检查代码并在监视器上运行它以检测不良情况。据我所知,没有一个官方的Canonical专门负责安全性的团队,但是有两个社区团队(Ubuntu Security和MOTU SWAT)来处理它们之间的所有程序包。
只有在每一行代码都经过正确检查之后再发布给用户,审计才真正起作用。对于我们正在谈论的代码数量和更新数量,这实际上并不实用。这样做需要花费大量时间和金钱。
在开源世界中有一个假设,就是因为有人可以查看源,所以他们拥有了。保持这种精神非常危险。
安全修复程序对人们发现和披露漏洞有很大的反作用。如果有人透露他们发现的漏洞怎么办?
其他“最终用户”报告问题是最终的真正检测机制,老实说,好的恶意软件不会让用户知道问题所在,直到为时已晚才有所作为。编写良好的恶意软件不会翻转屏幕或窃取您的所有带宽,它会坐在后台,记录您的所有银行详细信息,然后再将其全部发布到某个地方的匿名转储中。
整个过程取决于上游项目,以维持其自身的安全级别。如果有人从Gnome计算器的维护者那里溜走了东西,很可能其他人都会错过它。安全团队也永远不会怀疑它。
幸运的是,大多数维护人员都擅长于他们的工作。他们知道他们的代码库,如果他们不了解补丁程序,他们将基于它们不够清晰而拒绝它们。
在风险评估方面,通过使用不那么受欢迎的东西,检查代码的眼睛可能会更少。但是类似地,提交的次数可能更少,因此,只要维护者不懒惰(或邪恶),他们就有更多的时间来处理每次提交。很难确切地说出您面临的风险。开源软件的安全性取决于有能力的人员查看代码。
相反,封闭源项目(在合作伙伴和采购仓库中)完全不受社区审核。Canonical可能具有某些源访问权限,但是坦率地说,我怀疑他们是否有资源进行彻底的审核,即使他们具有源访问权限并愿意这么做。
与PPA相似,除非您想自己深入研究源,否则您将获得很少的保护。用户可以在源代码中添加任意内容,除非您自己进行检查(并且您能够检测到恶意软件),否则您将被狼包围。人们可以报告不良的PPA,但某些情况要取决于其他人检查并确认问题。如果大型站点(例如OMGUbuntu)建议使用PPA(通常这样做),那么很多用户可能会遇到问题。
使问题更加复杂的是,Linux用户的市场份额较低,这意味着我们可以使用更少的软件来查找不良代码。我讨厌这样说,但是至少在Windows上,您有数十家公司每天工作,花费很多时间来了解不良软件的工作方式,如何检测和删除软件。那是一个因需要而生的市场,尽管我也不想这么说,但在情况好转之前,这里的情况可能会变得更糟。
对于安全方面的偏执狂,我前段时间写了一篇简短的文章:Linux并非无懈可击。不要说是。。将事情潜入存储库可能不会成为散布恶意软件的傻瓜的主要攻击媒介。(IMO)他们更有可能利用用户的贪婪和愚蠢来让他们安装受感染的.debs。
是。程序包由社区检查(因此1可能安装了一些恶意软件,但该消息将在所有用户中迅速传播)。
应用程序必须遵守许可中概述的非常严格的规则。
新软件包的Wiki页面包含更多信息:
通过MOTU
尚未安装在Ubuntu中的软件包,在上传并由档案管理员进行最终审查之前,需要进行额外的审查并经过特殊的审查过程。有关审阅过程的更多信息,包括将应用的标准,可以在“ 代码审阅者”页面上找到。鼓励开发人员在将其提交审阅之前,使用这些准则检查其自己的软件包。
要接收更高质量的错误报告,请为您的程序包编写一个apport挂钩。
就是说:总体思路是。如果发现可疑的东西,请在启动板,askubuntu,ubuntuforums上报告它,然后有人会捡起来。
可能发生的情况是,恶意软件的创建者制作了一个有效的程序包,将其接受,然后进行更新以添加该恶意软件。许多人中至少有一个总是抓住这个,他/她会在某个地方报告这个。这样就不会进入很多机器。(将其安装到我们的计算机上的工作太多,无法获得潜在的回报:将Windows计算机作为目标要容易得多)。
大黄蜂发生严重错误的例子。有人错过了一个空格,/ usr被删除了……有些人受到了影响,有1条警告带有红色标记,现在我们都知道了。Creator修复了它(快于光速),但损坏了多个系统。这是一个错误,不是故意的,因此可能发生;)
为了在启动板上的PPA中发布代码,您需要设置openPGP并创建附加到电子邮件地址的密钥。为了对软件包进行签名,您需要本地计算机上的私钥和密码(未存储在任何地方)的副本。如果程序包存在安全问题,则跟踪作者应该相对容易一些。我假设Ubuntu和Debian的主要存储库至少是这样安全的。
大多数开源项目都有一个中央存储库,该存储库至少具有ssh级别的保护(密码和/或公共/专用密钥对)。在这里获得未经授权的访问要比ppa容易一些,但并不容易。版本控制系统通常会记录进行每次提交的用户,并且相当容易找出提交的内容。
人们总是可以尝试将某些东西塞进补丁中,但这是一个冒险的提议。大多数编码人员不会接受太大而无法轻易阅读的补丁。如果您被抓住了,那就差不多了。
还有一些值得信赖的数额,因此有人可能会将间谍软件带入Ubuntu。也许这是我们将不得不担心Ubuntu的市场份额是否大幅增长的事情。