本发明属于手机安全技术领域,尤其涉及一种手机病毒检测和全面安全检测的快速检测方法。
背景技术:
安卓(android)系统现在市场占用率越来越高,手机或平板上预装和用户自己安装的app越来越多,如果单纯把手机app的安全检测软件植入到检测设备,然后对外接的手机或平板(被检测设备)进行检测,因为全面安全检测需要从静态和动态两个方面对app的行为进行深度分析,这个过程通过在6-12分钟范围内。一个手机或平板通常至少安装了上百个app(包括系统自带的app和厂家预装的app、第三方预装的app),这样平均下来检测完一部手机至少2个小时以上的时间。从时间上讲这个效率是很低的。所以我们需要发明并实现一种新的快速检测方法在不影响检测结果的前提下来加快检测的效率,且不会造成待检测安卓设备发生任何变化。
技术实现要素:
本发明的目的在于:提供一种利用白名单机制实现安卓设备app快速安全检测方法(简称为秒检),以解决目前缺少一种能够在不会造成待检测安卓设备发生任何变化的前提下,对安卓设备进行快速安全检测的技术问题,在手机安全检测设备上对安卓设备进行秒检,检测不会造成待检测安卓设备发生任何变化,即系统中不会增加新的程序、设备的物理存储空间不会发生变化。
本发明采用的技术方案如下:
一种利用白名单机制实现安卓设备app快速安全检测方法,其特征在于,包括以下步骤:
步骤一:建立白名单数据库,并安装于检测设备上;
步骤二:通过数据线连接待检测安卓设备和检测设备;
步骤三:检测设备通过adb调用待测安卓设备信息,如果不能调用,则开启待检测安卓设备的usb调试模式;
步骤四:检测设备通过adb检索待检测安卓设备的信息和应用程序;
步骤五:通过adb将待检测设备上被检索到的所有应用程序拷贝到检测设备上;
步骤六:检测设备通过检查白名单数据库的方式对拷贝的所有应用程序进行全面深度安全检测;
步骤七:检测设备返回检测结果,客户确认后,通过检测设备删除所有拷贝数据。
进一步的,全面深度安全检测的具体步骤包括:
6.1:当安卓设备通过数据线的方式连接到检测设备后,检测设备会启动程序来自动安装apk文件,并运行apk所对应的应用程序;此处的apk文件就是安卓应用app文件,后缀名为apk,也就是要检测的安卓手机中的app应用;
6.2:将所运行的应用程序与白名单数据库进行匹配,若匹配成功,则直接读取白名单数据库预存储的检测报告作为该应用程序的检测报告并输出;
6.3:若上一步匹配不成功,则进行动态自动化检测,并输出分析报告。
进一步的,所述检索和拷贝的步骤包括:
5.1:通过adb命令进入安卓设备或模拟器的shell中;
5.2:通过forword命名进行端口转发;
5.3:通过adbpull,push命令将应用程序的数据进行拷贝,为下一步分析做准备。
进一步的,建立白名单数据库的方法包括:
1.1:将从网络上下载到的应用程序的源数据在本地形成一个镜像备份;
1.2:从镜像备份中选取一部分种子url,并放入到待抓取队列中;
1.3:从待抓取队列中取出种子url(即种子网页链接url地址)对应的url,解析dns得到主信息,并将这些应用程序从对应网页上下载下来,存储进已下载网页库中;
1.4:将url放进已经抓取的url队列中,并分析和生成应用程序的检测报告;
1.5:分析镜像备份中的剩余其他种子url,并将其他种子url放入待抓取的队列中,重复步骤1.3~1.4,直至镜像备份中所有的种子url抓取、分析完毕。
进一步的,全面深度安全检测包括静态分析、动态分析、病毒检测、漏洞检测和行为分析。
进一步的,安卓设备包括手机、平板。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明方法是在针对安卓设备的非侵入的检测方法基础上对检测内容实现的一种快速检测方法,本方法无需在待检测手机上安装任何app,直接通过手机数据线连接检测设备和手机就可以进行深度检测,从而防止检测程序本身漏洞引起的手机隐私信息泄漏,在被检测手机上不预装任何软件直接对系统进行检测,对被检测手机的软硬件环境不会造成任何影响,而且检测完成后不会在检测手机上遗留下任何检测痕迹和垃圾文件。
附图说明
图1是本发明的方法流程示意图。
具体实施方式
本说明书中公开的所有特征,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
下面结合图1对本发明作详细说明。
一种安卓设备快速安全检测方法,包括以下步骤:
步骤一:建立白名单数据库,并安装于检测设备上;
步骤二:通过数据线(usb接口)连接检测设备和待检测安卓设备;检测设备使用adbdevices确定待检测安卓设备是否连接成功;
步骤三:检测设备通过adb调用待测安卓设备信息,如果不能调用,则开启待检测安卓设备的usb调试模式;如果调用成功,则已完成病毒检测的准备工作;
步骤四:检测设备通过adb检索待检测安卓设备的信息和应用程序(检测设备使用adb–o–llist-user命令获取待检测安卓设备的应用程序列表);
步骤五:通过adb将待检测设备上被检索到的所有应用程序拷贝(复制)到检测设备上;
步骤六:检测设备通过检查白名单数据库的方式对拷贝的所有应用程序进行全面深度安全检测;全面深度安全检测包括静态分析、动态分析、病毒检测、漏洞检测和行为分析;
步骤七:检测设备返回检测结果,客户确认后,通过检测设备删除所有拷贝数据,保证用户的所有信息不会通过检测设备出现泄漏。
通过上步骤中的调用方式,取得当前手机或设备的列表中每个实例的状态,并且可以在无线通讯列表中查看日志记录。进行下一步的对比工作
上述安卓设备包括手机、平板。
可以直接通过adb调用安卓设备的信息,从而在数据处理端(检测设备)进行下一步的数据匹配。实现了真正的内网隔离检测,可以避免接入互联网而造成对手机信息的泄露。
检测设备上安装了完整的检测白名单数据库(在系统程序中创建白名单数据库,可以通过提前用爬虫技术来获取一定数量的白名单app),将拷贝的应用程序唯一标识和白名单数据库进行匹配。使用python语,python'/home/daniu1/private/mdsdetector/auspc/prescan.py'--inputdir='/media/daniu1/000031e2000eacd0/virussample/allvirusfortest/20w/00a0a9ba55b41bb3a7621c51dde7e52081521418f55dff2859342ed1c22080cd'
--jsondir='/home/daniu1/mdsdetector/austemp_json'
--htmldir='/home/daniu1/mdsdetector/austemp_report'
--inputdir是样本所在路径,--jsondir是存储检测json结果临时生成的目录,--htmldir是检测报表生成的临时目录。
最终生成数据库存储到
/media/daniu1/000031e2000eacd0/virusdb/virusdb_basehash/ausdb/aus.db。
检测设备通过adb检索待检测安卓设备的信息和应用程序。首先是通过adb命令进入手机或模拟器的shell中,并通过使用forword命名进行端口转发,此时就可以通过adbpull,push命令将app数据拷出来与白名单库进行匹配,若匹配成功则直接读取白名单预存储的检测报告作为该app的检测报告。
本发明通过查询预先生成的检测白名单数据库来实现对app全面安全检测的快速扫描。通常对一个app进行全面安全检测(包括静态分析和动态分析,也包括病毒、漏洞、行为分析等全面安全检测)需要6到12分钟的时间,概率上来讲一个手机通常安装200左右个app(包括系统自带的app),这样传统全面安全检测所需要的时间为6*200分钟=1200分钟,也就是50个小时,对用户来讲这个时间过长。所以先通过爬虫尽可能多地采集手机app,建立手机检测的白名单数据库,其具体方法是:
首先将在在网络上下载到的app(应用程序)源数据在本地形成一个或联网内容的镜像备份,选取一部分需要的种子url,将这些种子url放入到待抓取队列中,从待抓取队列中取出种子url对应的url,解析dns,并得到主信息,并将这些app从对应网页上下载下来,存储进已下载网页库中。此外将这些url放进已经抓取的url队列中。
分析已经抓取url队列中的url,生成应用程序的检测报告。分析其中的其他种子网页链接url地址,并将这些种子网页链接url地址放入待抓取的队列中,从而进行下一个循环。这样实际对检测手机的app检测的时候通过查询白名单数据库的方法来实现快速检测的目的。这样的结果,一是保证了检测的准确和可靠性,另一方面大大地提高了检测的效率。以上面举例的手机为例,对一个普通手机进行全面安全检测可以在10分钟时间内完成,效率提升是非常明显的。所述方法同时不会造成待检测安卓设备造成任何软硬件的影响。
a、本方法无需在待检测手机上安装任何app,直接通过手机数据线连接检测设备和手机就可以进行深度检测,从而防止检测程序本身漏洞引起的手机隐私信息泄漏,检测完成后不会在检测手机上遗留下任何检测痕迹和垃圾文件。
b、本方法不仅可以检测目前常见的各种(三星、小米、htc、联想等)厂商生产的安卓(adriod)操作系统手机,还可以在非越狱情况下检测各种版本苹果操作系统(ios)手机。
c、本方法可以在不接入互联网的情况下对手机进行检测,实现真正的内网隔离检测,这样避免因为接入互联网而造成对手机信息的泄漏。
d、本方法可针对指定app做专项检测,包括:敏感信息明文保存、程序文件及进程权限问题、网络数据明文传输、组件权限安全问题、以及xss、sql注入检测、内存泄露、intentfuzzing等多个方向进行检测分析。
f、本方法对未知病毒木马等恶意程序的检测性可靠有效。产品支持android模拟器和实体机,可自动安装apk运行软件,然后实现动态自动化检测,并图文并茂地输出分析报告。该方法通过比对特征信息判断应用是否为恶意程序。可检测系统自带的应用和用户所安装的应用的版本,安装位置,并在出现检测到异常情况时,将会提示病毒名和恶意行为,以及给出处理建议。
通过以上实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可以借助软件增加必须的通用硬件平台的方式来实现。虽然通过实施例描述了本发明,本领域的技术人员知道,本发明有很多变形和变化而不能脱离本发明的精神,一样受本发明的权利要求保护。本发明未详细阐述的部分属于本领域公知技术,本领域技术人员根据已有的描述已能够在不付出创造性劳动的前提下进行实施,因此,不再赘述。