开源软件安全挑战依然存在但风险可控

来源 :计算机世界 | 被引量 : 0次 | 上传用户:modlong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  使用开源组件节省了开发人员的时间和企业成本。换句话说,还是有市场的。本文简要介绍怎样提高开源代码的安全性。
  今年的Equifax泄露事件给我们敲响了警钟,开源软件和组件虽然有很多好处,但却给企业安全带来了巨大的风险,特别是在维护不当的情况下。
  所有纵向行业各种规模的企业现在都在使用开源软件。有开源操作系统、生产效率软件、管理员和开发人员的工具,以及企业用来开发自己的软件的代码库。甚至商业软件通常也是在开源代码的基础上开发的。
  Kudelski安全公司的首席技术官Andrew Howard表示:“我看到开源软件在企业中的应用越来越广泛。随着企业转向敏捷方法,开源变得更有价值,并且有很多可供使用的工具。您可以注意一下刚刚进入市场的软件开发新手,他们经过培训,非常适应开源技术。”
  开源代码的安全优势
  Howard说,开发人员非常依赖于开源软件,尤其愿意采用有大规模团队进行维护的大型开源项目。此外,还可以通过很多相关方来保证安全。他说:“这是使用开源软件的主要优势,而不仅仅是为了降低成本。理论上有更多的相关方关注它。”尽管他补充说,这不适用于小项目或者代码库,“有些软件还没有相关的社区。”
  开源软件的另一个安全优势是,如果有问题,企业可以立即打开它并进行修改。Synopsys公司的开源解决方案经理Mel Llaguno说:“如果代码是根据专有协议授权的,那企业通常必须等待供应商的回应。”
  为什么开源软件会带来安全威胁?
  Synopsys管理的Coverity是一项免费服务,用于扫描开源软件的漏洞。Llaguno说:“总体上,开源软件的质量一直在稳步提高。我们的扫描项目涉及到大约7.5亿行开源代码,发现了110万个漏洞——并且已经解决了65万个漏洞。”他补充说,很多项目,尤其一些小项目,都不会扫描它们的代码以发现潜在的安全漏洞。
  例如,Black Duck软件公司跟踪了55万多个项目中的100多亿行开源代码。而且这还不是全部。Linux基金会报告说,已经有310亿行代码被提交给了开源代码库。
  谁在使用所有这些开源代码?所有人。根据最新的Black Duck报告,目前96%的商业应用软件中都有开源组件。应用程序平均有147个不同的开源组件,67%的应用程序使用了含有已知漏洞的组件。
  美国政府资助了公共漏洞枚举(CVE)名录和国家漏洞数据库。2017年,CVE名录中新增了8千多个漏洞,创历史新高。
  那么,为什么企业要使用开源软件呢?Synopsys公司的Black Duck安全策略师Mike Pittenger指出:“在一般的应用软件中,三分之一以上的代码都是开源的。如果想替换这些三分之一的代码库,那么您将不得不增加开发团队的人手,开发时间会延长50%——在当今的环境下,我认为这不是可行的选择。”
  以伦敦的Skyscanner有限公司为例,该公司生产旅行搜索引擎。公司习惯于在.NET这样的私有封闭的平台上运行。Skyscanner的安全工程师Alex Harriss说,过去几年中,公司转向采用各种开发语言和技术,包括开源。他说:“这意味着我们的工程师现在可以参考多种开源库,几分钟内就能够部署好代码。”
  Harriss说,但这也带来了安全难题。他说:“我认为事实上有一种错误的导向,即作为开源,社区已经对这些库进行了安全漏洞检查。实际情况并非总是如此。”
  他说,很多文件齐全的库中都存在着已知的漏洞。由于工程师只需从这些库中提取代码并进行部署,因此这就带来了可见性问题。他说:“我们根本不清楚我们产品有多大的依赖性。”
  需要对开源软件安全进行详细的尽职调查
  并非Skyscanner一家是这样。据最新的Veracode报告,只有28%的企业进行定期分析,找出哪些组件被构建到了他们的应用程序中。随着开源代码使用的越来越多,风险面也在扩大。
  在开源代码中不断发现新的漏洞,很多项目还没有发现和修复问题的机制。据Snyk最近对开源代码维护人员的调查,44%的受访者从未进行过安全审计,只有17%的受访者说他们有高水平的安全技能。
  也没有标准的方法来记录开源项目的安全性。在GitHub上的40万个公共代码库中,只有2.4%有安全文档。
  那么,如果修复了问题,常常无法找到并通知老代码的所有用户。Black Duck的Pittenger说:“开源社区并不知道谁在使用他们的组件。”
  据Snyk调查,88%的开源代码维护人员在发布声明中添加了与安全相关的声明,34%的维护人员不赞成使用不安全的老版本。25%的维护人员表示,他们根本没有精力来通知用户有漏洞,只有10%的维护人员向CVE提交了文件。
  Snyk有限公司的首席执行官和联合创始人Guy Podjarny指出,很多人并不知道CVE过程是怎样工作的,或者没有时间去了解它。他说:“例如,在JavaScript中,我们跟踪的漏洞中只有13%的漏洞有一个CVE编码。其余的则只是被记录为缺陷。”
  Snyk的安全研究部门通过查找发布声明以及GitHub和Apache问题跟踪系统中的线索,来寻找开源库安全问题的迹象。研究结果发布在漏洞数据库中,并且可能的话,Snyk也会将其提交给CVE名录。
  然而,要获得CVE是一个比较复杂的过程,需要委员会同意提供详细的CVE,还需要与项目所有者达成协议。Podjarny说:“目前这种方法的运作方式还形不成规模。”
  最后,如果发现并修补了漏洞,并且公布了補丁,那么使用这些代码的企业也不一定知道自己是不是有漏洞,或者难以找到所有实例中的漏洞。例如,今年影响很大的Equifax泄露事件涉及到Apache Struts开源软件的一个漏洞。在泄露事件发生几个月之前就发布了补丁,Equifax虽然知道补丁,但仍然没有及时打上补丁。   另一个问题是,有些公司还在运行老版本的代码,由于兼容性问题、合规或者其他原因,无法迁移到最新版本。据Snyk,只有16%的漏洞补丁能后向应用于其他版本。
  发现并修复
  在理想情况下,一旦有了安全补丁,应用程序能够在不需要任何干预的情况下立即更新安全补丁。然而,在实践中,并非总是如此。
  相反,企业需要有一种方法,找到其环境中的所有源代码实例,不断更新列表,帮助开发人员避免使用老的、不安全的库,最终在发现新漏洞后及时打上补丁。
  Skyscanner的Harriss说:“只有当您知道漏洞在哪里时,才能从自己的产品中去除漏洞库,而且在产品生命周期中,这项工作做得越早,成本就越低,也越容易。”
  很多公司转向Snyk、Black Duck和Veracode这样的供应商以寻求帮助。Skyscanner也是这样做的。Harriss说:“Snyk让我们看到在哪些项目中使用了哪些补丁包,这些项目有哪些漏洞,是怎样引入到我们代码中的。”此外,开发人员在编写代码时,Snyk会立即向他们提示哪里有漏洞,这样便可在代码投产之前解决这些问题。
  因为很难追踪正在使用的所有代码,因此把开源漏洞扫描功能集成到开发过程中对大型企业尤其重要。Veracode研究副总裁Chris Eng说:“和我们打交道的大多数公司都不知道他们所拥有的全部应用程序,这有点吓人。”
  当Veracode进行漏洞扫描时,公司会上传二进制代码,Veracode会参照国家漏洞数据库进行检查。为帮助公司发现哪些应用程序可能存在问题,Veracode还可以扫描公司的周界。Eng说:“不是要找到漏洞还没有被暴露的内部应用程序,而是那些由于发现了漏洞从而能降低风险的应用程序。”
  他还补充说,企业还可以使用一些网络工具来了解内部运行情况,但如果网络是分段的,则可能会出现盲点。公司还可以在端点设备上安装代理来跟踪运行情况。Eng说:“如果不在所有的设备上都安装代理,可能还会有盲点。没有万能的方法,这就是为什么这个问题非常棘手的原因。”
  对于Equifax来说,这肯定也是一个难题去年十月份,前首席执行官Richard Smith告诉国会,该公司的信息安全部门进行了扫描,寻找导致最终泄露事件的Apache Struts漏洞。他说,扫描“没有發现任何版本的Apache Struts受到这个漏洞的影响,这个漏洞在Equifax网络应用程序中存留的时间比预期要长得多。”
  Black Duck的Pittenger说:“必须确保这一工具能够扫描到环境中的所有服务器。”即使扫描是全面的,准确的,也会给企业带来大量的管理开销。如果开发过程中没有内置安全检查功能,那么必须持续进行这类扫描,分别检查而且还要不断检查应用程序是否有漏洞。
  开发人员不仅会在更新应用程序时引入新的漏洞库,而且还会在以前认为安全的老库中发现新漏洞。Eng说:“软件不像酒那样越老越香。而是像牛奶一样会变质。”
  Eng说,开发人员很少回头去检查他们在旧项目中使用的库。他说:“我下载当前的最新版本,把它集成到我的应用程序中,就再也不去想它了。”
  Black Duck这个月以5亿美元收购了Synopsys公司,充分说明了这一问题目前有多重要。Denim集团负责人John Dickson对如此大手笔的交易感到惊讶,他说:“我敢说,这是由市场决定的。我原以为这非常热门,没想到是如此的热门。此次收购真的是无人不知。”
  Maria Korolov过去20年一直涉足新兴技术和新兴市场。
  原文网址:
  http://www.csoonline.com/article/3157377/application-development/report-attacks-based-on-open-source-vulnerabilities-will-rise-20-percent-this-year.html
