CN112380530B - 一种同源apk检测方法、终端设备及存储介质 - Google Patents

一种同源apk检测方法、终端设备及存储介质 Download PDF

Info

Publication number
CN112380530B
CN112380530B CN202011347616.8A CN202011347616A CN112380530B CN 112380530 B CN112380530 B CN 112380530B CN 202011347616 A CN202011347616 A CN 202011347616A CN 112380530 B CN112380530 B CN 112380530B
Authority
CN
China
Prior art keywords
apk
homologous
detection
features
homology
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
CN202011347616.8A
Other languages
English (en)
Other versions
CN112380530A (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.)
Xiamen Meiya Pico Information Co Ltd
Original Assignee
Xiamen Meiya Pico Information 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 Xiamen Meiya Pico Information Co Ltd filed Critical Xiamen Meiya Pico Information Co Ltd
Priority to CN202011347616.8A priority Critical patent/CN112380530B/zh
Publication of CN112380530A publication Critical patent/CN112380530A/zh
Application granted granted Critical
Publication of CN112380530B publication Critical patent/CN112380530B/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • 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

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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及一种同源APK检测方法、终端设备及存储介质,该方法中包括:S1:通过静态检测和动态检测结合的方式采集待检测APK的特征值;S2:构建包含APK特征值的特征库,将采集的特征值与特征库内存储的每个APK的特征值进行逐一比对,根据设定的同源等级和权重值,计算与每个APK的同源比对结果;S3:当同源比对结果大于阈值时,判定待检测APK与特征库里的APK具有同源性。本发明通过静态检测和动态检测相结合的混合检测技术,将检测到的特征值与特征库里的APK的特征进行比对分析,输出具有同源性的检测结果。

Description

