一种实现应用程序安全性检测的方法及装置与流程

文档序号:12123566阅读:255来源:国知局
一种实现应用程序安全性检测的方法及装置与流程
本发明涉及移动通信领域,尤其是涉及一种实现应用程序安全性检测的方法及装置。
背景技术
:随着移动互联网的快速发展,目前移动智能终端已越来越普及,据相关数据报告,谷歌游戏GooglePlay2014年总体应用数量达到了143万。然而Android应用(Application,简称APP)井喷式的发展,也使得应用下载渠道中出现了很多盗版应用。所谓盗版应用,主要是对获取到的正版应用进行篡改,然后重新打包生成的一个新应用。盗版类型主要有三方面,一是破解付费应用或应用内的付费点,损害开发者的利益;二是篡改加入广告插件,通过正版应用的用户量,增加广告插件的点击量获利;三是篡改加入恶意代码,窃取用户密码、隐私数据等。数据显示,平均每款正版应用对应26.3个盗版应用和4.8个盗版签名,正版APP的下载量越大,其对应的盗版数量也越多。盗版应用除了可能威胁用户手机安全之外,盗版现象泛滥也是对市场秩序的严重破坏和对开发者合法权益、商业声誉的严重侵害。因此需要对应用市场中的应用进行监测,及时发现发布渠道中存在的盗版应用,维护开发者的利益。以Android应用市场为例,目前对Android应用市场进行盗版监测大多使用的方法是通过庞大的爬虫引擎服务器群,每天爬取应用市场所有新增的安卓安装包APK并下载到本地,对所有APK进行特征提取、分析、归类和存储。当有正版应用需要进行盗版监测时,将正版应用的特征提取出来,与当前已存储的所有APK特征进行比较,通过算法分析得出疑似盗版应用。但是此方法需要相当大的资源支撑,首先以国内某知名应用商店近百万个APP为例,APK文件的大小至少是几十TB(1TB=1024GB,1GB=1024MB)的存储空间,每天爬虫引擎爬取的APK数据量至少为10个GB,另外对于所有的APK需要解包提取 特征,提取特征所占用空间不比文件原始大小少,这样的存储消耗相当巨大。其次对于APK特征进行提取、归类,除去算法效率的影响,对这样大数据量的APK的分析,服务器CPU和内存的需求也是非常高。经过对现有技术的文献检索发现,对Android应用盗版的低资源消耗识别方法,需要对待监测应用或正版应用进行修改插入特征例,如中国专利申请号201310682073.9,名称“一种基于特征注入的仿冒应用程序监测方法”,提出了一种向APP中添加静态监测特征和动态监测特征,并通过加密和增加触发条件等方式对监测特征进行保护,使得在应用商店的数以百万计的APP中能够迅速定位被注入特征的APP,并迅速判断APP是否为仿冒APP的方法。该方法应用需要修改后才能在应用市场上发布,对于未插入特征并已发布的老版本应用无法监测到,这使得该方法最好使用在从未发布过的新应用,且每个对外发布的版本均需要进行特征注入。同进实际使用情况中,对APK文件的修改可能导致运行时的不稳定状况,需要大量实验优化插入特征的位置。其他对Android盗版应用发现多是描述对两个APK文件的识别方法,或基于海量特征数据的识别方法优化,例如中国专利申请号201410288712.8,名称“一种Android应用相似性快速检测方法”,提出了一种依据每一个待比较Android应用的Dalvik字节码文件中所有关键词以及关键词的TF-IDF权重,计算相应的信息指纹,再通过信息指纹比较应用间的相似性的方法。中国专利申请号201410204709.3,名称“盗版应用的识别方法及装置”,提出了一种对预先存储的应用集合中的应用名称索引进行数据聚集,构造类似数据的识别路径,在匹配盗版应用时将只匹配类似数据,可以减少盗版应用识别的时间的方法。这些方法的识别过程均需要提取和分析大量的APK文件特征,例如Dalvik字节码在一个APK文件中平均都是上万级别的,还需要计算指纹,这都需要消耗大量的计算资源。综上可知,现有的检测盗版应用的方式会造成消耗资源的增加,导致应用市场盗版监测所需的成本的增加。技术实现要素:为了在检测盗版应用的过程中,减少消耗资源,降低应用市场盗版监测所需的成本,本发明提供了一种实现应用程序安全性检测的方法及装置。为了实现上述目的,本发明提供了一种实现应用程序安全性检测的方法,所述方法包括:获取指定网站的网页特征数据,所述指定网站为用于下载应用程序安装包的网站,所述网页特征数据包括:待检测应用程序的应用名称和/或应用描述信息;根据所述网页特征数据和预先设置的官方应用程序关键词库,从所述指定网站上筛选出待下载疑似样本集合;下载所述待下载疑似样本集合中的至少一个疑似样本;根据预先设置的官方应用程序安装包特征库,分别对下载的至少一个疑似样本进行安装包特征匹配,根据匹配结果确定所述至少一个疑似样本的安全性。可选的,所述方法还包括:获取至少一个待监测的官方应用程序的特征数据;根据获取的至少一个待监测的官方应用程序的特征数据构建官方应用程序安装包特征库和官方应用程序关键词库。可选的,所述官方应用程序安装包特征库包括:官方应用程序的MD5值、官方应用程序的证书信息、官方应用程序的大小、官方应用程序反编译后的代码文件夹下所有文件的MD5值及函数名列表、资源文件夹下所有文件的MD5值中的一个或多个;所述官方应用程序关键词库包括:所述至少一个待监测的官方应用程序分别对应的官方应用程序名称的分词的第一分词集合,以及包括所述第一分词集合中各个分词分别对应的权重的第一权重集合;以及,包括所述至少一个待监测的官方应用程序分别对应的描述信息中频率最高的多个分词的第二分词集合,以及包括第二分词集合中各个分词对应的权重的第二权重集合。可选的,所述根据所述网页特征数据和预先设置的官方应用程序关键词库,从所述指定网站上筛选出待下载疑似样本集合,具体包括:将所述第一分词集合与所述网页特征数据中待检测应用程序的应用名称进行匹配,得到第一匹配结果;若根据所述第一匹配结果确定的名称匹配权重超过第一阈值,则将所述第二分词集合与所述网页特征数据中待检测应用程序的应用描述信息进行匹配, 得到第二匹配结果;若根据所述第二匹配结果确定的描述匹配权重超过第二阈值,则确定待检测应用程序的安装包为疑似样本;将确定的至少一个疑似样本组合为待下载疑似样本集合。可选的,所述名称匹配权重为:其中,E表示名称匹配权重,Wi表示所述第一权重集合中的第i个元素,Ci表示第一分词集合与网页特征数据中待检测应用程序的应用名称进行匹配后,待检测应用程序的应用名称中的分词在第一分词集合中出现的次数组成的第一集合中的第i个元素,n表示第一权重集合中的元素个数。可选的,所述描述匹配权重为:其中,e表示描述匹配权重,wi表示第二权重集合中的第i个元素,ci表示第二分词集合与网页特征数据中待检测应用程序的描述信息进行匹配后,待检测应用程序的描述信息中的分词在第二分词集合中出现的次数组成的第二集合中的第i个元素,n表示第二权重集合中的元素个数。可选的,所述根据预先设置的官方应用程序安装包特征库,分别对下载的至少一个疑似样本进行安装包特征匹配,具体包括:获取所述至少一个疑似样本的疑似样本安装包特征库,其中,所述疑似样本安装包特征库包括:疑似样本的MD5值、疑似样本的证书信息、疑似样本的大小、疑似样本反编译后的代码文件夹下所有文件的MD5值及函数名列表、资源文件夹下所有文件的MD5值中的一个或多个;将所述预先设置的官方应用程序安装包特征库中的特征与获取的至少一个疑似样本的疑似样本安装包特征库中的特征进行匹配。可选的,所述根据匹配结果确定所述至少一个疑似样本的安全性,包括:将官方应用程序安装包特征库中的官方应用程序的MD5值与疑似样本安装包特征库中的疑似样本的MD5值进行比较,若所述官方应用程序的MD5值与所述疑似样本的MD5值一致,则确定所述疑似样本为非疑似非法应用。可选的,所述方法还包括:若所述官方应用程序的MD5值与所述疑似样本的MD5值不一致,将官方应用程序安装包特征库中的官方应用程序的证书信息与疑似样本安装包特征库中的疑似样本的证书信息进行比较;若官方应用程序的证书信息与疑似样本的证书信息一致,则确定所述疑似样本为非疑似非法应用。可选的,所述方法还包括:若官方应用程序的证书信息与疑似样本的证书信息不一致,将官方应用程序安装包特征库中的官方应用程序的大小与疑似样本安装包特征库中的疑似样本的大小进行比较;若疑似样本的大小小于官方应用程序的大小的一预设比例阈值,则确定所述疑似样本为非疑似非法应用。可选的,所述方法还包括:若疑似样本的大小大于或等于官方应用程序的大小的一预设比例阈值,将官方应用程序安装包特征库中官方应用程序反编译后的代码文件夹下所有文件的MD5值、资源文件夹下所有文件的MD5值与疑似样本安装包特征库中的疑似样本反编译后的代码文件夹下所有文件的MD5值、资源文件夹下所有文件的MD5值分别进行比较,得到第一匹配度;若所述第一匹配度小于预设MD5匹配度阈值,则确定所述疑似样本为非疑似非法应用。可选的,所述方法还包括:若所述第一匹配度大于或等于预设MD5匹配度阈值,将所述官方应用程序安装包特征库中官方应用程序反编译后的代码文件夹下和所述疑似样本安装包特征库中的疑似样本反编译后的代码文件夹下MD5值不匹配的所有文件的类文件名进行比较,得到第二匹配度;若所述第二匹配度小于预设类文件名匹配度阈值,则确定所述疑似样本为非疑似非法应用。可选的,所述方法还包括:若所述第二匹配度大于或等于预设类文件名匹配度阈值,将所述官方应用程序安装包特征库中官方应用程序反编译后的代码文件夹下与所述疑似样本安装包特征库中疑似样本反编译后的代码文件夹下的MD5值不匹配、类文件名相同的所有文件的函数名进行比较,得到第三匹配度;若所述第三匹配度小于预设函数名匹配度阈值,则确定所述疑似样本为非疑似非法应用;若所述第三匹配度大于或等于预设函数名匹配度阈值,则确定所述疑似样本为疑似非法应用。依据本发明的另一个方面,本发明还提供了一种实现应用程序安全性检测的装置,所述装置包括:网页特征获取模块,用于获取指定网站的网页特征数据,所述指定网站为用于下载应用程序安装包的网站,所述网页特征数据包括:待检测应用程序的应用名称和/或应用描述信息;网页特征匹配模块,用于根据所述网页特征数据和预先设置的官方应用程序关键词库,从所述指定网站上筛选出待下载疑似样本集合;下载模块,用于下载所述待下载疑似样本集合中的至少一个疑似样本;安装包特征匹配模块,用于根据预先设置的官方应用程序安装包特征库,分别对下载的至少一个疑似样本进行安装包特征匹配,根据匹配结果确定所述至少一个疑似样本的安全性。可选的,所述装置还包括:官方应用提取模块,用于获取至少一个待监测的官方应用程序的特征数据;根据获取的至少一个待监测的官方应用程序的特征数据构建官方应用程序安装包特征库和官方应用程序关键词库。可选的,所述官方应用程序安装包特征库包括:官方应用程序的MD5值、官方应用程序的证书信息、官方应用程序的大小、官方应用程序反编译后的代码文件夹下所有文件的MD5值及函数名列表、资源文件夹下所有文件的MD5值中的一个或多个;所述官方应用程序关键词库包括:所述至少一个待监测的官方应用程序分别对应的官方应用程序名称的分词的第一分词集合,以及包括所述第一分词集合中各个分词分别对应的权重的第一权重集合;以及,包括所述至少一个待监测的官方应用程序分别对应的描述信息中频率最高的多个分词的第二分词集合,以及包括第二分词集合中各个分词对应的权重的第二权重集合。可选的,所述网页特征匹配模块还用于,将所述第一分词集合与所述网页特征数据中待检测应用程序的应用名称进行匹配,得到第一匹配结果;若根据所述第一匹配结果确定的名称匹配权重超过第一阈值,则将所述第二分词集合与所述网页特征数据中待检测应用程序的应用描述信息进行匹配,得到第二匹配结果;若根据所述第二匹配结果确定的描述匹配权重超过第二阈值,则确定待检测应用程序的安装包为疑似样本;将确定的至少一个疑似样本组合为待下载疑似样本集合。可选的,所述名称匹配权重为:其中,E表示名称匹配权重,Wi表示所述第一权重集合中的第i个元素,Ci表示第一分词集合与网页特征数据中待检测应用程序的应用名称进行匹配后,待检测应用程序的应用名称中的分词在第一分词集合中出现的次数组成的第一集合中的第i个元素,n表示第一权重集合中的元素个数。可选的,所述描述匹配权重为:其中,e表示描述匹配权重, wi表示第二权重集合中的第i个元素,ci表示第二分词集合与网页特征数据中待检测应用程序的描述信息进行匹配后,待检测应用程序的描述信息中的分词在第二分词集合中出现的次数组成的第二集合中的第i个元素,n表示第二权重集合中的元素个数。可选的,所述装置还包括安装包特征提取模块,用于获取所述至少一个疑似样本的疑似样本安装包特征库,其中,所述疑似样本安装包特征库包括:疑似样本的MD5值、疑似样本的证书信息、疑似样本的大小、疑似样本反编译后的代码文件夹下所有文件的MD5值及函数名列表、资源文件夹下所有文件的MD5值中的一个或多个;安装包特征匹配模块还用于将所述预先设置的官方应用程序安装包特征库中的特征与获取的至少一个疑似样本的疑似样本安装包特征库中的特征进行匹配。可选的,所述安装包特征匹配模块还用于,将官方应用程序安装包特征库中的官方应用程序的MD5值与疑似样本安装包特征库中的疑似样本的MD5值进行比较,若所述官方应用程序的MD5值与所述疑似样本的MD5值一致,则确定所述疑似样本为非疑似非法应用。可选的,所述安装包特征匹配模块还用于,若所述官方应用程序的MD5值与所述疑似样本的MD5值不一致,将官方应用程序安装包特征库中的官方应用程序的证书信息与疑似样本安装包特征库中的疑似样本的证书信息进行比较;若官方应用程序的证书信息与疑似样本的证书信息一致,则确定所述疑似样本为非疑似非法应用。可选的,所述安装包特征匹配模块还用于,若官方应用程序的证书信息与疑似样本的证书信息不一致,将官方应用程序安装包特征库中的官方应用程序的大小与疑似样本安装包特征库中的疑似样本的大小进行比较;若疑似样本的大小小于官方应用程序的大小的一预设比例阈值,则确定所述疑似样本为非疑似非法应用。可选的,所述安装包特征匹配模块还用于,若疑似样本的大小大于或等于官方应用程序的大小的一预设比例阈值,将官方应用程序安装包特征库中官方应用程序反编译后的代码文件夹下所有文件的MD5值、资源文件夹下所有文件的MD5值与疑似样本安装包特征库中的疑似样本反编译后的代码文件夹下所有 文件的MD5值、资源文件夹下所有文件的MD5值分别进行比较,得到第一匹配度;若所述第一匹配度小于预设MD5匹配度阈值,则确定所述疑似样本为非疑似非法应用。可选的,所述安装包特征匹配模块还用于,若所述第一匹配度大于或等于预设MD5匹配度阈值,将所述官方应用程序安装包特征库中官方应用程序反编译后的代码文件夹下和所述疑似样本安装包特征库中的疑似样本反编译后的代码文件夹下MD5值不匹配的所有文件的类文件名进行比较,得到第二匹配度;若所述第二匹配度小于预设类文件名匹配度阈值,则确定所述疑似样本为非疑似非法应用。可选的,所述安装包特征匹配模块还用于,若所述第二匹配度大于或等于预设类文件名匹配度阈值,将所述官方应用程序安装包特征库中官方应用程序反编译后的代码文件夹下与所述疑似样本安装包特征库中疑似样本反编译后的代码文件夹下的MD5值不匹配、类文件名相同的所有文件的函数名进行比较,得到第三匹配度;若所述第三匹配度小于预设函数名匹配度阈值,则确定所述疑似样本为非疑似非法应用;若所述第三匹配度大于或等于预设函数名匹配度阈值,则确定所述疑似样本为疑似非法应用。本发明的有益效果是:本发明首先获取指定网站的网页特征数据,然后根据网页特征数据和预先设置的官方应用程序关键词库,从指定网站上筛选出包括至少一个疑似样本的待下载疑似样本集合,并下载待下载疑似样本集合中的至少一个疑似样本,最后根据预先设置的官方应用程序安装包特征库,分别对下载的至少一个疑似样本进行安装包特征匹配,根据匹配结果确定至少一个疑似样本的安全性。本发明减少了疑似样本的下载量,从而减少了疑似样本的安装包特征匹配,无需消耗大量资源即可发现应用市场中的非法应用,节约了资源,提高了数据处理效率。附图说明图1表示本发明的实施例中一种实现应用程序安全性检测的方法的主要步骤流程图;图2表示本发明的实施例中一种实现应用程序安全性检测的方法的详细步骤流程图;图3表示图1中步骤104的具体分步骤流程图;以及图4表示本发明的实施例中一种实现应用程序安全性检测的装置的结构框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。实施例一如图1所示,为本发明的实施例中一种实现应用程序安全性检测的方法的主要步骤流程图,该方法包括:步骤101,获取指定网站的网页特征数据。需要说明的是,指定网站是指用于下载应用程序安装包的网站,该应用程序安装包可以是安卓操作系统的应用程序的安装包(APK)、苹果操作系统的应用程序的安装包或者Windows操作的应用程序的安装包,网页特征数据包括待检测应用程序的应用名称和/或应用描述信息。步骤102,根据网页特征数据和预先设置的官方应用程序关键词库,从指定网站上筛选出待下载疑似样本集合。在本步骤中,首先预先设置官方应用程序关键词库,然后根据指定网站的网页特征数据和预先设置的官方应用程序关键词库,从该指定网站上筛选出待下载疑似样本集合,其中,待下载疑似样本集合中包括有至少一个疑似样本。步骤103,下载待下载疑似样本集合中的至少一个疑似样本。在本步骤中,不需要将待检测应用程序全部下载下来,而是只需要从确定的待下载疑似样本集合中下载至少一个疑似样本。步骤104,根据预先设置的官方应用程序安装包特征库,分别对下载的至少一个疑似样本进行安装包特征匹配,根据匹配结果确定至少一个疑似样本的安 全性。在本步骤中,采用将官方应用程序安装包特征库与疑似样本进行安装包特征匹配的方式确定疑似样本的安全性。在本实施例中,首先获取指定网站的网页特征数据,然后根据网页特征数据和预先设置的官方应用程序关键词库,从指定网站上筛选出待下载疑似样本集合,并下载待下载疑似样本集合中的至少一个疑似样本,最后根据预先设置的官方应用程序安装包特征库,分别对下载的至少一个疑似样本进行安装包特征匹配,根据匹配结果确定至少一个疑似样本的安全性。本发明减少了疑似样本的下载量,从而减少了疑似样本的安装包特征匹配,无需消耗大量资源即可发现应用市场中的非法应用,节约了资源,降低了应用市场非法应用监测所需的成本,提高了数据处理效率。实施例二如图2所示,为本发明的实施例中一种实现应用程序安全性检测的方法的详细步骤流程图,主要包括如下步骤:步骤201,获取指定网站的网页特征数据。在本步骤中,获取指定网站的网页特征数据,需要说明的是,指定网站是指用于下载应用程序安装包的网站,该应用程序安装包可以是安卓操作系统的应用程序的安装包(APK)、苹果操作系统的应用程序的安装包或者Windows操作的应用程序的安装包,网页特征数据包括待检测应用程序的应用名称和应用描述信息。具体的,可以采用爬虫程序爬取指定网站的网页特征数据,并且对网页特征数据进行特征提取和存储。此外,由于不同网站的网页数据不同,构造方式不同,因此只能够针对每个指定的网站构建不同的网页数据爬虫程序。由于具体的爬虫技术应用已经很广泛,下面对通过爬虫程序获取指定网站的网页特征数据进行举例说明。首先,爬虫程序爬取指定网站的网页地址,从而以增量方式每天爬取新增应用程序安装包网页数据。例如某指定网站的网页地址构造格式为http://apk.hiapk.com/appinfo/com.baidu.BaiduMap,从该网页地址的构造格式中可以得出网页地址构造方式为http://apk.hiapk.com/appinfo/+包名。通过这种方式可 以对所有网页数据进行遍历,依据网页中的上架时间判断该网页数据是否为当天新增数据。然后,在得到指定网站的网页地址后,可以通过HTTP协议请求该网页地址,从而得到该网页的网页数据。此外,不同应用市场的网页数据显示格式不同,但网页显示的数据都具有共性。对网页数据进行特征提取后的网页特征数据涵盖有应用名称、应用版本号、应用开发者、应用大小、上架时间、应用类别、下载数及应用描述等信息。该些信息将按序组合成文本文件,以利于根据该文件筛选出待下载疑似样本集合。下面对网页数据的特征提取进行说明。例如,通过爬虫程序爬取到的网页数据如下(只截取与待提取数据相关的部分):<divclass=“detail_left”><divclass=“detail_tip”><ahref=“/”>安卓市场首页</a>&nbsp;&gt;&nbsp;<aid=“categoryParent”href=“/apps”>应用</a>&nbsp;&gt;&nbsp;<aid=“categoryLink”href=“/apps/TravelAndLocal”>出行</a></div><inputtype=“hidden”id=“hidAppId”value=“3590247”/><inputtype=“hidden”id=“hidAppName”value=“百度地图”/><divclass=“detail_content”><divclass=“left”><imgwidth=“72”height=“72”src=“http://img.rl.market/hiapk.cle=《百度地图》安卓版ICON”/></div><divclass=“left_detail_description”><divid=“appSoftName”class=“detail_titleleft”>百度地图(8.1.1)</div><divclass=“left”>针对上述网页数据,当提取应用名称和应用版本号时,只需要读取id为 appSoftName的div中的内容即可。<divclass=“line_content”><spanclass=“font14left”>作者:</span><spanclass=“d_u_line”>百度在线网络技术(北京)有限公司</span><spanstyle=“”><labelclass=“d_u_icon”></label></span></div><divclass=“line_content”><spanclass=“font14”>热度:</span></div><divclass=“line_content”><spanclass=“font14”>大小:</span><spanid=“appSize”class=“font14”>30.39MB</span></div><divclass=“line_content”><spanclass=“font14_left”>类别:</span><spanclass=“font14detail_right_type”><aclass=“detail_right_type”href=“http://apk.hiapk.com/game_31_1_1”><spanclass=“font14”>出行</span></a></span></div><divclass=“line_content”>上架时间:</span><spanclass=“font14”>2015-04-08</span></div>针对上述网页数据,当提取应用开发者、下载数、应用类别、上架时间时。只需要分别读取span标签中内容为“作者”、“热度”、“大小”、“类别”、“上架时间”的下一个span标签中的内容即可。<divclass=“font16soft_name”><divclass=“none”>百度地图</span>软件介绍</div><divclass=“font12soft_des_boxfixed_height”><preid=“softIntroduce”>鹿晗代言百度地图啦~从此与你,一“鹿”相伴。用百度地图,快速定位你的位置,探索周边美食娱乐。不但可以找位置,还能帮你“到那去”,公交、驾车、步行三种出行方式任你选择,还有蚯蚓路线、免费语音导航、时间胶囊让你出行无忧。丰富的贴心功能,帮你玩转地图。离线地图,节省流量。收藏夹可以同步云端,实现电脑、手机、Pad三端贯通,永不丢失。【温馨提示】Android2.X系统的用户,百度地图专门为您准备了稳定的优化版本,请移步手机官网(http:/wuxian.baidu.com/map/)下载使用。语音导航和电子狗会持续使用GPS定位服务,切换至后台播报时,仍会保持GPS连接,相比其他操作会消耗更多的电量。【江湖救急】遇到问题请快速联系我们用户论坛:http:/tieba.baidu.com/百度地图官方微博:http:weibo.com/n/百度地图您还可以直接在应用内“我的-帮助与反馈”中进行反馈,我们将在第一时间处理您的问题。</pre></div>针对上述网页数据,当提取应用描述信息时,只需要读取id为softIntroduce的pre标签中的内容即可。关于上述提取的网页特征数据,如下面表1所示,为获取到的一个网页特征数据的示例表格。表1表1中的数据组合后的文本文件内容为:{1百度地图鹿晗代言百度地图……(此处省略)}。步骤202,获取至少一个待监测的官方应用程序的特征数据。步骤203,根据获取的至少一个待监测的官方应用程序的特征数据构建官方应用程序安装包特征库和官方应用程序关键词库。在本步骤中,官方应用程序安装包特征库包括:官方应用程序的MD5值、官方应用程序的证书信息、官方应用程序的大小、官方应用程序反编译后的代码文件夹下所有文件的MD5值及函数名列表、资源文件夹下所有文件的MD5值中的一个或多个。此外,具体的,官方应用程序安装包特征库还可以包括有应用版本号。官方应用程序关键词库包括:至少一个待监测的官方应用程序分别对应的官方应用程序名称的分词的第一分词集合,以及包括第一分词集合中各个分词分别对应的权重的第一权重集合;以及,包括至少一个待监测的官方应用程序分别对应的描述信息中频率最高的多个分词的第二分词集合,以及包括第二分词集合中各个分词对应的权重的第二权重集合。具体的,第一分词集合可以用F=(F1,F2,……,Fn)表示,第一权重集合可以用W=(W1,W2,……,Wn)表示,第二分词集合可以用f=(f1,f2,……,fn)表示,第二权重集合可以用w=(w1,w2,……,wn)表示。此外,中文分词算法目前比较成熟,相关的工具也较多,例如盘古分词等,在此不再做说明。下面对官方应用程序关键词库的构建进行说明。例如:官方应用程序的相关信息如下:百度地图:鹿晗代言百度地图啦~从此与你,一“鹿”相伴。用百度地图,快速定位你的位置,探索周边美食娱乐。不但可以找位置,还能帮你“到那去”,公交、驾车、步行三种出行方式任你选择,还有蚯蚓路线、免费语音导航、时间胶囊让你出行无忧。丰富的贴心功能,帮你玩转地图。离线地图,节省流量。收藏夹可以同步云端,实现电脑、 手机、Pad三端贯通,永不丢失。针对该官方应用程序,该官方应用程序名称为“百度地图”,该应用名称可以分词为“百度”和“地图”,即第一分词集合F=(百度,地图);该官方应用程序描述信息中出现频率最高的多个分词(以三个分词为例)分别为“地图”、“百度”、“位置”,且地图出现4次,百度出现2次,位置出现2次。此外,可以根据权重=分词出现的频次/该类型所有词出现次数的总和的计算方式,得出第一权重集合和第二权重集合中各个元素的值。在该例中,第一权重集合W=(0.5,0.5),第二权重集合w=(0.5,0.25,0.25)。针对该例,官方应用程序关键词库可以用下面表2表示。表2官方应用编号关键词类型关键词权重1名称百度0.51名称地图0.51描述地图0.51描述百度0.251描述位置0.25步骤204,将第一分词集合与网页特征数据中待检测应用程序的应用名称进行匹配,得到第一匹配结果。在本步骤中,将第一分词集合与网页特征数据中待检测应用程序的应用名称进行匹配,得到第一匹配结果,具体的,可以将第一匹配结果中待检测应用程序的应用名称的分词出现的次数记为第一集合,且第一集合可以用C=(C1,C2,……,Cn)表示。步骤205,若根据第一匹配结果确定的名称匹配权重超过第一阈值,则将第二分词集合与网页特征数据中待检测应用程序的应用描述信息进行匹配,得到第二匹配结果。在本步骤中,若根据第一匹配结果确定的名称匹配权重超过第一阈值,则将第二分词集合与网页特征数据中待检测应用程序的应用描述信息进行匹配,得到第二匹配结果。具体的,第一阈值为系统参数,可进行配置和优化,在该例中,可以配置 为0.5。此外,根据第一匹配结果确定的名称匹配权重的计算公式为:其中,E表示名称匹配权重,Wi表示所述第一权重集合中的第i个元素,Ci表示第一分词集合与网页特征数据中待检测应用程序的应用名称进行匹配后,待检测应用程序的应用名称中的分词在第一分词集合中出现的次数组成的第一集合中的第i个元素,n表示第一权重集合中的元素个数。步骤206,若根据第二匹配结果确定的描述匹配权重超过第二阈值,则确定待检测应用程序的安装包为疑似样本。在本步骤中,若根据第二匹配结果确定的描述匹配权重超过第二阈值,则确定待检测应用程序的安装包为疑似样本。具体的,第二阈值为系统参数,可进行配置和优化,在该例中,第二阈值可以配置为1。此外,描述匹配权重的计算公式为:其中,e表示描述匹配权重,wi表示第二权重集合中的第i个元素,ci表示第二分词集合与网页特征数据中待检测应用程序的描述信息进行匹配后,待检测应用程序的描述信息中的分词在第二分词集合中出现的次数组成的第二集合中的第i个元素,n表示第二权重集合中的元素个数。步骤207,将确定的至少一个疑似样本组合为待下载疑似样本集合。在本步骤中,将确定的至少一个疑似样本组合为待下载疑似样本集合。步骤208,下载待下载疑似样本集合中的至少一个疑似样本。在本步骤中,具体的,可以通过爬虫程序下载待下载疑似样本集合中的至少一个疑似样本。步骤209,根据预先设置的官方应用程序安装包特征库,分别对下载的至少一个疑似样本进行安装包特征匹配,根据匹配结果确定至少一个疑似样本的安全性。在本步骤中,采用将官方应用程序安装包特征库与疑似样本进行安装包特征匹配的方式确定疑似样本的安全性。本实施例不需要先下载待检测应用程序,而是通过构建官方应用程序关键词库,并将官方应用程序关键词库与网页特征数据中待检测应用程序的应用名称及应用描述进行匹配,确定包括有至少一个疑似样本的待下载疑似样本集合,然后再下载待下载疑似样本集合中的至少一个疑似样本,最后采用将官方应用 程序安装包特征库与疑似样本进行安装包特征匹配的方式确定疑似样本的安全性,减少了消耗资源,并降低了应用市场非法应用监测所需的成本。实施例三参见图3,图中示出了步骤104的具体分步骤流程图,具体步骤如下:步骤301,获取至少一个疑似样本的疑似样本安装包特征库,然后进入步骤302。在本步骤中,获取的至少一个疑似样本的疑似样本安装包特征库包括:疑似样本的MD5值、疑似样本的证书信息、疑似样本的大小、疑似样本反编译后的代码文件夹下所有文件的MD5值及函数名列表、资源文件夹下所有文件的MD5值中的一个或多个。具体的,疑似样本安装包特征库中还可以包括疑似样本的版本号。具体的,在获取到至少一个疑似样本的疑似样本安装包特征库后,将预先设置的官方应用程序安装包特征库中的特征与获取的至少一个疑似样本的疑似样本安装包特征库中的特征进行匹配。步骤302,比较官方应用程序安装包特征库中的官方应用程序的MD5值与疑似样本安装包特征库中的疑似样本的MD5值是否一致,若一致,进入步骤308;否则进入步骤303。步骤303,比较官方应用程序安装包特征库中的官方应用程序的证书信息与疑似样本安装包特征库中的疑似样本的证书信息是否一致,若一致,进入步骤308;否则进入步骤304。步骤304,比较官方应用程序安装包特征库中的官方应用程序的大小与疑似样本安装包特征库中的疑似样本的大小,若疑似样本的大小小于官方应用程序的大小的一预设比例阈值,则进入步骤308;否则进入步骤305;步骤305,比较版应用程序安装包特征库中官方应用程序反编译后的代码文件夹下所有文件的MD5值、资源文件夹下所有文件的MD5值与疑似样本安装包特征库中的疑似样本反编译后的代码文件夹下所有文件的MD5值、资源文件夹下所有文件的MD5值,得到第一匹配度,若第一匹配度小于预设MD5匹配度阈值,则进入步骤308;否则进入步骤306。具体的,预设比例阈值可以设置为50%。第一匹配度G1=A1/A2,其中,G1表示第一匹配度,A1表示MD5值相同的文件个数,A2表示官方应用程序 的文件个数和疑似样本的文件个数之间的最大值。优选的,在本步骤中,还可以分别计算官方应用程序反编译后的代码文件夹下所有文件的MD5值与疑似样本反编译后的代码文件夹下所有文件的MD5值之间的第一匹配度g1和官方应用程序的资源文件夹下所有文件的MD5值与疑似样本的资源文件夹下所有文件的MD5值之间的第一匹配度g2。其中,g1=a1/a2,g1表示官方应用程序的代码文件夹下所有文件的MD5值与疑似样本的代码文件夹下所有文件的MD5值之间的第一匹配度,a1表示官方应用程序的代码文件夹下所有文件的MD5值与疑似样本的代码文件夹下所有文件的MD5值相同的文件个数,a2表示官方应用程序的代码文件夹下所有文件的个数和疑似样本的代码文件夹下所有文件的个数之间的最大值。g2=a3/a4,g2表示官方应用程序的资源文件夹下所有文件的MD5值与疑似样本的资源文件夹下所有文件的MD5值之间的第一匹配度,a3表示官方应用程序的资源文件夹下所有文件的MD5值与疑似样本的资源文件夹下所有文件的MD5值相同的文件个数,a4表示官方应用程序的资源文件夹下所有文件的个数和疑似样本的资源文件夹下所有文件的个数之间的最大值。步骤306,比较官方应用程序安装包特征库中官方应用程序反编译后的代码文件夹下和疑似样本安装包特征库中的疑似样本反编译后的代码文件夹下MD5值不匹配的所有文件的类文件名,得到第二匹配度,若第二匹配度小于预设类文件名匹配度阈值,则进入步骤308,否则进入步骤307。具体的,预设MD5匹配度阈值为系统参数,可配置和优化,该预设MD5匹配度阈值可以配置为0.8。假设官方应用程序反编译后的代码文件夹中与疑似样本反编译后的代码文件夹中MD5值不匹配的第一类文件集合为CLASS=(CLASS1,CLASS2,……,CLASSn),疑似样本的代码文件夹中与官方应用程序的代码文件夹中MD5值不匹配的第二类文件集合为class=(class1,class2,……,classn)。将第一类文件集合与第二类文件集合中的类文件名进行匹配,类文件名相同的、与第一类文件集合相对应的第三类文件集合为1CLASS=(1CLASS1,1CLASS2,……,1CLASSn),类文件名相同的、与第二类文件集合相对应的第四类文件集合为1class=(1class1,1class2,……,1classn)。此外,由于第三类文件集合与第四类文件集合中的类文件名均相同,因此,第三类文 件集合与第四类文件集合中的文件个数相同。第二匹配度G2=(C1/a2)×(1-g1)+g1,其中,G2表示第二匹配度,C1表示第三类文件集合或第四类文件集合中的个数,a2表示官方应用程序反编译后的代码文件夹下所有文件的个数和疑似样本反编译后的代码文件夹下所有文件的个数之间的最大值,g1表示官方应用程序反编译后的代码文件夹下所有文件的MD5值与疑似样本反编译后的代码文件夹下所有文件的MD5值之间的第一匹配度。步骤307,比较官方应用程序安装包特征库中官方应用程序反编译后的代码文件夹下与疑似样本安装包特征库中疑似样本反编译后的代码文件夹下的MD5值不匹配、类文件名相同的所有文件的函数名,得到第三匹配度,若第三匹配度小于预设函数名匹配度阈值,则进入步骤308;否则进入步骤309。具体的,类文件名匹配度阈值和预设函数名匹配度阈值均为系统参数,可配置和优化,类文件名阈值和预设函数名匹配度阈值均可以配置为0.8。此外,第三匹配度的计算过程如下:首先计算第三类文件集合与第四类文件集合中每个文件的函数名匹配度Di,然后计算第三类文件集合与第四类文件集合中所有函数名的函数名匹配度平均值Dv,最后计算第三匹配度G3。其中,Di=M1/M2,其中,Di表示第三类文件集合与第四类文件集合中第i个文件的函数名匹配度,M1表示第三类文件集合中的每个文件与第四类文件集合中对应的每个文件下函数名相同的函数个数,M2表示第三类文件集合中函数总数的个数与第四类文件集合中函数总数的个数之间的最大值;其中,Dv表示第三类文件集合与第四类文件集合中所有函数名的函数名匹配度平均值,Di表示第三类文件集合与第四类文件集合中第i个文件的函数名匹配度,n表示第三类文件集合中函数总数的个数与第四类文件集合中函数总数的个数之间的最大值;G3=Dv×G2+g1,其中,G3表示第三匹配度;Dv表示第三类文件集合与第四类文件集合中所有函数名的函数名匹配度平均值,G2表示第二匹配度,g1表示官方应用程序反编译后的代码文件夹下所有文件的MD5值与疑似样本反编译后的代码文件夹下所有文件的MD5值之间的第一匹配度。步骤308,确定疑似样本为非疑似非法应用。步骤309,确定疑似样本为疑似非法应用。在本实施例中,通过逐步对比官方应用程序安装包特征库与疑似样本安装包特征库中的MD5值、证书信息、大小、代码文件夹下所有文件的MD5值、资源文件夹下所有文件的MD5值及函数名,判断疑似样本安装包特征库对应的疑似样本的安全性,增加了疑似样本判断的严谨性和正确性。具体的,在本实施例中,判断疑似样本的安全性为判断疑似样本安装包特征库对应的疑似样本是非疑似非法应用还是疑似非法应用。此外,在经过上述一系列判断之后,还可以由人工审核并判断疑似非法应用是否为非法应用。实施例四依据本发明的另一个方面,还提供了一种实现应用程序安全性检测的装置,装置包括:网页特征获取模块401,用于获取指定网站的网页特征数据,指定网站为用于下载应用程序安装包的网站,网页特征数据包括:待检测应用程序的应用名称和/或应用描述信息;网页特征匹配模块402,用于根据网页特征数据和预先设置的官方应用程序关键词库,从指定网站上筛选出待下载疑似样本集合;下载模块403,用于下载待下载疑似样本集合中的至少一个疑似样本;安装包特征匹配模块404,用于根据预先设置的官方应用程序安装包特征库,分别对下载的至少一个疑似样本进行安装包特征匹配,根据匹配结果确定至少一个疑似样本的安全性。可选的,装置还包括:官方应用提取模块405,用于获取至少一个待监测的官方应用程序的特征数据;根据获取的至少一个待监测的官方应用程序的特征数据构建官方应用程序安装包特征库和官方应用程序关键词库。可选的,官方应用程序安装包特征库包括:官方应用程序的MD5值、官方应用程序的证书信息、官方应用程序的大小、官方应用程序反编译后的代码文件夹下所有文件的MD5值及函数名列表、资源文件夹下所有文件的MD5值中的一个或多个;官方应用程序关键词库包括:至少一个待监测的官方应用程序分别对应的官方应用程序名称的分词的第一分词集合,以及包括第一分词集合中各个分词分别对应的权重的第一权重集合;以及,包括至少一个待监测的官 方应用程序分别对应的描述信息中频率最高的多个分词的第二分词集合,以及包括第二分词集合中各个分词对应的权重的第二权重集合。可选的,网页特征匹配模块402还用于,将第一分词集合与网页特征数据中待检测应用程序的应用名称进行匹配,得到第一匹配结果;若根据第一匹配结果确定的名称匹配权重超过第一阈值,则将第二分词集合与网页特征数据中待检测应用程序的应用描述信息进行匹配,得到第二匹配结果;若根据第二匹配结果确定的描述匹配权重超过第二阈值,则确定待检测应用程序的安装包为疑似样本;将确定的至少一个疑似样本组合为待下载疑似样本集合。可选的,名称匹配权重为:其中,E表示名称匹配权重,Wi表示第一权重集合中的第i个元素,Ci表示第一分词集合与网页特征数据中待检测应用程序的应用名称进行匹配后,待检测应用程序的应用名称中的分词在第一分词集合中出现的次数组成的第一集合中的第i个元素,n表示第一权重集合中的元素个数。可选的,描述匹配权重为:其中,e表示描述匹配权重,wi表示第二权重集合中的第i个元素,ci表示第二分词集合与网页特征数据中待检测应用程序的描述信息进行匹配后,待检测应用程序的描述信息中的分词在第二分词集合中出现的次数组成的第二集合中的第i个元素,n表示第二权重集合中的元素个数。可选的,装置还包括安装包特征提取模块406,用于获取至少一个疑似样本的疑似样本安装包特征库,其中,疑似样本安装包特征库包括:疑似样本的MD5值、疑似样本的证书信息、疑似样本的大小、疑似样本反编译后的代码文件夹下所有文件的MD5值及函数名列表、资源文件夹下所有文件的MD5值中的一个或多个;安装包特征匹配模块404还用于将预先设置的官方应用程序安装包特征库中的特征与获取的至少一个疑似样本的疑似样本安装包特征库中的特征进行匹配。可选的,安装包特征匹配模块404还用于,将官方应用程序安装包特征库中的官方应用程序的MD5值与疑似样本安装包特征库中的疑似样本的MD5值进行比较,若官方应用程序的MD5值与疑似样本的MD5值一致,则确定疑似样本为非疑似非法应用。可选的,安装包特征匹配模块404还用于,若官方应用程序的MD5值与疑似样本的MD5值不一致,将官方应用程序安装包特征库中的官方应用程序的证书信息与疑似样本安装包特征库中的疑似样本的证书信息进行比较;若官方应用程序的证书信息与疑似样本的证书信息一致,则确定疑似样本为非疑似非法应用。可选的,安装包特征匹配模块404还用于,若官方应用程序的证书信息与疑似样本的证书信息不一致,将官方应用程序安装包特征库中的官方应用程序的大小与疑似样本安装包特征库中的疑似样本的大小进行比较;若疑似样本的大小小于官方应用程序的大小的一预设比例阈值,则确定疑似样本为非疑似非法应用。可选的,安装包特征匹配模块404还用于,若疑似样本的大小大于或等于官方应用程序的大小的一预设比例阈值,将官方应用程序安装包特征库中官方应用程序反编译后的代码文件夹下所有文件的MD5值、资源文件夹下所有文件的MD5值与疑似样本安装包特征库中的疑似样本反编译后的代码文件夹下所有文件的MD5值、资源文件夹下所有文件的MD5值分别进行比较,得到第一匹配度;若第一匹配度小于预设MD5匹配度阈值,则确定疑似样本为非疑似非法应用。。可选的,安装包特征匹配模块404还用于,若第一匹配度大于或等于预设MD5匹配度阈值,将官方应用程序安装包特征库中官方应用程序反编译后的代码文件夹下和疑似样本安装包特征库中的疑似样本反编译后的代码文件夹下MD5值不匹配的所有文件的类文件名进行比较,得到第二匹配度;若第二匹配度小于预设类文件名匹配度阈值,则确定疑似样本为非疑似非法应用。可选的,安装包特征匹配模块404还用于,若第二匹配度大于或等于预设类文件名匹配度阈值,将官方应用程序安装包特征库中官方应用程序反编译后的代码文件夹下与疑似样本安装包特征库中疑似样本反编译后的代码文件夹下的MD5值不匹配、类文件名相同的所有文件的函数名进行比较,得到第三匹配度;若第三匹配度小于预设函数名匹配度阈值,则确定疑似样本为非疑似非法应用;若第三匹配度大于或等于预设函数名匹配度阈值,则确定疑似样本为疑似非法应用。以上所述的是本发明的优选实施方式,应当指出对于本
技术领域
的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1