应用程序安装包的检测方法和装置与流程

文档序号:12906359阅读:504来源:国知局
应用程序安装包的检测方法和装置与流程

本发明涉及数据安全领域,特别是涉及一种应用程序安装包的检测方法和装置。



背景技术:

随着网络技术的发展,越来越多的用户通过网络从事社会活动,例如,通过网络获取新闻信息、物品信息、交流等。为此,产生了提供各种各样服务的应用程序,而各种应用程序的安装包有的经过安全认证,有的未经过安全认证,为了区分应用程序的安装包哪些经过安全认证,哪些未经过安全认证,通常是通过人工判别开发者的身份,来确定该应用程序的安装包是否未经过安全认证,然而这种判别方式,很容易被开发者绕过,会存在大量漏判的情况,识别率较低。



技术实现要素:

基于此,有必要针对传统的人工识别应用程序安装包是否未经过安全认证,识别率低的问题,提供一种应用程序安装包的检测方法,能提高对应用程序安装包是否未经过安全认证的识别率。

此外,还有必要提供一种应用程序安装包的检测装置,能提高对应用程序安装包是否未经过安全认证的识别率。

一种应用程序安装包的检测方法,包括:

获取待检测的应用程序安装包;

从所述待检测的应用程序安装包中提取所述待检测的应用程序安装包的固有属性标识和证书;

根据所述待检测的应用程序安装包的固有属性标识从固有属性标识与认证证书之间的对应关系中获取与所述待检测的应用程序安装包的固有属性标识对应的认证证书;

判断所述待检测的应用程序安装包的证书与所述认证证书是否一致,若一致,则所述待检测的应用程序安装包为经过认证的应用程序安装包,若不一致,则所述待检测的应用程序安装包为未经过认证的应用程序安装包;

输出所述待检测的应用程序安装包为经过认证的应用程序安装包或为未经过认证的应用程序安装包的检测结果。

一种应用程序安装包的检测装置,包括:

样本获取模块,用于获取待检测的应用程序安装包;

提取模块,用于从所述待检测的应用程序安装包中提取所述待检测的应用程序安装包的固有属性标识和证书;

查找模块,用于根据所述待检测的应用程序安装包的固有属性标识从固有属性标识与认证证书之间的对应关系中获取与所述待检测的应用程序安装包的固有属性标识对应的认证证书;

判断模块,用于判断所述待检测的应用程序安装包的证书与所述认证证书是否一致,若一致,则所述待检测的应用程序安装包为经过认证的应用程序安装包,若不一致,则所述待检测的应用程序安装包为未经过认证的应用程序安装包;

输出模块,用于输出所述待检测的应用程序安装包为经过认证的应用程序安装包或为未经过认证的应用程序安装包的检测结果。

上述应用程序安装包的检测方法和装置,通过提取待检测的应用程序安装包的固有属性标识和证书,根据固有属性标识从固有属性标识与认证证书之间的对应关系中查找到对应的认证证书,将待检测的应用程序安装包的证书与认证证书进行比较,若相同,则待检测应用程序安装包为经过认证的应用程序安装包,若不同,则待检测应用程序安装包为未经过认证的应用程序安装包,检测准确率高,提高了对应用程序安装包是否未经过安全认证的识别率,且检测时间短。

附图说明

图1为一个实施例中检测设备的内部结构示意图;

图2为一个实施例中应用程序安装包的检测方法的流程图;

图3为一个实施例中应用程序安装包的检测方法的系统架构;

图4为一个实施例中应用程序安装包的检测装置的结构框图;

图5为另一个实施例中应用程序安装包的检测装置的结构框图;

图6为一个实施例中关系建立模块的内部结构框图;

图7为另一个实施例中应用程序安装包的检测装置的结构框图;

图8为另一个实施例中应用程序安装包的检测装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一个实施例中检测设备的内部结构示意图。如图1所示,该检测设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口、显示屏和输入装置。其中,终端的非易失性存储介质存储有操作系统,还包括一种应用程序安装包的检测装置,该应用程序安装包的检测装置用于实现一种应用程序安装包的检测方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存储器为非易失性存储介质中的新闻数据显示装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种应用程序安装包的检测方法。检测设备的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是检测设备外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该检测设备可以是手机、平板电脑或者个人数字助理或穿戴式设备或服务器或云端等。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的检测设备的限定,具体的检测设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图2为一个实施例中应用程序安装包的检测方法的流程图。如图2所示,一种应用程序安装包的检测方法,运行于图1的检测设备上,包括:

