最近,零点项目研究了一种流行的Android手机——三星Galaxy S6 Edge。我们发现并报告了11个高级别的影响安全问题的结果。本文讨论了我们对其进行研究的背后的动机,我们致力于寻找设备上的漏洞,同时,我们在寻找和研的过程中有所收获。
大多数安卓设备不是由谷歌制造的,但许多知名公司以原始设备制造或者制造而众所周知,他们制造利用以安卓开源项目(AOSP)为基础的移动设备。OEM是Android安全研究领域重要的项目之一,因为他们在特权级别给安卓设备提供额外的(也可能是脆弱的)代码。并且,他们决定为他们的设备供给商的安全更新的频率。
先前已经在谷歌制作的一些Nexus运行AOSP的设备上做一些相关研究,我们想看看在一个OEM设备上是如何进行不同的攻击的。特别是,我们想知道发现bug究竟是有多难,我们将会发现什么类型的bug,以及,有缓解措施的AOSP是不是会使得发现或探索bug变得更难。与此同时,我们还想知道,当我们报告我们发现的漏洞的时候,这些漏洞将会以多快的速度被修复。于是乎,我们选择了三星Galaxy S6 Edge,因为它目前来说是一个拥有大量用户的高端设备。
我们决定一起工作一周来研究看看,看看我们能在三星设备上取得多么大的进步。为了使得我们之间产生竞争精神,我们决定在北美和欧洲的零点项目成员之间举行一个竞赛,该竞赛还会有其他一些来自谷歌安全团队的额外的参与者,使团队更具竞争性,甚至在每一方给了五名参与者。
每个团队都将面临三个挑战,这些挑战我们认为是安卓安全边界非常具有典型性的攻击。他们也可以考虑利用链接的组成部分,从一个远程或者本地的起点升级内核特权。
获得远程访问,照片和消息。更多的点提供用于攻击,这些攻击不需要用户的交互,并且其要求较少的设备标识符。
从一个未经权限允许就从商店安装的app软件,获取联系人,照片,地理位置等。
使用部分2或1中获得的访问权限,通过一个设备擦除呈现代码执行。
一周后,我们有了结果!三星设备总共发现11个问题。
三星wifihs20utilityservice遍历路径
也许最有趣的问题漏洞是cve-2015-7888,这个漏洞是由Mark Brand发现的。它是一个目录遍历错误,允许一个文件被写入系统。在设备上有一个进程运行,该进程扫描/ SD卡/下载/ cred.zip一个zip文件,解压系统文件。不幸的是,该API用于解压缩文件不用验证文件的路径,所以它可以写在意想不到的位置。在我们测试的版本的设备上,这是非常平常的可利用的使用Dalvik缓存的一种用于发现其他目录遍历错误的技术,尽管,SELinux策略阻止这个特定的开发技术,但是该技术目前已经被推送到设备。
三星secemailcomposer快速回复后台权限薄弱
另一个很有趣的并且很容易发现的bug,cve-2015-7889是由James Forshaw在三星的电子邮件客户端发现。在客户端的意见处理程序中缺少验证。一个普通的应用程序可以发送一系列的意见,导致用户的邮件被转发到另一个帐户。这是一个非常嘈杂的攻击,因为转发的电子邮件显示在用户的发送文件夹,但它仍然是容易获得的数据,甚至没有特权的应用程序应该都能够进行访问。
三星secemailUI脚本注入
James Forshaw 和 Matt Tait还在三星的电子邮件客户端发现了脚本注入的漏洞,cve-2015-7893。这个问题漏洞允许JavaScript嵌入邮件,在邮件客户端可执行。我们尚不清楚这一问题的最坏的影响是什么,但它确实增加了邮件客户端的攻击面,因为它会使得javascript漏洞通过邮件在安卓的WebView可进行远程执行。
驱动程序问题
在设备上发现三个驱动程序问题。cve-2015-7890,由lan Beer发现,以及cve-2015-7892,由Ben Hawkes发现,这些漏洞都是在作为媒体设备进行访问进程的驱动程序上的缓冲区溢出问题。这些都可以被媒体设备上的漏洞进行利用,比如libstagefright bug,升级内核特权。cve-2015-7891,由来自Chrome安全团队的Lee Campbell发现该问题,这是一个并发性的漏洞问题,这可以导致一个可以用来升级任何特权的应用程序或者代码执行内核的驱动程序记忆存储失败。
图像分析问题
在三星设备上的三星特定的图形处理装置上发现五内存损坏问题,由Natalie Silvanovich发现。这些问题中的两个cve-2015-7895和cve-2015-7898,当在三星Gallery上打开一图像时就会触发,但是其余的三个问题漏洞,cve-2015-7894,cve-2015-7896和cve-2015-7897会在媒体扫描期间发生,这意味着一个图像只需要下载就会触发这些问题。它们允许升级到三星画廊应用程序或媒体扫描过程的特权。
严重程度和解决措施
总体而言,我们发现了大量的严重问题,虽然有一些有效的安全措施,使我们的设备在一定程度上减缓了我们的漏洞危害程度。薄弱的区域似乎是设备驱动程序和媒体处理部分。我们通过模糊测试和代码审查在这些区域迅速的发现问题。同时令人感到惊讶的还有,我们发现了三个逻辑问题,这些是微不足道的漏洞。这些特别关注的类型的问题漏洞,随着时间的流逝会被发现,利用和使用这些问题漏洞的时间是很短的。
SELinux使得攻击设备更加困难。特别是,它使得调查某些特定错误,以及确定设备攻击面更加困难。安卓禁用设备上的setenforce命令使这更加困难。也就是说,我们发现了的三个漏洞,将允许利用来禁用SELinux,所以它对于每个bug来说,并不是一个有效的缓解措施。
报告问题
我们发现这些问题后,迅速的 像三星公司报告了该问题。他们最近回应说,他们已经在十月的维修发行中修复了其中的八个问题,其余的问题将在十一月份进行修复。我们非常感谢他们在努力的修补这些问题漏洞。
在相同的装置上,我们发现他们的漏洞测试,最新的安全更新(g925vvru4b0g9)应用证实了这一漏洞。
大部分的问题都已经被修复了,但是,其中的三个直到十一月份还没有被修复。幸运的是,这些似乎是严重性较低的漏洞。cve-2015-7898和cve-2015-7895要求图像在三星Gallery上被打开,这并没有特别高的特权,并且,它不使用默认打开的图像通过电子邮件或短信远程接收(所以这漏洞需要用户手动下载图像和Gallery打开它)。其他未修复的问题,cve-2015-7893允许攻击者执行JavaScript嵌入电子邮件,这增加了邮件客户端的攻击面,但不会有太大明确的影响。
总结
一周的调查研究显示,在三星Galaxy S6Edge上有一些漏洞。在一周研究过程中,我们发现了11个问题,这是一个严重的安全影响。发现了设备驱动程序和图像处理中的几个问题,也有一些逻辑问题,还有一些在设备中,危险性较高的,易于利用的漏洞。
虽然三个严重性较低的问题仍然未得以修复,但是这些问题的大部分,通过90天内OTA升级更新,在我们所测试的那款设备上得以修复。可以保证的是,最高级别的安全问题得以修复,并且,在一个合理的时间内设备会得以更新。