2019年10月26日,由Testin主办的第二届NCTS中国云测试产业峰会在京召开。”为主题,汇聚国内外测试领域知名专家学者、企业决策领导者、高层技术管理者、媒体从业者等,共同探讨高端云测试技术,助力测试从业者了解最前沿的行业趋势和最新的行业实践。会上,北京大学计算机科学与技术系副主任郭耀教授作了主题演讲《移动应用生态系统:现状与挑战》。郭耀教授分享北京大学在移动应用领域的最新研究成果,并在现场进行呼吁,希望学术界和测试专家携手,通过更完善的审查功能和更完善的分析测试技术,将恶意应用识别出来尽早,共同完善国内移动应用生态,以下为G教授实录uo姚致辞:很高兴来到第二届NCTS中国云测试产业峰会,感谢Testin徐总邀请我做峰会的开幕致辞。今年的峰会来了很多人,预祝本次云测试行业峰会取得圆满成功。目前,北大也在做一些测试实践。我不是一个大测试人员,所以我将分享我们这两年在移动应用领域的研究工作。我的分享标题是《移动应用生态系统:现状与挑战》。中国的移动应用生态系统非常庞大。全国有数百个应用市场,APP经济规模超过1000亿美元。移动应用生态系统的构成包括移动用户、手机、开发者以及一个规模庞大的APP和应用市场。在中国,市场拥有庞大的手机用户,手机版本众多。可统计的开发者和真正签名的开发者超过百万,移动应用程序有数千种。整个市场非常复杂,国内市场的很多应用都存在很多问题。用户在选择的时候,往往不知道选择哪一个。同时,虽然国内很多应用市场号称审查非常严格,但实际上很多APP的应用质量并不尽如人意。这就需要做测试的同志,帮助开发者把应用做的更好,帮助用户更好的理解如何使用应用。在北大,我们这两年做了一些移动应用分析测试实践,搭建了一个大型的移动应用分析平台,试图了解移动应用生态面临的问题,利用APP自动化测试技术检测APP恶意行为。我们搭建了一个平台,占领了20多个应用市场,近千万个APK,包括不同版本的APP。我们有一个平台可以从下面进行预处理,包括解包、反编译等功能。在上面,我们构建了一套静态和动态的分析技术,包括自动化测试,主要是针对第三方库的安全和隐私的分析,包括恶意广告的分析和一些恶意应用的检测。我给大家简单介绍一下北京大学最近的研究成果。中国的移动应用生态系统非常复杂。在国外,基本上一个GooglePlay就够了。我们对比了大量的数据。GooglePlay已经下载了200万个移动应用程序,国内市场的数据略小,数量级相近。这里分析了一些简单的数据,有很有意思的发现。比如应用市场的应用评分,5分最好,1分很差,3分居中。我们做了一个累积分布图(CDF),中间的蓝线是GooglePlay。如果看国内的应用市场,除了GooglePlay,其他市场70%、80%的应用评分都是零。下面的市场从2.5分打分,很多分数都在中间。此分数不作参考,也不是正则分布的分数。同时,用户在应用市场下载的很多应用版本都不是最新版本。最新版本在应用市场的占比在GooglePlay中约为95%。国内应用更新不是很及时。只有50%的应用程序是最新版本,一半的应用程序都比市场上的要老,这说明我们的应用程序市场还存在很多问题。此外,由于汉化和破解这些原因,目前市场上还存在很多假冒伪劣的应用程序。例如,对于虚假应用,GooglePlay是0.03%,非常低。国内市场平均约为0.6%,仍有20倍的差距。我们曾经找过30个建行的应用,看起来都是一样的,给用户带来很大的麻烦。后者是克隆的应用程序,稍微修改一下就可以变成你自己的。最右边那一栏,整个市场都比较高,包括GooglePlay,也有10%。还有一个是用户非常关心的,就是越权。有多少应用程序申请了过多的权限?这个比例比较高。GooglePlay上约有65%的应用会申请过多的权限,国内市场更高一些,达到80%左右。很多应用超过了8、9个权限,这是代码中不应该申请的权限。.大家很关心恶意应用会不会进入市场或者到达我们的手机?VirusTotal上集成了大约60个检测引擎。我们用VirusTotal分析了所有这些手机应用,发现国内市场恶意应用的比例是GooglePlay的十倍以上,所以需要做测试分析的同事早点发现这些问题。还有一个有趣的结果,我们想看看这些应用市场是否会发现这些恶意应用并将其删除。八个月后,我们对这些恶意应用进行了扫描,发现GooglePlay上84%的恶意应用都被删除了,而在国内部分市场一个也没有被删除,仍然存在。前半部分的工作主要针对国内市场的移动应用。接下来,介绍与移动应用程序开发人员相关的工作。因为大家都在做测试,很关心开发者生态。例如,我们做了一个分析,发现总共有将近100万的开发者。这是所有应用下载量的累积分布,基于开发者的下载量。可以看到,下载量超过10K的开发者很少,大概百分之十几,超过100万就更少了。只有1%的开发者累计下载量超过300万。这是在GooglePlay上,这意味着1%的开发者占据了80%的应用市场。这些移动开发者中约有一半仅在GooglePlay上发布应用,其中一半在国内其他市场发布应用,例如在华为市场和GooglePlay之间。从签名来看,重叠只有1%,基本一致。各种开发人员正在这些市场中发布应用程序。我们最近对应用程序签名进行了一项实验。所有Android应用程序都需要签名。GooglePlay提供了三个版本的签名,我们称之为V1、V2和V3。V1有很多漏洞,V2修复了漏洞,我们在近两年前V2发布的时候做过分析,发现国内市场93.7%的应用只使用V1的签名,也就是说如果安装Android7.0之前的系统会被攻击。同时,部分下载量超过10亿的应用存在兼容性问题,无法在部分版本的手机上安装,部分应用采用公钥签名,意味着任何人都可以修改。其实这是一个很容易发现的问题,但是从开发到测试,再到发布到应用市场,一直没有人发现,下载量近亿。上面主要讲了一些问题。为了解决这些问题,可以通过测试、机器学习、深度学习来做更好的测试。我们自己也做了一些工作。动态测试,最早的时候大家都是用Monkey来随机点击。后来我们开发的工具Droidbot,可以根据UI的转换点击相应的UI,比随便点击要好。最近,我们引入了深度学习。根据用户点击过程的历史数据,我们可以了解到用户更喜欢点击哪个地方,这样自动化测试工具就可以像人一样点击,效果会更好。基于这些动态分析工具,我们还发现了其他问题。比如广告欺诈的问题。许多广告会诱使您点击。当您选择退出按钮时,广告会在您即将点击时弹出。这是广告欺诈。我们使用自动化测试工具来发现这些行为,国内市场存在很多恶意广告和欺诈广告。我们也研究了恶意下推通知,里面有下载的应用,特别是恶意的,还有广告,是不允许的,但是现实中很多应用都有这些问题,违反了应用市场的政策,说明我们的推敲还是不够强。另外还有很多恶意交友APP,搜索附近很多美女跟你聊天,想聊天就让你交钱,交了钱就不理你。我们用动态分析工具搜索了一下,找到了几百个,我们人工去核对了。我们同学花钱注册,发现真的是恶意app。这个市场非常大,每月有数百个应用程序。市场上有很多这样的恶意应用程序。在今天的报告中,我大致分析了国内的移动应用生态,可见应用市场还是很复杂的。希望学术界和在座的测试大佬们共同努力,用更好的审核功能过滤掉恶意应用,用更好的分析测试技术阻止恶意应用进入市场。早点识别。此外,我们也在用户端和手机端做一些工作,包括细粒度的访问控制,帮助用户更好地了解应用的功能和隐私访问的控制。希望在座的各位能够携起手来,共同为完善国内移动应用的生态而??努力。我的分享就到此为止,谢谢大家!
