首页
社区
课程
招聘
APP漏洞自动化扫描专业评测报告(上篇)
发表于: 2016-8-16 10:50 5494

APP漏洞自动化扫描专业评测报告(上篇)

2016-8-16 10:50
5494
一、前言

随着Android操作系统的快速发展,运行于Android之上的APP如雨后春笋般涌现。由于一些APP的开发者只注重APP业务功能的实现,对APP可能出现安全问题不够重视,使得APP存在较多的安全隐患。国内一些安全厂商为这些开发者提供了各种各样的安全服务,包括APP的加固、安全漏洞分析等。

目前在业界有很多自动化检测APP安全性的在线扫描平台。为了了解目前国内移动APP在线漏洞扫描平台的发展情况,我进行了一次移动安全扫描平台的评测分析;主要从漏洞项对比、扫描能力对比以及扫描结果这三个方向来对比。

希望此次的调研结果可以为读者提供更加可靠的安全漏洞扫描服务建议。

二、分析对象

这一章主要介绍需要对比的扫描平台和需要测试的APP样本。

2.1 对比平台

扫描平台&网址

阿里聚安全漏洞扫描——http://jaq.alibaba.com/

360APP漏洞扫描——http://dev.360.cn/mod/vulscan

腾讯金刚审计系统——http://service.security.tencent.com/kingkong

百度移动云测试中心——http://mtc.baidu.com/startTest/safe

AppRisk Scanner——https://apprisk.newskysecurity.com

爱加密——http://www.ijiami.cn/

梆梆加固——https://www.bangcle.com/

AppTest掌测——http://www.appstest.cn/

TestIn测试平台——www.testin.cn/

腾讯优测——http://utest.qq.com/

爱内测——http://www.ineice.com/

AppScan——http://www-03.ibm.co /software/products/zh/appscan-mobile-analyzer

Fortify SCA——http://www8.hp.com/us/en/software-solutions/application-security/

对上述扫描平台,我都上传APP进行了测试,简单比较它们的扫描结果。最后,综合检测结果、它们在漏洞扫描领域的知名度以及它们的用户数量,我选取表中前五个扫描平台,即阿里聚安全、360APP漏洞扫描、金刚、百度和AppRisk进行详细的对比分析;由于金刚和优测都是腾讯旗下的产品,所以我选择了专注于APP审计的金刚审计系统。

爱加密扫描速度很快,但整个漏洞扫描就是为其加密模块做铺垫,扫描项非常简单,没有实际的漏洞扫描,只是简单的字符串匹配,故扫描速度非常快。梆梆加密扫描速度也比较快,扫描内容比爱加密要丰富,一共14项,包含了一些高危漏洞的扫描,如与WebView相关的一些漏洞等,但是其漏洞扫描模块也是为了给自己的加固服务做铺垫,所以没有选取这两家。AppTest掌测测试成本太高,每次测试2999元起,所以没有对它进行详细分析。腾讯优测的扫描结果与金刚非常相似,但没有金刚详细;有时候扫描结果只有漏洞概述,没有漏洞的详细信息,也没有修复建议。爱内测的扫描结果非常简略,只判断是否存在漏洞,而不统计漏洞的个数以及漏洞位置。

AppScan和Fortify SCA是国外的扫描平台,分别属于IBM和惠普。我分析了它们的扫描结果,AppScan的免费版本检测结果没有多大的参考价值,重要的漏洞信息都没有显示,如果测试时间超过4个小时,则会中断扫描服务。Fortify SCA的扫描侧重Web应用程序,虽然也可以扫描Android程序,但扫描结果以Web漏洞为主,差强人意,而且在免费试用15天后,每测试一个APP需要花费2000美元,所以我没有详细分析这两个平台。

以下简单统计了各个平台的收费情况,如下表:



2.2 测试样本

测试样本:




通过上传精心构造的包含各种漏洞的“测试APP”,测试它们的扫描能力,随后上传应用市场中下载量较大的应用程序进行实际测试。由于受时间和资源的限制,并未大规模上传应用进行测试,也只是详细对比了WiFi万能钥匙的扫描结果。因此扫描结果有些许的片面性,但总体反映各个扫描平台的检测能力。

三、总体能力对比

3.1 扫描时间对比

以下列表各个扫描平台扫描时间的对比,金刚只能检测50M以内的APP,所以没有新浪微博的检测时间,而百度每检测一次收费9.9元,而且没有记录扫描时间;受限于时间和经费,没有再次检测APP以获取扫描时间,单位:分。



补充一下,时间的获取是以扫描界面内对应APP给出的或者是以收到扫描结束通知为依据的。可以看出,阿里聚安全和AppRisk的扫描时间与APP的大小成正比,而360和金刚没有明显的规律。当用户把APP投入阿里聚安全和AppRisk中扫描时,可以根据APP的大小预测大致的扫描时间;而投入到360和金刚时却无法预测大致的扫描时间。

3.2 漏洞项对比

360将许多类型相同的漏洞分成多个具体的漏洞,我将其合并一下(组件导出归为一类,文件读写归为一类,SQL注入归为一类)。

以下是具体漏洞个数对比:






从上表可以看出,五个产品相同的扫描项有9种,其中四个产品相同的扫描项有7种。总的来说,这五个产品基本覆盖了目前Android应用程序可能出现的所有漏洞。

总体覆盖量排名:阿里聚安全(35个)>360(31个)>百度(26个)>金刚(23个)>Apkrisk(20个)

3.3 扫描能力对比

最后我用自己编写的测试APP测试各个扫描平台的扫描能力。这些扫描能力主要分为静态检测能力和动态检测能力。静态检测能力包括检测隐藏dex、过程间分析、正向分析、逆向分析;动态测试主要是指测试拒绝服务漏洞的能力,拒绝服务漏洞又可以划分为:空Intent引起的拒绝服务,强制类型转换引起的拒绝服务以及序列化对象导致的拒绝服务。由于这些检测能力决定了扫描器扫描结果的精度和准度,因此我详细分析了各个扫描平台的扫描能力。

由于内容太长,我将扫描能力和扫描结果单独作为下篇分享出来,敬请关注!

Sunnieli

[课程]Linux pwn 探索篇!

收藏
免费 3
支持
分享
最新回复 (6)
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
非常赞!之前一直都不知道各个扫描平台的能力,期待下篇!
2016-8-16 11:47
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我建议加个误报率
2016-8-16 13:59
0
雪    币: 3094
活跃值: (234)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
4
感想统计。但数字好像出了点问题,根据你的图,阿里35个没错,但后面好像都有问题,360是31个,百度是23,金刚是26,Apkrisk是21....不知道我有没数错了。

哎呀,原来我也数错了,原理Apkrisk是20。但是楼主竟然将百度和金刚调转了,这....
2016-8-16 15:05
0
雪    币: 477
活跃值: (575)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
6
真是细心啊
2016-8-18 10:08
0
雪    币: 22
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
百度和金刚的数据是对的,确实是表格标题写反了,感谢细心的网友,多谢指正!d=====( ̄▽ ̄*)b
2016-8-18 10:13
0
雪    币: 48
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
是好东西,难得楼主有这份心力
2016-8-18 10:33
0
游客
登录 | 注册 方可回帖
返回
//