趋势科技官方博客:不要骗我,Siri

互联网 | 编辑: 黄蔚 2011-12-05 00:00:00转载

作者:趋势科技资深威胁研究员Ben April

Applidium的研究人员最近发表了一个有趣的报告,是关于Siri所使用的通讯协议。每次当用户对Siri发出指令时,iPhone都会将这条指令的语音压缩后发送给Apple的服务器,并在服务器上转换成文字。随后,经过转换为iPhone可以理解的命令发回手机。这个通讯协议以HTTPS为基础,想要拦截或是欺骗,就必须具备有效的SSL证书,并且该证书必须是颁发给guzzoni.apple.com的,或者也可以想办法让设备以为你随便提供的一个证书是有效的。随后,还必须劫持DNS,让手机认为那个你所控制的IP地址就是guzzoni.apple.com。

Applidium的这篇文章解释的非常清楚,所以我们一起来看看通过这些信息可以做些什么。

我先从正面、有创造性的事情开始。理论上,如果有一个有效的iPhone 4S ID,那应该就可以很容易地将Siri移植到任何设备。只要这个设备可以录音,而且又装了可以访问互联网的应用程序就行了。包括笔记本电脑、平板电脑、智能手机、甚至冰箱和洗衣机等智能家电都可以使用。你甚至可以建立自己的Siri服务器,以便和启用了Siri功能的设备进行交谈。

这样就可以应用到日常生活中,例如执行“开灯”、“关车库门”等指令。当然也可以用在工作中:想像一下,将这套系统和你的例行工作结合,就可以让你的工作流程按照你的语音命令来执行。任何可以写成脚本的事情都可以用Siri来执行。

不幸的是,这种方式也有可能被用于做一些不那么善良的事情。例如,假设攻击者已经成功地在设备内加入了自己的证书,而且也用某种方法控制了DNS的回应,毕竟这二者都是要拦截Siri通讯的必要条件。

随后最可能出现的就是中间人攻击,这种攻击可以截获Siri接收的所有指令和回应。单单这么做可能没啥实际意义,但是你发给Siri的指令可能会得到违背你原意的动作。这样我们的一些指令很容易被篡改,例如想要查看股市行情,或是想要给某个同事打电话,但却被替换为执行其他指令。例如实际拨打的是另一个陌生号码,并由该号码转接到联系人,但陌生号码会在中间对双方通话进行录音。虽然这种做法需要先能了解受害人的通讯录,但对一个真正想要攻击的人来说还是能做到的。

Apple有许多方法可以解决这个问题。最完整的作法就是使用一个盘问与回应认证系统,要求服务器的SSL证书必须能与相应的密钥ID匹配,或是比较可行的方法则是为用户的密钥进行验证。但无论是哪种方式,如果真的出现问题,恐怕只有Apple有能力去解决。

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