守护软件供应链安全:国产软件BinSearch的最佳实践

一、什么是软件供应链安全

在今天,企业软件项目越来越依赖于第三方和开源组件。这些组件由不受雇于开发主要软件的组织的个人创建和维护,他们不一定使用与组织相同的安全策略。这将会带来潜在的安全风险,因为这些策略之间的差异或不一致可能会导致一些危险的漏洞被忽视。

第三方软件组件要么直接来自供应商,要么来自集中的注册中心和存储库。这些供应商和存储库构成了现代软件供应链。攻击者可以以多种方法危害软件供应链的安全,例如:

  • 利用第三方组件中的bug或漏洞
  • 破坏第三方的开发环境并注入恶意软件
  • 创建恶意的假组件

供应链安全旨在防止、检测和减轻这些威胁以及源自组织第三方组件的任何其他威胁。


二、什么是软件供应链攻击

根据NIST(美国国家标准与技术研究所)的说法,“当网络威胁行为者渗透到软件供应商的网络中,并在供应商将软件发送给客户之前使用恶意代码来攻击软件时,软件供应链攻击就会发生,受损的软件继而会损害客户的数据或系统。这种类型的攻击会影响到所有受损软件的用户,并可能对政府、关键基础设施和私营部门软件客户产生巨大的影响。”

守护软件供应链安全:国产软件BinSearch的最佳实践

通常,攻击者会发现供应链中的一个薄弱环节,并利用它向供应链上游移动。他们利用受信任的关系攻破使用受害者组件、产品或服务的组织。这可以允许攻击者通过一个成功的漏洞攻破大量安全良好的组织。

软件供应链攻击将重点从组织的内部防御转移到其供应商的防御上。如果防御良好的组织使用安全标准薄弱的供应商,攻击者将集中攻击该厂商。一旦他们破坏了供应商的网络或开发过程,他们就可以利用这个立足点来渗透客户的系统。例如:

  • MSP袭击

一种特殊类型的供应链攻击目标是MSP(托管服务提供商)。组织经常外包一些环节给MSP,甚至包括一些敏感的环节,例如网络和系统管理。通过破坏MSP,攻击者可以立即进入其所有客户的公司网络。这种类型的攻击近年来迅猛增长,被用于策划勒索软件攻击、销售点入侵和商业电子邮件妥协骗局。2021年的一份报告统计,针对单个MSP或MSSP(托管安全服务提供商)的网络攻击可能会给数百家企业造成高达800亿美元的经济损失。

  • 恶意软件的使用

虽然MSP攻击利用特权访问,但其他供应链攻击会危及供应商的系统和植入恶意软件,然后将其传输给供应商客户。这就是在SolarWinds事件中使用的攻击方法。攻击者在一个看似无害的软件更新中植入恶意软件,这个更新由SolarWinds签名并分发给其客户,最终导致包括思科、SAP、inter等大型跨国公司受到了冲击。

守护软件供应链安全:国产软件BinSearch的最佳实践

  • 后续攻击

通常,供应链攻击只是攻击者计划的第一步。在最初的供应链攻击之后,攻击者通常会尝试横向移动和权限提升,以加强对网络的控制,并获得进入更深层系统的权限。之后,攻击者可能会窃取敏感数据。


三、传统网络安全措施的局限性

供应链攻击的目标是一个或多个供应商,可能需要几个月的时间才能成功。在许多情况下,这些攻击很长时间都没有被发现。与APT攻击一样,供应链攻击往往是有针对性的,而且非常复杂。

即使企业拥有优秀的传统网络安全防御能力,也很容易收到供应链攻击。因为,大多数传统的网络安全措施本身就隐含地信任已经包含在产品或服务中的元素。企业可能拥有最先进的防火墙和终端安全技术,但这些技术本身,或企业基础设施本身,都可能会受到供应链攻击的冲击与危害。

