Blackphone被普遍认为是目前最安全的Android智能机。不幸的是,无论设计者把系统设计的怎么安全,它肯定还是存在漏洞的。研究人员最近发现了一个漏洞,这个漏洞允许攻击者远程控制手机的调制解调器功能。
Blackphone是SGP科技的全资子公司SilentCircle开发的,Blackphone提供给用户控制应用程序的权限,比如绑定无声电话、无声短信服务即匿名服务和加密通信服务,这样就没有人对语音、视频和短信进行窃听了。
研究人员最近在为Red Naga培训会议做准备,其中一部分工作就是逆向工程,他发现这个Blackphone(BP1)上的socket处于打开并可访问状态。
除了被Android上的SELinuxfile_contexts使用,网上没有任何地方提及了这个socket。它似乎是nVidia Shield tablet,这个东西似乎是另一种带有Icera调制解调器的被广泛使用的Android设备,但是它现在已经被nVidia放弃了。随着进一步挖掘,发现有一些应用程序会和这个socket交互,尤其是agps_daemon,它需要更高的shell权限因为它是一个system/radio user。
细节展示
在进行逆向并查看系统日志之前,可以看看agps_daemon展现了哪些有趣的细节:
根据日志,可以看出这是一个nVidia Icera调制解调二进制,它在监听一个"socket_path"/dev/socket/at_pal,打开一个/dev/ttySHM3上的tty_port。之后,用IDA Pro打开agps_daemon,想法很快被确认,然后我们可以看到这个权限的过程在at_pal socket上监听,然后write所有从socket到ttySHM3d端口的内容。之后大概看了下二进制,发现这个ttySHM3端口被radio监听了。这就意味着已经发现了一种方式直接与调制解调器进行谈话。很容易就能确认这种使用shell命令行润行agps_daemon的方式是可行的,因为看到一个"test"线程已经被遗留到了代码里:
我们可以看出这些假的命令行是被发送给调制解调器的。这将允许一个攻击者运行称一个shell使用者然后发送命令行给radio,或者利用一个带有internet权限的安卓应用发送命令行给radio。
由于命令行开始于"AT"并且开起来像修改版的Hayes命令,开始Google获得可能导致更有趣结果的运河代码。同时,调出所有来自设备的文件并开始grep获取"AT"样式代码。在这里,我们发现这个二进制/system/bin/fild看起来能打开 socket /dev/ttySHM3 并且可以加载共享的二进制文件 /system/lib/libcera-ril.so。通过挖掘这两个二进制文件,发现了非常有用的代码,包括接下来的有趣的AT代码:
除了上边的代码,还有很多看起来不标准的代码,或者是执行任何可见操作的代码。进一步调查之后,我们能够找到其他的代码路径,这些允许攻击者这么做:
这个问题被分配为CVE-2015-6841, 此漏洞说明了攻击面所能达到的深度和广度是无法估计的。它页引发了安全专业人员的思考。首先,即使是"最安全"的系统,也是存在漏洞的。第二,今天设备中使用第三方科技(硬件、驱动、软件库等)会导致监测和修复更加困难。第三,几乎所有的漏洞都需要某种杀毒软件来进行远程利用。当看似合法的请求执行了系统功能异常,可以看出对一个设备的监测会提供一个重要的检测和响应效果。
还没有评论,来说两句吧...