数据库|3800 万条敏感记录在“裸奔”!微软这个默认配置把自己都“坑”了
你有这种习惯吗:不论使用新设备还是新软件,都会仔细查看使用说明,再根据需求将默认配置针对性地改一遍?
按理说这是应该的,但冗长的说明事项每多一行似乎都在将我们逼退一步,加之一般情况下保持默认配置也不会有较大疏漏,因此为图方便,许多人都不会轻易更改初始配置。
但最近,网络安全评估公司 UpGuard 发现了一个特殊情况:微软 Power Apps 的一个默认配置使数据处于可公开访问的状态!许多用该开发平台创建的 Web 或移动应用均中招,暴露了近 3800 万条包含敏感信息的数据记录!
文章图片
一、微软把自己都“坑”了 Power Apps 是微软旗下一款低代码开发平台,开发者可轻松创建供外部调用的 Web 或移动应用,生成面向公众的站点和数据管理后端。除了管理内部数据库和提供开发应用的基础之外,Power Apps 平台还提供现成的 API 来与数据进行交互。而这次的问题,就出现在 API 上。
今年 5 月,一名 UpGuard 的分析师意外发现一个 Power Apps 门户网站的 OData API 竟提供了可匿名访问的数据记录,其中包括个人详细信息。
虽然当时 UpGuard 立即与该应用所有者取得联系并保护了这些数据,但这件事却引发了一个思考:其他网站或应用是否也存在这样的情况?UpGuard 网络研究副总裁 Greg Pollock 说:“我们发现 Power Apps 中有一个错误配置使数据暴露,而在此之前我们从未听过这种情况,所以我们想知道这是偶然事件还是系统性问题?”
据 UpGuard 介绍,由于 Power Apps 创建的门户产品工作方式较为统一,因此进行快速调查非常容易。如果启用了 OData API,数据列表将在’_odata’端点列出。简单来说,即对于任何给定的门户网站,都可以通过访问 example.powerappsportals.com/_odata 来确定是否启用了 OData API。如果允许匿名访问,那么访问列表的 URL 即可显示数据;如果启用了某种级别的表权限,则显示禁止访问的提示。
【数据库|3800 万条敏感记录在“裸奔”!微软这个默认配置把自己都“坑”了】调查结果发现,能通过 OData API 获取数据的现象不在少数:JB Hunt 的求职者数据曝光;福特的经销商自助服务门户曝光;就连微软也在自己的 Power Apps 门户中公开了许多数据。
目前已知由此曝光用户数据的实体共有 47 家,其中包括:印第安纳州、马里兰州和纽约市的州和市政府机构,和美国航空公司、福特、JB Hunt 和微软等私营企业,总计约 3800 万条数据记录。
但好在截止目前,尽管这些数据是向公众开放的,但并没有任何迹象表明这些数据已被滥用。
二、要想保护数据,需手动修改配置 即便如此,3800 万条“裸奔”的数据记录还是令人震惊。Upguard 追溯了这大范围暴露数据的源头,发现 Power Apps 对于 OData API 的默认配置存在问题:一旦 OData API 被启用,Power Apps 就默认使相应的数据可以公开访问。
关于这点,其实微软在相应的文档中有所提醒:“为保护列表,你必须要为正在显示其记录的表配置表权限,并将列表记录上的启用表权限布尔值设置为 true。”
文章图片
但对于早已习惯保持默认配置的诸多用户而言,这个提示显然过于隐晦了,毕竟连微软自己都中招了。因此,不论是出于安全还是隐私保护,这种需要手动开启安全保护的默认配置显然不够合理。
三、微软:不是 Bug,是有意设计成这样的 找到原因后,Upguard 于 6 月 24 日向微软安全资源中心提交了漏洞报告。据 Upguard 介绍,这份报告包含了一系列从允许匿名访问公开敏感数据的实体获取的列表数据和 URL,以及他们识别是否启用 OData API 的步骤。
由于 Power Apps 可快速轻松启动网站或应用,因此如今它在国外经常用于创建防疫工具,例如联系人跟踪、疫苗接种状态等。为向微软强调该问题的严重性,Upguard 特别指出,这次发现受影响的实体中就包括美国政府用于疫情追踪和疫苗接种的三个 Power Apps 门户。
据 Upguard 表示,这份报告自动被 MSRC(微软安全响应中心)接受,微软分析师们也于当天就开始调查。但几天后微软分析师“确定这种行为是有意为之”,即这个默认配置并非软件漏洞,是有意设计成这样的。
但 Upguard 认为,这即便不是软件漏洞,也属于一个平台问题,需要对产品进行代码更改,需要微软做出改变以响应问题的产生。好在最终微软还是采取了后续行动:
- 虽然 Upguard 没有收到有关通知,但他们发现原本 6 月还在公开的一些门户数据 7 月底就关闭访问权限了,由此可知微软应该是通知了相关客户;
- 8 月初微软宣布 Power Apps 门户现在将默认存储 API 数据和其他信息,将安全标准降低到更适合低代码应用程序的级别;
- 微软还发布了一个用于检查 Power Apps 门户设置的工具,以便在默认情况下强制执行表权限;
- 文档页面也进行了优化,在原先隐晦的提醒下加了一个粉色方框警告:“当为敏感信息启用没有表权限的 OData 时,要谨慎使用。”
文章图片
关于此事,开放加密审计项目(Open Crypto Audit Project)主任 Kenn White 指出:“安全的默认配置非常重要,当一个模式出现在使用特定技术构建面向网络的系统中而该系统仍配置错误时就会出现非常严重的问题。如果来自不同行业和技术背景的开发者不断在同一个平台上犯同样的错误,那么这个平台的所有者就应当重视起来。”
最后,Upguard 也提醒道:“随着越来越多的信息被转移到网上,敏感数据被公开的频率也会增加,但技术领导者应该对数据暴露的现象有一个大致的了解。”
那么,你对微软的这种默认配置有什么看法吗?你是否有修改默认配置的习惯?
参考链接:
- https://www.upguard.com/breaches/power-apps
- https://www.wired.com/story/microsoft-power-apps-data-exposed/
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 数据库设计与优化
- 数据库总结语句
- MySql数据库备份与恢复
- 数据库|SQL行转列方式优化查询性能实践
- MySQL数据库的基本操作
- springboot整合数据库连接池-->druid
- Android|Android sqlite3数据库入门系列
- Python3|Python3 MySQL 数据库连接
- 达梦数据库|DM8表空间备份恢复