很多你在使用的软件都有着安全漏洞。
任何读过马修•加勒特作品的人都知道很多专门用来销售的软件是不靠谱的。一些Linux倡导者宣称开放自由而且免费的软件比封闭的专门用来谋利的软 件更安全,然而这里有一个公开的秘密,那就是大量受欢迎的Linux桌面应用软件有很多已知而且没被修复的漏洞。我很少听到有人讨论这个,就好像它不能被 讨论一样,可是它困扰了我很久。
通常漏洞是不会报告给用户的,因为没有人很在乎。
这里有一个很简单的游戏:选任何一款能使HTTP连接困在老版本WebKit的任何一版的应用程序,然后开始游戏,我们将看到下面基本的漏洞:
- 使用安全传输层协议失败,当连接时(注意:GNOME(开放源码的重要组成部分) Music,GNOME Weather;这些是唯一我在这里提到不用WebKit的应用)。这就意味着该应用没有安全。
- 执行安全传输层协议证书验证失败(Shotwell(是一款Linux下的相片管理软件)和Pantheon Photos(类似Shotwell))。这就意味着这个应用没有安全性保障来阻挡活跃的黑客。
- 在子资源上执行安全传输协议证书验证失败(Midori(跨平台的网页浏览器)和Xombrero,Liferea(三者类似)).因为这些站点 经常向子资源里发送JavaScript脚本,这也就意味着活跃的黑客能够在不会被发现的情况下通过改变脚本来完全掌控这个页面(纠正:使用 JavaScript脚本是可以的。).(遗憾的是,Epiphany在3.14.0版本之前通常也面临着这个问题。)
- 在发送HTTP头文件之前验证安全传输层协议证书失败(private Midori bug, Banshee(音乐播放器))。这泄露了应当受保护的cookies信息,通常会导致黑客在一个网站上能够很顺利的获取你的用户账户信息。另外,它还泄 露了你正在访问的那些HTTPS应该被保护的网站信息。(纠正:很遗憾,Epiphany prior 在3.14.0版本之前面临着这个问题。在WebKitGTK+里的WebKit2 API在2.6.6之前也面临着这个问题,漏洞: CVE-2015-2330。)
除特殊说明外,上面列出的所有软件的最新发布版在写这篇文章的时候,仍然能受到攻击,即使是在很久以前这些漏洞几乎被全部发布。除了 Shotwell,没有人修复这些漏洞。也许致力于这方面工作的人没有人在意去修复它,或者也许在这方面工作的人没有人有这个时间或者专业的知识去修复 它,或者也许根本就没有人从事这方面的工作.这在开放免费自由的软件界很常见。
至于Shotwell,在git里已经修复了这个问题,但是也许它永远不可能被发布了,因为不再有人为Shotwell继续工作了。三个月前我通过GNOME经销商列表找到了Shotwell的经销商并告诉了他们Shotwell的弱点。
我们正式机构和发布者交谈,并且建议他们更新一个git快照。大部分发布者根本不理会。这就是一个很典型的例子;据我所知,除了Fedora所有稳定发布的Linux版本仍然容易受到攻击。如果你想玩上面的游戏,通过检测那些流行的桌面软件你应该很容易在我的列表里
添加新的。最好的开端是去检测Liferea(阅读器软件)或者Xombrero(假设它是一个安全受关注的浏览器)是否在发送HTTP头文件前执行安全 传输层协议证书验证,或者检测Banshee是否在子资源上执行验证,从原理上说,那些有缺陷的应用很可能有其他类似的缺陷或漏洞。(我没有检测过。)
在一份相关的记录上,很多应用使用不安全的依赖关系。很多流行的GTK+应用都困在一个过时而且不宜用的WebKitGTK+版本里,例如,很多流 行的KDE应用使用QtWebKit,然而它却过时而且不宜再被使用。这些不宜再被使用的WebKit版本往上追溯将会有远远超过100行的远程代码执行 漏洞要修复,然而它们也许永远不会被修复。(100是过低的估计;如果QtWebKit的漏洞数量很多很多我一点也不惊讶。)
我不是要宣扬那些封闭拿来卖钱的软件通常比免费开放的软件更安全,因为那绝对是不正确的。例如那些封闭软件开发商,包括那些你也许认为比较了解的有 名的大公司,同样在QtWebKit的基础上进行大量的商业开发软件。(这是不道德的,但是大多数的封闭软件开发上不关系安全。)那不重要了,因为不管怎 样封闭软件开发商很少提供全面的安全更新。(如果你的Android手机仍然能获得更新,猜猜看:他们很肤浅。)少量杰出的封闭软件开发商 是真的关系安 全问题而且致力于保护他们的用户信息安全,但是他们是大多数中很少的例外,而不是普遍现象。
我们不能把免费开放的软件做得更好是我们的耻辱。
英文原文:Do you trust this application?