Malicious Package: com.outsystems.plugins.fileviewer
恶意包:com.outsystems.plugins.fileviewer
描述
恶意包是故意设计或被破坏的软件组件,用于在安装或执行它们的系统上执行有害操作。与具有无意漏洞的合法软件不同,这些包怀有恶意意图。
恶意包的主要特征:
- 意图: 旨在窃取数据、获得未经授权的访问权限、破坏操作或造成其他危害。
- 欺骗: 通常伪装成有用的实用程序、流行的库(有时通过拼写错误抢注——使用与合法包非常相似的名称),或表现为攻击者接管的良性、未维护的包。
- 分发: 通常通过公共软件存储库(例如 npm、PyPI、Maven Central、RubyGems、NuGet)分发,依靠开发人员在不知不觉中将其包含在他们的项目中。如果攻击者获得包所有者帐户或构建基础设施的控制权,它们也可以被注入到合法包中。
- 有效载荷 (Payloads): 可能包含各种类型的恶意软件,例如间谍软件、勒索软件、凭据窃取程序、加密货币矿工、后门或促进进一步攻击的代码。
常见目标:
- 数据泄露: 窃取敏感信息,如用户凭据、API 密钥、财务数据、个人身份信息 (PII) 或知识产权。
- 系统破坏: 获得对开发人员机器、构建服务器或最终用户设备的未经授权控制。
- 资源滥用: 使用受损系统进行加密货币挖掘或参与 DDoS 僵尸网络等活动。
- 横向移动: 使用初始立足点更深入地进入组织的网络。
- 财务盗窃: 直接窃取资金或为金融欺诈提供便利。
识别和缓解恶意包的威胁是现代软件供应链安全的一个关键方面。
建议
立即修复步骤:
-
隔离受影响的系统:
- 断开构建、安装或运行此包的任何机器(开发人员工作站、构建服务器)与网络的连接,以防止进一步传播或数据泄露。
- 如果部署在应用程序中,请尽可能评估受影响最终用户设备的范围。
-
删除恶意包:
- 识别所有包含
com.outsystems.plugins.fileviewer的项目和应用程序。 - 对于 Cordova 项目,请检查
package.json、config.xml,并检查assets/www/cordova_plugins.js以及相关的平台构建文件(例如,在platforms/android或platforms/ios中)。 - 从项目的配置(
package.json、config.xml等)中删除依赖项。 - 在确保该包不再存在后,从已知干净的环境重新构建您的应用程序。
- 彻底清理构建缓存和工件。
- 识别所有包含
-
凭据轮换(严重):
- 从另一台受信任的计算机上,轮换受损系统上存在或可从中访问的所有机密和密钥。这包括:
- 密码(用户、管理员、服务帐户)
- API 密钥和令牌
- SSH 密钥
- 加密密钥
- 数据库凭据
- 云提供商凭据
- 版本控制系统凭据
- 从另一台受信任的计算机上,轮换受损系统上存在或可从中访问的所有机密和密钥。这包括:
-
系统调查和清理:
- 由于攻击者可能已经取得了完全控制权,仅仅删除包通常是不够的。
- 对受影响的系统进行彻底的取证调查,以确定违规程度、任何持久性机制以及可能已安装的其他恶意工具。
- 考虑从已知良好状态重新映像受影响的开发人员工作站和构建服务器。
-
通知受影响方:
- 如果客户数据或最终用户设备可能受到影响,请遵循您的事件响应计划进行通知。
未来的预防措施:
-
依赖项扫描:
- 在您的 CI/CD 管道中实施自动软件成分分析 (SCA) 工具,以扫描依赖项中的已知漏洞和恶意包。
- 定期更新这些工具的数据库。
-
审查依赖项:
- 在添加新的依赖项之前,研究其声誉、维护者、下载统计信息,并寻找任何报告的安全问题。
- 更喜欢来自受信任来源且维护良好的包。
-
锁定依赖项 (Pin Dependencies):
- 使用锁文件(例如
package-lock.json、yarn.lock)将依赖项锁定到特定的已知良好版本。这可以防止意外升级到可能具有恶意的较新版本。
- 使用锁文件(例如
-
使用作用域包 (Scoped Packages) 和私有注册表(如果适用):
- 对于内部包,使用作用域名称和私有注册表以降低替换攻击的风险(尽管此特定问题是恶意包,而不是替换)。
-
最小权限原则:
- 确保构建环境和开发人员工作站以最低必要权限运行。
-
开发人员教育:
- 就软件供应链攻击的风险和依赖项管理的最佳实践对开发人员进行培训。
通过采取这些步骤,组织可以应对 MAL-2022-2047 造成的直接威胁,并加强防御未来的恶意包事件。
链接
标准
- OWASP_MASVS_L1:
- MSTG_CODE_5
- MSTG_PLATFORM_2
- OWASP_MASVS_L2:
- MSTG_CODE_5
- MSTG_PLATFORM_2
- PCI_STANDARDS:
- REQ_2_2
- REQ_5_1
- REQ_5_2
- REQ_6_2
- REQ_6_3
- REQ_11_3
- OWASP_MASVS_v2_1:
- MASVS_CODE_3
- MASVS_RESILIENCE_1
- SOC2_CONTROLS:
- CC_2_1
- CC_4_1
- CC_4_2
- CC_7_1
- CC_7_2
- CC_7_4
- CC_8_1