Google使用了逻辑回归,并且以深度学习侦测恶意软件特征的隐藏关联,还使用非监督式方法定义行为相似的应用程序群集,有效识别并减轻PHA的威胁。

为了打击在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不断发展,所以他们的模型也需要不端的更新,而且训练数据也要使用近期的应用程序数据,才能维持相关性,透过维护机器学习模型的建立和更新循环,才能确保系统侦测的精确度。 文章转自:SBF胜博发预测

转载于:https://juejin.im/post/5bf63f3a51882545f7301582

Google加强辨识有害程序 运用深度学习找出隐藏关联相关推荐

  1. Google和微软分别提出分布式深度学习训练新框架:GPipe PipeDream

    [进群了解最新免费公开课.技术沙龙信息] 作者 | Jesus Rodriguez 译者 | 陆离 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) [导读]微软和谷歌一直在致 ...

  2. Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略

    Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略 目录 Colaboratory简介 Colaboratory使用步骤 (1).首先登陆谷 ...

  3. 别让数据坑了你!用置信学习找出错误标注(附开源实现)

    星标/置顶小屋,带你解锁 最萌最前沿的NLP.搜索与推荐技术 文 | JayLou娄杰(NLP算法工程师,信息抽取方向) 编 |  北大小才女小轶 美 | Sonata 1 前言 在实际工作中,你是否 ...

  4. Java黑皮书课后题第8章:*8.8(所有最近的点对)修改程序清单8-3,找出所有所有具有最小距离的点对。下面是一个运行示例

    *8.8(所有最近的点对)修改程序清单8-3,找出所有所有具有最小距离的点对.下面是一个运行示例 题目 题目描述与运行示例 程序清单8-3 破题 代码 题目 题目描述与运行示例 *8.8(所有最近的点 ...

  5. python手写字体程序_深度学习---手写字体识别程序分析(python)

    我想大部分程序员的第一个程序应该都是"hello world",在深度学习领域,这个"hello world"程序就是手写字体识别程序. 这次我们详细的分析下手 ...

  6. Google 云端硬盘使用 colaboratory 跑深度学习(GPU)

    Colaboratory 支持 Python 2.7 和 Python 3.6. 谷歌中文说明:https://colab.research.google.com/notebook 要使用云端硬盘,首 ...

  7. 【重磅】Google元老Eric Schmidt发布《深度学习2020大综述》,深度学习集大成者

    关注上方"深度学习技术前沿",选择"星标公众号", 技术干货,第一时间送达! 最近谷歌元老级人物Eric Schmidt和Maithra Raghu发布了深度学 ...

  8. 基于深度学习的信息隐藏技术的研究总结(一)

    信息隐藏技术的相关知识总结 你好! 本人关于信息隐藏方面的研究很久了,主要是利用深度学习方面的技术来实现.由于电脑等原因,一些东西就找不到了,所以想通过写博客的方式进行记录,一方面是对学过的东西.技术 ...

  9. 人工智能深度学习找线缆盘圆心---项目展示

    背景知识 在工业堆场的仓库里面堆放着大量的形状不规则的线缆盘,如图所示: 通常情况下,对于人工搬运的仓储物流环境下,基本是人工开动叉车,人工找到线缆盘圆心的位置,再用叉车的前叉插入线缆盘,这种情况下基 ...

最新文章

  1. python默认参数 可变对象_当心Python函数可变默认参数(list,set,dict…)的陷阱
  2. JAVA实现Excel的读写--poi
  3. 昆西·拉森的净资产是多少?
  4. [算法总结] 13 道题搞定 BAT 面试——字符串
  5. 我最开始学dancing link的HTML5的时候
  6. Drupal 7 主题模板概述
  7. scratch绘制多边形_如何使用Scratch 3绘制矢量图形
  8. 深度遍历 java_java 图论一 深度遍历和广度遍历
  9. 又拍云 php5月18号那,又拍云每月免费CDN空间和流量
  10. uniac是哪一代计算机的代表,Saint-Uniac
  11. PyTorch并行与分布式(三)DataParallel原理、源码解析、举例实战
  12. HDU 4059 The Boss on Mars(容斥原理)
  13. 「企业架构」TOGAF 和Zachman有什么区别?
  14. 计算机无法连接声音怎么办,电脑耳机没声音怎么设置|耳机插电脑没有声音解决方法...
  15. bzoj 3709 [PA2014]Bohater
  16. 荣耀卖掉会有鸿蒙系统吗,华为为什么要把荣耀卖掉 荣耀卖掉之后依然还是那个荣耀吗?...
  17. 一,SpringMVC入门
  18. 电商抖音直播带货SOP工作流程主播计划脚本方案
  19. DeepAI 视界深度学习数据集大放送【一】
  20. 双系统ubuntu+ros indigo安装

热门文章

  1. 诺基亚here地图使用api使用测试的时候遇到的一点小问题
  2. java 内嵌chrome_Java嵌入谷歌内核简单浏览器
  3. 游戏发行商推广游戏的三种方法
  4. Linux下安装SVN服务端
  5. 全球最厉害的 14 位程序员!传说代码没过编译的时候,编译器就会道歉...
  6. 如何使用yum工具从iso镜像文件上安装
  7. 一文详解Redis企业版软件!
  8. opencv3 圆检测
  9. 浅谈JAVA适配器模式
  10. 如何解决ios横竖屏切换布局错乱的问题