G.O.S.S.I.P 阅读推荐 2022-09-30 四门传说

移动安全 2年前 (2022) admin
593 0 0

我们非常熟悉Bill Gates,但是大家可曾听说过Four Gates的故事?今天介绍的这篇ESORICS 2022论文–A Tale of Four Gates – Privilege Escalation and Permission Bypasses on Android through App Components 就为你揭开“四门传说”的奥秘~

G.O.S.S.I.P 阅读推荐 2022-09-30 四门传说

Android系统转眼间已经有10余年历史了,早在Android初期,我们在学习APP开发的时候就对四大基本组件(app component)——activityservicebroadcast receivercontent provider耳熟能详了,早些年的Android安全研究人员对组件暴露之类的安全问题也是如数家珍。没想到过了10多年,针对四大组件的安全问题仍然在困扰我们,这也是今天这篇推荐论文的名字的来历。作者在本文中讨论了四大基本组件在遇到Android系统多用户(multi-user,从Android 5开始引入)特性的时候产生的安全风险及相关安全攻击,并在三星、华为、小米等设备上找到了存在问题的APP。

在本文中,作者研究的核心安全威胁来自于不同的APP组件如何打破多用户隔离。虽然Android系统引入的多用户模型允许不同用户享有各自的私有空间,但是在同一系统中(同时)运行的APP(可能分属不同用户),它们之间是否完全无法感知彼此存在呢?作者进行了第一个实验,在不同用户登录的情况下,从一个用户会话中(使用一个攻击APP)发起对另一个用户会话中的APP组件的访问(前提是这个APP的组件被有意或无意暴露)。注意到要执行这个操作,需要在组件访问时额外通过附加参数--user指定另一个用户的user ID,。这个实验结果表明,这种访问会被系统阻断,看起来好像安全得到了保证。

作者深入分析了系统的隔离策略后发现,如果要打破隔离,需要攻击APP在intent操作时拥有INTERACT_ACROSS_USERS_FULLINTERACT_ACROSS_USERS权限,同时如果涉及到content provider,还需要拥有ACCESS_CONTENT_PROVIDER_EXTERNALLY权限。显然,Android系统不会随便把这种权限赋予普通APP,只能是系统APP才能申请到此类特定权限。作者于是想到了可以借助shell用户(也就是com.android.shell,你是不是马上想到了ADB)来实施攻击。这个实验表明,针对四大组件的跨用户访问,仅有在访问activity时触发了系统的访问控制(系统通过Android Gatekeeper来限制访问),而其他三个组件因为没有用户交互界面,就直接可以绕过访问控制!

不过作者在其后的攻击环节中给出的具体威胁模型有点不太现实——假定被攻击的设备上有一个service会访问ADB,而ADB此时被攻击者控制。作者举了个例子:

pm install com.app.malicious.apk –user 2
pm grant com.app.malicious READ_EXTERNAL_STORAGE –user 2
content query –uri content://com.app.malicious/cp –user 2

假定ADB可控,那么攻击者可以为第二用户安装一个恶意APK并给它赋予权限(例如读取内部存储),然后借助这个恶意APK暴露的组件,从第二用户空间里面读数据并返回给第一用户。当然,如果第一用户能够物理控制设备然后开启ADB,那么攻击就更加便利了(所以啊,请不要在你爸爸妈妈的手机上开设一个新用户并在里面写日记哦~)

当然,我们在研究论文中完全可以允许很多严苛的攻击假设,因为这种攻击也许就会在未来某一天的某个特定场景下成为更复杂的攻击中的一环。实际上,作者观察到一个有趣的情况,在三星、华为和小米设备上,定制的Android系统中包含了诸如“私密空间”、“第二空间”这样的系统应用,就是利用了多用户特性实现的(相当于给这些应用专门设置了一个第二用户来存储和隔离数据)。那么完全可以用刚刚提到的攻击去嗅探这个第二用户中的信息。作者发现,除了三星专门限制了这个第二用户,不让其安装APK以外,华为和小米的第二用户均可以用上述的攻击方法来获取信息。

G.O.S.S.I.P 阅读推荐 2022-09-30 四门传说

除了上述问题,作者还讨论了利用这种攻击方法去制作一个后台的spyware,收集用户的传感器数据,这里就不再赘述了。最后,作者介绍了自己开发的APP分析工具——Four Gates Inspector,专门用来检查此类攻击。Four Gates Inspector的分析速度飞快(在实验中平均只需要4.3秒就可以分析一个APP),但是它的分析也相对比较简单,和许多年前的那些APP静态风险分析差不多,检查一下组件暴露的问题,然后分析出可能的权限API调用(例如访问传感器的API)。

G.O.S.S.I.P 阅读推荐 2022-09-30 四门传说


论文PDF:https://link.springer.com/chapter/10.1007/978-3-031-17146-8_12
项目GitHub主页:https://github.com/akaldoseri/a-tale-of-four-gates


最后,祝大家国庆快乐!如果出去浪,争取不要在7天小长假之后喜提7+3大长假哦G.O.S.S.I.P 阅读推荐 2022-09-30 四门传说G.O.S.S.I.P 阅读推荐 2022-09-30 四门传说G.O.S.S.I.P 阅读推荐 2022-09-30 四门传说

原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2022-09-30 四门传说

版权声明:admin 发表于 2022年9月30日 下午7:50。
转载请注明:G.O.S.S.I.P 阅读推荐 2022-09-30 四门传说 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...