具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的应用安全的分析方法的流程图。该方法适用于应用安全分析设备。如图1所示,该方法包括:
步骤S101:截取待检测区域的图像;对图像中的一个或多个待分析应用进行识别,得到对应一个或多个待分析应用的应用图标和/或应用名称。
本发明方案由应用安全分析设备来执行。
具体地,当接收到安全分析触发信号后,应用安全分析设备启动摄像头进行安全扫描,并截取扫描到的待检测区域的图像,其中,图像中包括的一个或多个应用即为待分析应用。对图像进行识别,得到对应各个待分析应用的应用图标和/或应用名称。在本发明中,不对图像识别的方法做具体限定,本领域技术人员可以理解的是,任意可以用于对图像中的文字和/或图标进行识别的方式均包含在本发明的范围内。
步骤S102:针对各个待分析应用,将待分析应用的应用图标与预先存储的多个参考应用的应用图标进行匹配;和/或,将待分析应用的应用名称与预先存储的多个参考应用的应用名称进行匹配。
其中,多个参考应用为来源于各个应用市场和/或各个应用开发商的应用;并且,多个参考应用的安全分析数据由对应的应用市场和/或应用开发商提供,或者由应用安全分析设备预先对多个参考应用经过全面的分析后提供。
具体地,预先采集多个参考应用的应用图标和/或应用名称并进行存储,然后将待分析应用的应用图标或应用名称与多个参考应用的应用图标或应用名称分别进行匹配,确定与待分析应用相同的参考应用。进一步的,为了提高安全分析的准确性,将待分析应用的应用图标与多个参考应用的应用图标进行匹配,以及将待分析应用的应用名称与多个参考应用的应用名称进行匹配,并根据两次匹配的结果确定与待分析应用相同的参考应用。
步骤S103:根据匹配结果生成一个或多个待分析应用的安全分析报告。
具体地,确定了与待分析应用相同的参考应用之后,根据参考应用的安全分析数据生成待分析应用的安全分析报告,该安全分析报告与应用市场、应用开发商和/或应用安全分析设备提供的安全分析数据一致,则可以确保该安全分析报告对应的分析结果的全面与准确。
根据本实施例提供的应用安全的分析方法,该方法适用于应用安全分析设备。通过待分析应用的应用名称和/或应用图标与多个参考应用的匹配结果确定待分析应用的安全性,而无需对待分析应用的应用实体进行安全检测,进而提高了安全分析的效率;以及,根据待分析应用的应用名称和/或应用图标与多个参考应用的匹配结果生成的安全分析报告,与参考应用的安全分析数据一致,该安全分析数据是由应用市场、应用开发商和/或应用安全分析设备通过全面的安全分析得到的,则据此生成的安全分析报告更加全面准确。
图2示出了根据本发明另一个实施例的应用安全的分析方法的流程图。该方法适用于应用安全分析设备。如图2所示,该方法包括:
步骤S201:爬取多个参考应用的应用图标以及应用名称;将每个参考应用的应用图标以及应用名称作为一个数据集进行存储。
具体地,爬取各个应用市场中的所有已存在的应用的应用图标以及应用名称,该已存在的应用即为参考应用。然后将爬取结果存储至数据库中。
进一步的,在初次爬取得到多个数据集后,监控特定渠道的应用更新信息,当监控到应用更新信息时,则再次进行爬取,将爬取结果添加至数据库中,以不断的完善数据库中的参考应用信息。其中,特定渠道包括各个应用开发商渠道,和/或应用市场渠道。应用更新信息包括新应用上线信息、和/或应用升级信息。
更进一步的,将每个参考应用的应用图标进行灰度处理,得到参考应用的灰度图标;计算参考应用的灰度图标的多个像素点的平均灰度值;将每个参考应用的应用图标对应的平均灰度值以及应用名称作为一个数据集进行存储,进而便于直接利用存储的参考应用的应用图标对应的平均灰度值进行应用图标的匹配。但是,需要在此进行说明的是,此处示出的将平均灰度值作为参考应用的应用图标的特征值进行存储的方式仅为一种优选的方式,本发明并不以此为限,具体实施时,本领域技术人员也可将参考应用的应用图标的其它特征值存储至数据库中,以便于应用图标的匹配。
步骤S202:截取待检测区域的图像。
具体地,用户将移动终端的屏幕放置于应用安全分析设备的摄像头对应的扫描区域内,当应用安全分析设备接收到安全分析触发信号后,启动摄像头进行安全扫描,在该扫描的过程中,允许用户调整移动终端的屏幕的位置,以使屏幕中的待分析应用可以被全部扫描到;然后,应用安全分析设备截取扫描到的待检测区域的图像。其中,安全分析触发信号可以是应用安全分析设备自动触发的,例如,当检测到摄像头前方存在物体遮挡时,则自动唤醒应用安全分析设备,以进行扫描截图;或者,安全分析触发信号也可以是手动触发的,即由用户通过操作应用安全分析设备来触发该信号。
截取的待检测区域的图像中可以包括一个或多个待分析应用,而本实施例的下述步骤主要以截取的图像中的待分析应用有多个进行说明,对于截取的图像中仅包括一个待分析应用的情况,则直接对该待分析应用进行识别,然后进行匹配以及生成安全分析报告。其中,匹配以及生成安全分析报告的原理与对多个待分析应用进行匹配和生成安全分析报告的原理相似,在本实施例中则不再单独赘述。
步骤S203:根据多个待分析应用在图像中的位置,将图像划分为与多个待分析应用一一对应的多个待分析区块;对各个待分析区块中的待分析应用进行识别,得到多个待分析应用的应用图标和/或应用名称。
具体地,检测截取的图像中的待分析应用,若检测出包括多个待分析应用,则根据检测结果确定各个待分析应用的应用图标和应用名称所在的区域,并按照该区域将图像进行划分,得到对应多个待分析应用的多个待分析区块。本实施例不对检测并确定待分析应用对应的区域的方式做具体限定,具体实施时,本领域技术人员可根据实际情况灵活选择对应的检测方法。
步骤S204:判断各个待分析应用的应用名称是否符合预设格式规范;若否,则执行步骤S205;若是,则执行步骤S206。
其中,预设格式规范可根据应用命名的普遍规则进行确定。
具体地,通过预设格式规范的判断,可以确定应用名称识别错误的情况,避免因该错误的名称导致进一步的匹配以及分析结果的不准确。可选的,判断各个待分析应用的应用名称是否符合预设格式规范具体为:判断各个待分析应用的应用名称对应的字符数量是否少于预设字符数量,若是,则判定待分析应用的应用名称不符合预设格式规范;和/或,判断各个待分析应用的应用名称对应的字符是否全为数字,若是,则判定待分析应用的应用名称不符合预设格式规范。
举例来说,通常情况下,应用名称至少为两个字符,则将预设字符数量设置为2,若待分析应用的应用名称仅为1个字符,则判定待分析应用的应用名称不符合预设格式规范。需要在此说明的是,本发明并不以此示例为限,具体实施时,本领域技术人员可根据实际需求灵活设置预设字符数量。
步骤S205:将待分析应用的应用名称滤除。
步骤S206:针对各个待分析应用,将待分析应用的应用图标与预先存储的多个参考应用的应用图标进行匹配。
具体地,若滤除掉不符合预设格式规范的应用名称之后,或者,在判断出所有待分析应用的应用名称均符合预设格式规范之后,针对各个待分析应用,首先进行应用图标的匹配。进一步的,将待分析应用的应用图标的特征值与预先存储的多个参考应用的应用图标的特征值进行匹配。
下面具体以将平均灰度值作为应用图标的特征值为示例来说明应用图标的匹配过程:第一步,处理得到待分析应用的灰度图标。对待分析应用的应用图标进行预处理,将预处理后的待分析应用的应用图标进行灰度处理,得到待分析应用的灰度图标。其中,预处理包括对待分析应用的应用图标的像素尺寸等进行调整,可选的,按照参考应用的应用图标的大小进行缩放处理,以使待分析应用的应用图标与参考应用的应用图标具有可比性。以及,灰度处理即将预处理后的待分析应用的应用图标转换为256阶灰度图。第二步,计算待分析应用的灰度图标的多个像素点的平均灰度值。第三步,将待分析应用的应用图标对应的平均灰度值与各个数据集中的参考应用的应用图标对应的平均灰度值进行差值计算,根据差值计算结果得到待分析应用的应用图标与各个数据集中的参考应用的应用图标的匹配度。其中,差值计算结果越小,则待分析应用的应用图标与对应的参考应用的应用图标的匹配度越高。可选的,可根据平均灰度值生成待分析应用的应用图标以及参考应用的应用图标的哈希(hash)值,其中,hash值为由0或1组成的64位数;然后利用差值哈希算法比较两者的hash值,两个64位的hash值不相同的位数越少,则待分析应用的应用图标与对应的参考应用的应用图标的匹配度越高。
步骤S207:根据待分析应用的应用图标与各个数据集中的参考应用的应用图标的匹配度,确定与待分析应用匹配的参考应用。
具体地,可预先设置匹配度阈值,若待分析应用的应用图标与参考应用的应用图标的匹配度高于该匹配度阈值,则确定该参考应用与待分析应用相匹配,即待分析应用为该参考应用。若确定出与待分析应用匹配的参考应用,则执行步骤S210;若未确定出与待分析应用匹配的参考应用,则执行步骤S208。
步骤S208:若未确定到与待分析应用匹配的参考应用,将待分析应用的应用名称与预先存储的多个参考应用的应用名称进行匹配。
具体地,将待分析应用的应用名称与各个数据集中的参考应用的应用名称进行字符匹配,得到待分析应用的应用名称与各个数据集中的参考应用的应用名称的匹配度。
步骤S209:根据待分析应用的应用图标与各个数据集中的参考应用的应用图标的匹配度,确定与待分析应用匹配的参考应用。
本步骤与步骤S207的原理类似,在此不再赘述。
步骤S210:若确定到与待分析应用匹配的参考应用,查询与待分析应用匹配的参考应用的安全分析数据,根据安全分析数据生成待分析应用的安全分析报告。
具体地,若步骤S207或步骤S209确定出与待分析应用匹配的参考应用,将根据该与待分析应用匹配的参考应用的安全分析数据生成待分析应用的安全分析报告。其中,参考应用的安全分析数据由对应的应用市场和/或应用开发商提供,或者由应用安全分析设备经过全面的分析后提供。可选的,将各个参考应用的安全分析数据存储至对应参考应用的数据集中,相应的,可以通过查询对应的数据集,得到对应的参考应用的安全分析数据。在对所有的待分析应用均分析完成之后,将安全分析报告通过应用安全分析设备展示给用户。
本实施例仅示出了,根据应用图标或应用名称的匹配确定出的与待分析应用匹配的参考应用,来生成待分析应用的安全分析报告。而在本发明的另一些实施例中,为了提高分析结果的准确度,当通过应用图标匹配确定出与待分析应用匹配的第一参考应用后,进一步通过应用名称匹配确定出与待分析应用匹配的第二参考应用,并且,当且仅当第一参考应用与第二参考应用相同时,才根据第一参考应用或第二参考应用生成安全分析报告。另外,在本发明的又一些实施例中,当步骤S207和步骤S209均未确定出与待分析应用匹配的参考应用时,则反馈分析失败的结果给用户。
根据本实施例提供的应用安全的分析方法,考虑到用户终端上的所有应用都来源于各大应用市场,在应用安全分析设备的***后台通过相应的数据爬虫脚本对各大应用市场进行监控,爬取所有市面上的应用的应用名称和应用图标,形成一个大型数据库,将每个应用的应用图标和应用名称形成一个数据集包含在数据库内。并且会对爬取到的参考应用进行安全分析得到相应的安全分析数据(包括应用安全等级和应用安全分析报告),与每一个数据集相对应,进而可以利用该大型数据库对用户终端中的待分析应用进行全面且准确的安全性分析。
图3示出了根据本发明一个实施例的应用安全的分析装置的功能框图。该装置设置于应用安全分析设备中。如图3所示,该装置包括:
截图模块301,适于截取待检测区域的图像;
识别模块302,适于对所述图像中的一个或多个待分析应用进行识别,得到对应所述一个或多个待分析应用的应用图标和/或应用名称;
匹配模块303,适于针对各个待分析应用,将所述待分析应用的应用图标与预先存储的多个参考应用的应用图标进行匹配;和/或,将所述待分析应用的应用名称与预先存储的多个参考应用的应用名称进行匹配;
生成模块304,适于根据匹配结果生成所述一个或多个待分析应用的安全分析报告。
在一种可选的实施方式中,所述待分析应用有多个;所述识别模块302进一步适于:
根据多个待分析应用在所述图像中的位置,将所述图像划分为与多个待分析应用一一对应的多个待分析区块;
对各个待分析区块中的待分析应用进行识别。
在一种可选的实施方式中,所述装置还包括:
判断模块305,适于判断各个待分析应用的应用名称是否符合预设格式规范;若否,则将所述待分析应用的应用名称滤除。
在一种可选的实施方式中,所述判断模块305进一步适于:
判断各个待分析应用的应用名称对应的字符数量是否少于预设字符数量,若是,则判定所述待分析应用的应用名称不符合预设格式规范;和/或,
判断各个待分析应用的应用名称对应的字符是否全为数字,若是,则判定所述待分析应用的应用名称不符合预设格式规范。
在一种可选的实施方式中,所述装置还包括:
爬取模块306,适于爬取多个参考应用的应用图标以及应用名称;
存储模块307,适于将每个参考应用的应用图标以及应用名称作为一个数据集进行存储。
在一种可选的实施方式中,所述装置还包括:
处理模块308,适于将每个参考应用的应用图标进行灰度处理,得到所述参考应用的灰度图标;
计算模块309,适于计算所述参考应用的灰度图标的多个像素点的平均灰度值;
所述存储模块307进一步适于:
将每个参考应用的应用图标对应的平均灰度值以及应用名称作为一个数据集进行存储。
在一种可选的实施方式中,所述匹配模块303进一步适于:
对所述待分析应用的应用图标进行预处理,将预处理后的待分析应用的应用图标进行灰度处理,得到所述待分析应用的灰度图标;计算所述待分析应用的灰度图标的多个像素点的平均灰度值;
将所述待分析应用的应用图标对应的平均灰度值与各个数据集中的参考应用的应用图标对应的平均灰度值进行差值计算,根据差值计算结果得到待分析应用的应用图标与各个数据集中的参考应用的应用图标的匹配度。
在一种可选的实施方式中,所述生成模块304进一步适于:
根据待分析应用的应用图标与各个数据集中的参考应用的应用图标的匹配度,确定与待分析应用匹配的参考应用;
查询与待分析应用匹配的参考应用的安全分析数据,根据所述安全分析数据生成所述待分析应用的安全分析报告。
在一种可选的实施方式中,所述匹配模块303进一步适于:
将所述待分析应用的应用名称与各个数据集中的参考应用的应用名称进行字符匹配,得到待分析应用的应用名称与各个数据集中的参考应用的应用名称的匹配度。
在一种可选的实施方式中,所述生成模块304进一步适于:
根据待分析应用的应用图标与各个数据集中的参考应用的应用图标的匹配度,确定与待分析应用匹配的参考应用;
查询与待分析应用匹配的参考应用的安全分析数据,根据所述安全分析数据生成所述待分析应用的安全分析报告。
关于上述各个模块的具体结构和工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
本申请实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的应用安全的分析方法。
图4示出了根据本发明实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述应用安全的分析方法施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行以下操作:
截取待检测区域的图像;对所述图像中的一个或多个待分析应用进行识别,得到对应所述一个或多个待分析应用的应用图标和/或应用名称;
针对各个待分析应用,将所述待分析应用的应用图标与预先存储的多个参考应用的应用图标进行匹配;和/或,将所述待分析应用的应用名称与预先存储的多个参考应用的应用名称进行匹配;
根据匹配结果生成所述一个或多个待分析应用的安全分析报告。
在一种可选的实施方式中,所述待分析应用有多个;
程序410具体可以进一步用于使得处理器402执行以下操作:根据多个待分析应用在所述图像中的位置,将所述图像划分为与多个待分析应用一一对应的多个待分析区块;
对各个待分析区块中的待分析应用进行识别。
在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:判断各个待分析应用的应用名称是否符合预设格式规范;若否,则将所述待分析应用的应用名称滤除。
在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:
判断各个待分析应用的应用名称对应的字符数量是否少于预设字符数量,若是,则判定所述待分析应用的应用名称不符合预设格式规范;和/或,
判断各个待分析应用的应用名称对应的字符是否全为数字,若是,则判定所述待分析应用的应用名称不符合预设格式规范。
在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:
爬取多个参考应用的应用图标以及应用名称;
将每个参考应用的应用图标以及应用名称作为一个数据集进行存储。
在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:
将每个参考应用的应用图标进行灰度处理,得到所述参考应用的灰度图标;计算所述参考应用的灰度图标的多个像素点的平均灰度值;
将每个参考应用的应用图标对应的平均灰度值以及应用名称作为一个数据集进行存储。
在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:
对所述待分析应用的应用图标进行预处理,将预处理后的待分析应用的应用图标进行灰度处理,得到所述待分析应用的灰度图标;计算所述待分析应用的灰度图标的多个像素点的平均灰度值;
将所述待分析应用的应用图标对应的平均灰度值与各个数据集中的参考应用的应用图标对应的平均灰度值进行差值计算,根据差值计算结果得到待分析应用的应用图标与各个数据集中的参考应用的应用图标的匹配度。
在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:
根据待分析应用的应用图标与各个数据集中的参考应用的应用图标的匹配度,确定与待分析应用匹配的参考应用;
查询与待分析应用匹配的参考应用的安全分析数据,根据所述安全分析数据生成所述待分析应用的安全分析报告。
在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:
将所述待分析应用的应用名称与各个数据集中的参考应用的应用名称进行字符匹配,得到待分析应用的应用名称与各个数据集中的参考应用的应用名称的匹配度。
在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:
根据待分析应用的应用图标与各个数据集中的参考应用的应用图标的匹配度,确定与待分析应用匹配的参考应用;
查询与待分析应用匹配的参考应用的安全分析数据,根据所述安全分析数据生成所述待分析应用的安全分析报告。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用安全的分析装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。