CN107766726B - 应用安全性检测方法和装置 - Google Patents
应用安全性检测方法和装置 Download PDFInfo
- Publication number
- CN107766726B CN107766726B CN201610677718.3A CN201610677718A CN107766726B CN 107766726 B CN107766726 B CN 107766726B CN 201610677718 A CN201610677718 A CN 201610677718A CN 107766726 B CN107766726 B CN 107766726B
- Authority
- CN
- China
- Prior art keywords
- application
- feature information
- white list
- detected
- fisrt feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种应用安全性检测方法及装置,所述方法包括:提取待检测应用的第一特征信息和第二特征信息,计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度;检测相似度是否达到预定阈值;若相似度达到预定阈值,则检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致;若两者不一致,则确认待检测应用为存在安全风险的应用。本发明解决了现有技术无法有效识别假冒应用的问题,达到了先对应用程序的视觉特征信息进行识别,根据视觉特征信息确定出疑似假冒应用时,再对疑似假冒应用的安装包特征信息进行进一步的检测,最终能够准确地识别出假冒应用的效果。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种应用安全性检测方法和装置。
背景技术
在应用市场上存在种类繁多的应用,用户在无法识别的情况下,很容易安装存在安全风险的应用。常见的存在安全风险的应用包括:被破解的官方应用、被重打包的官方应用和高仿官方应用的假冒应用,因此需要一种应用安全性检测方法来识别这些存在安全风险的应用。
现有技术中,服务器通过预先收集白名单应用的应用安装包的安装包包名和签名来构建白名单库。其中,签名是应用开发者的身份标识。示意性的白名单库包括:“白名单应用1:安装包包名1+签名1”、“白名单应用2:安装包包名2+签名2”。当获取到待检测应用的应用安装包后,服务器提取待检测应用的“安装包包名+签名”。服务器检测待检测应用的“安装包包名+签名”是否存在于白名单库中;若存在于白名单库中,则确定待检测应用不存在安全风险;若不存在于白名单库中,则确定待检测应用存在安全风险。比如,待检测应用具有“安装包包名1+签名3”,与白名单库中的“安装包包名1+签名1”不一致,则确定待检测应用不属于白名单应用。
在实现本发明实施例的过程中,发现现有技术至少存在以下问题:
由于签名难以伪造,所以上述方法能够识别出被破解的官方应用和被重打包的官方应用,但是无法有效识别高仿官方应用的假冒应用。假冒应用可以与白名单应用1具有完全相同的应用名称图标,但是假冒应用具有另外一套“安装包包名4+签名4”,由于“安装包包名4+签名4”也可能被收录于白名单库中,此时无法对假冒应用进行识别。
发明内容
为了解决现有技术无法有效识别假冒应用的问题,本发明实施例提供了一种应用安全性检测方法及装置。所述技术方案如下:
根据本发明实施例的第一方面,提供一种应用安全性检测方法,所述方法包括:
提取待检测应用的第一特征信息和第二特征信息,所述第一特征信息是应用程序的视觉特征信息,所述第二特征信息是应用程序的安装包特征信息;
计算所述待检测应用的所述第一特征信息和白名单应用的所述第一特征信息的相似度;
检测所述相似度是否达到预定阈值;
若所述相似度达到预定阈值,则检测所述待检测应用的所述第二特征信息和所述白名单应用的所述第二特征信息是否一致;
若两者的所述第二特征信息不一致,则确认所述待检测应用为存在安全风险的应用。
根据本发明实施例的第二方面,提供一种应用安全性检测装置,所述装置包括:
第一提取模块,用于提取待检测应用的第一特征信息和第二特征信息,所述第一特征信息是应用程序的视觉特征信息,所述第二特征信息是应用程序的安装包特征信息;
相似计算模块,用于计算所述待检测应用的所述第一特征信息和白名单应用的所述第一特征信息的相似度;
第一检测模块,用于检测所述相似度是否达到预定阈值;
第二检测模块,用于若所述相似度达到预定阈值,则检测所述待检测应用的所述第二特征信息和所述白名单应用的所述第二特征信息是否一致;
应用确认模块,用于若两者的所述第二特征信息不一致,则确认所述待检测应用为存在安全风险的应用。
本发明实施例提供的技术方案带来的有益效果是:
通过提取待检测应用的第一特征信息和第二特征信息,计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度,当相似度达到预定阈值,则检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致,若两者不一致,则确认待检测应用为存在安全风险的应用;解决了现有技术无法有效识别假冒应用的问题,达到了先对应用程序的视觉特征信息进行识别,根据视觉特征信息确定出疑似假冒应用时,再对疑似假冒应用的安装包特征信息进行进一步的检测,最终能够准确地识别出假冒应用的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示意性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的应用安全性检测方法的流程图;
图2是本发明另一个实施例提供的应用安全性检测方法的流程图;
图3是本发明再一个实施例提供的应用安全性检测方法的流程图;
图4是本发明一个实施例提供的应用安全性检测装置的结构方框图;
图5是本发明另一个实施例提供的应用安全性检测装置的结构方框图;
图6是本发明再一个实施例提供的应用安全性检测装置的结构方框图;
图7示出了本发明一个实施例提供的服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明一个实施例提供的应用安全性检测方法的流程图。本实施例以该应用安全性检测方法应用在服务器中来举例说明。该应用安全性检测方法,包括:
步骤101,提取待检测应用的第一特征信息和第二特征信息。
可选地,第一特征信息是应用程序的视觉特征信息。
可选地,第二特征信息是应用程序的安装包特征信息。
步骤102,计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度;
步骤103,检测相似度是否达到预定阈值。
步骤104,若相似度达到预定阈值,则检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致。
步骤105,若两者的第二特征信息不一致,则确认待检测应用为存在安全风险的应用。
综上所述,本实施例提供的应用安全性检测方法,通过提取待检测应用的第一特征信息和第二特征信息,计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度,当相似度达到预定阈值,则检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致,若两者不一致,则确认待检测应用为存在安全风险的应用;解决了现有技术无法有效识别假冒应用的问题,达到了先对应用程序的视觉特征信息进行识别,在确定出疑似假冒应用时,再对疑似假冒应用的安装包特征信息进行进一步的检测,最终能够准确地识别出假冒应用的效果。
请参考图2,本发明另一个实施例提供的应用安全性检测方法的流程图。本实施例以该应用安全性检测方法应用在服务器中来举例说明。该应用安全性检测方法,包括:
步骤201,获取待检测应用。
可选地,服务器获取待检测应用的应用安装包。
可选地,服务器从应用市场中获取应用安装包,该应用安装包是由第三方用户所上传的。
步骤202,提取待检测应用的第一特征信息和第二特征信息。
可选地,第一特征信息包括:应用名称、应用图标和图形用户界面的界面元素中的至少一种。
可选地,第二特征信息包括:应用程序的安装包名称和签名中的至少一种。
示意性的,服务器将待检测应用的应用安装包进行安装,读取安装后的待检测应用的应用名称和应用图标。
示意性的,待检测应用是一个Android(安卓)应用程序,服务器将待检测应用的应用安装包进行解压,从解压后的res/目录读取图形用户界面的界面元素,res/目录是Android应用程序用于存放资源文件的目录。服务器还从解压后得到的mainfest文件中读取package所定义的值,该值即为安装包名称。服务器还从解压后得到的CERT.RSA文件中读取签名信息。
需要说明的是,本实施例对服务器提取待检测应用的第一特征信息和第二特征信息的具体方式不加以限定。
步骤203,计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度。
可选地,在第一特征信息包括应用名称时,设待检测应用的应用名称包括A1个字符,白名单应用包括A2个字符,则服务器统计两个应用名称相同的文字数A3,计算得到应用名称的相似度为A3/X,其中,X为A1和A2中的较小值或较大值或平均值。
可选地,在第一特征信息包括应用图标时,服务器通过第一图像相似度算法计算两个应用图标之间的相似度。
可选地,在第一特征信息包括界面元素时,服务器通过第二图像相似度算法计算两个界面元素之间的相似度。
可选地,服务器通过如下公式计算待检测应用和白名单应用之间的相似度scorei:
scorei=N1*S1+N2*S2+…+Ni*Si
其中,N1为第一特征信息中的第一种特征信息所对应的相似度值,S1为第一特征信息中的第一种特征信息所对应的权值;N2为第一特征信息中的第二种特征信息所对应的相似度值,S2为第一特征信息中第二种特征信息所对应的权值;Ni为第一特征信息中第i种特征信息所对应的相似度值,Si为第一特征信息中第i种特征信息所对应的权值;
其中,i为正整数,N1,S1,N2,S2,Ni,Si均为正数。
当第一特征信息包括:应用名称和应用图标时,i=2;当第一特征信息包括:应用名称、应用图标和图形用户界面的界面元素时,i=3。
步骤204,检测相似度是否达到预定阈值;
当相似度达到预定阈值时,进入步骤205;当相似度未达到预定阈值时,则进入步骤208。
步骤205,当相似度达到预定阈值,则检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致;
可选地,服务器检测待检测应用的安装包名称和白名单应用的安装包名称是否一致,以及待检测应用的签名和白名单应用的签名是否一致;
若安装包名称和签名中存在至少一项特征信息不一致,进入步骤206;若安装包名称和签名均一致,则进入步骤207。
步骤206,若第二特征信息不一致,则确认待检测应用为存在安全风险的应用;
同时,服务器确定该待检测应用是高仿官方应用的假冒应用。
步骤207,若第二特征信息一致,则确认待检测应用是可信任应用。
步骤208,服务器获取另一个白名单应用,重新执行步骤203。
由于白名单库中存在多个白名单应用,服务器获取另一个未进行对比的白名单应用,重新执行步骤203。
综上所述,本实施例提供的应用安全性检测方法,通过提取待检测应用的第一特征信息和第二特征信息,计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度,当相似度达到预定阈值,则检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致,若两者不一致,则确认待检测应用为存在安全风险的应用;解决了现有技术无法有效识别假冒应用的问题,达到了先对应用程序的视觉特征信息进行识别,在确定出疑似假冒应用时,再对疑似假冒应用的安装包特征信息进行进一步的检测,最终能够准确地识别出假冒应用的效果。
本实施例提供的应用安全性检测方法,通过赋予第一特征信息中的每种特征信息相应的权值,由权值累加的方式计算得到相似度,这种计算方式不但能够综合计算多种第一特征信息进行计算,且同时提高了计算得到的相似度的准确性。
请参考图3,本发明再一个实施例提供的应用安全性检测方法的流程图。本实施例以该应用安全性检测方法应用在服务器中来举例说明。该应用安全性检测方法,包括:
步骤301,收集至少一个白名单应用;
可选地,服务器将可信任的应用程序收集为白名单应用。
可信任的应用程序包括但不限于:由各个应用程序开发公司正式发布的官方应用,由运维人员进行认证后的应用程序,用户的有效使用率高于第一阈值的应用程序,用户评分高于预定阈值的应用程序,用户卸载率低于第二阈值的应用程序等等。
需要说明的是,本实施例对服务器收集白名单应用的具体形式不加以限定。
步骤302,提取白名单应用的第一特征信息和第二特征信息;
可选地,第一特征信息是应用程序的视觉特征信息。第一特征信息的内容包括但不限于:应用名称、应用图标和图形用户界面的界面元素中的至少一种。
可选地,第二特征信息是应用程序的安装包特征信息。第二特征信息的内容包括但不限于:应用程序的安装包名称和签名中的至少一种。
示意性的,服务器将白名单应用的应用安装包进行安装,读取安装后的白名单应用的应用名称和应用图标。
示意性的,白名单应用是一个Android(安卓)应用程序,服务器将白名单应用的应用安装包进行解压,从解压后的res/目录读取图形用户界面的界面元素,res/目录是Android应用程序用于存放资源文件的目录。服务器还从解压后得到的mainfest文件中读取package所定义的值,该值即为安装包名称。服务器还从解压后得到的CERT.RSA文件中读取签名信息。
需要说明的是,本实施例对服务器提取白名单应用的第一特征信息和第二特征信息的具体方式不加以限定。
步骤303,根据白名单应用的第一特征信息和第二特征信息建立白名单库;
可选地,白名单库包括与白名单应用所对应的第一特征信息和第二特征信息。
表一示意性地示出了白名单库中的内容:
应用名称 | 应用图标 | 界面元素 | 安装包名称 | 签名 |
小鸟游戏 | 小鸟图标 | 圆形按钮A | aaa.apk | Company A |
床头阅读 | 文字图标 | 方形按钮B | bbb.apk | Company B |
音乐电台 | 音符图标 | 圆角矩形按钮C | ccc.apk | Company C |
美肤相机 | 相机图标 | 椭圆按钮D | ddd.apk | Company D |
步骤304,获取待检测应用。
可选地,服务器获取待检测应用的应用安装包。
可选地,服务器从应用市场中获取应用安装包,该应用安装包是由第三方用户所上传的。
步骤305,提取待检测应用的第一特征信息和第二特征信息。
可选地,第一特征信息包括:应用名称、应用图标和图形用户界面的界面元素中的至少一种。
可选地,第二特征信息包括:应用程序的安装包名称和签名中的至少一种。
示意性的,服务器将待检测应用的应用安装包进行安装,读取安装后的待检测应用的应用名称和应用图标。
示意性的,待检测应用是一个Android(安卓)应用程序,服务器将待检测应用的应用安装包进行解压,从解压后的res/目录读取图形用户界面的界面元素,res/目录是Android应用程序用于存放资源文件的目录。服务器还从解压后得到的mainfest文件中读取package所定义的值,该值即为安装包名称。服务器还从解压后得到的CERT.RSA文件中读取签名信息。
需要说明的是,本实施例对服务器提取待检测应用的第一特征信息和第二特征信息的具体方式不加以限定。
步骤306,计算待检测应用的第一特征信息和白名单库中的第i个白名单应用的第一特征信息的相似度;
可选地,服务器获取白名单库中的第i个白名单应用,将待检测应用与第i个白名单应用进行对比。其中,i为正整数,且i的初始值为1。
可选地,在第一特征信息包括应用名称时,设待检测应用的应用名称包括A1个字符,白名单应用包括A2个字符,则服务器统计两个应用名称相同的文字数A3,计算得到应用名称的相似度为A3/X,其中,X为A1和A2中的较小值或较大值或平均值。
可选地,在第一特征信息包括应用图标时,服务器通过第一图像相似度算法计算两个应用图标之间的相似度。
可选地,在第一特征信息包括界面元素时,服务器通过第二图像相似度算法计算两个界面元素之间的相似度。
可选地,服务器通过如下公式计算待检测应用和白名单应用之间的相似度scorei:
scorei=N1*S1+N2*S2+…+Ni*Si
其中,N1为第一特征信息中的第一种特征信息所对应的相似度值,S1为第一特征信息中的第一种特征信息所对应的权值;N2为第一特征信息中的第二种特征信息所对应的相似度值,S2为第一特征信息中第二种特征信息所对应的权值;Ni为第一特征信息中第i种特征信息所对应的相似度值,Si为第一特征信息中第i种特征信息所对应的权值;
其中,i为正整数,N1,S1,N2,S2,Ni,Si均为正数。
当第一特征信息包括:应用名称和应用图标时,i=2;当第一特征信息包括:应用名称、应用图标和图形用户界面的界面元素时,i=3。
步骤307,检测相似度是否达到预定阈值;
当相似度达到预定阈值时,进入步骤308;当似度未达到预定阈值时,则进入步骤311。
步骤308,当相似度达到预定阈值,则检测待检测应用的第二特征信息和第i个白名单应用的第二特征信息是否一致;
可选地,服务器检测待检测应用的安装包名称和白名单应用的安装包名称是否一致,以及待检测应用的签名和白名单应用的签名是否一致;
若安装包名称和签名中存在至少一项特征信息不一致,进入步骤309;若安装包名称和签名均一致,则进入步骤310。
步骤309,若第二特征信息不一致,则确认待检测应用为存在安全风险的应用;
同时,服务器确定该待检测应用是高仿官方应用的假冒应用。
步骤310,若第二特征信息一致,则确认待检测应用是可信任应用。
步骤311,服务器检测待检测应用的第二特征信息和第i个白名单应用的第二特征信息是否一致;
步骤312,若待检测应用的安装包名称与第i个白名单应用的安装包名称一致,但待检测应用的签名与第i个白名单应用的签名不一致,则确认待检测应用为存在安全风险的应用;
同时,服务器确定该待检测应用是被破解的官方应用或被重打包的官方应用。
步骤313,若待检测应用的安装包名称与第i个白名单应用的安装包名称不一致,且待检测应用的签名与第i个白名单应用的签名不一致,则服务器判断第i个白名单应用是否为白名单库中的最后一个白名单应用;
步骤314,若第i个白名单应用不是白名单库中的最后一个白名单应用,则令i=i+1,重新执行步骤306;
步骤315,若第i个白名单应用是白名单库中的最后一个白名单应用,则确定待检测应用是可信任应用或者无法识别安全风险的应用。
综上所述,本实施例提供的应用安全性检测方法,通过提取待检测应用的第一特征信息和第二特征信息,计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度,当相似度达到预定阈值,则检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致,若两者不一致,则确认待检测应用为存在安全风险的应用;解决了现有技术无法有效识别假冒应用的问题,达到了先对应用程序的视觉特征信息进行识别,在确定出疑似假冒应用时,再对疑似假冒应用的安装包特征信息进行进一步的检测,最终能够准确地识别出假冒应用的效果。
本实施例提供的应用安全性检测方法,通过赋予第一特征信息中的每种特征信息相应的权值,由权值累加的方式计算得到相似度,这种计算方式不但能够综合计算多种第一特征信息进行计算,且同时提高了计算得到的相似度的准确性。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图4,其示出了发明一个实施例提供的应用安全性检测装置的结构方框图。该应用安全性检测装置可以通过专用硬件电路,或者,软硬件的结合来实现成为服务器的全部或一部分。该应用安全性检测装置,包括:
第一提取模块401,用于提取待检测应用的第一特征信息和第二特征信息。
可选地,第一特征信息是应用程序的视觉特征信息。
可选地,第二特征信息是应用程序的安装包特征信息。
相似计算模块402,用于计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度。
第一检测模块403,用于检测相似度是否达到预定阈值;
第二检测模块404,用于若相似度达到预定阈值,则检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致;
应用确认模块405,用于若两者的第二特征信息不一致,则确认待检测应用为存在安全风险的应用。
综上所述,本实施例提供的应用安全性检测装置,通过提取待检测应用的第一特征信息和第二特征信息,计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度,当相似度达到预定阈值,则检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致,若两者不一致,则确认待检测应用为存在安全风险的应用;解决了现有技术无法有效识别假冒应用的问题,达到了先对应用程序的视觉特征信息进行识别,在确定出疑似假冒应用时,再对疑似假冒应用的安装包特征信息进行进一步的检测,最终能够准确地识别出假冒应用的效果。
请参考图5,其示出了发明另一个实施例提供的应用安全性检测装置的结构方框图。该应用安全性检测装置可以通过专用硬件电路,或者,软硬件的结合来实现成为服务器的全部或一部分。该应用安全性检测装置,包括:
第一提取模块501,用于提取待检测应用的第一特征信息和第二特征信息。
相似计算模块502,用于计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度。
第一检测模块503,用于检测相似度是否达到预定阈值。
第二检测模块504,用于若相似度达到预定阈值,则检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致。
可选地,第二检测模块504包括第一检测单元5041。
第一检测单元5041,用于当第一检测模块504的检测结果为相似度达到预定阈值时,检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致。
第一确认模块505,用于若安装包名称和签名中存在至少一项特征信息不一致,则确认待检测应用为存在安全风险的应用。
应用确认模块506,用于若两者的第二特征信息不一致,则确认待检测应用为存在安全风险的应用。
综上所述,本实施例提供的应用安全性检测装置,通过提取待检测应用的第一特征信息和第二特征信息,计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度,当相似度达到预定阈值,则检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致,若两者不一致,则确认待检测应用为存在安全风险的应用;解决了现有技术无法有效识别假冒应用的问题,达到了先对应用程序的视觉特征信息进行识别,在确定出疑似假冒应用时,再对疑似假冒应用的安装包特征信息进行进一步的检测,最终能够准确地识别出假冒应用的效果。
本实施例提供的应用安全性检测装置,通过赋予特征信息相应的权值,由权值累加计算相似度。这种计算方式不但方便综合计算多种特征信息,且同时提高了计算结果的准确性,解决了复杂冗长的计算式,更容易快速准确获取相似度值。
请参考图6,其示出了发明再一个实施例提供的应用安全性检测装置的结构方框图。该应用安全性检测装置可以通过专用硬件电路,或者,软硬件的结合来实现成为服务器的全部或一部分。该应用安全性检测装置,包括:
应用收集模块601,用于收集至少一个白名单应用。
第二提取模块602,用于提取白名单应用的第一特征信息和第二特征信息。
名单建立模块603,用于根据白名单应用的第一特征信息和第二特征信息建立白名单库。
第一提取模块604,用于提取待检测应用的第一特征信息和第二特征信息。
相似计算模块605,用于计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度。
第一检测模块606,用于检测相似度是否达到预定阈值。
第二检测模块607,用于当第一检测模块606的检测结果为相似度达到预定阈值时,检测待检测应用的第二特征信息和第i个白名单应用的第二特征信息是否一致。
可选地,第二检测模块607,包括第一检测单元6071。
第一检测单元6071,用于当第一检测模块606的检测结果为相似度达到预定阈值时,检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致。
第一确认模块608,用于若安装包名称和签名中存在至少一项特征信息不一致,则确认待检测应用为存在安全风险的应用。
应用确认模块609,用于若两者的第二特征信息不一致,则确认待检测应用为存在安全风险的应用。
综上所述,本实施例提供的应用安全性检测装置,通过提取待检测应用的第一特征信息和第二特征信息,计算待检测应用的第一特征信息和白名单应用的第一特征信息的相似度,当相似度达到预定阈值,则检测待检测应用的第二特征信息和白名单应用的第二特征信息是否一致,若两者不一致,则确认待检测应用为存在安全风险的应用;解决了现有技术无法有效识别假冒应用的问题,达到了先对应用程序的视觉特征信息进行识别,在确定出疑似假冒应用时,再对疑似假冒应用的安装包特征信息进行进一步的检测,最终能够准确地识别出假冒应用的效果。
本实施例提供的应用安全性检测装置,通过赋予第一特征信息中的每种特征信息相应的权值,由权值累加的方式计算得到相似度,这种计算方式不但能够综合计算多种第一特征信息进行计算,且同时提高了计算得到的相似度的准确性。
图7示出了本发明一个实施例提供的服务器的结构示意图。该服务器可以是后台服务器集群140中的服务器。具体来讲:
服务器700包括中央处理单元(CPU)701、包括随机存取存储器(RAM)702和只读存储器(ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。服务器700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。
基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中显示器708和输入设备709都通过连接到系统总线705的输入输出控制器710连接到中央处理单元701。基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。大容量存储设备707及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,大容量存储设备707可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
根据本发明的各种实施例,服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行实现如上图1至3任一所示出的应用安全性检测方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示意性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (6)
1.一种应用安全性检测方法,其特征在于,所述方法包括:
收集至少一个白名单应用;提取所述白名单应用的第一特征信息和第二特征信息,所述第一特征信息是应用程序的视觉特征信息,所述第二特征信息是应用程序的安装包特征信息,所述第一特征信息包括:应用名称、应用图标和图形用户界面的界面元素;所述第二特征信息包括应用程序的安装包名称和签名;根据所述白名单应用的所述第一特征信息和所述第二特征信息建立白名单库,所述白名单库包括与所述白名单应用所对应的所述第一特征信息和所述第二特征信息;
提取待检测应用的第一特征信息和第二特征信息;
对于所述白名单库中的任一个白名单应用,获取所述第一特征信息包含的每种特征信息对应的相似度值和权值,当所述第一特征信息包括所述应用名称时,所述应用名称对应的第一相似度值的获取方式为:获取所述待检测应用的应用名称和所述白名单应用的应用名称之间相同的字符数,基于所述相同的字符数和目标字符数,确定所述第一相似度值,所述目标字符数为:两个应用名称的字符平均值,或,字符数少的应用名称包含的字符数,或,字符数多的应用名称包含的字符数;当所述第一特征信息包括所述界面元素时,所述界面元素对应的第二相似度获取方式为:通过图像相似度算法获取所述第二相似度值;
基于所述每种特征信息对应的相似度值和权值,计算所述待检测应用和所述白名单应用在所述第一特征信息上的相似度;
检测所述相似度是否达到预定阈值;
若所述相似度达到预定阈值,则检测所述待检测应用的所述安装包名称和所述白名单应用的所述安装包名称是否一致,以及所述待检测应用的所述签名和所述白名单应用的所述签名是否一致;若所述安装包名称和所述签名中存在至少一项特征信息不一致,则确认所述待检测应用为存在安全风险的应用;
若所述相似度未达到所述预定阈值,且所述待检测应用的所述安装包名称与所述白名单应用的所述安装包名称不一致,且所述待检测应用的所述签名与所述白名单应用的所述签名不一致,且所述白名单应用是所述白名单库中的最后一个白名单应用,则确定所述待检测应用为可信任应用。
2.根据权利要求1所述的方法,其特征在于,所述第一特征信息包括i种特征信息;通过如下公式计算所述相似度scorei:
scorei=N1*S1+N2*S2+…+Ni*Si
其中,N1为所述第一特征信息中的第一种特征信息所对应的相似度值,S1为所述第一特征信息中的第一种特征信息所对应的权值;N2为所述第一特征信息中的第二种特征信息所对应的相似度值,S2为所述第一特征信息中第二种特征信息所对应的权值;Ni为所述第一特征信息中第i种特征信息所对应的相似度值,Si为所述第一特征信息中第i种特征信息所对应的权值;
其中,i为正整数,N1,S1,N2,S2,Ni,Si均为正数。
3.一种应用安全性检测装置,其特征在于,所述装置包括:
应用收集模块,用于收集至少一个白名单应用;
第二提取模块,用于提取所述白名单应用的第一特征信息和第二特征信息,所述第一特征信息是应用程序的视觉特征信息,所述第二特征信息是应用程序的安装包特征信息,所述第一特征信息包括:应用名称、应用图标和图形用户界面的界面元素;所述第二特征信息包括应用程序的安装包名称和签名;
名单建立模块,用于根据所述白名单应用的所述第一特征信息和第二特征信息建立白名单库,所述白名单库包括与所述白名单应用所对应的所述第一特征信息和所述第二特征信息;
第一提取模块,用于提取待检测应用的第一特征信息和第二特征信息;
相似计算模块,用于对于所述白名单库中的任一个白名单应用,获取所述第一特征信息包含的每种特征信息对应的相似度值和权值,当所述第一特征信息包括所述应用名称时,所述应用名称对应的第一相似度值的获取方式为:获取所述待检测应用的应用名称和所述白名单应用的应用名称之间相同的字符数,基于所述相同的字符数和目标字符数,确定所述第一相似度值,所述目标字符数为:两个应用名称的字符平均值,或,字符数少的应用名称包含的字符数,或,字符数多的应用名称包含的字符数;当所述第一特征信息包括所述界面元素时,所述界面元素对应的第二相似度获取方式为:通过图像相似度算法获取所述第二相似度值;基于所述每种特征信息对应的相似度值和权值,计算所述待检测应用和所述白名单应用在所述第一特征信息上的相似度;
第一检测模块,用于检测所述相似度是否达到预定阈值;
第二检测模块,用于若所述相似度达到预定阈值,则检测所述待检测应用的所述安装包名称和所述白名单应用的所述安装包名称是否一致,以及所述待检测应用的所述签名和所述白名单应用的所述签名是否一致;
应用确认模块,用于若所述安装包名称和所述签名中存在至少一项特征信息不一致,则确认所述待检测应用为存在安全风险的应用;
所述应用确认模块,还用于若所述相似度未达到所述预定阈值,且所述待检测应用的安装包名称与所述白名单应用的安装包名称不一致,且所述待检测应用的签名与所述白名单应用的签名不一致,且所述白名单应用是所述白名单库中的最后一个白名单应用,则确定所述待检测应用为可信任应用。
4.根据权利要求3所述的装置,其特征在于,所述第一特征信息包括i种特征信息;
所述相似计算模块,包括:
通过如下公式计算所述相似度scorei:
scorei=N1*S1+N2*S2+…+Ni*Si
其中,N1为所述第一特征信息中的第一种特征信息所对应的相似度值,S1为所述第一特征信息中的第一种特征信息所对应的权值;N2为所述第一特征信息中的第二种特征信息所对应的相似度值,S2为所述第一特征信息中第二种特征信息所对应的权值;Ni为所述第一特征信息中第i种特征信息所对应的相似度值,Si为所述第一特征信息中第i种特征信息所对应的权值;
其中,i为正整数,N1,S1,N2,S2,Ni,Si均为正数。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序被中央处理单元用来执行权利要求1-2中任一项所述的应用安全性检测方法。
6.一种服务器,其特征在于,所述服务器包括中央处理单元和存储器,所述存储器中存储有一个或者一个以上程序,所述一个或者一个以上程序由所述中央处理单元加载并执行权利要求1-2中任一项所述的应用安全性检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610677718.3A CN107766726B (zh) | 2016-08-16 | 2016-08-16 | 应用安全性检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610677718.3A CN107766726B (zh) | 2016-08-16 | 2016-08-16 | 应用安全性检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107766726A CN107766726A (zh) | 2018-03-06 |
CN107766726B true CN107766726B (zh) | 2019-11-15 |
Family
ID=61260240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610677718.3A Active CN107766726B (zh) | 2016-08-16 | 2016-08-16 | 应用安全性检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766726B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920909B (zh) * | 2018-06-30 | 2022-04-15 | 平安科技(深圳)有限公司 | 仿冒移动应用程序判别方法及系统 |
CN112016606A (zh) * | 2020-08-20 | 2020-12-01 | 恒安嘉新(北京)科技股份公司 | 一种应用程序app的检测方法、装置、设备及存储介质 |
CN114547593A (zh) * | 2020-11-18 | 2022-05-27 | 成都鼎桥通信技术有限公司 | 终端应用认证方法、装置及设备 |
CN113014591B (zh) * | 2021-03-08 | 2023-04-21 | 中国工商银行股份有限公司 | 假冒公众号的检测方法和装置、电子设备、及介质 |
CN113434825A (zh) * | 2021-07-07 | 2021-09-24 | 成都新希望金融信息有限公司 | 基于计算机视觉的应用程序造假识别方法、装置和电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222199B (zh) * | 2011-06-03 | 2013-05-08 | 奇智软件(北京)有限公司 | 应用程序身份识别方法及系统 |
CN104123493B (zh) * | 2014-07-31 | 2017-09-26 | 百度在线网络技术(北京)有限公司 | 应用程序的安全性检测方法和装置 |
CN104657504A (zh) * | 2015-03-12 | 2015-05-27 | 四川神琥科技有限公司 | 一种文件快速识别方法 |
CN105426706B (zh) * | 2015-11-20 | 2018-06-15 | 北京奇虎科技有限公司 | 盗版应用检测方法和装置、系统 |
-
2016
- 2016-08-16 CN CN201610677718.3A patent/CN107766726B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107766726A (zh) | 2018-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766726B (zh) | 应用安全性检测方法和装置 | |
US20200195667A1 (en) | Url attack detection method and apparatus, and electronic device | |
US11068964B2 (en) | Method and device for processing service request | |
CN106453209B (zh) | 一种身份验证方法和装置 | |
US9767090B2 (en) | Correcting questionable line breaks after an OCR | |
US20140373178A1 (en) | Method, Apparatus and Server for User Verification | |
CN109316747B (zh) | 游戏辅助信息提示方法、装置及电子设备 | |
WO2017032265A1 (zh) | 一种应用推送方法、装置及服务设备 | |
CN108306886B (zh) | 一种身份验证方法、装置及存储介质 | |
CN104866770B (zh) | 敏感数据扫描方法和系统 | |
US9202035B1 (en) | User authentication based on biometric handwriting aspects of a handwritten code | |
CN108090351A (zh) | 用于处理请求消息的方法和装置 | |
CN111090615A (zh) | 混合资产的分析处理方法、装置、电子设备及存储介质 | |
CN109697414A (zh) | 一种文本定位方法及装置 | |
US11288346B1 (en) | System and method for authenticating users using weak authentication techniques, with differences for different features | |
CN109002733A (zh) | 一种对设备进行可信性评价的方法及装置 | |
CN106789973B (zh) | 页面的安全性检测方法及终端设备 | |
US9317887B2 (en) | Similarity calculating method and apparatus | |
WO2017000341A1 (zh) | 一种信息处理方法、装置以及终端 | |
CN106250755B (zh) | 用于生成验证码的方法及装置 | |
CN113537151B (zh) | 图像处理模型的训练方法及装置、图像处理方法及装置 | |
CN106663123A (zh) | 以评论为中心的新闻阅读器 | |
US20190155863A1 (en) | Associating user logs using geo-point density | |
CN112256911A (zh) | 一种音频匹配方法、装置和设备 | |
US9539514B2 (en) | Method and system for generating signatures and locating/executing associations for a game program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |