ServiceNow 是一个用于管理 IT 服务和流程的基于云的平台,其用户可能会在不知不觉中暴露机密信息,包括姓名、电话号码、内部系统详细信息和活动凭据。知识库(ServiceNow 中的自助服务平台,用户可以在其中创建、存储和共享文章和指南等信息)配置错误可能会导致未经授权的个人访问系统。许多组织将知识库用作敏感内部信息的存储库,例如如何重置公司密码、如何应对网络攻击、与 HR 流程相关的数据等。根据 SaaS 安全平台提供商 AppOmni 的一篇新博客,大约 60% 的风险暴露涉及默认设置为允许公共访问的旧版本知识库。其他应用程序具有“用户标准”(定义用户访问知识库或参与知识库的特定条件的规则),这些规则无意中向未经身份验证的用户授予访问权限。

85% 的财富 500 强企业都在使用 ServiceNow,目前有超过 1000 个实例设置错误。许多拥有多个 ServiceNow 实例的组织被发现始终错误地配置了知识库访问控制,这表明这些设置要么是跨实例克隆的,要么存在对它们工作方式的根本误解。

AppOmni SaaS 安全研究主管 Aaron Costello 表示:“这凸显了企业迫切需要定期检查和更新其安全配置,以防止未经授权的访问并保护其数据资产。

“了解这些问题以及如何缓解这些问题对于在企业 SaaS 环境中保持强大的安全性至关重要。”

这不是 ServiceNow 第一次被发现由于用户配置错误而暴露敏感数据。2020 年,另一位研究人员报告了类似的发现,即知识库文章可以通过现在安全的 UI 页面公开访问。

ServiceNow 首席信息安全官 Ben De Bont 表示:“ServiceNow 致力于促进与安全社区的合作。我们致力于保护客户的数据,而安全研究人员是我们不断努力提高产品安全性的重要合作伙伴。

什么是知识库配置错误?

AppOmni 发现,企业在三种情况下将其 ServiceNow 知识库置于泄露风险中:

  1. 如果使用旧版本的 ServiceNow,其中知识库的默认设置允许在未设置用户条件时进行公共访问。
  2. 如果将“Any User”和“Any user for kb”用户标准用作允许列表。这两者都向未经身份验证的用户授予访问权限,而管理员可能没有意识到这一点。
  3. 如果管理员未配置拒绝列表,则允许外部用户绕过访问控制。

攻击者如何获得对知识库的访问权限

根据 Costello 的概念验证,攻击者可以通过公共小部件访问配置错误的知识库,例如“知识库文章页面”小部件,它显示特定知识库文章中的内容。

攻击者可以使用名为 Burp Suite 的工具自动请求通过小部件查找和访问文章。使用知识库文章页面 Widget 可以更轻松地实现这一点,该 Widget 对文章 ID 使用可预测的格式“KBXXXXXXX”,其中 X 表示正整数。

Burp Suite 的 Intruder 功能可以快速迭代这些整数并识别可能无意中暴露的文章。然后,它可以返回正文文本,其中可能同时包含多个不安全文章的敏感数据。

如何保护知识库免受未经授权的访问

对知识库访问控制运行定期诊断

ServiceNow 的用户条件诊断工具允许管理员确定哪些用户(经过身份验证和未经身份验证)能够访问知识库和单个文章。

导航到 /get_public_knowledge_bases.do 以识别公共知识库,并导航到 /km_diagnostics.do 上的完整诊断工具以识别公共和非公共用户对单个文章的访问级别。

默认情况下,使用业务规则拒绝对知识库的未经身份验证的访问

确保为知识库激活“sys_id 6c8ec5147711111016f35c207b5a9969”业务规则(将来宾用户添加到“无法读取且无法贡献”用户条件)。