CN110704104A - 一种应用仿冒检测方法、智能终端及存储介质 - Google Patents
一种应用仿冒检测方法、智能终端及存储介质 Download PDFInfo
- Publication number
- CN110704104A CN110704104A CN201910972286.2A CN201910972286A CN110704104A CN 110704104 A CN110704104 A CN 110704104A CN 201910972286 A CN201910972286 A CN 201910972286A CN 110704104 A CN110704104 A CN 110704104A
- Authority
- CN
- China
- Prior art keywords
- application
- information
- apk
- icon
- file
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 claims abstract description 24
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 64
- 238000010586 diagram Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000007781 pre-processing Methods 0.000 claims description 11
- 230000002787 reinforcement Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
- G06F8/751—Code clone detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Technology Law (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种应用仿冒检测方法、智能终端及存储介质,在判断应用是否为仿冒应用时,获取应用的基本信息和界面文字信息、获取所述应用的图标以及获取所述应用的代码,当每个所述应用经过基本信息仿冒检测、图标仿冒检测以及代码仿冒检测后,任意一个检测满足条件的所述应用判定为仿冒的APK应用;本发明通过应用基本信息相似性检测、应用图标相似性检测以及应用代码仿冒检测,对疑似仿冒应用和被仿冒应用进行信息对比,分析出三个方面两个应用的相似度,可以全面综合检测出仿冒应用,有效识别安全风险,降低仿冒应用的危害。
Description
技术领域
本发明涉及应用检测技术领域,尤其涉及一种应用仿冒检测方法、智能终端及存储介质。
背景技术
仿冒软件是一类在未经正版软件生产商许可下,在外观或内容上仿造或复制其他正版软件的软件,用户一般较难发现这类软件,或者当发现的时候已经对用户造成了损失。现在应用市场上充斥着大量的仿冒Android应用,这些仿冒应用存在的网络诈骗的事件日益增多,先后出现了“网络投资”、“网络交友”、“网购返利”等新型网络诈骗手段。
现有技术中对应用仿冒的检测方法一般过人为检测的方法,例如个应用的图标、应用的内容,主要界面是否和正版应用的基本一致等方法,使用这些方法后,如图片仿冒能发现一个应用模仿另外一个应用,页面仿冒能发现一个应用在页面是模拟另外一个页面,但是这些检测方法的缺陷是都只能发现一部分的仿冒的问题,都无法综合性的检测应用是否仿冒,也就是说,现有的检测技术是碎片化的,不成体系的,有些是检测应用的图标,有些是检测应用的页面布局是否有仿冒,而这些检测很难全面的发现应用的仿冒关系,无法有效识别仿冒应用的安全风险。
因此,现有技术还有待于改进和发展。
发明内容
本发明的主要目的在于提供一种应用仿冒检测方法、智能终端及存储介质,旨在解决现有技术中无法综合性的检测应用是否仿冒,导致无法有效识别仿冒应用的安全风险的问题。
为实现上述目的,本发明提供一种应用仿冒检测方法,包括如下步骤:
获取应用的基本信息和界面文字信息,根据所述基本信息和所述界面文字信息与标准应用进行比对后获取信息相似度超过第一阈值的APK应用;
获取所述应用的图标,将所述图标进行预处理之后与所述标准应用的图标进行比较,获取与所述标准应用的方差差值小于第二阈值的APK应用;
获取所述应用的代码,并获取所述代码中的四个关键指标,对四个所述关键指标的信息进行相似性比较,获取满足任意三个所述关键指标雷同的APK应用;
当每个所述应用经过基本信息仿冒检测、图标仿冒检测以及代码仿冒检测后,任意一个检测满足条件的所述应用判定为仿冒的APK应用。
可选地,所述的应用仿冒检测方法,其中,所述基本信息包括应用名称、包名、文件大小、版本信息、文件MD5、签名信息、加固厂商以及第三方SDK数量。
可选地,所述的应用仿冒检测方法,其中,所述获取应用的基本信息和界面文字信息,根据所述基本信息和所述界面文字信息与标准应用进行比对后获取信息相似度超过阈值的APK应用,具体包括:
通过所述应用的应用名称、包名、文件大小、版本信息、文件MD5、签名信息、加固厂商以及第三方SDK数量与所述标准应用进行基本信息的比对,获取信息相似度超过所述第一阈值的APK应用;
根据所述界面文字信息分析所述应用中资源目录下的布局文件,通过所述布局文件获取控件信息,并根据所述控件信息获取关联的文字信息,获取与所述标准应用信息相似度超过所述第一阈值的APK应用;
当所述APK应用与所述标准应用的信息相似度超过所述第一阈值时,判定所述APK应用与所述标准应用为相类似的APK。
可选地,所述的应用仿冒检测方法,其中,所述预处理包括:图标缩放、灰度处理、平均值计算以及方差计算。
可选地,所述的应用仿冒检测方法,其中,所述获取所述应用的图标,将所述图标进行预处理之后与所述标准应用的图标进行比较,获取与所述标准应用的方差差值小于第二阈值的APK应用,具体包括:
将获取到的所述图标缩放到指定尺寸,根据所述图标的信息量和复杂度确定缩放后的图标大小;
通过灰度处理将经过缩放后的图标处理为灰度图,用于降低计算复杂度;
依次计算并记录所述灰度图每行像素点的平均值,每一个平均值对应一行的特征;
计算所有平均值的方差,所述方差为图像的特征值,所述方差用于反应每行像素特征的波动;
计算所有方差值与所述标准应用方差的方差值,当所述方差值小于第二阈值的APK应用时,则判定所述APK应用与所述标准应用为相类似的APK。
可选地,所述的应用仿冒检测方法,其中,四个所述关键指标为:DEX代码中的使用的字符串、DEX文件中调用的所有系统API信息、DEX文件中对系统API和SO中API调用关系树形图、以及SO文件和版本信息。
可选地,所述的应用仿冒检测方法,其中,所述获取所述应用的代码,并获取所述代码中的四个关键指标,对四个所述关键指标的信息进行相似性比较,获取满足任意三个所述关键指标雷同的APK应用,具体包括:
获取所述应用的代码,并获取所述DEX代码中的使用的字符串、所述DEX文件中调用的所有系统API信息、所述DEX文件中对系统API和SO中API调用关系树形图、以及所述SO文件和版本信息;
将所述应用的所述DEX代码中的使用的字符串与所述标准应用的字符串进行类似比较,判断代码是否类似;
将所述应用的所述DEX文件中调用的所有系统API信息,与所述标准应用的系统API信息进行类似比较,判断代码是否类似;
对系统API和SO中导出API调用列表进行罗列,并由代码关系形成系统API和SO中导出API调用关系树形图,形成树形的调用关系图,通过与所述标准应用的结构图比较,判断代码是否类似;
在所述应用的所述SO文件和版本信息中获取SO文件的列表和SO文件的HASH值形成APK信息,与所述标准应用的APK信息进行类似比较,判断代码是否类似;
当所述应用满足任意三个所述关键指标雷同时,则判定所述应用为仿冒的APK应用。
可选地,所述的应用仿冒检测方法,其中,所述基本信息仿冒检测、所述图标仿冒检测以及所述代码仿冒检测的检测顺序根据所述应用进行随机组合。
此外,为实现上述目的,本发明还提供一种智能终端,其中,所述智能终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的应用仿冒检测程序,所述应用仿冒检测程序被所述处理器执行时实现如上所述的应用仿冒检测方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,其中,所述存储介质存储有应用仿冒检测程序,所述应用仿冒检测程序被处理器执行时实现如上所述的应用仿冒检测方法的步骤。
本发明通过获取应用的基本信息和界面文字信息,根据所述基本信息和所述界面文字信息与标准应用进行比对后获取信息相似度超过第一阈值的APK应用;获取所述应用的图标,将所述图标进行预处理之后与所述标准应用的图标进行比较,获取与所述标准应用的方差差值小于第二阈值的APK应用;获取所述应用的代码,并获取所述代码中的四个关键指标,对四个所述关键指标的信息进行相似性比较,获取满足任意三个所述关键指标雷同的APK应用;当每个所述应用经过基本信息仿冒检测、图标仿冒检测以及代码仿冒检测后,任意一个检测满足条件的所述应用判定为仿冒的APK应用。本发明在判断应用是否为仿冒应用时,通过应用基本信息相似性检测、应用图标相似性检测以及应用代码仿冒检测,对疑似仿冒应用和被仿冒应用进行信息对比,分析出三个方面两个应用的相似度,可以全面综合检测出仿冒应用,有效识别安全风险,降低仿冒应用的危害。
附图说明
图1是本发明应用仿冒检测方法的较佳实施例的流程图;
图2是本发明应用仿冒检测方法的较佳实施例中步骤S10的流程图;
图3是本发明应用仿冒检测方法的较佳实施例中步骤S20的流程图;
图4是本发明应用仿冒检测方法的较佳实施例中两张图片的方差大小分布示意图;
图5是本发明应用仿冒检测方法的较佳实施例中步骤S30的流程图;
图6为本发明智能终端的较佳实施例的运行环境示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明较佳实施例所述的应用仿冒检测方法,如图1所示,所述应用仿冒检测方法包括以下步骤:
步骤S10、获取应用的基本信息和界面文字信息,根据所述基本信息和所述界面文字信息与标准应用进行比对后获取信息相似度超过第一阈值的APK应用。
具体地,APK(Android application package,Android应用程序包)基本信息是反应一个APK包名、大小、版本信息、签名信息、加固信息等的重要信息,是判断一个APK最基础的信息,所述基本信息包括应用名称、包名、文件大小、版本信息、文件MD5、签名信息、加固厂商以及第三方SDK数量主要包含以下信息:应用名称、包名、文件大小、版本信息、文件MD5、签名信息、加固厂商、第三方SDK数量。通过APK包名、大小、版本信息、签名信息、加固信息等信息进行基本信息的比对,可以找出信息相似的APK应用。
具体的过程请参阅图2,其为本发明提供的应用仿冒检测方法中步骤S10的流程图。
如图2所示,所述步骤S10包括:
S11、通过所述应用的应用名称、包名、文件大小、版本信息、文件MD5、签名信息、加固厂商以及第三方SDK数量与所述标准应用进行基本信息的比对,获取信息相似度超过所述第一阈值的APK应用;
S12、根据所述界面文字信息分析所述应用中资源目录下的布局文件,通过所述布局文件获取控件信息,并根据所述控件信息获取关联的文字信息,获取与所述标准应用信息相似度超过所述第一阈值的APK应用;
S13、当所述APK应用与所述标准应用的信息相似度超过所述第一阈值时,判定所述APK应用与所述标准应用为相类似的APK。
通过分析APK当中资源目录下的布局文件,通过布局文件获取到控件信息,并通过控件信息获取到关联的文字信息,界面信息的相似度是基本信息相似度的一个辅助,通过对比界面信息的相似度两个应用文字信息重复率在70%以上,判断出相类似的APK。也就是说,所述第一阈值的取值可以是70%。
步骤S20、获取所述应用的图标,将所述图标进行预处理之后与所述标准应用的图标进行比较,获取与所述标准应用的方差差值小于第二阈值的APK应用。
通过解析AndroidManifest.xml文件(是APK文件中的主要配置文件),解析application节点,获取android:icon属性(application节点的android:icon属性说明的是APK图标文件的位置),得到图标资源文件名,图标资源大多数位于/drawable-hdpi目录下,获取到APK的图标文件(即获取所述图标的过程)。
其中,所述预处理包括:图标缩放、灰度处理、平均值计算以及方差计算。
图标缩放(缩放图片):将需要处理的图片缩放到指定尺寸,图标文件按照像素可以分成16*16、24*24、32*32不同的大小,如果两个图标的大小不统一,进行相似度比较会有较大误差;如果两个图标大小不一致,将小的图标放大为大的图标的大小。缩放后图片大小由图片的信息量和复杂度决定。譬如,一些简单的图标之类图像包含的信息量少,复杂度低(复杂度低是指画面色彩单一,图形图案简单),可以缩放小一点;风景等复杂场景信息量大,复杂度高就不能缩放太小,容易丢失重要信息。根据需求进行弹性的缩放,在效率和准确度之间维持平衡。
灰度处理:通常对比图像相似度和颜色关系不是很大,所以将图标处理为灰度图,减少后期计算的复杂度,如果有特殊需求则保留图像色彩。
平均值计算:与传统的哈希算法不同,此处分别依次计算图标每行像素点的平均值,并记录每行像素点的平均值,每一个平均值对应一行的特征。
方差计算:对得到的所有平均值进行计算方差,得到的方差就是图像的特征值;方差可以很好的反应每行像素特征的波动,即记录了图片的主要信息。
具体的过程请参阅图3,其为本发明提供的应用仿冒检测方法中步骤S20的流程图。
如图3所示,所述步骤S20包括:
S21、将获取到的所述图标缩放到指定尺寸,根据所述图标的信息量和复杂度确定缩放后的图标大小;
S22、通过灰度处理将经过缩放后的图标处理为灰度图,用于降低计算复杂度;
S23、依次计算并记录所述灰度图每行像素点的平均值,每一个平均值对应一行的特征;
S24、计算所有平均值的方差,所述方差为图像的特征值,所述方差用于反应每行像素特征的波动;
S25、计算所有方差值与所述标准应用方差的方差值,当所述方差值小于第二阈值的APK应用时,则判定所述APK应用与所述标准应用为相类似的APK。
经过上面的计算之后,每张图都会生成一个特征值(方差),到此,比较图像相似度就是比较图像生成方差的接近成程度,如图4所示,举例两幅图像方差运算:
(图片1)Img1:357.03162469135805(图片1的方差大小);
(图片2)Img2:202.56193703703704(图片2的方差大小);
那么两张照片的方差值(方差的差值)为:154.469687654321;当所述方差值小于第二阈值的APK应用时,则判定所述APK应用与所述标准应用为相类似的APK,假设第二阈值大小为50,那么上面两张图片的方差的差值大于所述第二阈值,那么可以认为该应用不是类似的应用,也就不是仿冒的应用。
进一步地,一组数据方差的大小可以判断稳定性,多组数据方差的接近程度可以反应数据波动的接近程度,不需要关注方差的大小,只关注两个方差的差值的大小,方差差值越小图像越相似,因为两个APK的图标相似度越高,就越代表着APK存在图标仿冒的情况。
步骤S30、获取所述应用的代码,并获取所述代码中的四个关键指标,对四个所述关键指标的信息进行相似性比较,获取满足任意三个所述关键指标雷同的APK应用。
其中,四个所述关键指标为:DEX代码中的使用的字符串、DEX文件中调用的所有系统API信息、DEX文件中对系统API和SO中API调用关系树形图、以及SO文件和版本信息。
进行代码相似度检测的关键指标要满足不容易被变形加固等方式改变掉的信息,同时又是能反应DEX代码结构的关键信息。
本发明选取了DEX代码中的使用的字符串、DEX文件中调用的所有系统API信息、系统API列表和SO中API调用关系树、SO文件和版本信息四个关键指标。DEX很容易被混淆,变形,类名函数名经过处理后和处理前差异很大。在众多变化的信息当中,也有一些不会变化的信息,提炼出来一些相对固定的信息,比如DEX代码内部的字符串,代码混淆后还是存在的;SO文件信息和版本信息,一个DEX再怎么混淆,它所依赖的SO文件的版本和范围是不会改变的;系统API和SO中API的调用数量和调用关系树也是不会变化的。
具体的过程请参阅图5,其为本发明提供的应用仿冒检测方法中步骤S30的流程图。
如图5所示,所述步骤S30包括:
S31、获取所述应用的代码,并获取所述DEX代码中的使用的字符串、所述DEX文件中调用的所有系统API信息、所述DEX文件中对系统API和SO中API调用关系树形图、以及所述SO文件和版本信息;
S32、将所述应用的所述DEX代码中的使用的字符串与所述标准应用的字符串进行类似比较,判断代码是否类似;
S33、将所述应用的所述DEX文件中调用的所有系统API信息,与所述标准应用的系统API信息进行类似比较,判断代码是否类似;
S34、对系统API和SO中导出API调用列表进行罗列,并由代码关系形成系统API和SO中导出API调用关系树形图,形成树形的调用关系图,通过与所述标准应用的结构图比较,判断代码是否类似;
S35、在所述应用的所述SO文件和版本信息中获取SO文件的列表和SO文件的HASH值形成APK信息,与所述标准应用的APK信息进行类似比较,判断代码是否类似;
S36、当所述应用满足任意三个所述关键指标雷同时,则判定所述应用为仿冒的APK应用。
具体地,DEX中含有的字符串种类非常的多,有说明Field信息的、有说明Method信息的、有说明Class定义信息的、还有是说明Type信息的,但本发明引用的字符串是代码里边使用的字符串,这类字符串在混淆过程中一般不会处理掉。
系统API列表是指调用系统API的所有API的集合,一个DEX调用API的范围都是确定的,经过代码变形或者部分代码的修改,API接口的调用变化不会太大,这个指标也是比较代码相似性的可靠指标。
系统API调用的入口是稳定的参照物,和其他的API接口不同,系统API稳定的处在接口的调用的最底层,不会因为代码变形发生变化;同一个API会被多个函数所调用,被调用的函数又被其他函数所调用,形成一个倒置的层次关联的调用关系树。
获取APK包中子目录/lib/下面特定目录下面的SO文件的列表,和SO文件的HASH值,形成APK的信息;SO文件信息是APK运行不可或缺的可执行文件,相近似的代码使用的SO信息往往是相似的,可以做为代码相似性比较的一个关键指标。
代码相似度关键维度指标和提取方式如下表:
对四个关键指标信息进行相似性比较,四个维度的信息分别进行比较。得出相似性结论;例如分别得出的结论如:DEX雷同、调用API雷同、系统API调用者关系树雷同、SO文件列表雷同,如果有任意3项都雷同,则表明两个APK文件有代码仿冒的现象。
步骤S40、当每个所述应用经过基本信息仿冒检测、图标仿冒检测以及代码仿冒检测后,任意一个检测满足条件的所述应用判定为仿冒的APK应用。
本发明对疑似仿冒的APK和被仿冒APK进行按上述顺序进行Android应用基本信息仿冒检测、Android应用图标仿冒检测、Android应用代码仿冒检测三个检测方式进行检测分析,根据两个APK文件的相似度,得到两个APK文件是否有仿冒和被仿冒的可能。
需要说明的是:所述基本信息仿冒检测、所述图标仿冒检测以及所述代码仿冒检测的检测顺序可以根据所述应用进行随机组合,也就是三种检测方式的顺序可以任意进行。
使用APK基本信息相似性分析、App应用图标相似性检测、Android应用代码仿冒检测三项检测技术,对疑似仿冒APK和被仿冒APK进行信息对比,分析出三个方面两个APK文件的相似度;本发明采用的是多维度仿冒判断方法,从三个方面判断是否存在一个APK文件仿冒另外一个APK文件的情况,可以全面综合检测出仿冒应用,有效识别安全风险,降低仿冒应用的危害。
进一步地,如图6所示,基于上述应用仿冒检测方法,本发明还相应提供了一种智能终端,所述智能终端包括处理器10、存储器20及显示器30。图6仅示出了智能终端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述智能终端的内部存储单元,例如智能终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述智能终端的外部存储设备,例如所述智能终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述智能终端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述智能终端的应用软件及各类数据,例如所述安装智能终端的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有应用仿冒检测程序40,该应用仿冒检测程序40可被处理器10所执行,从而实现本申请中应用仿冒检测方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述应用仿冒检测方法等。
所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述智能终端的信息以及用于显示可视化的用户界面。所述智能终端的部件10-30通过系统总线相互通信。
在一实施例中,当处理器10执行所述存储器20中应用仿冒检测程序40时实现以下步骤:
获取应用的基本信息和界面文字信息,根据所述基本信息和所述界面文字信息与标准应用进行比对后获取信息相似度超过第一阈值的APK应用;
获取所述应用的图标,将所述图标进行预处理之后与所述标准应用的图标进行比较,获取与所述标准应用的方差差值小于第二阈值的APK应用;
获取所述应用的代码,并获取所述代码中的四个关键指标,对四个所述关键指标的信息进行相似性比较,获取满足任意三个所述关键指标雷同的APK应用;
当每个所述应用经过基本信息仿冒检测、图标仿冒检测以及代码仿冒检测后,任意一个检测满足条件的所述应用判定为仿冒的APK应用。
所述基本信息包括应用名称、包名、文件大小、版本信息、文件MD5、签名信息、加固厂商以及第三方SDK数量。
所述获取应用的基本信息和界面文字信息,根据所述基本信息和所述界面文字信息与标准应用进行比对后获取信息相似度超过阈值的APK应用,具体包括:
通过所述应用的应用名称、包名、文件大小、版本信息、文件MD5、签名信息、加固厂商以及第三方SDK数量与所述标准应用进行基本信息的比对,获取信息相似度超过所述第一阈值的APK应用;
根据所述界面文字信息分析所述应用中资源目录下的布局文件,通过所述布局文件获取控件信息,并根据所述控件信息获取关联的文字信息,获取与所述标准应用信息相似度超过所述第一阈值的APK应用;
当所述APK应用与所述标准应用的信息相似度超过所述第一阈值时,判定所述APK应用与所述标准应用为相类似的APK。
所述预处理包括:图标缩放、灰度处理、平均值计算以及方差计算。
所述获取所述应用的图标,将所述图标进行预处理之后与所述标准应用的图标进行比较,获取与所述标准应用的方差差值小于第二阈值的APK应用,具体包括:
将获取到的所述图标缩放到指定尺寸,根据所述图标的信息量和复杂度确定缩放后的图标大小;
通过灰度处理将经过缩放后的图标处理为灰度图,用于降低计算复杂度;
依次计算并记录所述灰度图每行像素点的平均值,每一个平均值对应一行的特征;
计算所有平均值的方差,所述方差为图像的特征值,所述方差用于反应每行像素特征的波动;
计算所有方差值与所述标准应用方差的方差值,当所述方差值小于第二阈值的APK应用时,则判定所述APK应用与所述标准应用为相类似的APK。
四个所述关键指标为:DEX代码中的使用的字符串、DEX文件中调用的所有系统API信息、DEX文件中对系统API和SO中API调用关系树形图、以及SO文件和版本信息。
所述获取所述应用的代码,并获取所述代码中的四个关键指标,对四个所述关键指标的信息进行相似性比较,获取满足任意三个所述关键指标雷同的APK应用,具体包括:
获取所述应用的代码,并获取所述DEX代码中的使用的字符串、所述DEX文件中调用的所有系统API信息、所述DEX文件中对系统API和SO中API调用关系树形图、以及所述SO文件和版本信息;
将所述应用的所述DEX代码中的使用的字符串与所述标准应用的字符串进行类似比较,判断代码是否类似;
将所述应用的所述DEX文件中调用的所有系统API信息,与所述标准应用的系统API信息进行类似比较,判断代码是否类似;
对系统API和SO中导出API调用列表进行罗列,并由代码关系形成系统API和SO中导出API调用关系树形图,形成树形的调用关系图,通过与所述标准应用的结构图比较,判断代码是否类似;
在所述应用的所述SO文件和版本信息中获取SO文件的列表和SO文件的HASH值形成APK信息,与所述标准应用的APK信息进行类似比较,判断代码是否类似;
当所述应用满足任意三个所述关键指标雷同时,则判定所述应用为仿冒的APK应用。
所述基本信息仿冒检测、所述图标仿冒检测以及所述代码仿冒检测的检测顺序根据所述应用进行随机组合。
本发明还提供一种存储介质,其中,所述存储介质存储有应用仿冒检测程序,所述应用仿冒检测程序被处理器执行时实现如上所述的应用仿冒检测方法的步骤。
综上所述,本发明提供一种应用仿冒检测方法、智能终端及存储介质,所述方法包括:获取应用的基本信息和界面文字信息,根据所述基本信息和所述界面文字信息与标准应用进行比对后获取信息相似度超过第一阈值的APK应用;获取所述应用的图标,将所述图标进行预处理之后与所述标准应用的图标进行比较,获取与所述标准应用的方差差值小于第二阈值的APK应用;获取所述应用的代码,并获取所述代码中的四个关键指标,对四个所述关键指标的信息进行相似性比较,获取满足任意三个所述关键指标雷同的APK应用;当每个所述应用经过基本信息仿冒检测、图标仿冒检测以及代码仿冒检测后,任意一个检测满足条件的所述应用判定为仿冒的APK应用。本发明在判断应用是否为仿冒应用时,通过应用基本信息相似性检测、应用图标相似性检测以及应用代码仿冒检测,对疑似仿冒应用和被仿冒应用进行信息对比,分析出三个方面两个应用的相似度,可以全面综合检测出仿冒应用,有效识别安全风险,降低仿冒应用的危害。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种应用仿冒检测方法,其特征在于,所述应用仿冒检测方法包括如下步骤:
获取应用的基本信息和界面文字信息,根据所述基本信息和所述界面文字信息与标准应用进行比对后获取信息相似度超过第一阈值的APK应用;
获取所述应用的图标,将所述图标进行预处理之后与所述标准应用的图标进行比较,获取与所述标准应用的方差差值小于第二阈值的APK应用;
获取所述应用的代码,并获取所述代码中的四个关键指标,对四个所述关键指标的信息进行相似性比较,获取满足任意三个所述关键指标雷同的APK应用;
当每个所述应用经过基本信息仿冒检测、图标仿冒检测以及代码仿冒检测后,任意一个检测满足条件的所述应用判定为仿冒的APK应用。
2.根据权利要求1所述的应用仿冒检测方法,其特征在于,所述基本信息包括应用名称、包名、文件大小、版本信息、文件MD5、签名信息、加固厂商以及第三方SDK数量。
3.根据权利要求2所述的应用仿冒检测方法,其特征在于,所述获取应用的基本信息和界面文字信息,根据所述基本信息和所述界面文字信息与标准应用进行比对后获取信息相似度超过阈值的APK应用,具体包括:
通过所述应用的应用名称、包名、文件大小、版本信息、文件MD5、签名信息、加固厂商以及第三方SDK数量与所述标准应用进行基本信息的比对,获取信息相似度超过所述第一阈值的APK应用;
根据所述界面文字信息分析所述应用中资源目录下的布局文件,通过所述布局文件获取控件信息,并根据所述控件信息获取关联的文字信息,获取与所述标准应用信息相似度超过所述第一阈值的APK应用;
当所述APK应用与所述标准应用的信息相似度超过所述第一阈值时,判定所述APK应用与所述标准应用为相类似的APK。
4.根据权利要求1所述的应用仿冒检测方法,其特征在于,所述预处理包括:图标缩放、灰度处理、平均值计算以及方差计算。
5.根据权利要求4所述的应用仿冒检测方法,其特征在于,所述获取所述应用的图标,将所述图标进行预处理之后与所述标准应用的图标进行比较,获取与所述标准应用的方差差值小于第二阈值的APK应用,具体包括:
将获取到的所述图标缩放到指定尺寸,根据所述图标的信息量和复杂度确定缩放后的图标大小;
通过灰度处理将经过缩放后的图标处理为灰度图,用于降低计算复杂度;
依次计算并记录所述灰度图每行像素点的平均值,每一个平均值对应一行的特征;
计算所有平均值的方差,所述方差为图像的特征值,所述方差用于反应每行像素特征的波动;
计算所有方差值与所述标准应用方差的方差值,当所述方差值小于第二阈值的APK应用时,则判定所述APK应用与所述标准应用为相类似的APK。
6.根据权利要求1所述的应用仿冒检测方法,其特征在于,四个所述关键指标为:DEX代码中的使用的字符串、DEX文件中调用的所有系统API信息、DEX文件中对系统API和SO中API调用关系树形图、以及SO文件和版本信息。
7.根据权利要求6所述的应用仿冒检测方法,其特征在于,所述获取所述应用的代码,并获取所述代码中的四个关键指标,对四个所述关键指标的信息进行相似性比较,获取满足任意三个所述关键指标雷同的APK应用,具体包括:
获取所述应用的代码,并获取所述DEX代码中的使用的字符串、所述DEX文件中调用的所有系统API信息、所述DEX文件中对系统API和SO中API调用关系树形图、以及所述SO文件和版本信息;
将所述应用的所述DEX代码中的使用的字符串与所述标准应用的字符串进行类似比较,判断代码是否类似;
将所述应用的所述DEX文件中调用的所有系统API信息,与所述标准应用的系统API信息进行类似比较,判断代码是否类似;
对系统API和SO中导出API调用列表进行罗列,并由代码关系形成系统API和SO中导出API调用关系树形图,形成树形的调用关系图,通过与所述标准应用的结构图比较,判断代码是否类似;
在所述应用的所述SO文件和版本信息中获取SO文件的列表和SO文件的HASH值形成APK信息,与所述标准应用的APK信息进行类似比较,判断代码是否类似;
当所述应用满足任意三个所述关键指标雷同时,则判定所述应用为仿冒的APK应用。
8.根据权利要求1所述的应用仿冒检测方法,其特征在于,所述基本信息仿冒检测、所述图标仿冒检测以及所述代码仿冒检测的检测顺序根据所述应用进行随机组合。
9.一种智能终端,其特征在于,所述智能终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的应用仿冒检测程序,所述应用仿冒检测程序被所述处理器执行时实现如权利要求1-8任一项所述的应用仿冒检测方法的步骤。
10.一种存储介质,其特征在于,所述存储介质存储有应用仿冒检测程序,所述应用仿冒检测程序被处理器执行时实现如权利要求1-8任一项所述的应用仿冒检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910972286.2A CN110704104B (zh) | 2019-10-14 | 2019-10-14 | 一种应用仿冒检测方法、智能终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910972286.2A CN110704104B (zh) | 2019-10-14 | 2019-10-14 | 一种应用仿冒检测方法、智能终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110704104A true CN110704104A (zh) | 2020-01-17 |
CN110704104B CN110704104B (zh) | 2023-10-03 |
Family
ID=69199385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910972286.2A Active CN110704104B (zh) | 2019-10-14 | 2019-10-14 | 一种应用仿冒检测方法、智能终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704104B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112016606A (zh) * | 2020-08-20 | 2020-12-01 | 恒安嘉新(北京)科技股份公司 | 一种应用程序app的检测方法、装置、设备及存储介质 |
CN112348104A (zh) * | 2020-11-17 | 2021-02-09 | 百度在线网络技术(北京)有限公司 | 仿冒程序的识别方法、装置、设备及存储介质 |
CN112346779A (zh) * | 2020-11-12 | 2021-02-09 | 广州至真信息科技有限公司 | 应用程序相似度的检测方法、装置和计算机设备 |
CN113434826A (zh) * | 2021-07-23 | 2021-09-24 | 公安部第三研究所 | 一种仿冒移动应用的检测方法,系统及相关产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324697A (zh) * | 2013-06-07 | 2013-09-25 | 北京掌汇天下科技有限公司 | 一种基于图标对比的android应用搜索山寨应用剔除方法 |
US20140041037A1 (en) * | 2012-08-02 | 2014-02-06 | Google Inc. | Detecting pirated applications |
CN104123493A (zh) * | 2014-07-31 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 应用程序的安全性检测方法和装置 |
CN107038173A (zh) * | 2016-02-04 | 2017-08-11 | 腾讯科技(深圳)有限公司 | 应用查询方法和装置、相似应用检测方法和装置 |
CN108920909A (zh) * | 2018-06-30 | 2018-11-30 | 平安科技(深圳)有限公司 | 仿冒移动应用程序判别方法及系统 |
-
2019
- 2019-10-14 CN CN201910972286.2A patent/CN110704104B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140041037A1 (en) * | 2012-08-02 | 2014-02-06 | Google Inc. | Detecting pirated applications |
CN103324697A (zh) * | 2013-06-07 | 2013-09-25 | 北京掌汇天下科技有限公司 | 一种基于图标对比的android应用搜索山寨应用剔除方法 |
CN104123493A (zh) * | 2014-07-31 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 应用程序的安全性检测方法和装置 |
CN107038173A (zh) * | 2016-02-04 | 2017-08-11 | 腾讯科技(深圳)有限公司 | 应用查询方法和装置、相似应用检测方法和装置 |
CN108920909A (zh) * | 2018-06-30 | 2018-11-30 | 平安科技(深圳)有限公司 | 仿冒移动应用程序判别方法及系统 |
Non-Patent Citations (1)
Title |
---|
谷杰铭 等: "基于API调用的抗混淆Android应用相似性检测方法", 《网络与信息安全学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112016606A (zh) * | 2020-08-20 | 2020-12-01 | 恒安嘉新(北京)科技股份公司 | 一种应用程序app的检测方法、装置、设备及存储介质 |
CN112346779A (zh) * | 2020-11-12 | 2021-02-09 | 广州至真信息科技有限公司 | 应用程序相似度的检测方法、装置和计算机设备 |
CN112348104A (zh) * | 2020-11-17 | 2021-02-09 | 百度在线网络技术(北京)有限公司 | 仿冒程序的识别方法、装置、设备及存储介质 |
CN112348104B (zh) * | 2020-11-17 | 2023-08-18 | 百度在线网络技术(北京)有限公司 | 仿冒程序的识别方法、装置、设备及存储介质 |
CN113434826A (zh) * | 2021-07-23 | 2021-09-24 | 公安部第三研究所 | 一种仿冒移动应用的检测方法,系统及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN110704104B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704104B (zh) | 一种应用仿冒检测方法、智能终端及存储介质 | |
CN110083740B (zh) | 视频指纹提取及视频检索方法、装置、终端及存储介质 | |
CN109118447B (zh) | 一种图片处理方法、图片处理装置及终端设备 | |
CN108491866B (zh) | 色情图片鉴定方法、电子装置及可读存储介质 | |
EP3410685A1 (en) | Image processing device, image processing method, and program | |
CN108509231B (zh) | 基于vr的应用程序打开方法、电子装置、设备及存储介质 | |
CN108961183B (zh) | 图像处理方法、终端设备及计算机可读存储介质 | |
CN112102402B (zh) | 闪光灯光斑位置识别方法、装置、电子设备及存储介质 | |
US9563763B1 (en) | Enhanced captchas | |
CN112965645B (zh) | 页面拖拽方法、装置、计算机设备及存储介质 | |
CN111489290A (zh) | 一种人脸图像超分辨重建方法、装置及终端设备 | |
CN116168038B (zh) | 一种图像翻拍检测的方法、装置、电子设备及存储介质 | |
US20220261506A1 (en) | Methods for determining data integrity using overlapping regions | |
EP3050605B1 (en) | A method for event detection in real-time graphic applications | |
CN113222921A (zh) | 一种图像处理方法及系统 | |
CN115567736A (zh) | 视频内容检测方法、装置、设备和存储介质 | |
CN111597553A (zh) | 病毒查杀中的进程处理方法、装置、设备及存储介质 | |
CN109697240A (zh) | 一种基于特征的图像检索方法及装置 | |
CN108388463B (zh) | 图标处理方法、装置、计算机设备和存储介质 | |
CN113391779B (zh) | 类纸屏幕的参数调节方法、装置及设备 | |
CN110765456A (zh) | 一种检测隐藏进程的方法、装置及存储设备 | |
CN116127419A (zh) | 数据处理方法、数据识别方法、字体文件生成方法及装置 | |
CN115511645A (zh) | 理赔图片的检测方法、装置、设备及存储介质 | |
CN114511854A (zh) | 一种合同规范性的审核方法、装置、设备和介质 | |
CN113034337B (zh) | 图像检测方法及相关装置 |
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 |