CN110390185B - 重打包应用检测方法、规则库构建方法及相关装置 - Google Patents

重打包应用检测方法、规则库构建方法及相关装置 Download PDF

Info

Publication number
CN110390185B
CN110390185B CN201810359798.7A CN201810359798A CN110390185B CN 110390185 B CN110390185 B CN 110390185B CN 201810359798 A CN201810359798 A CN 201810359798A CN 110390185 B CN110390185 B CN 110390185B
Authority
CN
China
Prior art keywords
application
repackaging
data
digest
attributes
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
Application number
CN201810359798.7A
Other languages
English (en)
Other versions
CN110390185A (zh
Inventor
张吟
邰靖宇
潘宣辰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Antiy Mobile Security Co ltd
Original Assignee
Wuhan Antiy Mobile Security Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Antiy Mobile Security Co ltd filed Critical Wuhan Antiy Mobile Security Co ltd
Priority to CN201810359798.7A priority Critical patent/CN110390185B/zh
Publication of CN110390185A publication Critical patent/CN110390185A/zh
Application granted granted Critical
Publication of CN110390185B publication Critical patent/CN110390185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种重打包应用检测方法、规则库构建方法及相关装置,属于安卓系统技术领域。所述重打包应用检测方法包括:当当前重打包应用的apk压缩包信息中,META‑INF签名文件夹下*.SF摘要文件中存在*‑Digest‑Manifest‑Main‑Attributes摘要数据时,判断出所述当前重打包应用是通过第三方打包工具生成的重打包应用。本申请通过*‑Digest‑Manifest‑Main‑Attributes摘要数据能检测出通过第三方打包工具生成的重打包应用,实现简单、检测高效、启发性高、准确度高,几乎没有漏检或误检。由于同一批生成的重打包应用的*‑Digest‑Manifest‑Main‑Attributes摘要数据相同,因此该检测方法适用于批量检出。

Description

重打包应用检测方法、规则库构建方法及相关装置
技术领域
本发明涉及安卓系统技术领域,更为具体而言,涉及重打包应用检测方法、规则库构建方法及相关装置。
背景技术
随着移动互联网的快速发展,由于智能终端(例如智能手机、平板等)的方便携带、性能出色、功能丰富(例如即时通讯、处理办公、网络游戏等),使得智能终端的销售量迅速增长。目前,中国移动互联网用户已超过8亿,2015年Google Play已经突破140万种应用,国内的各种第三方的应用市场也拥有大量的移动应用。这些应用给人们带来巨大便利的同时,也带来很大的信息安全隐患和风险。
在所有的恶意应用中,通过第三方打包工具(例如,例如Ant、android studio、乐固签名打包工具、阿里或者腾讯第三方加固工具)生成的重打包应用在所占比例巨大,大量消耗着用户手机流量或者资费,另外第三方打包工具生成的重打包应用严重损害了官方正版应用的权益。因此有必要检测出由第三方打包工具生成的重打包应用。
然而,目前一般通过包名、程序名、类名、代码进行恶意检测,这些方法仅能检出一般的重打包应用,而不能直接检出由第三方打包工具(例如,SDK)生成的重打包应用。
发明内容
本发明实施例的目的是提供一种重打包应用检测方法、规则库构建方法及相关装置,能检测出经由第三方打包工具生成的重打包应用。
第一方面,本发明实施例提供了一种重打包应用检测方法。
具体地,所述方法包括:
当当前重打包应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中存在*-Digest-Manifest-Main-Attributes摘要数据时,判断出所述当前重打包应用是通过第三方打包工具生成的重打包应用。
提取所述当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据;
利用所述当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库。
第二方面,本发明实施例提供了一种重打包应用检测装置。
具体地,所述装置包括:第一判断模块,用于当当前重打包应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中存在*-Digest-Manifest-Main-Attributes摘要数据时,判断出所述当前重打包应用是通过第三方打包工具生成的重打包应用。
第一提取模块,用于提取所述当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据;
第一规则库构建模块,用于利用所述当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库。
第三方面,本发明实施例提供了一种重打包应用检测方法。
具体地,所述方法包括:
当待检测应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中存在*-Digest-Manifest-Main-Attributes摘要数据时,提取所述待检测应用的*-Digest-Manifest-Main-Attributes摘要数据;
所述待检测应用的*-Digest-Manifest-Main-Attributes摘要数据与重打包应用规则库中的规则数据进行匹配,若匹配成功,判断出所述待检测应用是通过第三方打包工具生成的重打包应用。
具体地,所述重打包应用规则库通过如下方法生成:
在多个已知重打包应用中,将具有相同恶意类个数、相同签名算法、相同恶意行为、相同恶意类属性、相同签名文件属性的重打包应用归为一类;
提取每类已知重打包应用中任一重打包应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中的*-Digest-Manifest-Main-Attributes摘要数据;
利用所述每类已知重打包应用中任一重打包应用的*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库。
第四方面,本发明实施例提供了一种重打包应用检测装置。
所述装置包括:
第三提取模块,用于当待检测应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中存在*-Digest-Manifest-Main-Attributes摘要数据时,提取所述待检测应用的*-Digest-Manifest-Main-Attributes摘要数据;
第二判断模块,用于当所述待检测应用的*-Digest-Manifest-Main-Attributes摘要数据与重打包应用规则库中的规则数据进行匹配,若匹配成功,判断出所述待检测应用是通过第三方打包工具生成的重打包应用。
具体地,所述重打包应用规则库通过如下方法生成:
在多个已知重打包应用中,将具有相同恶意类个数、相同签名算法、相同恶意行为、相同恶意类属性、相同签名文件属性的重打包应用归为一类;
提取每类已知重打包应用中任一重打包应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中的*-Digest-Manifest-Main-Attributes摘要数据;
利用所述每类已知重打包应用中任一重打包应用的*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库。
第五方面,本发明实施例提供了一种计算机设备。
具体地,所述计算机设备包括:
用于存放计算机程序的存储器,
其中,所述处理器用于执行所述存储器上所存放的计算机程序,以实现第一方面或第三方面所述的重打包应用检测方法。
第六方面,本发明实施例提供了一种计算机存储介质。
具体地,所述计算机存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第三方面所述的重打包应用检测方法。
由于仅仅通过第三方打包工具生成的打包应用中,apk压缩包信息META-INF签名文件夹下*.SF摘要文件中才存在*-Digest-Manifest-Main-Attributes摘要数据,因此本发明实施例重打包应用检测方法、相关装置、计算机设备和计算机存储介质,通过判断待检测应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中是否存在*-Digest-Manifest-Main-Attributes摘要数据,再判断是否与重打包应用规则库构建方法构建的重打包应用规则库中的*-Digest-Manifest-Main-Attributes摘要数据匹配,可以成功检测出通过第三方打包工具生成的重打包应用,这种检测方法实现简单,检测高效,启发性高,准确度高,几乎没有漏检或误检。由于同一批生成的重打包应用的*-Digest-Manifest-Main-Attributes摘要数据相同,因此该检测方法适用于批量检出。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为某应用通过第三方打包工具打包处理后的部分测试界面示意图,显示了*.SF摘要文件中包含*-Digest-Manifest-Main-Attributes摘要数据;
图1b为图1a中相同应用通过android studio打包工具打包处理后的部分测试界面示意图,显示了*.SF摘要文件中不包含*-Digest-Manifest-Main-Attributes摘要数据;
图2是本发明方法实施例1的重打包应用检测方法的流程图;
图3是本发明方法实施例2的重打包应用规则库构建方法的流程图;
图4是本发明方法实施例3的重打包应用检测方法的流程图;
图5是本发明产品实施例1的重打包应用检测装置的结构示意图;
图6是本发明产品实施例2的重打包应用规则库构建装置的结构示意图;
图7是本发明产品实施例3的重打包应用检测的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的标号如102、104等,仅仅是用于区分开各个不同的操作,标号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施方式,都属于本发明保护的范围。
首先说明对应用进行重打包操作的原理。
当采用第三方打包工具,例如Android Studio,对应用文件进行打包签名生成重打包应用时,首先会获取APK压缩包打包过程属性信息,其中该APK压缩包打包过程属性信息包含打包该应用的第三方打包工具的相关信息和该应用自身所属的应用程序或扩展信息,该第三方打包工具的相关信息包括版本号信息、供应商信息及签名版本信息;然后采用哈希算法对获取的APK压缩包打包过程属性信息进行哈希计算,生成清单文件主要部分属性的摘要数据,即*-Digest-Manifest-Main-Attributes摘要数据,其位于META-INF签名文件夹下,*.SF摘要文件中。如图1a所示,*-Digest-Manifest-Main-Attributes摘要数据为:QZ4kU9li4MUUJNvB7ohlCS+hcnlRbvtwZmrpTt0zP6g=。
当采用非第三方打包工具,例如keytool,对同一应用文件进行打包签名生成重打包应用时,不会根据APK压缩包打包过程属性信息进行任何计算,更不会得到上述清单文件主要部分属性的摘要值,因此META-INF签名文件夹下,*.SF摘要文件中不存在*-Digest-Manifest-Main-Attributes摘要数据,如图1b所示。
因此,应用被重打包后,并不是每个apk压缩包信息中META-INF签名文件夹下,*.SF摘要文件中都存在*-Digest-Manifest-Main-Attributes摘要数据,而只有通过第三方打包工具实现重打包操作的应用,META-INF签名文件夹下,*.SF摘要文件中才会存在*-Digest-Manifest-Main-Attributes摘要数据,因此,通过检测某应用是否存在*-Digest-Manifest-Main-Attributes摘要数据,就能确定出该应用是否为第三方打包工具生成的重打包应用。
基于以上原理,下面详细说明本申请实施例重打包应用的检测方法及重打包应用检测方法、规则库构建方法及相关装置。
【方法实施例1】
图2是根据本发明方法实施例1的重打包应用检测方法的流程图。参见图2,在本实施例中,所述方法包括:
步骤S202,当当前重打包应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中存在*-Digest-Manifest-Main-Attributes摘要数据时,判断出该当前重打包应用是通过第三方打包工具生成的重打包应用。
由上述技术方案可知,本实施例重打包应用检测方法对当前重打包应用,通过判断其apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中是否存在*-Digest-Manifest-Main-Attributes摘要数据,可以成功检测出该当前重打包应用是否由第三方打包工具生成,这种检测方法实现简单,检测高效,启发性高,准确度高,几乎没有漏检或误检。由于打包工具批量产生的重打包应用的*-Digest-Manifest-Main-Attributes摘要数据相同,因此该检测方法能一次性全部检出同一批生成的重打包应用。
作为本实施例进一步的实现方式,该重打包应用检测方法还包括:
步骤S204,提取该当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据;
步骤S206,利用该当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库。
由上述技术方案可知,当重打包应用为第三方打包工具生成的重打包应用时,可以利用该重打包应用的*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库,由于构建的规则库直接针对第三方打包工具生成的重打包应用,因此利于未知应用的快速检出。
具体地,提取该当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据,可以包括:
解压当前重打包应用的apk压缩包,查找到META-INF签名文件夹;
解压META-INF签名文件夹下的*.SF摘要文件,查找到*-Digest-Manifest-Main-Attributes摘要数据。
【方法实施例2】
图3是根据本发明方法实施例2的重打包应用规则库构建方法的流程图。参见图3,在本实施例中,所述方法包括:
步骤S302,在多个已知重打包应用中,将具有相同恶意类个数、相同签名算法、相同恶意行为、相同恶意类属性、相同签名文件属性的重打包应用归为一类;
在多个已知重打包应用中,将具有相同恶意类个数、相同签名算法、相同恶意行为、相同恶意类属性、相同签名文件属性的重打包应用归为同一类,同类重打包应用由同一第三方打包工具生成,具有相同的*-Digest-Manifest-Main-Attributes摘要数据,而不同类重打包应用由不同的第三方打包工具生成,具有不同的*-Digest-Manifest-Main-Attributes摘要数据。
下面对重打包应用归类进行举例说明。
例如重打包应用1的恶意类名为g5954de7a3f999,签名文件名为5972803E.SF;重打包应用2的恶意类名为m595b30600f353,签名文件名为CERT.SF;重打包应用3的恶意类名为t5972803dc28ef,签名文件名为O6LGS.SF;重打包应用4的恶意类名为SystemBroadCastReceiver,签名文件名为5954DE7A.SF;重打包应用5的恶意类名为f5954de7a3f999,签名文件为O6LGS.SF。
假设,重打包应用1、2、3、4具有相同恶意类个数、相同签名算法、相同恶意行为,重打包应用5具有不同的恶意类个数、相同签名算法、相同恶意行为,因此,重打包应用5与重打包应用1、2、3、4是不同类。另外,重打包应用1的恶意类名、重打包应用2的恶意类名、重打包应用3的恶意类名属性相同,都是随机产出的,而重打包应用4的恶意类名是常规恶意类名,与重打包应用1、重打包应用2、重打包应用3的恶意类名属性不同,因此重打包应用4与重打包应用1、重打包应用2、重打包应用3是不同类。再者,重打包应用1和重打包应用3的签名文件名属性相同,都是随机产生的,而重打包应用2的签名文件名是常规签名文件名,与重打包应用1和重打包应用3的签名文件名属性不同,因此,重打包应用1和重打包应用3是同一类,重打包应用2归为另一类。
需要说明的是,重打包样本的恶意类个数可以通过AndroidManifest.xml文件得知,签名算法可以通过签名文件得知,恶意行为可以对重打包样本进行动态检测得知,恶意类名可以通过manifest文件得知,签名文件名可以通过META-INF文件夹得知。
步骤S304,提取每类已知重打包应用中任一重打包应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中的*-Digest-Manifest-Main-Attributes摘要数据;
步骤S306,利用每类已知重打包应用中任一重打包应用的*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库。
由上述技术方案可知,本实施例重打包应用规则库构建方法将第三方打包工具生成的重打包应用归类后,只需提取每类已知重打包应用中的任一个重打包应用的*-Digest-Manifest-Main-Attributes摘要数据,然后汇总提取的所有类的一个*-Digest-Manifest-Main-Attributes摘要数据来构建重打包应用规则库,而无需对所有已知重打包应用中的每个已知重打包应用的*-Digest-Manifest-Main-Attributes摘要数据进行提取,因此本实施例重打包规则库构建方法更为简单、高效,并能减少资源浪费。
下表1展示了分类后得到的某一类已知重打包应用,该类中所有已知重打包应用具有相同或相似签名文件、签名描述、代码、摘要算法、manifest文件中添加的类和恶意行为。如下表1,具有不同MD5的重打包应用的*-Digest-Manifest-Main-Attributes摘要数据相同。
Figure GDA0003656719800000091
表1
【方法实施例3】
图4是根据本发明方法实施例3的重打包应用检测方法的流程图。参见图4,在本实施例中,所述方法包括:
步骤S402,当待检测应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中存在*-Digest-Manifest-Main-Attributes摘要数据时,提取该待检测应用的*-Digest-Manifest-Main-Attributes摘要数据;
步骤S404,当该待检测应用的*-Digest-Manifest-Main-Attributes摘要数据与上述方法实施例2中重打包应用规则库构建方法构建的重打包应用规则库匹配时,判断出该待检测应用是通过第三方打包工具生成的重打包应用。
由上述技术方案可知,本实施例重打包应用检测方法对待检测应用,通过判断其apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中是否存在*-Digest-Manifest-Main-Attributes摘要数据,检测出该待检测应用是否由第三方打包工具生成,当存在*-Digest-Manifest-Main-Attributes摘要数据时,则该待检测应用是由第三方打包工具生成的应用,此时进一步判断其是否为重打包应用,这种判断具体通过上述方法实施例2中重打包应用规则库构建方法构建的重打包应用规则库来实现,当待检测应用的*-Digest-Manifest-Main-Attributes摘要数据与重打包应用规则库中存储的*-Digest-Manifest-Main-Attributes摘要数据匹配时,判断出该待检测应用是通过第三方打包工具生成的重打包应用,这种检测方法实现简单,检测高效,启发性高,准确度高,几乎没有漏检或误检。由于打包工具批量产生的重打包应用的*-Digest-Manifest-Main-Attributes摘要数据相同,因此该检测方法能一次性全部检出同一批生成的重打包应用。
【产品实施例1】
图5是根据本发明产品实施例1的重打包应用检测装置的结构示意图。参见图5,在本实施例中,该重打包应用检测装置包括第一判断模块501。该第一判断模块501用于当当前重打包应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中存在*-Digest-Manifest-Main-Attributes摘要数据时,判断出该当前重打包应用是通过第三方打包工具生成的重打包应用。
由上述技术方案可知,本实施例重打包应用检测装置针对当前重打包应用,通过第一判断模块501判断其apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中是否存在*-Digest-Manifest-Main-Attributes摘要数据,可以成功检测出该当前重打包应用是否由第三方打包工具生成,因此本实施例重打包应用检测装置检测重打包应用是否是通过第三方打包工具生成的重打包应用,实现简单,检测高效,启发性高,准确度高,几乎没有漏检或误检。由于打包工具批量产生的重打包应用的*-Digest-Manifest-Main-Attributes摘要数据相同,因此该重打包应用检测装置能一次性全部检出同一批生成的重打包应用。
作为本实施例进一步的实现方式,该重打包应用检测装置还包括第一提取模块503和第一规则库构建模块505。其中,第一提取模块503用于提取所述当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据;第一规则库构建模块505用于利用所述当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库。
由上述技术方案可知,当重打包应用为第三方打包工具生成的重打包应用时,可以利用该重打包应用的*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库,由于构建的规则库直接针对第三方打包工具生成的重打包应用,因此利于未知应用的快速检出。
【产品实施例2】
图6是根据本发明产品实施例2的重打包应用规则库构建装置的结构示意图。参见图6,在本实施例中,该重打包应用规则库构建装置,包括分类模块601、第二提取模块603和第二规则库构建模块605。其中,分类模块601用于在多个已知重打包应用中,将具有相同恶意类个数、相同签名算法、相同恶意行为、相同恶意类属性、相同签名文件属性的重打包应用归为一类;第二提取模块603用于提取每类已知重打包应用中任一重打包应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中的*-Digest-Manifest-Main-Attributes摘要数据;第二规则库构建模块605用于利用每类已知重打包应用中任一重打包应用的*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库。
由上述技术方案可知,本实施例重打包应用规则库构建装置中的分类模块601将具有相同恶意类个数、相同签名算法、相同恶意行为、相同恶意类属性、相同签名文件属性的重打包应用归为一类,这样,同类重打包应用由同一第三方打包工具生成,具有相同的*-Digest-Manifest-Main-Attributes摘要数据,而不同类重打包应用由不同的第三方打包工具生成,具有不同的*-Digest-Manifest-Main-Attributes摘要数据,因此对于同类已知重打包应用,第二提取模块603只需提取其中的一个已知重打包应用的*-Digest-Manifest-Main-Attributes摘要数据,而无需提取其中的每个已知重打包应用的*-Digest-Manifest-Main-Attributes摘要数据,然后第二规则库构建模块605利用提取的每类已知重打包应用的一个*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库,这种重打包应用规则库构建方法,实现简单、高效,且没有漏掉任一第三方打包工具生成的重打包应用的摘要提取。
【产品实施例3】
图7是根据本发明产品实施例3的重打包应用检测装置的结构示意图。参见图7,在本实施例中,该重打包应用检测装置包括第三提取模块701和第二判断模块703。其中,第三提取模块701用于当待检测应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中存在*-Digest-Manifest-Main-Attributes摘要数据时,提取该待检测应用的*-Digest-Manifest-Main-Attributes摘要数据;第二判断模块703用于当该待检测应用的*-Digest-Manifest-Main-Attributes摘要数据与上述方法实施例2中重打包应用规则库构建方法构建的重打包应用规则库匹配时,判断出该待检测应用是通过第三方打包工具生成的重打包应用。
由上述技术方案可知,本实施例重打包应用检测装置针对待检测应用,当通过第三提取模块701能提取到待检测应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中的*-Digest-Manifest-Main-Attributes摘要数据时,说明该待检测应用由第三方打包工具生成,此时再通过第二判断模块703进一步判断其是否为重打包应用,这种判断具体通过上述方法实施例2中重打包应用规则库构建方法构建的重打包应用规则库来实现,当待检测应用的*-Digest-Manifest-Main-Attributes摘要数据与重打包应用规则库中存储的*-Digest-Manifest-Main-Attributes摘要数据匹配时,第二判断模块703判断出该待检测应用是通过第三方打包工具生成的重打包应用,本实施例重打包应用检测装置检测未知应用是否为第三方打包工具打包的重打包应用,实现简单,检测高效,启发性高,准确度高,几乎没有漏检或误检。由于打包工具批量产生的重打包应用的*-Digest-Manifest-Main-Attributes摘要数据相同,因此本实施例重打包应用检测装置能一次性全部检出同一批生成的重打包应用。
本发明的实施例还提供了一种计算机设备,包括处理器以及用于存放计算机程序的存储器,该处理器用于执行存储器上所存放的计算机程序,以实现方法实施例1或方法实施例3所述的重打包应用检测方法或方法实施例2所述的重打包应用规则库构建方法,或者,以实现产品实施例1或产品实施例3所述的重打包应用检测装置或产品实施例2所述的重打包应用规则库构建装置所执行的处理。
此外,本发明的实施例还提供了一种计算机存储介质,该计算机存储介质内存储有计算机程序,其中计算机程序被处理器执行时实现方法实施例1或方法实施例3所述的重打包应用检测方法或方法实施例2所述的重打包应用规则库构建方法,或者,实现产品实施例1或产品实施例3所述的重打包应用检测装置或产品实施例2所述的重打包应用规则库构建装置所执行的处理。
上述存储介质和计算机设备,一部分实现了上述重打包应用检测方法,因此同理能检测出应用是否是通过第三方打包工具重打包操作产生的重打包应用,实现简单,检测高效,启发性高,准确度高,几乎没有漏检或误检;另一部分实现了上述重打包应用规则库构建方法,因此同理对于同类已知重打包应用,只需提取其中的一个已知重打包应用的*-Digest-Manifest-Main-Attributes摘要数据,利用每类已知重打包应用的一个*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库,因此构建规则库时,实现简单、高效,且没有漏掉任一第三方打包工具生成的重打包应用的摘要提取。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同及相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域的技术人员可以清楚地了解到本发明可全部通过软件实现,也可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,所述计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、智能手机或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本文中所使用的“软件”等词均指一般意义上的任意类型的计算机编码或者计算机可执行指令集,可以运行所述编码或者指令集来使计算机或其他处理器程序化以执行如上所述的本发明的技术方案的各个方面。此外,需要说明的是,根据实施例的一个方面,在执行时实施本发明的技术方案的方法的一个或多个计算机程序不必须要在一台计算机或处理器上,而是可以分布于多个计算机或者处理器中的模块中,以执行本发明的技术方案的各个方面。
计算机可执行指令可以有许多形式,如程序模块,可以由一台或多台计算机或是其他设备执行。一般地,程序模块包括例程、程序、对象、组件以及数据结构等等,执行特定的任务或是实施特定的抽象数据类型。特别地,在各种实施例中,程序模块进行的操作可以根据各个不同实施例的需要进行结合或者拆分。
并且,本发明的技术方案可以体现为一种方法,并且已经提供了所述方法的至少一个示例。可以通过任何一种合适的顺序执行动作,所述动作表现为所述方法中的一部分。因此,实施例可以构造成可以按照与所示出的执行顺序不同的顺序执行动作,其中,可以包括同时地执行一些动作(尽管在示出的实施例中,这些动作是连续的)。
在本发明的各个具体实施例中,所描述的特征、架构或功能可在一个或一个以上实施例中以任何方式组合,其中众所周知的操作过程、程序模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。本领域技术人员应当理解,下述的各种实施例只用于举例说明,而非用于限制本发明的保护范围。本领域的技术人员还可以容易理解,本文所述和附图所示的各实施方式中的程序模块、单元或步骤可以按多种不同配置进行组合和设计。
对于未在本说明书中进行具体说明的技术术语,除非另有特定说明,都应以本领域最宽泛的意思进行解释。本文所给出的和使用的定义,应当对照字典、通过引用而并入的文档中的定义、和/或其通常意思进行理解。本文使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。
在权利要求书中以及上述的说明书中,所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项的任何或所有可能组合。应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息和/或模块,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息和/或模块彼此区分开。例如,在不脱离本文范围的情况下,第一信息和/或模块也可以被称为第二信息和/或模块,类似地,第二信息和/或模块也可以被称为第一信息和/或模块。另外,在此所使用的词语“如果”,其意思取决于语境,可以被解释成为“在……时”或“当……时”或“响应于确定”。
在权利要求书中以及上述的说明书中,所有的过度短语,例如“包括”、“具有”、“包含”、“承载”、“具有”、“涉及”、“主要由…组成”以及其任何其它变体是应理解为是开放式的,即,包含但不限于,意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施例的基本原理的前提下,对上述实施例中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。

Claims (8)

1.一种重打包应用检测方法,包括如下步骤:
当当前重打包应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中存在*-Digest-Manifest-Main-Attributes摘要数据时,判断出所述当前重打包应用是通过第三方打包工具生成的重打包应用;
提取所述当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据;
利用所述当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库。
2.一种重打包应用检测装置,包括:
第一判断模块,用于当当前重打包应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中存在*-Digest-Manifest-Main-Attributes摘要数据时,判断出所述当前重打包应用是通过第三方打包工具生成的重打包应用;
第一提取模块,用于提取所述当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据;
第一规则库构建模块,用于利用所述当前重打包应用的*-Digest-Manifest-Main-Attributes摘要数据构建重打包应用规则库。
3.一种重打包应用检测方法,其特征在于,包括:
当待检测应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中存在*-Digest-Manifest-Main-Attributes摘要数据时,提取所述待检测应用的*-Digest-Manifest-Main-Attributes摘要数据;
所述待检测应用的*-Digest-Manifest-Main-Attributes摘要数据与重打包应用规则库中的规则数据进行匹配,若匹配成功,判断出所述待检测应用是通过第三方打包工具生成的重打包应用。
4.根据权利要求3所述的重打包应用检测方法,其特征在于,所述重打包应用规则库通过如下方法生成:
在多个已知重打包应用中,将具有相同恶意类个数、相同签名算法、相同恶意行为、相同恶意类属性、相同签名文件属性的重打包应用归为一类;
提取每类已知重打包应用中任一重打包应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中的*-Digest-Manifest-Main-Attributes摘要数据;
将所述每类已知重打包应用中任一重打包应用的*-Digest-Manifest-Main-Attributes摘要数据作为规则数据,通过所述规则数据构建重打包应用规则库。
5.一种重打包应用检测装置,包括:
第三提取模块,用于当待检测应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中存在*-Digest-Manifest-Main-Attributes摘要数据时,提取所述待检测应用的*-Digest-Manifest-Main-Attributes摘要数据;
第二判断模块,用于所述待检测应用的*-Digest-Manifest-Main-Attributes摘要数据与重打包应用规则库中的规则数据进行匹配,若匹配成功,判断出所述待检测应用是通过第三方打包工具生成的重打包应用。
6.根据权利要求5所述的重打包应用检测装置,其特征在于,所述重打包应用规则库通过如下方法生成:
在多个已知重打包应用中,将具有相同恶意类个数、相同签名算法、相同恶意行为、相同恶意类属性、相同签名文件属性的重打包应用归为一类;
提取每类已知重打包应用中任一重打包应用的apk压缩包信息中,META-INF签名文件夹下*.SF摘要文件中的*-Digest-Manifest-Main-Attributes摘要数据;
将所述每类已知重打包应用中任一重打包应用的*-Digest-Manifest-Main-Attributes摘要数据作为规则数据,通过所述规则数据构建重打包应用规则库。
7.一种计算机设备,包括:
处理器;
用于存放计算机程序的存储器,
其特征在于,所述处理器用于执行所述存储器上所存放的计算机程序,以实现权利要求1或3或4所述的重打包应用检测方法。
8.一种计算机存储介质,其特征在于,所述计算机存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1或3或4所述的重打包应用检测方法。
CN201810359798.7A 2018-04-20 2018-04-20 重打包应用检测方法、规则库构建方法及相关装置 Active CN110390185B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810359798.7A CN110390185B (zh) 2018-04-20 2018-04-20 重打包应用检测方法、规则库构建方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810359798.7A CN110390185B (zh) 2018-04-20 2018-04-20 重打包应用检测方法、规则库构建方法及相关装置

Publications (2)

Publication Number Publication Date
CN110390185A CN110390185A (zh) 2019-10-29
CN110390185B true CN110390185B (zh) 2022-08-09

Family

ID=68283581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810359798.7A Active CN110390185B (zh) 2018-04-20 2018-04-20 重打包应用检测方法、规则库构建方法及相关装置

Country Status (1)

Country Link
CN (1) CN110390185B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111107062B (zh) * 2019-11-29 2022-04-05 珠海金山网络游戏科技有限公司 一种基于贪婪算法的游戏资源打包方法及系统
CN111611551B (zh) * 2020-05-06 2023-04-18 山东正中信息技术股份有限公司 一种基于国密算法的动态链接库保护方法及其系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314878A (zh) * 2010-06-30 2012-01-11 上海视加信息科技有限公司 一种音素自动切分方法
CN103150510A (zh) * 2013-03-18 2013-06-12 珠海市君天电子科技有限公司 一种软件恶意行为的处理方法和装置
CN104216946A (zh) * 2014-07-31 2014-12-17 百度在线网络技术(北京)有限公司 一种用于确定重打包应用程序的方法和装置
CN106162648A (zh) * 2015-04-17 2016-11-23 上海墨贝网络科技有限公司 一种应用安装包的行为检测方法、服务器及系统
CN106951780A (zh) * 2017-02-08 2017-07-14 中国科学院信息工程研究所 重打包恶意应用的静态检测方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10206903A1 (de) * 2002-02-19 2003-09-04 Siemens Ag Softwareapplikation, Softwarearchitektur und Verfahren zur Erstellung von Softwareapplikationen, insbesondere für MES-Systeme
CN104484607A (zh) * 2014-12-16 2015-04-01 上海交通大学 Android应用程序安全性测试的通用方法及系统
CN105975814B (zh) * 2015-08-28 2019-06-07 武汉安天信息技术有限责任公司 一种检测重打包的方法及系统
US10191728B2 (en) * 2015-10-12 2019-01-29 Samsung Electronics Co., Ltd. System and method to reduce storage area usage of android application
CN107770144A (zh) * 2016-08-23 2018-03-06 中国移动通信有限公司研究院 应用监测方法、开发平台、客户端及信息系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314878A (zh) * 2010-06-30 2012-01-11 上海视加信息科技有限公司 一种音素自动切分方法
CN103150510A (zh) * 2013-03-18 2013-06-12 珠海市君天电子科技有限公司 一种软件恶意行为的处理方法和装置
CN104216946A (zh) * 2014-07-31 2014-12-17 百度在线网络技术(北京)有限公司 一种用于确定重打包应用程序的方法和装置
CN106162648A (zh) * 2015-04-17 2016-11-23 上海墨贝网络科技有限公司 一种应用安装包的行为检测方法、服务器及系统
CN106951780A (zh) * 2017-02-08 2017-07-14 中国科学院信息工程研究所 重打包恶意应用的静态检测方法和装置

Also Published As

Publication number Publication date
CN110390185A (zh) 2019-10-29

Similar Documents

Publication Publication Date Title
Ronen et al. Microsoft malware classification challenge
US9910985B2 (en) Apparatus and method for identifying similarity via dynamic decimation of token sequence N-grams
JP6126672B2 (ja) 悪性コード検出方法及びシステム
CN108875364B (zh) 未知文件的威胁性判定方法、装置、电子设备及存储介质
EP2807801A1 (en) System and methods for spam detection using frequency spectra of character strings
CN105205356B (zh) 一种app应用重打包检测方法
JP2015513133A (ja) キャラクター・ヒストグラムを用いるスパム検出のシステムおよび方法
CN109800575B (zh) 一种Android应用程序的安全检测方法
CN110390185B (zh) 重打包应用检测方法、规则库构建方法及相关装置
KR20180079434A (ko) 바이러스 데이터베이스 획득 방법 및 기기, 장비, 서버 그리고 시스템
Thiyagarajan et al. Improved real‐time permission based malware detection and clustering approach using model independent pruning
CN107070845B (zh) 用于检测网络钓鱼脚本的系统和方法
CN109145589B (zh) 应用程序获取方法及装置
US20210360001A1 (en) Cluster-based near-duplicate document detection
CN108229168B (zh) 一种嵌套类文件的启发式检测方法、系统及存储介质
CN111680303B (zh) 漏洞扫描方法、装置、存储介质及电子设备
CN111027065B (zh) 一种勒索病毒识别方法、装置、电子设备及存储介质
US20160285905A1 (en) System and method for detecting mobile cyber incident
CN111083705A (zh) 群发诈骗短信检测方法、装置、服务器及存储介质
KR20150089664A (ko) 모바일 악성코드 탐지 시스템
CN114817929B (zh) 物联网漏洞动态追踪和处理方法、装置、电子设备及介质
US11356853B1 (en) Detection of malicious mobile apps
US11816215B2 (en) System and method for archive AM scanning
CN109977176B (zh) 数据处理方法及装置
JP2017142712A (ja) コールグラフ差分抽出方法、コールグラフ差分抽出プログラム、および情報処理装置

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