2022-05-13 21:35:2112725人阅读
Unix Domain Socket:安卓生态系统中通往权限提升的暗门
(Unix Domain Socket: A Hidden Door Leading to Privilege Escalation in the Android Ecosystem)
Unix Domain Socket (UDS)是安卓中重要的本地进程间通信方式之一,其自身具备访问控制能力,可以安全地传递通信数据。但由于UDS服务通常不会和第三方应用进行直接通信,且SElinux限制了普通程序对UDS服务的访问,导致厂商往往忽视UDS服务自身的安全性。因此,由设计或实现上的缺陷及错误配置等原因引入的各种安全漏洞使UDS成为了一个可以获得权限提升的隐藏攻击面。该议题主要讨论了UDS的应用场景及安全风险,绕过访问控制的漏洞利用方法,以及针对UDS服务的自动化分析方法。
在UDS服务中,常见的漏洞包括配置错误、访问控制失效、内存破坏、逻辑漏洞等。基于广泛研究了大量设备上的UDS服务,在宏观上将UDS的应用场景分为两大类。第一类是诊断工具,例如日志管理工具、异常管理工具等。第二类是复杂的HAL模块,例如GPS、电源等。并通过对UDS服务的分析,我们发现UDS服务通常以高权限运行,且经常应用在一些敏感的任务中,如操纵系统文件、维护敏感信息、与驱动交互等。这意味着UDS服务是很有价值的攻击目标。而访问控制是UDS的关键安全措施之一,可以降低UDS服务遭受攻击的风险,但访问控制无法解决所有安全问题。因为在安卓生态中,UDS服务通常是完整数据交互图中的一个节点。除了直接连接UDS服务之外,还有许多其他的攻击路径。而百度安全工程师基于长期系统漏洞挖掘经验,开发了一个UDS服务信息自动化收集工具,得以枚举设备中所有的UDS服务,以及绘制UDS服务完整的数据流图。截至2022年4月20日,该工具已累计发现12处UDS服务安全漏洞,覆盖4家知名厂商,获得9个CVE和3家厂商的致谢。
ION排雷:安卓系统ION驱动中潜藏的漏洞
(ExplosION: The Hidden Mines in the Android ION Driver)
ION驱动是由Google引入Android内核中用于解决内核分配问题的基础组件。它被下游设备厂商广泛使用了近10年。并且,它还可以被普通APP直接访问,这意味着ION中的漏洞具有非常大的危险性。然而,直到最近几年,才陆续有少量的ION相关漏洞被曝出。这不禁引起我们的担忧:ION中是否还潜藏着更多危险的安全问题?
截止目前,我们累计发现了40+ION安全漏洞,影响了上百万Android设备。我们将这一系列漏洞命名为ExplosION。不同于其他的Android驱动漏洞,我们发现ExplosION是一个Android生态性安全问题。这一点和ION的特性密不可分。首先,ION作为一个基础组件,可以用于下游厂商的驱动开发中。这样一来,ION中的安全缺陷就会被引入到下游厂商设备中。其次,Google作为上游厂商不仅仅提供了ION的设计与实现,还提供了接口供下游厂商进行定制化开发。基于这一点,安全问题就可能由下游厂商引入。最后,一些厂商甚至会定制ION的核心API,这导致了一些已知安全问题会因为代码合入冲突而没有被修复。
在这个议题中,百度安全工程师展示了ExplosION及相关漏洞细节,通过演示如何利用其完成对Android的权限提升攻击,以说明ExplosION的危害,最后,百度安全工程师对ExplosION进行了一系列反思,阐述了如何在以后避免相关安全问题的发生。
“万物智联”是物联网演进的必然趋势,当下正处于在IoT和AI融合的关键路口。IoT的网联化和智能化,使整个IoT产业迸发出新的活力,同时也面临着严峻的安全挑战。从传统系统安全顽疾的集中爆发到AI本身的安全性问题日益收到关注,AIoT时代的安全挑战已然超乎了传统对于安全边界与框架的认知范畴。为此,百度安全始终倡导通过新一代技术研发与开源,实现对安全问题的快速响应与对抗,以及安全防护的层次化。未来,百度将与生态合作伙伴一道,持续推动AIoT技术落地智慧应用场景,为资源和能力有限的IoT设备提供无限可能,同时共同应对全新的安全挑战,用AI推动产业互联网变革,让智能生活更安全。