说到应用程序和软件,关键词是“更多”。在数字经济需求的推动下,从简化业务运营到创造创新的新收入机会,企业越来越依赖应用程序。云本地应用程序开发更是火上浇油。然而,情况是双向的:这些应用程序通常更复杂,使用的开放源代码比以往任何时候都包含更多的漏洞。此外,威胁行为者正在创造和使用更多的攻击方法和技术,通常是组合在一起的。
最终,我们得到了各种攻击机会的大杂烩,威胁行为者知道这一点。事实上,Mend.io最近发布的关于软件供应链恶意软件的报告显示,从2021年到2022年,发布到NPM和RubyGems上的恶意包数量跃升了315%。这些攻击通常会危及受信任的供应商。
正是因为他们利用了可信的关系,他们可能很难被发现和击退。
那么,你如何防御它们呢?
软件供应链是为应用程序提供软件组件的供应商和供应商的网络。敌手侵入第三方软件以获取对您的系统和代码库的访问权限。然后,他们在你的供应链中横向移动,直到他们到达预期的目标。
一般来说,软件供应链攻击遵循一系列阶段。
侦察
恶意行为者研究他们的目标并识别供应链中的漏洞。这涉及到收集关于供应链中的供应商、供应商和合作伙伴的信息。
最初的妥协
第一次接触到供应链中的薄弱环节,如第三方供应商或供应商。它可能涉及网络钓鱼和其他社交工程,以诱骗员工提供访问凭据。
横向运动
一旦进入供应链,攻击者就会试图使用被盗的凭据或利用漏洞等手段访问其他系统或数据。
特权升级
攻击者试图获得对目标企业内的关键系统的管理访问权限,如域控制器或其他保存敏感数据的服务器。
数据外泄
数据或知识产权被盗,或造成其他破坏。
通过了解这些阶段,您可以采取措施在软件供应链攻击造成重大破坏之前检测、减轻和防止它们。
代码审查和测试不足,导致漏洞未被检测到。企业应实施全面的代码审查和测试流程,以识别和缓解任何潜在的安全问题。
过时/未打补丁的软件使系统容易受到攻击者利用的已知安全漏洞的攻击。
设计不佳的访问控制和薄弱的身份验证允许攻击者轻松获得对敏感系统和数据的未经授权访问。
薄弱的加密和不安全的通信使数据泄露变得很容易。
如果企业没有工具或专业知识来有效地监控和检测威胁,缺乏对供应链的可见性就会增加暴露在潜在问题中的风险。这是也构成威胁的一些隐藏漏洞中的第一个。
其他包括:
隐藏的漏洞
第三方依赖项。应用程序通常依赖于第三方库和组件,如果管理不当,可能会引入漏洞。这些可能很难检测到,特别是当企业对源代码的可见性很差的时候。
软件供应商缺乏多样性。如果企业依赖于单一的软件供应商,并且无法了解其安全实践,那么它就无法有效地检测隐藏的漏洞。
针对开源软件的攻击之所以发生,是因为企业大量使用开源软件,以至于它是一个巨大的攻击面。
确定软件供应商和合作伙伴。生成软件材料清单(SBOM)-所有供应商、承包商和其他合作伙伴的清单,检查他们的安全策略和控制,以及他们是否符合法规。
进行风险评估并制定补救计划,包括可靠的软件测试和增强安全意识。
审查并实施您的控制和策略。确保您的策略符合安全要求。检查访问控制和数据保护,以防止未经授权的访问、加强保密性、限制攻击面并降低第三方风险。
增强加密和安全通信的能力
评估和重新设计供应链架构,以提高供应链可见性,更好地识别和管理潜在问题、恶意活动、第三方风险,并确保满足合规和监管要求。
构建全面的安全方法。结合使用漏洞扫描仪、终端保护软件、网络安全工具、身份和访问管理以及特定的软件供应链工具,以及员工培训和响应规划。
在下一篇文章中,我将介绍如何成功地做到这一点,以及您应该如何使用这些工具来加强软件和应用程序的安全性。