你的Android设备有恶意软件吗?
文|Google 软件工程师 Megan Ruthven
在 Android 安全部,我们一向致力于更好地了解如何让 Android 设备更流畅、更安全地运行。所有包含 Google Play 的设备都具备的一项安全机制是验证应用。验证应用会检查您的设备上是否存在潜在有害的应用 (PHA)。如果找到 PHA,验证应用会向用户发出警告并允许他们卸载该应用。
然而,有时,设备会阻止验证应用检查应用。这可能是出于与安全无关的原因,例如,购买新手机,也可能意味着有更严重的问题需要关注。当设备阻止验证应用进行检查时,该设备会被视为死设备或不安全设备 (DOI)。如果下载某个应用的 DOI 设备达到一定的百分比,则该应用被视为 DOI 应用。我们使用 DOI 指标和其他安全机制来帮助判断某个应用是否为 PHA,从而保护 Android 用户的安全。此外,当我们发现漏洞时,我们会利用安全更新系统为 Android 设备提供补丁程序。
此文介绍了 Android 安全团队为了找出导致设备停止运行的安全相关原因以及预防将来再次发生此类问题而做出的研究工作。
举报 DOI 应用
为了更深入地理解这个问题,Android 安全团队将应用安装尝试行为与 DOI 设备联系在一起进行对照研究,以找出对设备有害的应用,从而保护我们的用户。
考虑到这些因素之后,我们将重点放在“留存率”上。如果某台设备在下载某个应用之后继续由验证应用定期执行安全检查,则该设备被视为留存设备。否则,则被视为潜在死设备或不安全设备 (DOI)。应用的留存率是指所有下载该应用并且在一天之内继续留存的设备所占的百分比。鉴于留存率是设备健康状况的有效指标,我们的目标是尽量最大化整个生态系统的留存率。
因此,我们采用了一个应用 DOI 评分工具,其假定所有应用都应具有相似的设备留存率。如果某个应用的留存率有几项标准差低于平均值,DOI 评分工具将会举报该应用。依据平均值计算标准差数值的常用方法之一是 Z 分数。Z 分数的计算公式如下。
N = 下载该应用的设备数量。
x = 下载该应用的留存设备数量。
p = 下载任何应用的设备的留存几率。
在本上下文中,我们将应用留存率的 Z 分数称之为 DOI 分数。DOI 分数表示,如果 Z 分数远小于 -3.7,则从统计上讲,应用的留存率会相当低。这意味着,如果零假设为真,则 Z 分数量值较高的概率远小于 0.01%。这种情况下,零假设意味着,无论该应用执行何种行为,均有可能出现留存率较低的情形。
这样可以将极端的应用(留存率很低,但下载量很大)过滤到 DOI 列表的顶部。在列表顶部,我们可以结合 DOI 分数和其他信息来决定是否要将该应用归类为 PHA。随后,我们使用验证应用来移除该应用的现有安装并防止以后再次安装该应用。
▲ 同一设备上正常应用和 DOI 应用下载之间的区别
实际结果
DOI 分数会将许多应用归类为各种恶意软件,其中包括三大著名的恶意软件系列:Hummingbad、Ghost Push 和 Gooligan。尽管每个应用的行为方式不尽相同,DOI 评分工具将 25000 多种应用归类为这三大系列恶意软件,因为它们会大大降低 Android 的体验,以至于有相当多的用户会选择恢复出厂设置乃至抛弃自己的设备。这种方法给我们带来了发现 PHA 并阻止其流行的另一种视角。如果没有 DOI 评分工具,许多此类应用就可能会逃脱人工审查的法网。
我们为 Android 上的用户和开发者提供多重保护,DOI 评分工具以及 Android 在反恶意软件方面的所有努力正是其中之一。如需概要地了解 Android 在安全性和透明度方面所做的努力,请查看我们的网页:
www.android.com/security/overview
推荐阅读: