写点什么

开源等于安全吗?

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

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

关注

评论

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

福利贴|这是一个程序员不看一定会后悔的问题

Zilliz

非结构化数据 Milvus Zilliz 向量数据库

WorkPlus Meet 视频会议,自主可控,支持私有化部署

BeeWorks

TinyEngine 低代码引擎到底是什么?

英勇无比的消炎药

开源 前端 低代码

苹果电脑专业图表绘制推荐OmniGraffle Pro 正式版激活中文

胖墩儿不胖y

Mac软件 绘图软件 绘图工具

rabbitMQ到底是个啥东西?

程序员万金游

Java 开发 #java Rabbit MQ

火山引擎边缘云:数智化项目管理助力下的业务增长引擎

火山引擎边缘云

数字化 飞书 数智化 #项目管理

人工智能核心基础 - 规划和概要

茶桁

人工智能 机器学习 深度学习 CNN RNN

企业内部通讯,WorkPlus助您打造高效沟通平台

BeeWorks

Java训练营毕业总结

jjn0703

Redis内存碎片:深度解析与优化策略

Java随想录

Java redis

华为智慧屏,吹尽狂沙始到金

脑极体

AI智慧屏

华为阅读“鲁迅专栏”已上线,读国内名家作品就上华为阅读

最新动态

使用Optional优雅避免空指针异常

Java随想录

Java 异常

大道总是孤独的——查理芒格如是说

少油少糖八分饱

投资 长期主义 能力圈 查理芒格 股东大会

Github上线即遭狂转!上百人通过这份算法手抄本成功上岸字节

程序员万金游

#java java 架构 #算法 #数据结构 #java编程

华为云耀云服务器L实例:带你探索轻量应用服务器的魅力

YG科技

轻量应用服务器,助力个人开发者最低成本创业

YG科技

英伟达,不能只做孤独的胜利者

自象限

数字中国下西洋,需要一支怎样的船队?

白洞计划

AI 网易 风控

WorkPlus私有化部署IM即时通讯平台,构建高效安全的局域网办公环境

BeeWorks

腾讯Java后端社招三面,差点就挂了!

程序员小毕

Java 程序员 面试 程序人生 架构师

为什么要使用zookeeper

Jerry Tse

zookeeper 分布式锁 分布式系统 共识算法 数据强一致性

close()关闭文件方法

芯动大师

Generative AI 新世界 | 扩散模型原理的代码实践之采样篇

亚马逊云科技 (Amazon Web Services)

机器学习 #人工智能 生成式人工智能 Amazon SageMaker 大语言模型

IoTDB 在国际数据库性能测试排行榜中位居第一?测试环境复现与流程详解第一弹!

Apache IoTDB

“00后”整顿职场,终于轮到网安圈了

脑极体

数据湖

Redis类型(Type)与编码(Encoding)

Java随想录

redis

Python 中的数字类型与转换技巧

小万哥

Python 程序员 软件 后端 开发

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