在去年底披露Android平台重大StrandHogg漏洞的挪威安全企业Promon,在本周公布了更危险、也更难侦测的StrandHogg 2.0漏洞,它能藏身于Android手机上的任何程序,窃取用户所输入的凭证,由于行径与StrandHogg类似,而被命名为StrandHogg 2.0,幸好Google已在今年5月修补了该编号为CVE-2020-0096的安全漏洞。
StrandHogg 1.0开采的是Android多任务系统中的taskAffinity控制设置漏洞,只要用户在Android设备上安装了开采该漏洞的恶意程序,它就能挟持设备上各种合法程序的任务,以合法程序名义取得各种权限。至于StrandHogg 2.0开采的则是Android平台上的权限扩张漏洞,它通过反射(reflection)来执行,允许恶意程序藏身在各种合法程序之后,以取得某些原本应赋给合法程序的权限。
这两个漏洞的性质很像,都允许恶意程序藏身在合法程序之后,并取得各种权限,因而可窃听用户的麦克风、拍照、读取或发送短信、盗走程序登录凭证、访问设备上的照片或文件、取得GPS与位置信息,或者是访问通讯录与电话记录。
相异之处在于它们属于不同的漏洞,StrandHogg 1.0会留下踪迹,StrandHogg 2.0却难以发现,此外,StrandHogg 1.0漏洞一次只能用来攻击一个程序,但StrandHogg 2.0漏洞却只要一个按钮,就能同时攻击设备上的所有程序。
当用户于Android设备上安装了开采StrandHogg 2.0的恶意程序之后,在用户打开合法程序时,跳出的即会是恶意程序的权限询问窗口,用户通常会以为这是合法程序所需要的权限而同意授权,而且之后会再导回合法程序页面;倘若用户打开的是金融程序,恶意程序也可跳出登录画面,并将用户所输入的凭证发送到黑客服务器上,之后再导回合法程序页面。
其实Promon在去年12月,几乎是同时发现StrandHogg 1.0与StrandHogg 2.0漏洞,只是当时StrandHogg 1.0已遭黑客开采,至少已出现36个开采该漏洞的恶意程序,不得不在Google尚未修补前立即披露;反之StrandHogg 2.0则尚未被开采,让Promon决定在Google修补后才公布,迄今Promon仍未看到有任何利用StrandHogg 2.0的恶意程序。
StrandHogg 2.0影响Android 9及之前的操作系统,并未波及最新的Android 10,尽管如此,依然有大量的Android设备含有该风险,因为根据Google的统计,只有8.2%的Android设备采用Android 10。