步骤202,获取待检测的应用程序安装包。

具体地,终端获取用户通过检测客户端或浏览器等输入的待检测的应用程序安装包,并上传到服务端。

或者服务端从网络上或应用商店中抓取的应用程序安装包作为待检测的应用程序安装包。该服务端可位于服务器或云端等上。

步骤204,从该待检测的应用程序安装包中提取该待检测的应用程序安装包的固有属性标识和证书。

具体地,应用程序安装包,即apk(androidpackage)文件。apk文件是一个zip方式的压缩包,通过标准的解压库,解压apk文件,获取manifest.xml文件,即可获取待检测的应用程序安装包的固有属性标识和证书。固有属性标识是用于唯一表示待检测应用程序安装包的。固有属性标识可包括包标识和/或软件名称。包标识是用于唯一标识包的。包标识可为数字、字母、字符和文字等中一种或多种组成的字符串。包标识可为包名。软件名称是唯一标识待检测的应用程序安装包的软件的名称。manifest.xml文件是整个应用程序的信息描述文件,定义了应用程序中包含的activity、service、contentprovider和broadcastreceiver组件信息。每个应用程序在根目录下必须包含一个androidmanifest.xml文件,且文件名不能修改。文件主要提供了如下的信息描述:命名应用程序的java包,这个包名将用来唯一标识这个应用程序。描述了应用程序中包含的activity、service、contentprovider和broadcastreceiver组件;定义了应用程序运行的进程;声明了应用程序需要访问受限api(applicationprogramminginterface,应用程序编程接口)所需的权限;声明其他程序如果希望访问本程序组件所需要的权限;声明应用程序能够正常运行所需要的最小级别的ophoneapi;列出应用程序运行所需要连接的库。

例如应用程序a有多个认证过的安装包,其包名为com.abc.mm。软件名称为微信。

证书是指开发者对应用程序采用私钥进行加密得到的,且不可逆向的,正 常情况下,一个apk文件有且只有一个证书。

步骤206,根据该待检测的应用程序安装包的固有属性标识从固有属性标识与认证证书之间的对应关系中获取与该待检测的应用程序安装包的固有属性标识对应的认证证书。

本实施例中,可预先建立固有属性标识与认证证书之间的对应关系,并将该对应关系保存在固有属性标识与认证证书对应认证证书的信息库中。

固有属性标识包括包标识,则将包标识与认证证书之间对应关系存储在包标识对应的认证证书信息库中。固有属性标识包括软件名称,则将软件名称与认证证书之间的对应关系存储在软件名称对应的认证证书信息库中。若固有属性标识包括包标识和软件名称,则将包标识与认证证书之间对应关系存储在包标识对应的认证证书信息库中,将软件名称与认证证书之间的对应关系存储在软件名称对应的认证证书信息库中。

认证证书是指经过安全认证的软件提供者提供的应用程序安装包的证书。例如由微软公司提供的windows10的操作系统的安装包中的证书即可被视为认证证书。

步骤208,判断待检测的应用程序安装包的证书与该认证证书是否一致,若一致,则执行步骤210,若不一致,则执行步骤212。

本实施例中,可获取待检测的应用程序安装包的证书的信息摘要值(如md5值),以及认证证书的信息摘要值,比较待检测的应用程序安装包的证书的信息摘要值与该认证证书的信息摘要值是否相同,若相同,则待检测的应用程序安装包的证书与该待检测的应用程序安装包的固有属性标识对应的认证证书一致,若不同,则待检测的应用程序安装包的证书与该待检测的应用程序安装包的固有属性标识对应的认证证书不一致。

步骤210,该待检测的应用程序安装包为经过认证的应用程序安装包,然后执行步骤214。

本实施例中,待检测的应用程序安装包的证书与该认证证书一致,则表示待检测的应用程序安装包为经过认证的应用程序安装包,即为正版的应用程序安装包。

步骤212,该待检测的应用程序安装包为未经过认证的应用程序安装包,然后执行步骤214。

本实施例中,待检测的应用程序安装包的证书与该认证证书不一致,则表示待检测的应用程序安装包为未经过认证的应用程序安装包,即为仿冒的应用程序安装包。

步骤214,输出该待检测的应用程序安装包为经过认证的应用程序安装包或为未经过认证的应用程序安装包的检测结果。

上述应用程序安装包的检测方法,通过提取待检测的应用程序安装包的固有属性标识和证书,根据固有属性标识从固有属性标识与认证证书之间的对应关系中查找到对应的认证证书,将待检测的应用程序安装包的证书与认证证书进行比较,若相同,则待检测应用程序安装包为经过认证的应用程序安装包,若不同,则待检测应用程序安装包为未经过认证的应用程序安装包,检测准确率高,基本可达到100%,且该检测时间短,不会产生时间、空间瓶颈,可为海量查询系统提供实时查询服务。

在一个实施例中,在该获取待检测的应用程序安装包之前,上述应用程序安装包的检测方法还包括:预先建立应用程序安装包的固有属性标识与认证证书之间的对应关系。

本实施例中,可将建立的应用程序安装包的固有属性标识与认证证书之间的对应关系存储在固有属性标识对应的认证证书信息库中。或者,采用建立数据表,通过数据表记录固有属性标识与认证证书之间的对应关系。其中,以固有属性标识为关键字,建立对认证证书的索引。

进一步的,该预先建立应用程序安装包的固有属性标识与认证证书之间的对应关系的步骤包括:从网络获取经过安全认证的应用程序安装包;从经过安全认证的应用程序安装包提取该应用程序安装包的固有属性标识和对应的认证证书;根据该应用程序安装包的固有属性标识和认证证书建立应用程序安装包的固有属性标识与认证证书之间的对应关系。

本实施例中,可从应用商店或电子市场等获取经过安全认证的应用程序安 装包,提取经过安全认证的应用程序安装包的固有属性标识和对应的认证证书,再以固有属性标识为关键字,建立对认证证书的索引,即建立固有属性标识与认证证书之间的对应关系。

从经过安全认证的应用程序安装包中提取应用程序安装包的固有属性标识和对应的认证证书,保证应用程序安装包的固有属性标识和对应的认证证书的准确性和安全性。

在一个实施例中,上述应用程序安装包的检测方法还包括:定期获取应用程序安装包的固有属性标识和对应的认证证书;更新该应用程序安装包的固有属性标识与认证证书之间的对应关系。

本实施例中,定期的时间可根据需要设置,如1天、1个星期、1个月等,不限于此。定期从应用商店或电子市场等获取经过安全认证的应用程序安装包,从应用程序安装包中提取得到经过安全认证的应用程序安装包的固有属性标识和对应的认证证书,更新该应用程序安装包的固有属性标识与认证证书之间的对应关系,保存到固有属性标识对应的认证证书信息库中。

通过定期更新固有属性标识与认证证书之间的对应关系,保证数据的准确性,提高检测的准确性。

在一个实施例中,上述应用程序安装包的检测方法还包括:若待检测的应用程序安装包为经过认证的应用程序安装包,则采用第一标识进行标记;若待检测的应用程序安装包为未经过认证的应用程序安装包,则采用第二标识进行标记。

本实施例中,第一标识和第二标识为不同的标识,可根据需要设定。第一标识和第二标识可为不同颜色或不同文字或不同字符或不同图标等。例如第一标识为绿色,第二标识为红色。或者,第一标识为“正版”,第二标识为“仿冒”。

通过对检测后的应用程序安装包进行标记,可提高应用程序安装包是否安全的识别度,方便用户区分。

在一个实施例中,上述应用程序安装包的检测方法还包括:将待检测的应用程序安装包为未经过认证的应用程序安装包的检测结果发送给待检测的应用程序安装包的发布平台,以通知该发布平台的维护者删除该待检测的应用程序 安装包。

本实施例中,发布平台是指应用程序安装包提供给用户下载的场所。发布平台可为电子市场或应用商店等。通过通知发布平台进行删除未经过认证的应用程序安装包,提高发布平台上的应用程序安装包的安全性。

在一个实施例中,上述应用程序安装包的检测方法还包括:检测到安装的应用程序安装包为未经过认证的应用程序安装包,则发出包含该应用程序安装包未经过认证的应用程序安装包的提醒信息。

具体地,检测到终端上安装的应用程序安装包为未经过认证的应用程序安装包,则发出包含该应用程序安装包未经过认证的应用程序安装包的提醒信息,以提醒用户,避免安装来源不明的应用程序。

