研究人员证实苹果iOS的联系人应用易受SQLite攻击

研究人员证实,Apple的iOS联系人应用程序容易受到SQLite攻击

安全会议Def Con2019的研究人员展示了使用常规数据库搜索生成恶意结果的方法,并使用Apple的标准iOS Contacts应用程序来证明这一点。安全公司Check Point已经证明了可以被利用的行业标准SQLite数据库格式的漏洞。在Def Con2019上,该公司展示了用于操纵iOS Contacts应用程序的技术。在这些情况下搜索“联系人”应用程序足以使设备运行恶意代码。

“SQLite是世界上分布最广的数据库引擎,”该公司在一份声明中表示。 “它适用于所有操作系统,台式机和.10,macOS,iOS,Chrome,Safari,Firefox和Android。有非常多的SQLite用户。” “简而言之,我们可以控制任何查询SQLite控件数据库。人们。”

当您在应用程序中搜索联系人或查找信息时,实际上是在搜索数据库,而该数据库通常是SQLite。在一份4000字的报告中,该公司的研究人员成功地伪造了应用内搜索的结果,该搜索依赖于一个已知的漏洞,奇怪的是,该漏洞在发现四年后并未修复。 “因为这个功能只被认为是易受攻击的,而不是关键的,所以它没有得到太多的关注。但是,SQLite的使用是如此多样化,以至于在很多情况下我们实际上可以触发它。

换句话说,错误被认为是不重要的,因为它被认为只是由访问数据库的未知应用程序触发,而在像iOS这样的封闭系统中,没有这样的未知应用程序。然而,Check Point研究人员随后设法让一个受信任的应用程序发送代码来触发此错误并利用它。

他们替换了联系人应用程序的特定组件,发现尽管应用程序和任何可执行代码都必须通过Apple的启动检查,但SQLite数据库不可执行。

“持久性[重启后在设备上保留代码]很难在iOS上实现,”他们说,“因为所有可执行文件都必须作为Apple安全启动的一部分进行签名。幸运的是,SQLite数据库没有签名。”

但是,他们必须能够访问未锁定的设备才能为某些联系人安装此替代品。之后,他们能够在搜索联系人数据库时选择他们想要做的事情。出于演示目的,它们只会使应用程序崩溃。研究人员表示,他们可以制作窃取密码的应用程序。

他们说:“我们确信,简单地查询数据库可能不如你预期的那么安全。” “我们已经证明SQLite中的内存损坏问题现在可以被利用了。” “我们的研究和方法已经向Apple负责任地披露。”

来源: cnBeta

移动百度