其他文献
近年来,我国城市轨道交通行业快速发展,在满足人民群众出行需求、缓解城市交通拥堵、优化城市结构布局、促进经济社会发展等方面发挥着越来越重要的作用。  根据城市轨道交通协会的统计,截至2017年6月,中国大陆地区已有31个城市开通运营城市轨道交通,共133条线路,运营线路总长度达4400公里。预计“十三五”期间城市轨道交通投资将超过2万亿元,到2020年运营线路总长度将达7700公里。  从某种程度上
2016年全球网络安全领域风云变幻,网络威胁持续演化。随着黑色产业链以及高级威胁攻击技术的发展,新一轮黑客淘金浪潮即将大举来袭。尽管勒索病毒的数量在 2016 年暴增,但其成长力道已无法维持下去,因此黑客将在现有的恶意软件基础上找到新的出路。  《亚信安全 2017 年網络威胁预测》显示,新的勒索病毒家族数量将趋于平缓,成长率仅约 25% 左右,但其矛头将开始转向 IoT 设备和非桌面计算机工作站
10月31日,2019年中国国际信息通信展览会开幕。在上午举行的ICT中国2019高层论坛上,工信部副部长陈肇雄与中國电信董事长柯瑞文、中国移动董事长杨杰、中国联通董事长王晓初、中国铁塔董事长佟吉禄共同开启了5G商用启动仪式。   中国联通董事长王晓初表示,中国联通和中国电信共建共享5G网络,由于频率共用,将是全球首张大容量的5G网络,速率也最高,今年在24个省市开通5G共建共享。中国移动董事长
技术和业务永远不会自动地同时成功。本文介绍怎样让IT战略和企业目标像钟表一样精准匹配。  在理想的世界中,IT和业务部门将完美地结合在一起,IT为业务部门领导提供实现最大性能、效率和利润所需的战略计划和资源。  然而,正如你可能已经注意到的,寻求完美有时候反而令人感到难以捉摸。在现实世界中,IT领导经常会猜测他们所建立的计划和他们选择的技术是否真正达到了企业的期望。与此同时,业务领导经常担心IT没
“两会”期间,董明珠在接受记者采访时表示,格力集团近年来一直都在通过工业互联网应用平台提高生产效率,实现降本增效的目标,在供给侧经济结构性改革当中,工业互联网以及新型基础设施等应用平台和关键技术已成为制造企业未来发展的必然选择。  董明珠表示,工业互联网可以解决最根本的实际生产难题,提高企业产品质量和技術含量。工业互联网也需要智能设备,需要核心技术做支撑。在过去以往的工业互联网探索与运用过程中,格
企业长期部署在数据中心的服务器、操作系统、核心软件和网络正在向外迁移到公有云。  云计算并不是一种单一类型的产品,而是为满足企业各种IT需求而提供的多种服务。  通过云计算提供的一类这样的服务是基础设施即服务(IaaS),它通常通过互联网为企业提供虚拟化的计算资源。IaaS是一类主要的云计算服务,其他的还有软件即服务(SaaS)和平台即服务(PaaS)。  在IaaS模型中,第三方服务提供商以高度
Kubernetes和容器正在改变应用的构建、部署和管理方式。以下这些发行版正在引领这一变革。  如果你需要大规模的容器编排,就可以借助Kubernetes这个项目。这个出自谷歌的开源容器编排系统备受好评,不仅得到了良好的支持,而且发展势头迅猛。  尽管如此,Kubernetes仍存在庞大、复杂,并且难以搭建和配置的问题。不仅如此,它还将许多繁重的工作留给了终端用户。因此,最好的方法是不要自己单独
人工智能和机器学习正在逐步接管日常的例行任务和高级任务。管理员和员工会因此而失业吗?  大多数IT领导者都认为自己完全掌握了数据中心的管理、运营和规划,但实际上他们并没有。  任何IT领导者或IT专家团队都无法对基本的数据中心任务进行逐秒(甚至更为精细的)控制。人类,即使是受过高等教育和训练的专业人员在未来规划和其他重要职责任方面也会受到个人偏好、偏见和误解的影响。  人工智能就没有这些缺点。这就
随时随地联网已经不是问题,问题是动态强互联环境下的网络体验如何。  一年一度的两会是当年宏观经济发展的指南,也是各行各业重要商机的方向指引。在今年的政府工作报告中,明确指出“今年网络提速降费要迈出更大步伐”,“大幅降低中小企业互联网专线接入资费”,“推动’互联网 ’深入发展、促进数字经济加快成长,让企业广泛受益、群众普遍受惠。 大力改造提升传统产业,深入实施‘中国制造 2025’,加快大数据、云计
“亲爱的”与人脸识别  嘉宾在40张父母合照中随机挑选一张,选手和小度同时观察该照片,在40位造型一致,身材接近的女生中,找到该父母的亲生女儿,所找出的女儿手中全家福照片与父母合照背面的全家福完全一致,则挑战成功。  AI技术解读——人脸识别  人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