上个月,我在 Signal 上收到了一位开发者的消息,他差一点就掉进了类似的陷阱。招聘人员拥有光鲜的个人资料,在 Web3 领域拥有知名人士的背书记录,且职位描述提供了 40% 的薪资涨幅。这位开发者最终退出,仅仅是因为那个“编程评估”要求他下载一个自定义环境,而不是使用标准的基于浏览器的 IDE。这种直觉挽救了他的公司。但其他人就没有那么幸运了。新加坡警察部队和新加坡网络安全局最近详细披露了一起违规事件,一名员工对更好职业路径的渴望,最终导致了 1180 万美元的损失。
这一事件是现代威胁行为者如何通过针对网络边缘的“人为因素”来绕过复杂防御的教科书案例。攻击者并没有寻找防火墙的零日漏洞或加密协议的缺陷。他们寻找的是一个愿意在公司配发的设备上证明自己技术价值的人。当安全运营中心注意到异常活动时,攻击者已经从 LinkedIn 收件箱转移到了公司财务基础设施的核心。
社会工程学之所以成功,是因为它利用了职业抱负。这场活动始于 LinkedIn,一名冒充加密货币公司招聘人员的诈骗者接触了受害者。这一阶段旨在建立信任和合法性。攻击者将对话转移到电子邮件中,使用了一个镜像真实公司地址的欺骗域名。对于浏览收件箱的员工来说,域名中一个字母的差异几乎是不可察觉的。
面试过程进一步巩固了欺骗。受害者在 Google Meet 上参加了几轮面试。对方以技术问题或隐私为由一直关闭摄像头,这是来自朝鲜等司法管辖区的威胁行为者用来隐藏身份的常用手段。这个阶段是数字木马。其目标是让受害者感觉自己正处于一场高风险的专业评估中,从而在“技术评估”到来时放下戒备。
在招聘过程的最后阶段,受害者收到了一个欺骗网站的链接。他们被要求在公司配发的笔记本电脑上完成一项编程任务。这种要求在软件行业是标准的,这使其成为恶意载荷的理想交付机制。当受害者运行提供的代码或安装建议的软件环境时,恶意软件便在后台执行了。
这种特定的恶意软件旨在获取会话令牌(session tokens)。从风险角度来看,这是任何 IT 部门的噩梦场景。会话令牌在数字领域相当于 VIP 俱乐部的保镖在你出示身份证后记住了你的脸。因为令牌证明用户已经通过了身份验证,攻击者不需要知道密码,也不需要访问受害者的物理 MFA 设备。他们只需将窃取的令牌注入自己的浏览器,即可继承受害者的活动会话。
一旦攻击者获得了会话令牌,他们就访问了受害者的 Bitbucket 账户。Bitbucket 是开发环境中的暗物质;它对普通员工通常是不可见的,但却包含公司业务的核心逻辑。访问代码库是一个系统性失败,因为它允许攻击者看到公司如何构建和部署软件。
在幕后,入侵者修改了自动化的软件部署指令。通过更改代码库中的代码或告诉服务器如何运行该代码的脚本,攻击者在内部基础设施中获得了立足点。这种横向移动使他们能够从一台被攻破的笔记本电脑跳转到处理真实资金的生产服务器。在发生此类违规事件时,整个开发生命周期的信任模型都被破坏了。攻击者不再只是笔记本电脑上的访客;他们实际上成为了公司代码的管理员。
入侵最具破坏性的部分发生在攻击者触及用于处理加密货币转账的系统时。大多数公司使用交易限额和多人审批检查作为防止内部欺诈或单点故障的对策。然而,攻击者利用他们在网络移动过程中收集的凭据修改了这些控制措施。
通过重写管理公司资金流出额度以及审批人员的规则,攻击者为大规模转账扫清了障碍。最终的交易总额达 1180 万美元。这凸显了一个架构悖论:即使你的网络边界很坚固,如果攻击者可以在根级别冒充高权限用户,你的内部逻辑仍然是可利用的。攻击者并没有破解区块链的加密;他们破坏了管理密钥的人工流程。
虽然新加坡当局并未正式将此次特定攻击归因于特定组织,但其策略与朝鲜威胁行为者发起的活动极其相似。像 UNC4899(也被称为 TraderTraitor)这样的组织,至少从 2020 年起就一直重点针对加密货币和区块链公司。他们以通过 LinkedIn 和 Telegram 接触开发者,并说服他们运行恶意 Docker 容器或为 Obsidian 等应用安装“社区插件”而闻名。
在之前的事件中,这些组织曾使用 AI 生成的人格来冒充受信任的联系人。这些活动将开发环境置于受损点,寻求 GitHub 令牌、SSH 密钥和云凭据。从前瞻性角度来看,这些不是随机的网络犯罪行为,而是旨在资助国家利益的有针对性的行动。修改部署流水线和绕过交易检查所需的精确度表明,他们对加密货币公司的内部工作流非常熟悉。
为了防止这起 1180 万美元灾难的重演,企业必须超越基础的安全意识培训。依靠员工发现欺骗域名是一种被动策略,最终会失败。一种更细致的方法涉及保护基础设施,使单个受损设备无法拖垮整个公司。
首先,公司必须强制执行基于硬件的多因素身份验证,例如 FIDO2 安全密钥。当系统要求在专用设备上进行物理触摸以执行敏感操作(如访问代码库)时,被盗的会话令牌就很难被利用。其次,对 Bitbucket 和其他关键任务工具的访问应通过即时(JIT)配置进行管理。任何开发者都不应拥有对生产部署流水线的永久、长期访问权限。
最后,任何与工作相关的技术评估都应在与公司网络完全隔离的沙箱环境中进行。如果招聘人员要求候选人在公司笔记本电脑上运行代码,那应该触发安全运营中心的立即警报。评估攻击面意味着要认识到,开发者的笔记本电脑往往是整栋大楼中最有价值的目标。
来源:Singapore Police Force (SPF), Cyber Security Agency of Singapore (CSA), Google Cloud Mandiant (UNC4899 Report), MITRE ATT&CK Framework.
免责声明:本文仅供信息参考和教育目的,不能替代专业的网络安全审计或事件响应服务。


