写点什么

开源等于安全吗?

  • 2015-11-02
  • 本文字数:1356 字

    阅读完需:约 4 分钟

今年,汽车圈的那些事占据着媒体头条,比如黑客入侵吉普车、大众汽车在排放测试上作弊, 这说明公众开始思索汽车的软件问题,这是前所未有的。有些专家可能会争辩说,强制这些软件开源,是一个解决办法。虽然将这些软件置于公众的审视之下是有明显好处的,但开放代码这种行为本身,并不能给你带来保障。就像Sam Liles 在一封电子邮件中给我解释的那样,开源并没有阻止“破壳(ShellShock)”漏洞的发生。

Liles 教授以前是普渡大学数字取证领域的教授,在那儿工作时,他和他的学生研究过汽车和其他物联网设备的安全。他说,多重防御的思想已经落伍,我们无法再靠多设几层安全屏障来保护自己。举个例子,我们的手机和其他个人设备,知道我们的一切:我们去过哪里,和谁联系过,甚至何时做爱。这些设备,以及存在其中的所有信息,已经渗透到我们生活和工作的方方面面。一部被入侵的手机,可以挖出各种隐藏的信息,或者把威胁传播给与之相连的其他设备。

这些设备的存量本身就是个威胁。“如果发生了安全事件,谁应为此负责?”Liles 问。就我们这个问题来说,谁来审查那些代码?在《大教堂和市集》中,Eric S. Raymond 写道,“只要给予足够的关注,所有的bug 都会显形”,他称之为 Linus 定律,但我们不能指望什么软件都有足够的关注度。像 OpenSSL 这样成名已久的重要项目都因为缺乏资金而无法预防像“心脏滴血(Heartbleed)”这样的 Bug,那运行在你设备中的你都已习以为常的成千上万行代码,又指望谁去审查呢?

2011 年,美国国家航空航天局和美国高速公路安全管理局针对丰田汽车意外加速事件进行了调查,结果显示并没有证据表明电子设备的失控能导致大量意外加速,但尽管如此,其他研究人员还是找到了能让汽车产生加速的软件方法。“如果电源管理单元被攻破,” IOActive 的报告指出,"加速度就会迅速变化,汽车将处于极度危险中。"毫无疑问,软件是现代汽车安全的一个至关重要的组件。

然而,像Liles 小组所做的那类研究还是不多见的。单纯分析软件是一件困难的事。“系统中几乎从来不考虑集成一个用于搜集取证的模块,为了使证据有法律效力,必须要使用逆向工程的手段来取证。”Liles 说。此外,物联网给汽车带来的威胁在不断变化,所以我们的研究方向也要随之改变。“很多陈旧的信息保护手段,安全规则和教条,有时还称之为科学的东西,都是基于谬见、伪事实和过时的技术概念而来的。”

所以,开源软件要如何适应这种形势?无论是否开源,偶发的bug 总是会出现,有时还很严重。“心脏滴血(Heartbleed)”、“破壳(ShellShock)”,以及开源软件中其他备受瞩目的漏洞都在告诉我们,这就是现实。开源更容易使软件被恶意利用,而只有在我们能验证软件的行为和代码的意图一致时,其开放性才能带来好处。这一点将愈发重要,因为汽车正在变成和我们的手机和移动互联网服务相连的开放系统。

本文由作者Ben Cotton 发表在Opensource.com 上: Open source code isn’t a warranty 。经授权,在 InfoQ 中文站翻译共享。本文在 Creative Commons BY-SA 4.0 许可证下发布。


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。

2015-11-02 18:001736
用户头像

发布了 77 篇内容, 共 37.3 次阅读, 收获喜欢 26 次。

关注

评论

发布
暂无评论
发现更多内容

如何对数组中的对象进行排序

Changing Lin

12月日更

给代码上一份保险

Rayjun

git pre-commit

模块六作业:拆分电商系统为微服务

dean

架构实战营

刷新

Nydia

【LeetCode】最小基因变化Java题解

Albert

算法 LeetCode 12月日更

数据大体系(二)——数仓的一般命名规范

圣迪

大数据 数仓 命名

工作到退休,会是什么样子的?(11/28)

赵新龙

28天写作

[Pulsar] 一个消息的生命历程

Zike Yang

Apache Pulsar 12月日更

volatile 为什么不保证原子性

悟空聊架构

volatile 原子性 28天写作 悟空聊架构 12月日更

瞰见 | 黯然退市的 Cloudera, 让我们开源人情何以堪?

OpenTEKr

狄安瞰源

如何够量-训练你的主题演讲

将军-技术演讲力教练

毕业总结

4anonymous

元宇宙100讲--0x001

hackstoic

元宇宙

面试官:Chrome和Chromium的区别

喵叔

28天写作 12月日更

总结篇:10个常用的 JavaScript 函数

devpoint

filter 12月日更

Zilliz 顾钧:开源是协调技术供应商、开发者和用户之间利益的一种更健康的方式 I OpenTEKr 大话开源 Vol.2

OpenTEKr

大话开源

高效的部署微服务

卢卡多多

28天写作 12月日更

Android 文件重定向下载 & 通知问题小结

阿策小和尚

28天写作 Android 小菜鸟 12月日更

VR就是下一代平台

mtfelix

28天写作

Rust 元宇宙 16 —— 里程碑,二人世界

Miracle

rust 元宇宙

数据存储淘汰专题 | 内容合集

卢卡多多

内容合集 签约计划第二季

黑客竟然需要掌握这些知识

喀拉峻

黑客 网络安全

我可能误会了理性的作用

Justin

心理学 创意 理性 28天写作

模块六

小何

「架构实战营」

拿它们练Python爬虫,是在法律边缘试探吗?爬虫圈香饽饽之视频网站的评论区采集

梦想橡皮擦

12月日更

技术人员需要加强推动力

张老蔫

28天写作

Eureka非分区集群部署

李子捌

微服务 28天写作 12月日更

毕业设计

4anonymous

「如何从零到一实现一个玩具浏览器🌏」

速冻鱼

前端 浏览器 签约计划第二季 12月日更

100% 展示 MySQL 语句执行的神器-Optimizer Trace

程序员历小冰

MySQL 28天写作 12月日更

团队基建系列 - 组织知识传承 6 成功要素

搬砖的周狮傅

团队文化 团队成长

开源等于安全吗?_安全_曹知渊_InfoQ精选文章