SyScan360信息安全会议,紧张激烈的电子胸卡限时破解大赛圆满结束,两名安全爱好者成功突破重围,在规定的15分钟时间内完成了电子胸卡的破解难题。现在,上海交通大学计算机系在读博士生pLL走上前台,为现场嘉宾们带来题为《请关闭安卓app中的攻击窗口》的主题演讲。
作为目前最主流的手机系统之一,开源的安卓系统成为绝大多数手机厂商的唯一选择。安卓系统通过权限来控制程序间的通信,这种异步通信手段Broadcast,被许多功能复杂的app广泛使用,业界并没有完全重视app组件间通信的安全防护。
我们每个人的安卓手机都可能安装多个同类型的app,当启动一个程序时,可能会遇到程序自动退出,大多数人会认为这只是程序不够稳定,并没有意识导致程序退出的原因可能是同类型程序间的互相攻击,如此隐蔽令人难以察觉,这便是利用此类通信漏洞进行安卓app间进行攻击的最常见形式。
安卓通过权限来控制程序间的通信,四大组件“statically published、servises、activities、content providers”实现了app与app间的通信,虽然官方的文档表示在互联网权限限制下这种方式不会产生漏洞,不会被app厂商加以利用进行攻击,但真正的攻击程序是不会被权限所制约的,足见业界对组件间通信的安全房后还不够重视。
虽然在业界,Erika Chin、Damien Octeau、David Kantola已经对此问题进行了研究,但这类漏洞仍未被明确指出,很少被用来进行app间的通信,绝大部分可以被攻击。
随后,pLL详细描述了安卓平台下的broadcast,通过对app的攻击damo演示展示了攻击方法、检测方法,通过静态检测和动态确认的手段,此外,pLL通过静态的aDFAer引擎和动态的Thor系统,分别在MIUI rom、SAMSUNG rom、设置在谷歌的服务框架中找到可这类漏洞,证明了此类安全问题目前官方存在于目前的app中,据其统计数据显示,超过50%的杀毒软件都存在这类漏洞。最后,pLL以网易彩票app为案例进行了攻击演示,以实际案例证明了此类漏洞若被利用,可能造成的严重后果,亟需安全厂商及app开发商加以重视。