图3为一个实施例中应用程序安装包的检测方法的系统架构。该系统架构包括数据收集平台、包名对应的认证证书信息库、软件名对应的认证证书信息库、包名信息检测模块、软件名信息检测模块、检测调度模块。数据收集平台从电子市场或应用商店收集经过安全认证的应用程序安装包,从经过安全认证的应用程序安装包中提取出应用程序安装包的包名、软件名和认证证书,以包名为关键字建立对认证证书的索引,并存储在包名对应的认证证书信息库中,以软件名为关键字建立对认证证书的索引,并存储在软件名对应的认证证书信息库中。送检方将送检样本输入给检测调度模块,检测调度模块根据送检样本,提取待检测的应用程序安装包的包名、软件名和证书。检测调度模块将待检测的应用程序安装包的包名和证书传输给包名信息检测模块,将待检测的应用程序安装包的软件名和证书传输给软件名信息检测模块。包名信息检测模块根据待检测的应用程序安装包的包名从包名对应的认证证书信息库中获取对应的认证证书,将认证证书与待检测应用程序的证书进行比较,若相同,则待检测应用程序安装包为经过认证的应用程序安装包,若不同,则待检测的应用程序安装包为未经过认证的应用程序安装包。软件名信息检测模块根据待检测的应用程序安装包的软件名从软件名对应的认证证书信息库中获取对应的认证证书,将认证证书与待检测应用程序的证书进行比较,若相同,则待检测应用程序安装包为经过认证的应用程序安装包,若不同,则待检测的应用程序安装包为未 经过认证的应用程序安装包。包名信息检测模块或软件名信息检测模块将检测结果返回给检测调度模块,检测调度模块将检测结果发送给送检方。

图4为一个实施例中应用程序安装包的检测装置的结构框图。如图4所示,一种应用程序安装包的检测装置,包括样本获取模块402、提取模块404、查找模块406、判断模块408和输出模块410。其中:

样本获取模块402用于获取待检测的应用程序安装包。

具体地,终端获取用户通过检测客户端或浏览器等输入的待检测的应用程序安装包,并上传到服务端。

或者服务端从网络上或应用商店中抓取的应用程序安装包作为待检测的应用程序安装包。该服务端可位于服务器或云端等上。

提取模块404用于从该待检测的应用程序安装包中提取该待检测的应用程序安装包的固有属性标识和证书。

查找模块406用于根据该待检测的应用程序安装包的固有属性标识从固有属性标识与认证证书之间的对应关系中获取与该待检测的应用程序安装包的固有属性标识对应的认证证书。

本实施例中,可预先建立固有属性标识与认证证书之间的对应关系,并将该对应关系保存在固有属性标识与认证证书对应认证证书的信息库中。

固有属性标识包括包标识,则将包标识与认证证书之间对应关系存储在包标识对应的认证证书信息库中。固有属性标识包括软件名称,则将软件名称与认证证书之间的对应关系存储在软件名称对应的认证证书信息库中。若固有属性标识包括包标识和软件名称,则将包标识与认证证书之间对应关系存储在包标识对应的认证证书信息库中,将软件名称与认证证书之间的对应关系存储在软件名称对应的认证证书信息库中。

认证证书是指经过安全认证的软件提供者提供的应用程序安装包的证书。

判断模块408用于判断该待检测的应用程序安装包的证书与该认证证书是否一致,若一致,则该待检测的应用程序安装包为经过认证的应用程序安装包,若不一致,则该待检测的应用程序安装包为未经过认证的应用程序安装包。

本实施例中,可获取待检测的应用程序安装包的证书的信息摘要值(如md5值),以及认证证书的信息摘要值,比较待检测的应用程序安装包的证书的信息摘要值与该认证证书的信息摘要值是否相同,若相同,则待检测的应用程序安装包的证书与该待检测的应用程序安装包的固有属性标识对应的认证证书一致,若不同,则待检测的应用程序安装包的证书与该待检测的应用程序安装包的固有属性标识对应的认证证书不一致。

输出模块410用于输出该待检测的应用程序安装包为经过认证的应用程序安装包或为未经过认证的应用程序安装包的检测结果。

上述应用程序安装包的检测装置,通过提取待检测的应用程序安装包的固有属性标识和证书,根据固有属性标识从固有属性标识与认证证书之间的对应关系中查找到对应的认证证书,将待检测的应用程序安装包的证书与认证证书进行比较,若相同,则待检测应用程序安装包为经过认证的应用程序安装包,若不同,则待检测应用程序安装包为未经过认证的应用程序安装包,检测准确率高,基本可达到100%,且该检测时间短,不会产生时间、空间瓶颈,可为海量查询系统提供实时查询服务。

