最近一项研究表明,成千上万的应用程序,甚至包括一些很受欢迎的应用,都使用一种基于云计算的后端服务,在这种方式下,任何人都可以访问数以百万的用户敏感记录。
科技大学和德国达姆施塔特弗劳恩霍夫研究所的技术人员进行了分析,他们在周五举办于阿姆斯特丹的“黑帽子”欧洲安全会议上展示了这一结果。这项研究针对的是基于后端服务框架(BaaS)的应用程序,它们来自于Facebook所有的Parse、CloudMine以及亚马逊网络服务提供商。
巴斯框架(BaaS)提供基于云计算的数据库存储、推送通知、用户管理和其他开发人员可以轻松应用在他们自己的程序上的其他服务。他们的目的在于尽量简化应用程序后端服务给开发者带来的的工作负担。
开发人员要做的只是和巴斯提供商签署协议,在他们的应用程序中整合其软件开发工具包(SDK),然后就可以通过简单的应用编程接口(APIs)应用巴斯提供的服务了。
研究人员观察开发者使用应用编程接口的方式之后发现,包括巴斯人员在内的很多人都可以进入应用程序内部。这种做法是非常危险的,因为这些程序很容易被人修改从而窃取用户凭据,访问后端服务,尤其是移动设备上的应用程序。
为了验证这一问题的普遍性,研究人员发明了一种工具,可以用静态和动态分析来发现有哪些程序是使用巴斯服务的,并且从中提取巴斯访问密钥,即使它们在运行时已经被模糊处理了。
他们在超过200万的安卓和IOS应用程序上运行了这一工具,然后提取了超过1,000的后端凭据和相关数据库名称。同一个开发者在不同的应用程序中反复使用着这些凭据。总的说来,研究人员一共提供了包括5600万数据项的1850万访问记录。
实际上他们没有下载这些记录,但仅仅是通过数据库表就可以计算并找出它们。这些记录包括了汽车事故信息、用户定位数据、生日、联系方式、电话号码、图片、有效的电子邮箱地址、购物数据、私人邮件和婴儿生长数据,甚至是整个服务器备份。
研究人员甚至发现了一个利用巴斯服务进行攻击的手机木马,这个木马可以感染设备,然后根据攻击者的命令和计划任务来窃取数据和短信。
应用程序里的巴斯凭据不仅对所有人公开数据,也允许任何操作和修改。也就是说攻击者们可以以真实账户所有者的身份利用巴斯凭据来窃取数据库里的相关数据,而用户们甚至都不会发现。
谷歌、苹果和巴斯供应商自四月以来已经开始关注这一问题,并且也已经通知了相关程序的开发人员。然而,研究人员表示,截止至11月12号,这一不设防的凭据仍在免费提供超过5200万的数据。
现在是爆发的前一刻了,开发人员已经忙于其他事情了,生成这些数据的应用也已经不复存在。因为这些账户还没有被消除,服务提供商不能只是简单的删除它们。
这就表明开发者们不仅是不关心这个问题,甚至也不知道该如何解决这个问题。
像亚马逊和Parse这样的巴斯供应商打算通过后端服务,而不是整个应用程序,来提供更先进的访问控制和更强大的用户身份验证能力。然而,这一切很难实施。
在某些情况下,实施这样的身份管理是很复杂的一件事,这也有违于巴斯框架的最初目标,那就是简化开发者的工作。
这也难怪开发者们会选择这种简单的方式,当然也是不安全的一种方式,研究人员说道。
然而这说到底还是开发者的问题,巴斯服务供应商可以改善他们的程序,这样一来即使是没有安全意识的应用程序开发者也可以懂得如何应用这种技术,以及不当操作会带来的风险。供应商甚至可以要求开发者检测使用root访问其服务的应用程序用户,然后显示警告信息,研究人员这样说到。
文章原文链接:https://www.anquanke.com/post/id/82953