一种同源APK检测方法、终端设备及存储介质
技术领域
本发明涉及网络安全领域,尤其涉及一种同源APK检测方法、终端设备及存储介质。
背景技术
随着移动互联网手机APP的快速发展,不法分子利用互联网技术进行违法犯罪活动,如利用APP传播病毒、窃取用户隐私行为进行诈骗等违法犯罪活动。随着应用市场对恶意APP的不断打击,恶意应用开发者的反检测能力也在不断提高,通过不断更换APP名称、签名、后台服务器地址等信息逃避检测。
目前市面上检测手段、检测方向主偏向于对单一APP特征进行分析,检测手段主要有静态检测和动态检测。静态检测主要是通过反编译工具提取程序中的静态特征,如,语法语义、签名等特征信息,但静态检测技术具有局限性,尤其是对采用隐形技术的恶意APP,如加密、代码转换等技术;对通过商业软件如DexGuard、360加固等技术,无法实现反编译,无法提取到恶意行为。动态检测主要通过模拟器进行模拟,来检测API调用和系统调用从而监测恶意应用的恶意行为。混合检测包含了静态检测和动态检测。现有检测方法存在以下不足:1)对APP的检测主要偏向对单一APP的行为特征的分析,缺乏同源性的分析;2)在检测手段上,动态检测技术主要采用虚拟机运行环境,但虚拟机运行环境与真实的设备运行环境存在一定的差异,对于一些具有反检测能力的恶意APP,在虚拟机上运行会不触发恶意行为,无法完成对该类应用的检测。
随着手机APP的快速发展,恶意APP也日益剧增,种类繁多,为快速、精准、全面打击同类恶意APP后台,对APP的同源性分析就显得尤为重要。
发明内容
为了解决上述问题,本发明提出了一种同源APK检测方法、终端设备及存储介质。
具体方案如下:
一种同源APK检测方法,包括以下步骤:
S1:通过静态检测和动态检测结合的方式采集待检测APK的特征值;
S2:构建包含APK特征值的特征库,将采集的特征值与特征库内存储的每个APK的特征值进行逐一比对,根据设定的同源等级和权重值,计算与每个APK的同源比对结果;
S3:当同源比对结果大于阈值时,判定待检测APK与特征库里的APK具有同源性。
进一步的,静态检测通过反编译APK文件静态检测手段进行;动态检测采用真机沙箱技术通过对Android系统进行深度定制,在系统调用接口设置API接口,以实现对APK全程行为的记录。
进一步的,步骤S2中与某个恶意APK的同源比对结果的计算过程为:
设定待检测APK的特征值按照同源权重的不同分为k级,每一级包含一个以上的权重值相同的特征项,每一个特征项包含一个以上的特征,则待检测APK与某个恶意APK的同源比对结果S的计算公式为:
Figure BDA0002800402960000031
其中,i表示级数的序号,k表示级数的总数,j表示每一级中包含的特征的序号,l表示每一级包含的特征的总数,θi表示第i级对应的权重值,mij表示第i级的第j个特征项包含的所有特征的总数,nij表示第i级的第j个特征项包含的所有特征中与某个恶意APK的所有特征中特征相同的个数。
进一步的,两个特征是否相同根据两个特征的相似度进行判定。
进一步的,相似度采用编辑距离进行计算,当两个特征的编辑距离为0时,则两个特征相同。
一种同源APK检测终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述的方法的步骤。
本发明采用如上技术方案,通过静态检测和动态检测相结合的混合检测技术,将检测到的特征值与特征库里的APK的特征进行比对分析,输出具有同源性的检测结果。
附图说明
图1所示为本发明实施例一的流程图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
现结合附图和具体实施方式对本发明进一步说明。
实施例一:
本发明实施例提供了一种同源APK检测方法,如图1所示,其为本发明实施例所述的同源APK检测方法的流程图,所述方法包括以下步骤:
S1:通过静态检测和动态检测结合的方式采集待检测APK的特征值。
静态检测通过反编译APK文件等静态检测手段进行。静态特征值包括但不限于APK的签名散列值、so动态链接库等。
动态检测采用真机沙箱技术通过对Android系统进行深度定制,在关键的系统调用接口设置了API接口,从而实现了对APK全程行为的记录。该检测方法有效的弥补了静态检测对加壳、加固APP无法分析的缺陷,通过采用真实手机作为APP的运行环境,对APP的静默行为后台记录,真实还原了APP的行为。通过对抓取到的网络数据进行分析,并提取同源性的动态特征值。动态特征值包括但不限于APP的网络请求参数、第三方应用库授权ID、网络通信时的访问网址、字段等特征值。
S2:构建包含APK特征值的特征库,将采集的特征值与特征库内存储的每个APK的特征值进行逐一比对,根据设定的同源等级和权重值,计算与每个APK的同源比对结果。
与某个恶意APK的同源比对结果S的计算过程为:
设定待检测APK的特征值按照同源权重的不同分为k级,每一级包含一个以上的权重值相同的特征项,每一级的所有特征项的权重值均相同,每一个特征项包含一个以上的特征,则待检测APK与某个恶意APK的同源比对结果S的计算公式为:
Figure BDA0002800402960000051
其中,i表示级数的序号,k表示级数的总数,j表示每一级中包含的特征的序号,l表示每一级包含的特征的总数,θi表示第i级对应的权重值,mij表示第i级的第j个特征项包含的所有特征的总数,nij表示第i级的第j个特征项包含的所有特征中与某个恶意APK的所有特征中特征相同的个数。
两个特征是否相同根据两个特征的相似度进行判定。该实施例中相似度采用编辑距离进行计算,当两个特征的编辑距离为0时,则两个特征相同。
S3:当同源比对结果大于阈值时,判定待检测APK与特征库里的APK具有同源性。
该实施例中通过对200个随机APK样本进行分析,其中部分APK具有相同开发者的特性,即同源性,通过对这些同源APK检测、特征值比对分析,并对特征项、同源等级、权重值定义如表1所示(本发明包含的特征项并不限于表格中所列的内容):
表1
Figure BDA0002800402960000052
Figure BDA0002800402960000061
根据以上表格所列的特征项和同源比对结果的计算公式,对两个具有同源性的APK的特征值进行比对,若定义θ1=0.7,θ2=0.2,θ3=0.1,计算可得出待检测APK与恶意APK1的同源比对结果为:S=0.74。通过该同源比对结果与阈值的关系,判断两个APK的同源度较高。
本发明实施例一通过了对APK的静态检测和动态检测,实现对APK的特征值提取;由于同一开发者开发的不同APK在特征上存在相似性,如授权ID、签名、网络请求字符等,通过将特征值与恶意APK的特征值进行同源比对,判定两个APK的同源程度,进而对APK的同源分析核侦测工作具有重要的指导意义。
实施例二:
本发明还提供一种同源APK检测终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
进一步地,作为一个可执行方案,所述同源APK检测终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述同源APK检测终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述同源APK检测终端设备的组成结构仅仅是同源APK检测终端设备的示例,并不构成对同源APK检测终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述同源APK检测终端设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述同源APK检测终端设备的控制中心,利用各种接口和线路连接整个同源APK检测终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述同源APK检测终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
所述同源APK检测终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)以及软件分发介质等。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

Claims (6)

