软件-供应链-攻击-3cx-软件-供应链-攻击-3CX-供应链-攻击

3CX 供应链攻击:经验教训

软件供应链攻击分析

3CX 是一家提供 VoIP 和统一通信产品的知名公司。他们声称拥有超过 600,000 个安装和 12 万每日用户。毫无疑问,这对不法分子来说是一个诱人的目标。

3 月底,3CX 遭受了 XNUMXCX 供应链攻击,这是一次复杂的软件供应链攻击,攻击者成功将恶意软件注入其桌面软件。该恶意软件旨在窃取信息,但也会留下后门。

在本文中,我们将从不同角度分析此次供应链攻击的事件顺序。在此过程中,我们可能会 了解如何阻止或缓解攻击.

目录

袭击是如何进行的

3CX 供应链攻击:经验教训

攻击者首先入侵了一家名为 交易技术 总部位于伊利诺伊州芝加哥。该软件含有恶意软件( 隐秘信号 已注入后门。安装程序已使用有效的代码签名证书进行数字签名。不良行为者可能已侵入构建 pipeline 到 2021 年,并在软件打包和签名之前对其进行了修改。这是链式供应链攻击的第一步。到 2022 年 XNUMX 月, 报道 在运营方面 DreamJob 又名 BLINDINGCAN 以及  苹果公司针对美国新闻媒体、IT、​​加密货币和金融科技行业的组织。

该软件于 2020 年退役(!),但自 2022 年起可供下载。一名 3CX 员工将其安装在个人计算机上。坏人从受感染的计算机中窃取了该员工的公司凭据。有趣的是, 隐秘信号 使用 Trading Technologies 网站下的 URL 进行命令和控制(这是一种经常用来避免被发现的策略)。

在最初的入侵发生两天后,攻击者使用公司 VPN 访问 3CX 的内部系统。他们使用 FRP 反向代理(一种可用于好坏的公共工具)进行横向移动。他们知道如何利用获得的立足点:他们入侵了 Windows 和 macOS 构建系统。每个环境使用不同的工具。例如,他们使用 SigFlip 工具将 RC4 加密的 shellcode 注入到 d3dcompiler_47.dll。

适用于 Windows 和 macOS 的 3CX 桌面应用程序的软件更新受到感染。这是这次(第一次?)多步骤供应链攻击中的第二次跳跃。Windows 的软件更新也使用 3CX 代码签名证书正确签名,释放了两个恶意文件, ffmpeg.dll 以及  d3dcompiler_47.dll (具有等效 动态库 macOS 库)被恶意程序加载并执行 3CX桌面应用 可执行文件(通过 DLL 侧加载技术)。第二个 DLL 中加密的 shellcode 会加载另一个从 图标存储 GitHub 存储库中有一个包含加密命令和控制 (C2) 服务器的 .ico 文件。

为此配置了超过 20 个域名,这告诉我们软件供应链攻击是如何精心策划的。

受害者 PC 到 C2 域的连接于 06 年 2023 月 29 日开始,并于 XNUMX 月 XNUMX 日结束。

请注意:(1) 代码库中的源代码没有被修改,而是在构建过程中注入了恶意软件负载;(2) 合法的 ffmpeg的 DDL 被恶意代码替换,并通过侧 DLL 加载进行加载;(3) 流行的 VoIP 应用程序被变成具有多级恶意软件的武器。

事件处理方式

29 月 3 日,XNUMXCX 似乎收到第三方报告,称有恶意行为者“利用其产品中的漏洞”。反恶意软件平台(部分)发挥了作用。

30 年 2023 月 3 日 XNUMXCX CISO,Pierre Jourdan 出版了 安全警报 通知客户和合作伙伴,他们的 Electron 应用(桌面客户端)在更新后被恶意软件感染。该帖子列出了受影响的版本(适用于 Windows 和 Mac)、关于所采取的初步遏制措施的简短声明,并建议继续使用 Web 客户端,而不是受感染的桌面客户端。

在我看来,最初的沟通虽然有点简短,但还是切中要害。任何供应商都很难意识到存在一个可能影响许多客户的严重安全问题。该公司意识到了这个问题,并立即指出了一个潜在的罪魁祸首:

“值得一提的是,这似乎是一次来自高级持续性威胁的针对性攻击,甚至可能是由国家支持的,它发动了复杂的供应链攻击,并选择了谁将下载其恶意软件的下一阶段。”

该公司提供了一种替代方案来保持产品正常运行:使用 渐进式Web应用程序 或基于 PWA 而非桌面应用 电子 框架。

“我们强烈建议您改用我们的 PWA 应用。PWA 应用完全基于 Web,可完成 Electron 应用 95% 的功能。其优点是无需安装或更新,并且 Chrome 网络安全功能会自动应用。

我们之所以有两个应用程序,是因为当我们启动 Electron App 时,PWA 技术尚未出现。现在它已经成熟并且运行良好。”

好吧,Web 应用程序也可能被感染,而 PWA 按照定义可能在服务工作线程(JavaScript 代码)中运行代码,并(受限)访问本地资源。该帖子声称 PWA 当时没有被感染。我们可以理解为什么在该帖子的 277 多条评论中,有人询问是否提到的 PWA 替代方案或 PBX 服务器软件本身受到了损害。

同一天, 3CX 任命 Mandiant 进行调查, 提供更多说明。基本上,它安装更新

在本地安装 Win/Mac 桌面应用程序,并卸载受影响版本的电子应用程序,然后转到 PWA 替代方案。这不一定足够,因为恶意软件可能可以访问受影响的系统,持久保存恶意软件,甚至横向移动。完全删除恶意软件并不那么容易。我们可以理解,考虑到紧迫性,处理事件的最佳方法并不总是能找到……除非事先设想过这种情况并确定了适当的补救措施。

此 关注帖子, 现在,该公司的首席执行官试图通过宣布仅针对桌面应用程序的安全更新来安抚客户。一些基本的保护技术,如密码哈希,已经实施(“总比不迟到要好;永不成功将是一个太长的时间。”,乔叟 迪克西特 在 1386 年。)具体实施的保护措施比良好的意图和预计的计划更好……但以前密码是如何存储的呢?

无论如何,Google 使现有的 3CX 代码签名证书失效,防病毒供应商也阻止了使用该证书签名的任何软件。DesktopApp 更新的 MSI 安装程序需要使用新的代码签名证书重新生成,这需要几个小时。这是意料之中的事!

3CX 预防性地部署了一个新的构建服务器。这是合理的:如果不进行分析,就无法知道恶意软件是如何被注入的。

同年 1 月 XNUMX 日,首席执行官发布了一条 安全事件更新帖子里说了公司在做什么(进行全面调查,验证客户端软件的整个源代码)。安全部门周六都等不及了。

当分析了该事件并了解了攻击者的基础设施后,APT 使用的 GitHub repo 和 C2 服务器域就被删除,从而有效地击落了恶意软件。

4月11th, CISO 发布了 事件分析的初步结果. UNC4736 与朝鲜有关的 APT 首次被提及。

20 月 XNUMX 日星期五,Mandiant 发布了 事件初步分析. YARA和Snort检测规则发布。

同一天,3CX 的首席执行官发布了一条新帖子,并附上了暗示性的名字 “行动而非言语——我们的7步安全行动计划!”。副标题挺有意思的:“继首创级联之后确保 3CX 的未来 软件中的软件供应链攻击。”起草安全宪章的步骤如下:

  • 强化多层网络安全。

  • 改造增强安全。

  • 正在进行的产品安全审查。

  • 增强产品的安全功能。

  • 进行持续的渗透测试。

  • 完善危机管理和预警处置预案。

  • 建立新的网络运营和安全部门.

分析人士确实会关注这个值得称赞的计划……

后果:行业如何反应

此事曝光仅几周,但业界已开始作出反应。

CVE-2023-29059 被分配。截至今天,它的 CVSSv7.8 风险评分为 3(高)。3CX 产品仅列出了 16 个 CVE,与具有类似实施水平的供应商相比,这看起来不错。但这次事件并不 常见的脆弱性 确实如此。这是一次主动持续威胁 (APT) 的主动针对性攻击,因为 CISO 最为人熟知。

此 CWE-506 将此事件归类为“嵌入式恶意代码”并不能帮助我们了解如何防止此类软件供应链攻击。不幸的是,坏人有很多途径来传播恶意软件,供应链攻击是他们武器库中的新宠。CWE-506 应该得到改进,以反映当前的场景,包括基于破坏构建系统的场景。

Mandiant 将该 APT 命名为 UNC4736,其使用的策略和技术与广为人知的 Lazarus Group (APT38)(由朝鲜政府控制)以及 2017 年 WannaCry 勒索软件活动的实施者类似。斯大林主义国家中的不良行为者与正常工作时间的不良行为者之间的这种联系很难确定,但来自 CrowdStrike 以及  ESET 发现所使用的策略、技术和程序 (TTP) 与 Lazarus APT38 常用的策略、技术和程序类似。了解它们的运作方式对于检测、预防和根除至关重要。

了解他们隐藏在神秘之中的目标就更加困难了。

这次袭击非常重要, CIS美国网络安全局发布了 advisory 包含供应商帖子和对供应链攻击的多项分析的链接。阅读这些内容对网络安全从业者来说很重要。

该事件让我们想起了 SolarWinds 攻击。鉴于影响巨大,许多供应商匆忙分析受感染的 VoIP 桌面产品安装程序。但这是最后一步。需要进一步了解受影响的两个组织的构建系统安全性为何出现问题,以及恶意行为者采取了哪些步骤来影响这些构建系统并设法在构建过程中插入恶意软件。否则,此事件将一再重演。

现在,我们已经吸取了教训!

在进行团队运动时,听队友在赛后解释每一分钟的比赛缺陷,即使是最冷静的人也会崩溃。但在西班牙,每个人都是国家足球教练!所以让我同时扮演佩普·瓜迪奥拉、何塞·穆里尼奥、亚历克斯·弗格森和阿里戈·萨基。

假设你的构建系统正遭受猛烈的炮火攻击。也许你无法阻止员工在工作电脑上安装未经授权的软件。也许工程团队可能需要更严格的政策。但要警惕构建和部署 pipeline。如果您向客户交付软件,那么软件构建方式的安全性应该与软件产品的安全性同样重要。

事件准备预测最有可能的安全事件场景非常困难,甚至毫无意义。我应该学习使用除颤器吗?不,除非我有刷卡的习惯iac 逮捕。但看在老天的份上!准备好从头开始“重建你的构建”,撤销并更新密钥、访问令牌、公钥对和证书。

构建系统必须具备某些特征:目前的趋势是在短暂的环境中构建,并且具有隔离/无参数/密封甚至可复制性,这可能是 防止 像 3CX 供应链攻击这样的攻击,在构建和部署过程中对其他系统有额外的要求时 pipeline。 看 Google SLSA 的构建要求 以供参考。

正确沟通是关键透明度是强制性的。将问题最小化或掩盖是任何组织最糟糕的做法。安全事件对声誉的打击往往比对其他资产的打击更大,而违规后的沟通不畅可能会带来灾难性的后果。

将问题转化为机遇。一次好的事件可以触发安全控制的改进,而这些改进从未出现在严格的产品计划中。即使是像正确的密码哈希、安全配置/强化文档这样必不可少的事情也可以在短期内安排。但对于供应链攻击,强化构建系统,并在构建和部署的每一步添加证明和完整性检查 pipelines 是必不可少的。攻击者不应该那么容易在构建系统中植入此类更改。

做好准备。否则,您的组织可能会面临生存威胁,例如 3cx 软件供应链攻击。

 

sca-tools-软件-成分分析工具
确定软件风险的优先级、进行补救并加以保护
7-day免费试用
无需信用卡

保护您的软件开发和交付

使用 Xygeni 产品套件