微软低代码平台构建的站点泄露数百万条敏感记录

新闻
1月前

使用微软网站构建平台的初级用户可能不完全理解其低代码或无代码环境中的访问控制所涉及的各个方面。

1000112.jpg

由于使用 Microsoft Power Pages 构建的网站中的访问控制缺失或配置错误,现在有数以百万计的敏感信息和个人数据处于公开网络的风险之中。

2022年从PowerApps门户衍生出的Power Pages,是微软推出的低代码建站平台,主要用于构建面向外部用户的网站,如员工门户或活动管理网站。自发布以来,微软就宣称该平台已服务于超过1亿月活跃的网站用户,涵盖了高科技、医疗保健、教育、金融、制造和政府等多个行业。

除了基本的拖放工具和功能外,Power Pages还提供了基于角色的访问控制功能,开发人员可以使用这一功能来限制特定用户对数据的访问权限。然而,据AppOmni软件即服务(SaaS)安全研究主管Aaron Costello最近披露,许多网站在实施这些控制措施时存在疏漏,要么没有正确执行,要么根本没有实施。

结果就是:来自 Web 站点的大量敏感信息现在可供任何想要查找的人使用。

01

Power Pages 配置错误

Power Pages 站点使用 Microsoft 基于云的关系数据库 Dataverse 来存储结构化数据。为了保护这些数据,开发者可利用多种访问控制手段进行设置。

首先也是最明显的是站点级设置,它定义用户是否需要以及如何在网站上进行身份验证和注册帐户。

下一层是表级权限控制。站点管理员可以通过这一层面的操作来规定不同类型的用户有权限访问和操作哪些具体的数据以及进行何种操作。

在Power Pages中,最精细的数据访问控制权限用于Dataverse的列级别。平台提供的强大功能之一是"屏蔽"(Masking),它允许站点管理员对特定列中的某些敏感数据进行模糊处理,例如隐藏社会保险号码的前5位数字等。通过这种方式,即便数据被外部访问,也能有效保护个人隐私信息的安全。

问题在于,即使存在这三级访问控制系统,管理员也未必总是使用它们。Costello表示:“获取网站上的数据实在太简单了,只要知道那些URL地址,几乎毫无难度。”

“通常情况下,他们不是授予某人查看自己数据的能力,而是实际上授予他们查看所有数据的能力。因此,每个用户都会接触到过多的信息(通常是敏感信息)”。

例如,一些网站甚至授予匿名用户从表中读取数据的“全局访问权限”,而在Costello的研究中,调查的网站无一实施列级安全性。其他站点虽然对某些数据施加了限制,仅允许经过身份验证的用户访问,但这些网站却允许任何人注册并自行进行身份验证,从而削弱了原本旨在保护数据的控制措施。

Costello只对那些网络安全披露政策明确的网站进行了调查,这些组织可能更愿意听取有关其安全漏洞的信息。尽管如此,他最终还是从多个Power Pages网站中发现了500万到700万份暴露的记录。

例如,一家大型商业服务提供商泄露了英国国家医疗服务体系(NHS)中110万名员工的个人信息。这些数据包括员工的电话号码、电子邮件地址、家庭住址等更多信息。

02

一个全行业的问题

正如Costello指出的那样,"在之前的研究中,我也曾讨论过类似的问题,例如Salesforce、ServiceNow和NetSuite等流行SaaS平台。这些平台都有不同的用途。因此,我认为这不是Power Pages独有的问题。问题的关键在于对访问控制的误解,而非产品本身。"

在警示用户有关安全“防雷”风险方面,Power Pages的表现相当出色。Costello指出:“当数据配置错误导致信息对所有人开放时,你的网页上会多处弹出警告横幅。因此,微软确实努力使组织意识到他们的行为可能导致的危险。然而,尽管有警告,组织仍然选择忽视这些信号。”

除了疏忽之外,Power Pages配置错误的发生频率可能可以从其用户群体的人口统计特征中得到解释。由于低代码和高代码平台的性质,这类平台对技术不太娴熟的用户更具吸引力,他们可能在网络安全方面的知识相对匮乏。

Costello说道:“如果你不是技术人员,只是通过拖放按钮和表单来设计网页,你可能并没有真正理解为什么需要访问控制。”可能是因为使用低代码或无代码平台创建网站非常便捷,这可能会削减一个人更谨慎、细致分析安全风险的能力,“低代码平台往往给人一种错误的安全感。” Costello补充说。