图5为另一个实施例中应用程序安装包的检测装置的结构框图。如图5所示,一种应用程序安装包的检测装置,除了包括样本获取模块402、提取模块404、查找模块406、判断模块408和输出模块410,还包括关系建立模块412。

关系建立模块412,用于在该获取待检测的应用程序安装包之前,预先建立应用程序安装包的固有属性标识与认证证书之间的对应关系。

可将建立的应用程序安装包的固有属性标识与认证证书之间的对应关系存储在固有属性标识对应的认证证书信息库中。或者,采用建立数据表,通过数据表记录固有属性标识与认证证书之间的对应关系。其中,以固有属性标识为关键字,建立对认证证书的索引。

图6为一个实施例中关系建立模块412的内部结构框图。如图6所示,该关系建立模块412包括获取单元412a、提取单元412b和关系建立单元412c。其中:

获取单元412a用于从网络获取经过安全认证的应用程序安装包。

本实施例中,获取单元412a可从应用商店或电子市场等获取经过安全认证的应用程序安装包。

提取单元412b用于从该经过安全认证的应用程序安装包提取该应用程序安装包的固有属性标识和对应的认证证书。

关系建立单元412c用于根据该应用程序安装包的固有属性标识和认证证书建立应用程序安装包的固有属性标识与认证证书之间的对应关系。

具体地,关系建立单元412c以固有属性标识为关键字,建立对认证证书的索引,即建立固有属性标识与认证证书之间的对应关系。

从经过安全认证的应用程序安装包中提取应用程序安装包的固有属性标识和对应的认证证书,保证应用程序安装包的固有属性标识和对应的认证证书的准确性和安全性。

图7为另一个实施例中应用程序安装包的检测装置的结构框图。如图7所示,一种应用程序安装包的检测装置,除了包括样本获取模块402、提取模块404、查找模块406、判断模块408和输出模块410、关系建立模块412,还包括数据获取模块414和更新模块416。

数据获取模块414用于定期获取应用程序安装包的固有属性标识和对应的认证证书。

更新模块416用于更新该应用程序安装包的固有属性标识与认证证书之间的对应关系。

本实施例中,定期的时间可根据需要设置,如1天、1个星期、1个月等,不限于此。定期从应用商店或电子市场等获取经过安全认证的应用程序安装包,从应用程序安装包中提取得到经过安全认证的应用程序安装包的固有属性标识和对应的认证证书,更新该应用程序安装包的固有属性标识与认证证书之间的对应关系,保存到固有属性标识对应的认证证书信息库中。

通过定期更新固有属性标识与认证证书之间的对应关系,保证数据的准确性,提高检测的准确性。

图8为另一个实施例中应用程序安装包的检测装置的结构框图。如图8所示,一种应用程序安装包的检测装置,除了包括样本获取模块402、提取模块404、查找模块406、判断模块408和输出模块410,还包括标记模块418。

标记模块418用于若该待检测的应用程序安装包为经过认证的应用程序安装包,则采用第一标识进行标记;以及

若该待检测的应用程序安装包为未经过认证的应用程序安装包,则采用第二标识进行标记。

本实施例中,第一标识和第二标识为不同的标识,可根据需要设定。第一标识和第二标识可为不同颜色或不同文字或不同字符或不同图标等。例如第一标识为绿色,第二标识为红色。或者,第一标识为“正版”,第二标识为“仿冒”。

通过对检测后的应用程序安装包进行标记,可提高应用程序安装包是否安全的识别度,方便用户区分。

在一个实施例中,上述应用程序安装包的检测装置还包括发送模块,该发送模块用于将待检测的应用程序安装包为未经过认证的应用程序安装包的检测结果发送给待检测的应用程序安装包的发布平台,以通知该发布平台的维护者删除该待检测的应用程序安装包。

在一个实施例中,上述应用程序安装包的检测装置还包括提醒模块,该提醒模块用于检测到安装的应用程序安装包为未经过认证的应用程序安装包,则发出包含该应用程序安装包未经过认证的应用程序安装包的提醒信息。

具体地,检测到终端上安装的应用程序安装包为未经过认证的应用程序安装包,则发出包含该应用程序安装包未经过认证的应用程序安装包的提醒信息,以提醒用户,避免安装来源不明的应用程序。

在其他实施例中,一种应用程序安装包的检测装置,可包括样本获取模块402、提取模块404、查找模块406、判断模块408和输出模块410、关系建立模块412、数据获取模块414、更新模块416、标记模块418、发送模块、提醒模块中的任意可能的组合。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1