这样的开源应用你相信它吗?

很多你在使用的软件都有着安全漏洞。

任何读过马修•加勒特作品的人都知道很多专门用来销售的软件是不靠谱的。一些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手机仍然能获得更新,猜猜看:他们很肤浅。)少量杰出的封闭软件开发商 是真的关系安全问题而且致力于保护他们的用户信息安全,但是他们是大多数中很少的例外,而不是普遍现象。

我们不能把免费开放的软件做得更好是我们的耻辱。

原文发布于微信公众号 - java一日一条(mjx_java)

原文发表时间:2016-03-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

走近科学:我是如何入侵Instagram查看你的私人片片的

在这篇文章中,我想介绍几个月前我在Instagram站点和移动应用中发现的一个漏洞(现在已被修复好了)。 Instagram又是什么? 维基百科这样介绍: “I...

4.2K70
来自专栏SAP最佳业务实践

SAP最佳业务实践:FI–应付账款(158)-9 F110使用自动付款程序过账付款

4.10 F110使用自动付款程序过账付款 预付款,贷项凭证和发票之间的差异将被付款程序自动过账。 您可以用经典付款媒介程序或付款媒介工作台来产生付款媒介。在下...

438120
来自专栏FreeBuf

物联网安全研究之二:IoT系统攻击面定义分析

在前文中,我们了解了IoT技术的基本架构,本文我将来说说IoT安全,在此过程中,我们会尝试定义一种新方法来理解IoT安全,同时也会创建一个结构化流程来方便认知I...

39990
来自专栏程序人生

[技术产品] 用node-webkit做桌面应用

node-webkit是两周前我才刚刚认识的桌面开发利器。那天程序君写了篇关于github atom的文章,中间有段文字做了大胆的猜测:「这就是Atom最大的亮...

47890
来自专栏云计算D1net

不再飘在云中 揭秘云存储与云备份的不同

随着云计算的深入应用,云备份和云存储的应用也逐渐被企业和个人所熟悉,那么问题来了,云备份和云存储有什么区别吗? 大家之所以对两者存在疑虑,是因为大多数的时候我们...

50670
来自专栏coding

给你一个完整高效的linux系统

48830
来自专栏haifeiWu与他朋友们的专栏

个人博客折腾记

个人博客,也折腾了3年多了吧,不说已经特别稳定了,但起码也做成了自己满意样子,后续还需要继续调整。虽然现在的博客看似简单,并且用的模板,但在博客的这条路上也花了...

30110
来自专栏CSDN技术头条

荔枝FM架构师刘耀华:异地多活IDC机房架构

声明:本文首发于CSDN,禁止未经许可的任何形式转载,可咨询文末的责编。 多机房架构存在的原因 ? 单机房一旦死机,断电、维护根本无法挽回整个数据,想离线读取等...

49960
来自专栏数据和云

静默错误:为什么看了那么多灾难,还是过不好备份这一关?

可是毕竟广告好不好,还要看疗效,9个9的可靠性,你也永远无法论证你不是那 0.00000001%。

29810
来自专栏养码场

平庸开发者的生存指南

我个人认识一些非常有才华的开发人员,他们可以一帆风顺地创建极好的软件。正是这些天赋人士,使得外行人对我们这个行业充满了很高的期望。但我要说的一个可悲的事实是:并...

12220

扫码关注云+社区

领取腾讯云代金券