1.一种同源APK检测方法,其特征在于,包括以下步骤:
S1:通过静态检测和动态检测结合的方式采集待检测APK的特征值;
S2:构建包含APK特征值的特征库,将采集的特征值与特征库内存储的每个APK的特征值进行逐一比对,根据设定的同源等级和权重值,计算与每个APK的同源比对结果;与某个APK的同源比对结果的计算过程为:设定待检测APK的特征值按照同源权重的不同分为k级,每一级包含一个以上的权重值相同的特征项,每一个特征项包含一个以上的特征,则待检测APK与某个恶意APK的同源比对结果S的计算公式为:
Figure FDA0003595696280000011
其中,i表示级数的序号,k表示级数的总数,j表示每一级中包含的特征的序号,l表示每一级包含的特征的总数,θi表示第i级对应的权重值,mij表示第i级的第j个特征项包含的所有特征的总数,nij表示第i级的第j个特征项包含的所有特征中与某个APK的所有特征中特征相同的个数;
S3:当同源比对结果大于阈值时,判定待检测APK与特征库里的APK具有同源性。
2.根据权利要求1所述的同源APK检测方法,其特征在于:静态检测通过反编译APK文件静态检测手段进行;动态检测采用真机沙箱技术通过对Android系统进行深度定制,在系统调用接口设置API接口,以实现对APK全程行为的记录。
3.根据权利要求1所述的同源APK检测方法,其特征在于:两个特征是否相同根据两个特征的相似度进行判定。
4.根据权利要求3所述的同源APK检测方法,其特征在于:相似度采用编辑距离进行计算,当两个特征的编辑距离为0时,则两个特征相同。
5.一种同源APK检测终端设备,其特征在于:包括处理器、存储器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~4中任一所述方法的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1~4中任一所述方法的步骤。
CN202011347616.8A 2020-11-26 2020-11-26 一种同源apk检测方法、终端设备及存储介质 Active CN112380530B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011347616.8A CN112380530B (zh) 2020-11-26 2020-11-26 一种同源apk检测方法、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011347616.8A CN112380530B (zh) 2020-11-26 2020-11-26 一种同源apk检测方法、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN112380530A CN112380530A (zh) 2021-02-19
CN112380530B true CN112380530B (zh) 2022-07-15

Family

ID=74588555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011347616.8A Active CN112380530B (zh) 2020-11-26 2020-11-26 一种同源apk检测方法、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN112380530B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984140A (zh) * 2012-11-21 2013-03-20 中国人民解放军国防科学技术大学 基于行为片段共享的恶意软件特征融合分析方法及系统
CN109800575A (zh) * 2018-12-06 2019-05-24 成都网安科技发展有限公司 一种Android应用程序的安全检测方法
WO2019133451A1 (en) * 2017-12-28 2019-07-04 Fireeye, Inc. Platform and method for enhanced-cyber-attack detection and response employing a global data store
CN111538989A (zh) * 2020-04-22 2020-08-14 四川大学 基于图卷积网络和主题模型的恶意代码同源性分析方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984140A (zh) * 2012-11-21 2013-03-20 中国人民解放军国防科学技术大学 基于行为片段共享的恶意软件特征融合分析方法及系统
WO2019133451A1 (en) * 2017-12-28 2019-07-04 Fireeye, Inc. Platform and method for enhanced-cyber-attack detection and response employing a global data store
CN109800575A (zh) * 2018-12-06 2019-05-24 成都网安科技发展有限公司 一种Android应用程序的安全检测方法
CN111538989A (zh) * 2020-04-22 2020-08-14 四川大学 基于图卷积网络和主题模型的恶意代码同源性分析方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Di Xue 等.Homology analysis of malware based on ensemble learning and multifeatures.《PLOS ONE》.2019, *
唐彰国 等.基于量子神经网络的网络攻击同源性判定方法.《成都理工大学学报(自然科学版)》.2017, *

Also Published As

Publication number Publication date
CN112380530A (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
US10986103B2 (en) Signal tokens indicative of malware
Lin et al. Identifying android malicious repackaged applications by thread-grained system call sequences
US9798981B2 (en) Determining malware based on signal tokens
Zhao et al. Malicious executables classification based on behavioral factor analysis
CN111639337B (zh) 一种面向海量Windows软件的未知恶意代码检测方法及系统
US9239922B1 (en) Document exploit detection using baseline comparison
Zhu et al. Android malware detection based on multi-head squeeze-and-excitation residual network
CN104680065A (zh) 病毒检测方法、装置及设备
Lubuva et al. A review of static malware detection for Android apps permission based on deep learning
CN112632538A (zh) 一种基于混合特征的安卓恶意软件检测方法及系统
CN112380530B (zh) 一种同源apk检测方法、终端设备及存储介质
US20220366048A1 (en) Ai-powered advanced malware detection system
CN116305120A (zh) 一种双重验证的安卓恶意软件混合检测系统及方法
Congyi et al. Method for detecting Android malware based on ensemble learning
Gao et al. Quorum chain-based malware detection in android smart devices
Ouaguid et al. Vulnerability Detection Approaches on Application Behaviors in Mobile Environment
AbuAlghanam et al. Android Malware Detection System Based on Ensemble Learning
Underwood et al. In search of shotgun parsers in android applications
Fasano et al. Spyware Detection using Temporal Logic.
Chen et al. Illegal but not malware: An underground economy app detection system based on usage scenario
CN113420302A (zh) 主机漏洞检测方法及装置
CN111240696A (zh) 移动恶意程序相似模块提取方法
Xue et al. A multidimensional feature extraction method based on android malware detection
Liu et al. FGFDect: A fine-grained features classification model for Android Malware Detection
Zhan et al. DroidExaminer: An Android Malware Hybrid Detection System Based on Ensemble Learning

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