ENISA(欧盟网络安全局)的一份报告显示,在大约66%的供应链攻击报告中,攻击者使用供应商代码来攻击供应商的客户。这意味着企业应该在使用第三方软件和代码之前确保它们不曾被恶意篡改和植入。

另一个重要发现是,在所分析的半数以上的供应链攻击中,供应商要么不知道,要么没有报告攻击是如何发生的。但是,89%的收到供应链攻击的客户企业最终意识到了攻击。这表明供应商与其企业客户之间在安全事件报告方面存在成熟度差距,而且供应商的安全成熟度普遍较低。


四、确保软件供应链安全的四个最佳实践

以下四个最佳实践可以帮助你的企业为下一次供应链攻击做好准备:

  • 快速应对漏洞

虽然一些供应链攻击利用未知0day漏洞,但其中的大多数攻击都是利用的已知漏洞。企业应该列出一个SBOM来识别具有已知漏洞的组件,并应用相关的更新或补丁。快速识别和修复第三方组件的漏洞是防止供应链攻击的主要手段。

  • 深度维护供应链的可视性

组织需要了解他们所使用的的工具链,并理解组件、系统和源代码之间的关系。当发现一个漏洞时,开发人员需要知道该漏洞组件在哪些软件项目中的哪个位置,以便迅速的修复或删除。可以使用多种工具自动检测和帮助管理漏洞,例如MEND SCA、CodeAnt等等。

  • 标记问题组件

开发人员始终在不断寻找可能包含漏洞的新组件,因此企业应该将供应链安全性进行左移,以确保开发人员拥有相应的安全知识和工具支持,从而避免在SDLC的早期选择不安全的组件。一旦发现有问题的组件,就应该对其进行标记,以确保所有开发团队都意识到它的存在。被标记的组件或哪些漏洞扫描失败的组件可能会破坏架构,而CI/CD管道理应自动阻止它们被部署到生产环境中。

  • 持续监控组件

即使一个组件被确定为安全的,也不意味着它是一直安全的。新的漏洞不断被发现,组件也可能会抵达生命的尽头,又或者它们的开源管理者放弃并停止对它们的支持。在所有这些情况下,你必须能够检测组件风险状态的变化,对风险的严重性进行优先级排序,并更换组件。


五、软件供应链安全与修复

目前,大多数企业主要使用国外产品,那么市面上有没有一款易用的国产化工具可以解决软件供应链安全问题呢?答案是有的,下面我以湖南泛联新安信息科技有限公司所自主研发的BinSearch来进行演示,它是如何利用SCA的功能在开发早期阶段对第三方开源组件进行检测,来确保软件供应链安全的。

1.登录Binsearch系统。

守护软件供应链安全:国产软件BinSearch的最佳实践

在浏览器中输入用户名和密码,点击登录即可。

2.点击SCA分析,并上传需要分析的软件包,然后点击分析即可。

守护软件供应链安全:国产软件BinSearch的最佳实践

守护软件供应链安全:国产软件BinSearch的最佳实践

3.查看分析结果。

守护软件供应链安全:国产软件BinSearch的最佳实践

我们通过结果展示界面,可以看出该软件包含的具体组件数,哪些组件是存在漏洞的,并且可以看到致命漏洞,高危漏洞和中危漏洞等的占比。点击任意有漏洞的开源组件,可以查看该组件的详情以及包含的漏洞编号。

守护软件供应链安全:国产软件BinSearch的最佳实践

守护软件供应链安全:国产软件BinSearch的最佳实践

点击任意漏洞,可以进入漏洞详情页面,可以查看到相应的漏洞类型,受影响的软件版本,以及修复建议等一些信息

守护软件供应链安全:国产软件BinSearch的最佳实践

以上就是BinSearch的SCA功能大概演示,总体使用感觉就是操作简单,分析效率高,结果准确,并且提供了修复建议。方便研发人员在早期对产品中使用到的第三方组件进行诊断分析,做到漏洞早发现早修复,避免后期返工,造成更多的人力物力浪费。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章