作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
迈克尔·J. 麦当劳的头像

迈克尔·J. McDonald

迈克尔·J. 麦克唐纳是一位屡获殊荣的记者,曾在彭博新闻社和汤姆森金融公司工作.

Share

一般有两种类型的黑客:一种是侵入计算机系统寻找漏洞以修复它们的黑客,另一种是利用漏洞窃取数据并劫持组织的罪犯.

还有路康杰, 他是明尼苏达大学专攻计算机安全的助理教授. 他最近因故意在世界上最著名的开源软件系统中制造漏洞而臭名昭著, Linux内核. 在他发表了 学术论文 关于他的漏洞,Linux内核团队禁止了这所大学,并恢复了之前的修复程序.

故意的Linux内核漏洞

这一披露引发了人们对开源安全性和操作系统内核的质疑, 无数设备和服务器的基础组件. Lu将漏洞隐藏在他和一名研究生提交给Linux庞大的软件代码库的一些小补丁中, 颠覆对保持程序安全至关重要的协作方法.

“他们取得了令人痛苦的成功,”他说 亚历山大Sereda他是多伦多的一名项目经理,于2020年加入Toptal网络. “他们的恶意代码通过了社区监督,本应清除这类提交.”

虽然Windows和macOS主导着台式机,但基于linux的操作系统迄今为止是最受欢迎的 最受欢迎的 用于服务器和超级计算机,谷歌为Android使用了一个修改版本的内核. 红帽(Red Hat)等科技巨头已经围绕开源甚至微软(Microsoft)建立了自己的企业软件业务, 多年来,它一直被视为开源生态系统的主要反对者, 2018年,它收购了GitHub, the biggest host of open-source projects; today, Linux发行版可以在Microsoft Store中找到.

很难夸大Linux内核和开源软件的普及程度, 从业余爱好者和理想主义者的东西演变而来 变成基石 今天的软件市场. 有数百万的开源项目供开发人员筛选, 因为它们是免费的,而且在很大程度上是可靠的, 超过90%的商业应用程序包含这样的组件. 这一数字还在不断增长 年度研究报告 他来自硅设计和软件安全公司Synopsys.

可靠和免费同样重要, 开源社区以其提供的程序等同于, 如果不比, 专有软件. 该运动兴起于20世纪90年代,其核心宗旨是, 由开发者和作家Eric Raymond创造, 只要有足够的眼球, 所有的虫子都是浅的.到目前为止,尽管世界正在与前所未有的黑客和勒索软件的流行作斗争,但开源软件相对没有受到损害,这只是进一步肯定了这种开放合作仍然是有效的.

But, 正如陆在他的研究中所显示的那样, 没有安全措施是完美的, 即使在像Linux内核这样关键且受到严密监控的东西中也是如此. 虽然编写安全代码可能很简单, 事后发现代码中的漏洞可能非常困难——“就像把搅好的牛奶从茶里拿出来一样”,塞雷达说。. 而开放源码总体上表现得令人钦佩, 除了2014年出现的“心脏出血”漏洞等几个重大问题, 越来越多的证据表明,开发者, 对他们来说, 在将自由软件整合到他们的产品中时是否走了太多的捷径.

开源安全风险

在其2021年年度报告中, Synopsys透露,它所审计的营销技术行业的每家公司都有开源代码库,其中95%的代码库包含漏洞. 在研究医疗保健行业时,也发现了类似的结果, 金融服务业, 以及零售和电子商务行业. 造成糟糕结果的原因有很多, 但其中最主要的是软件变得越来越复杂, 与此同时,跟踪和监控组件变得越来越困难.

开源比专有产品有更好的安全记录,但这并不能保证它总是最好的质量, says 山姆·沃特金斯他是一名自由的全栈开发人员,于2021年加入Toptal的网络. “我们有一个更大的问题,那就是过于复杂的程序. 这是不安全的,尽管不是出于恶意.”

那么问题就不一定是开源太开放了. Instead, 这种差距一直存在,因为即使软件周期不断缩短,也没有一家供应商为社区推出补丁, 蒂莫西·麦基说, 他是新思科技公司的首席安全策略师. 紧张的预算迫使程序员使用不完美的捷径,比如简单的评级系统来根据受欢迎程度挑选组件, 而不是质量. 有许多服务为程序员提供了这样的快捷方式, 包括Openbase, 堆栈建设者, 以及开源索引, 哪些突出了GitHub上最受欢迎的项目.

管理开源漏洞

根据程序员和学者的说法, 虽然这些开源评级系统有其价值, 在权衡选择时需要更多的验证和考虑, 而不是仅仅抓取看似最匹配的组件. 每个组织都应该建立一套 最佳实践 这包括仔细选择软件的原则,要考虑到所需的支持数量和面临的风险. 公司还应该跟踪并经常更新他们所有的开源组件.

