开源软件的本质意味着,虽然它由多个开发人员审查,但应采取额外步骤以确保其安全性。
企业正在利用各种开源产品,包括操作系统,代码库,软件和应用程序,用于各种业务用例。虽然使用开源具有成本,灵活性和速度优势,但它也可能带来一些独特的安全挑战。鉴于开源组件可能存在于高达96%的商业应用程序中,您如何确保您的软件是安全的?
我们询问了Cloud Academy内容团队的两名成员 - 我们的DevOps专家Logan Rakai和我们的所有安全专家Stuart Scott - 分享他们帮助保持开源组件安全的技巧。
是什么让开源组件容易受到安全风险的影响?
一些开源项目的短暂发布周期可能难以跟上。
从好的方面来说,新功能和补丁很快就会被部署。但是,审核每个版本可能是某人的全职工作,当您在一个版本中管理所有问题时,另一个版本已准备就绪。本周风味的开源框架是一个安全的噩梦,虽然拥有一个扫描最新更新的自动化系统将有所帮助,但它不是一个可以识别所有问题的故障保护。
有了这么广泛的用户群来测试软件,发现潜在的漏洞安全漏洞,开源软件(OSS)通常被认为更安全。但是,在捕获和修复安全问题时,仅仅关注问题是不够的。安全问题需要安全专业知识,并非所有开发人员都是安全专他们可能已经足够了解并尝试实施某些修复,但这可能会产生错误的风险缓解感。例如,加密等更高级的主题可以进一步缩小那些可以检查代码是否存在此类安全漏洞的人。
开源项目中的依赖性允许一些漏洞在雷达下飞行。
从包管理器中提取的包含未知第三方库的项目可能会传递不易看到的漏洞。许多开发人员确定版本范围,以确保未来的补丁可用。但是,删除多个项目的依赖项可能首先更难以注意到,并且更有可能是可以被利用的攻击向量。
开发人员和DevOps团队可以做些什么来更好地保护开源组件?
将所有内容视为代码,包括合规性。这样做有助于确保遵循已知的法规,包括支付卡行业(PCI)或医疗保健(HIPAA)信息隐私。这也可以更容易地确保普遍应用补丁。
拥抱自动化。
及时了解在线源(例如国家漏洞数据库)中记录的漏洞或在项目主页上发布的漏洞,这也是非常耗时的。放置一些前线工具以帮助捕获明显的事物(有一些很棒的商业和开源动态应用程序安全测试(DAST)解决方案可用)并使用监控工具来跟上实时发生的事情。 SumoLogic等工具非常棒,可作为安全信息和事件管理(SIEM)的现代替代品。静态代码分析至少必须是CI / CD过程的一部分,它可以自动,及早地检测安全问题,以补充同行评审。
将开发人员和安全性结合。
在一起请您的安全团队培训开发人员,以全面了解安全性和最新趋势。与安全团队合作举办的初步安全编码研讨会是开展工作的好方法。邀请他们设计评论,并在进行高风险变更时将其纳入会议。
建立安全第一的文化。
您的组织必须关注的不仅仅是将开发人员和安全性结合在一起,还要确保将有效的安全实践内置到您执行的所有操作中。世界上最好的解决方案和最好的警报机制无法解决不良的安全措施。例如,Equifax漏洞归因于开源软件Adobe Struts的易受攻击版本,就是一个很好的例子。自2017年广为人知的违规行为以来,尽管有补丁可用,公司仍在下载易受攻击的软件包版本。 (补丁也在Equifax漏洞发布前两个月发布,并且自那时起多次发布。)在DevOps文化中,安全性讨论必须尽早发生,并且通常在整个软件开发生命周期内及之后发生。如果您使用的是开源组件,那么您有责任了解更新并实际应用它们。
幸运的是,有一些工具可以帮助您评估并提供有关您在应用程序中使用的开源软件的安全性的信心。 Black Duck和Sonatype Nexus提供两种工具,为管理开源风险提供企业级端到端解决方案。请注意,这些解决方案不是一夜之间的解决方案,需要时间进行集成。
还有免费工具可用于评估开源软件和容器中的风险。许多开源软件包使用免费的静态分析扫描仪,结果可供所有人检查。
Coverity Scan提供对开源软件的免费深度扫描,其中包括Common Weakness Enumeration(CWE / SANS)Top 25漏洞。许多项目都信任Coverity Scan,包括Linux内核和Apache项目,如Hadoop。您可以在项目页面上找到它们。
如果您对所识别的风险不满意,可以考虑使用备用软件或版本。同样,如果您在DevOps实践中使用Docker容器,则可以利用Docker托管的官方映像的Docker Security Scanning结果,并使用相同的技术扫描您自己的私有存储库映像。
原文:https://dzone.com/articles/open-source-software-security-risks-and-best-pract
本文:http://pub.intelligentx.net/open-source-software-security-risks-and-best-practices
讨论:请加入知识星球【首席架构师】
最新内容
- 6 hours 26 minutes ago
- 8 hours ago
- 8 hours 58 minutes ago
- 3 days ago
- 3 days 7 hours ago
- 3 days 7 hours ago
- 3 days 8 hours ago
- 3 days 8 hours ago
- 1 week ago
- 1 week ago