![]()
网络安全研究人员发现了首个在野外检测到的恶意微软Outlook插件。
在Koi Security详细披露的这起不寻常的供应链攻击中,未知攻击者声称获得了一个已被废弃的合法插件相关域名,用来托管虚假的微软登录页面,在此过程中窃取了超过4000个凭证。该网络安全公司将此活动代号命名为AgreeToSteal。
涉事的Outlook插件名为AgreeTo,其开发者宣传该插件可以帮助用户在一个地方连接不同的日历,并通过电子邮件分享他们的空闲时间。该插件最后一次更新是在2022年12月。
Koi公司联合创始人兼首席技术官Idan Dardikman告诉The Hacker News,这起事件代表了供应链攻击向量的扩大。
Dardikman表示:"这与我们在浏览器扩展、npm包和IDE插件中看到的攻击属于同一类:一个受信任的分发渠道,其中内容在批准后可能发生变化。Office插件特别令人担忧的是多重因素的结合:它们运行在Outlook内部,用户在那里处理最敏感的通信,它们可以请求读取和修改电子邮件的权限,而且它们通过微软自己的商店分发,这带有隐含的信任。"
"AgreeTo案例增加了另一个维度:原始开发者没有做错任何事。他们构建了一个合法产品然后继续前进。攻击利用了开发者放弃项目和平台注意到之间的空隙。每个托管远程动态依赖项的市场都容易受到这种攻击。"
这次攻击的核心是利用了Office插件的工作方式以及市场上发布的插件缺乏定期内容监控。根据微软的文档,插件开发者需要创建账户并将其解决方案提交到合作伙伴中心,随后经过审批流程。
此外,Office插件使用清单文件声明一个URL,每次在应用程序内的iframe元素中打开时,都会从开发者的服务器实时获取和提供其内容。然而,没有任何措施阻止恶意行为者控制过期域名。
在AgreeTo的案例中,清单文件指向托管在Vercel上的URL("outlook-one.vercel[.]app"),该URL在开发者的Vercel部署因在2023年左右基本成为废弃软件而被删除后变得可被声称。截至撰写本文时,该基础设施仍在运行。
攻击者利用这种行为在该URL上部署钓鱼工具包,显示虚假的微软登录页面,捕获输入的密码,通过Telegram Bot API泄露详细信息,最终将受害者重定向到真正的微软登录页面。
但Koi警告说,这起事件本可能更糟糕。鉴于该插件配置了"ReadWriteItem"权限——允许它读取和修改用户的电子邮件——威胁行为者本可以滥用这个盲点部署JavaScript,秘密窃取受害者的邮箱内容。
这些发现再次强调了对上传到市场和存储库的打包工具进行重新扫描以标记恶意/可疑活动的需求。
Dardikman说,虽然微软在初始提交阶段审查清单,但一旦签署和批准,就无法控制每次打开插件时从开发者服务器实时检索的实际内容。因此,缺乏对URL提供内容的持续监控为意外安全风险敞开了大门。
"Office插件与传统软件根本不同,"Dardikman补充道。"它们不提供静态代码包。清单只是声明一个URL,无论该URL在任何给定时刻提供什么,就是在Outlook内部运行的内容。在AgreeTo的案例中,微软在2022年12月签署了清单,指向outlook-one.vercel.app。同一个URL现在正在提供钓鱼工具包,而该插件仍在商店中列出。"
为了应对威胁带来的安全问题,Koi建议微软可以采取以下几个步骤:
当插件的URL开始返回与审查期间不同的内容时触发重新审查。
验证域名所有权以确保它由插件开发者管理,并标记域名基础设施已易手的插件。
实施一种机制来除名或标记超过特定时间段未更新的插件。
显示安装计数作为评估影响的方式。
The Hacker News已联系微软征求意见,如果收到回复,我们将更新报道。
值得注意的是,这个问题不仅限于微软市场或Office商店。上个月,Open VSX宣布计划在微软Visual Studio Code扩展发布到开源存储库之前强制执行安全检查。类似地,微软的VS Code市场定期对注册表中的所有包进行批量重新扫描。
"所有托管远程动态依赖项的市场都存在相同的结构性问题:一次批准,永远信任,"Dardikman说。"具体情况因平台而异,但使AgreeTo成为可能的根本空隙存在于任何在提交时审查清单但不监控引用URL之后实际提供内容的市场中。"
Q&A
Q1:什么是AgreeToSteal攻击?
A:AgreeToSteal是Koi Security发现的首个恶意Outlook插件攻击活动。攻击者声称获得了已废弃的AgreeTo插件相关域名,用来托管虚假微软登录页面,成功窃取了超过4000个用户凭证。
Q2:Office插件为什么容易被恶意利用?
A:Office插件使用清单文件声明URL,每次打开时都会从开发者服务器实时获取内容。当原开发者放弃项目后,恶意行为者可以控制过期域名,替换原有内容为钓鱼页面,而微软缺乏对插件内容的持续监控。
Q3:如何防范类似的插件供应链攻击?
A:建议平台方实施多项措施:当插件URL返回不同内容时触发重新审查、验证域名所有权、建立机制除名长期未更新的插件、显示安装计数评估影响,以及对远程动态依赖项进行持续监控而非一次性审批。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.