近日,挪威一家APP安全公司Promon发现并报道了安卓系统的一个特性漏洞(注:系统漏洞)已经被多个恶意应用利用的分析报告,他们通过监测发现该漏洞使恶意软件可以伪装成任何合法应用程序,从而使黑客可以访问私人短信和照片,窃取受害者的登录凭据,跟踪位置或记录电话对话,甚至可以通过手机摄像头和麦克风进行监视。

当然,前提是恶意应用得被人安装。

具体功效如下图所示,他们将该漏洞命名为StrandHogg,这是北欧人的一种北欧海盗战术,袭击沿海地区掠夺并扣押赎金。

目前已经有至少36个利用此漏洞的恶意应用,其中包括最早在2017年观察到的BankBot银行木马的变种,此外这些木马大部分都在Google Play上面进行分发。

此外Promon研究人员发现,至少有500个最受欢迎的应用程序都容易受到StrandHogg的攻击。

*受影响所有Android版本,包括Android10*。

(请注意:权限收集漏洞仅适用于Android 6.0及更高版本)

由于这属于安卓系统特性漏洞,因此目前谷歌方面尚未进行修复。

攻击手法

该漏洞使恶意应用程序有可能在伪装成合法应用程序的同时请求权限。攻击者可以请求获得任何许可,包括SMS,照片,麦克风和GPS,从而允许他们阅读消息,查看照片,进行窃听和跟踪受害者的活动。

简单来说,要么攻击者通过该漏洞,请求获取应用权限,要么攻击者利用类似“界面劫持”的方式,弹出钓鱼界面让你输入账户密码,就酱。

噢还有一种方法是,一直给你弹界面,让你退不出去,从而实施勒索钱财- -。

漏洞宣传片如下,大致阐述攻击手法和利用链,可以快进观看。

漏洞详情

实际上,该漏洞在2015年就已经被宾州州立大学进行了研究和报道,研究人员从理论上描述了该漏洞实现方法。谷歌当时否认了该漏洞的严重性,但Promon有确凿的证据表明黑客正在利用StrandHogg来获取对设备和应用程序的访问权限。

而关键在于利用该特性漏洞,可以根本不需要root即可钓鱼获取各种权限,甚至用户账户密码,仔细想想是真的好用。

它利用Android的多任务系统中的一个弱点来实施强大的攻击,使恶意应用程序可以伪装成该设备上的任何其他应用程序。此漏洞利用基于一个称为“ taskAffinity”的Android控件设置,该控件允许任何应用程序(包括恶意应用程序)自由地采用其所需的多任务处理系统中的任何身份。

▲宾州州立大学PPT

且该攻击方法被武汉大学发表了论文《一种新的基于APP启动模式的劫持攻击方案》,由于版权问题有兴趣自行搜索学习,已经说的非常清晰,在此仅引用两图。

原文中实际上也提及了原理部分

当恶意应用在其一个或多个活动上设置taskAffinity以匹配任何第三方应用的packageName时,上述漏洞利用才起作用。

然后,通过与XML中的allowTaskReparenting=“true”组合,

或通过使用Intent.FLAG_ACTIVITY_NEW_TASK的intent标志启动攻击活动,将其置于目标任务的内部和顶部。接着,恶意活动劫持了目标的任务。下次从启动器启动目标应用程序时,被劫持的任务将被带到最前面,并且可以看到恶意活动。

然后,恶意应用程序只需要像目标应用程序一样出现即可成功对用户发起复杂的攻击。甚至可以在安装目标应用程序之前劫持此类任务。

黑鸟简单说明一下背景知识:

简单来说,如果恶意程序带有下面几种属性,便可对应具体的攻击方法。

下图为攻击者通过控制受害者的任务视图,然后在适当的时候切换Activity从而进行钓鱼或者请求权限等操作的攻击线路图。

具体的漏洞演示视频如下

再具体的细节就不敢多说了,有兴趣的可以看看相关论文还有原文的代码片段,实现攻击不难,重要的是怎么进行加固还有检测

因此,再次提醒,不要安装来历不明的APP,下载常用APP即可,因为在正版应用市场同样有这类风险,或者还是坐等谷歌修复(够呛)。

最后,本文仅为提供给防御方及时进行加固等措施,防止被外敌入侵,毕竟此特性很好利用,可以大胆预测未来黑产将持续使用这种攻击手法入侵安卓手机从而进行高权限的钓鱼活动,若有人使用文中提及方法进行未经许可的攻击行为,请去劝导其或自行自首

参考链接:

https://promon.co/security-news/strandhogg/

声明:本文来自黑鸟,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。