APP下载

Google靠多种机器学习技术揪出GooglePlay潜在有害程式

消息来源:baojiabao.com 作者: 发布时间:2024-04-18

报价宝综合消息Google靠多种机器学习技术揪出GooglePlay潜在有害程式

为了打击在Android中的潜在有害应用程序(Potentially Harmful Applications,PHAs),Google使用全面性的Android安全服务Google Play Protect,合并应用监督式和非监督式机器学习技术,以精确检测并且分类PHA。

检测PHA是一项工程浩大的工作,需要投入大量的资源,Google需要了解应用程序与使用者互动的过程,分析复噪声号以了解PHA的行为。为了可以快速且大规模的侦测PHA,Google利用机器学习,让系统在不需要人为介入的情况下就能自动搜寻PHA,而且只要透过增加运算能力,就能增加分析的规模。Google提到,机器学习比起人可以更有效的从资料中,找到讯号之间隐藏的关联。

Google Play Protect机器学习保护主要由两个部分构成,分别是资料以及和机器学习模型,而资料来源又分为应用程序的资料,以及使用应用程序的体验资料。首先,应用程序的资料来自Google Play Protect分析网络上找到的所有应用程序。透过拆解应用程序的APK,并且深入分析提取PHA讯号来创建资料集,这些资料除了特定特征外,还包含像是SMS诈欺、网络钓鱼或是权限提升等行为。

Google Play Protect会对APK档案中的各种资源,进行静态和动态分析,这两种方法相辅相成,Google表示,只要程式码经过混淆技术,就会阻碍静态分析,但是动态分析透过执行应用程序,因此一样能找出问题所在,而静态分析则能检测在实作中可以绕过动态分析,试图隐藏在程式码的恶意部分。综合动态与静态分析,产生应用程序特征资讯,作为机器学习的资料来源之一。

除了应用程序的资料,机器学习的资料还需要使用者使用应用程序的体验资料,这些资料来自Google Play的使用者回馈,包括安装、卸载、用户评分和评论的数量等资讯,另外,有关开发人员的资讯,像是使用的凭证以及发布应用程序的历史纪录,也都是可用来辨识PHA的资讯。应用程序的体验资料,由每天开发人员提交的应用程序,以及数百万Google Play使用者产生,能帮助Google了解应用程序的品质、行为和目的,以辨识新的PHA行为。

通常这些资料来源提供的都是原始讯号,需要经过转换才能给机器学习使用,虽然部分原始讯号具有明确语意意义能直接被利用,但是大多数情况,需要重新设计资料以找出更强而有力的特征。像是汇总特定开发人员拥有所有的应用程序评分,个别对每位开发人员进行评分,用来验证未来的应用程序。也会使用嵌入技术,为稀疏资料创建压缩表示,或是为了简化资料使其更容易被模型使用,以特征选择技术,根据目标不同保留最相关的讯号,并移除不相关的讯号。

Google提到,机器学习模型设计对于有效且精准的侦测PHA很重要,但是要辨识特定类型像是SMS诈欺或网络钓鱼等PHA行为并不容易,这些行为都只是广义的名词,实际上符合定义的可能包含了广泛的样本。抑或是,同一个PHA活动,是由一群应用程序构成,这些应用程序共享部分程式码和行为。

为了应付复杂的PHA行为,Google使用多种建模技术以修正使用的机器学习方法,包括监督式与非监督式的方法。Google使用监督式逻辑回归来侦测大部分的PHA,逻辑回归模型结构简单可以快速训练,可用来分析不同PHA和应用程序特征的重要性,进而改变特征工程程序。经过几轮的训练、评估和改进之后,便能产生生产用的最佳模型。

而针对其他更为复杂的PHA案例,Google使用深度学习,以捕捉不同PHA特征间复杂的互动,并找出隐藏的关联。由于 Google Play中存在数百万个应用程序,提供了丰富的资料集,很适合用于训练深度学习模型,而且除了目标特征工程外,由于深度神经网络有拥有许多层,每层具有多神经元,可以用来处理讯号,Google透过改变层数以及每层的神经元,来改变模型行为。此外,Google还使用了非监督式的机器学习方法,因为许多PHA使用相同技术,非监督式方法可以用来定义行为相似的应用程序群集,而这能更加有效识别并减轻PHA的威胁。

但Google也提到,PHA不断发展,所以他们的模型也需要不端的更新,而且训练资料也要使用近期的应用程序资料,才能维持相关性,透过维护机器学习模型的建立和更新循环,才能确保系统侦测的精确度。

2018-11-21 19:35:00

相关文章