写点什么

开源等于安全吗?

  • 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:002125
用户头像

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

关注

评论

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

Volatile 原理六:图解指令重排

悟空聊架构

volatile 28天写作 悟空聊架构 12月日更 指令重排

区块链引发了一场独特的社会运动

CECBC

团队实行996,就有人离职,怎么办?

石云升

996 28天写作 加班文化 职场经验 12月日更

不可错过的年度AI盛会 | 2021 新一代人工智能院士高峰论坛议程重磅发布

OpenI启智社区

人工智能 开源社区 院士峰会 启智开发者大会

持续写作的动力

张老蔫

28天写作

读《思辨与立场》-03公允无偏

wood

28天写作 批判性思维 思辨与立场

面向WEB开发的Docker(二):什么是Docker、镜像、编排?

devpoint

Docker Dockerfile 12月日更

Redis(三):持久化

IT巅峰技术

Java redis 架构师 分布式缓存 redis分布式

飞桨企业版重磅发布智能边缘控制台,5分钟零代码自动化模型部署

百度大脑

人工智能 百度

融云直播 SDK 2.0 重磅上线,两步接入即可获得视频直播能力

融云 RongCloud

音视频学习--视频特性测试

Fenngton

音视频 测试环境 签约计划第二季

【C++20协程原理】从Linux线程、线程与异步编程、协程与异步,一文带你弄清楚

奔着腾讯去

线程 多线程 进程 协程 C++20

CODING x 百果园,水果零售龙头迈出 DevOps 体系建设第一步

CODING DevOps

DevOps CODING 百果园 合作

面向视频原生,火山引擎视频云与边缘云软硬一体的新云解决方案

火山引擎边缘云

基础设施 边缘计算 云服务 视频 云计算,

贝壳Flutter体系化建设实践

贝壳大前端技术团队

技术专题合集

实用机器学习笔记十三:随机梯度下降

打工人!

机器学习 AI 算法 学习笔记 12月日更

大势已来,区块链的真正价值是什么?

CECBC

面向 WEB 开发的 Docker(一)

devpoint

Docker 12月日更

数据产品经理实战合集

第519区

内容合集 签约计划第二季 技术专题合集

声网把七年无全网事故的实时传输网络SD-RTN全面开放了——这就是FPA!

RTE开发者社区

人工智能 网络 SD-RTN

一款好用的Java插件 - Lombok

恒生LIGHT云社区

Java lombok

阿里云手机正式公测,定义手机全新接入方式

阿里云弹性计算

阿里云 弹性云手机

Spring Cloud Config

李子捌

微服务 28天写作 12月日更

在人均配备升降桌的公司工作,是一种怎样的体验?

LigaAI

开发者 LigaAI

谁在驱动、谁在引领?(14/28)

赵新龙

28天写作

读《刷新》有感

将军-技术演讲力教练

性能分析之 PHP 应用进程过多导致的 page faults

zuozewei

php 性能测试 性能分析 签约计划第二季

【AI最前线】精准优质-资讯|分享|热议第44期

百度大脑

人工智能

44 K8S之污点与容忍度

穿过生命散发芬芳

k8s 28天写作 12月日更

TCP 拥塞控制算法

程序员历小冰

TCP 网络 28天写作 12月日更

盘点前端进阶之路的零到一

速冻鱼

前端 内容合集 签约计划第二季 12月日更

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