我们的专家确定供考虑的其他一些最佳实践包括:

  • 使用自动化,验证过程; 记录一切, and using Git 跟踪代码库的变化.
  • 创建一个积极的社区, 包括帮助那些可能成为重要合作者的开源新手.
  • 保持所有开源供应链的可审计性.
  • 使用开源容器 共享主机操作系统的内核.
  • 确定最关键的开源组件, 然后跟踪他们的安全问题, 与开发者互动, 并为上游项目提供补丁和资金.

安Barcomb, 卡尔加里大学舒利克工程学院的助理教授, 补充说,, ideally, 组织应该使用一组最佳实践来构建预先批准的产品库,这样软件就不会被随意选择. 然而,她承认这个过程是耗时的,昂贵的,并且没有被广泛实践.

他说:“你想要更多的安全,但这种安全需要付出巨大的代价。 Ayush波达尔他是一名自由后端开发人员,于2021年加入Toptal.

像Black Duck这样的平台, Sonatype, Snyk, 和WhiteSource提供自动化来帮助查找计算机程序堆栈中的开源组件并识别漏洞. Still, 这些工具是有限的,跟上代码补丁是另一个只会变得更糟的问题——美国网络安全 & 基础设施安全局 reports 每周都有数百个新的软件漏洞.

“你不可能测试每一段代码的每一个执行组合,艾丹·麦克马纳斯说, 他是一位退休的技术高管,曾在CA Technologies负责IT架构和工程. “这需要数年时间.”

垫Heimdahl, 他是明尼苏达大学计算机科学与工程系的主任, 注意到康杰和他的研究人员还在内核中发现了许多与他们提交的错误分开的错误补丁. “It is, 在我看来, 很明显,由过度工作和不受重视的志愿者(即使是非常熟练和敬业的维护者)组成的手动审查过程将不可避免地不完美,海姆达尔在一封电子邮件中写道.

漏洞不断增加的事实提出了关于如何管理开源的基本问题. 在加速创新的同时, 它本质上是一种共享资源, 一个庞大的免费软件库,可以为消费者节省开支 每年600亿美元 同时也通过降低开发成本为公司增加利润. 可能只是有太多的搭便车者 资源不足 负责维护和安全.

明尼苏达大学Linux内核禁令:限制学习

虽然没有任何迹象表明对修复程序的审查已经改变,但Linux基金会已经改变了 建立 为使用内核的研究人员提供的一组最佳实践, 并建议明尼苏达大学为其提交的材料指定一名审稿人. 除了代码审查,确实没有其他选择,而且社区现在正在做一项合理的工作,将恶意代码拒之门外, 说Barcomb. 考虑到知识工作所需的自主权, she says, “你能做的最好的事情就是制定流程来识别违反信任的行为,并做出相应的回应, 在最好的情况下,在合并更改之前.”

海姆达尔指出,他的机构正在组织一个委员会,在等待禁令解除的同时,为提交补丁提供建议.

Linux 曾经是一个局外人的想法吗, 这是对专有软件传统思维的大胆反驳, 但它已经演变成一个看起来更像商业项目的东西. 华为、英特尔和红帽 lead 数百家定期为Linux内核贡献代码的公司. 虽然这些公司中的许多也向Linux基金会和开源倡议的附属机构捐款, 也许是时候采用更系统的方法来支持软件,以帮助改进 security 展望未来——一个更重视这些关键的开源系统的好处的公司.

“人们想当然地认为开源是可行的,克里斯托弗·托齐说, 伦斯勒理工学院高级讲师. “新一代的人还没有真正考虑过这些问题.”

了解基本知识

  • Linux内核有多安全?

    Linux内核是比较安全的开源项目之一, 鉴于它的资金和众多的志愿者. 如果有什么区别的话, 明尼苏达大学“伪君子提交”事件的最终结果表明,维护人员终究还是保持了内核的安全.

  • 什么是代码安全?

    代码安全性指的是最小化漏洞并防止它们被引入代码库.

  • 为什么我们需要保护代码?

    不安全的代码使最终用户面临各种各样的风险, 这取决于所涉及的软件类型——从经济损失到人身伤害.

  • 什么是开源代码?

    开源意味着源代码是公开可用的,任何人都可以分析其漏洞.

  • 开源是如何工作的?

    开源项目通常欢迎公众的贡献,这样用户就有机会改进他们从中受益的免费产品. 对源代码的贡献由代码库维护者(给定项目背后的当前关键开发人员)审查.

聘请Toptal这方面的专家.
Hire Now

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

Toptal开发者

加入总冠军® community.