CN107871080A - 大数据混合式Android恶意代码检测方法及装置 - Google Patents
大数据混合式Android恶意代码检测方法及装置 Download PDFInfo
- Publication number
- CN107871080A CN107871080A CN201711263276.9A CN201711263276A CN107871080A CN 107871080 A CN107871080 A CN 107871080A CN 201711263276 A CN201711263276 A CN 201711263276A CN 107871080 A CN107871080 A CN 107871080A
- Authority
- CN
- China
- Prior art keywords
- attributive character
- installation kit
- malicious code
- application program
- 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.)
- Pending
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
- G06F21/563—Static detection by source code analysis
-
- 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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
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)
- Stored Programmes (AREA)
Abstract
本发明提供了一种大数据混合式Android恶意代码检测方法及装置,涉及计算机安全的技术领域,该方法包括:获取待分析应用程序的安装包,其中,待分析应用程序为在安卓设备上运行的应用程序;将安装包进行分解,得到分解数据,并在分解数据中进行特征提取,得到安装包的属性特征,分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件;基于属性特征,对安装包进行恶意代码检测。本发明缓解了Android恶意代码的传统检测方法所存在误报率高的技术问题。
Description
技术领域
本发明涉及计算机安全技术领域,尤其是涉及一种大数据混合式Android恶意代码检测方法及装置。
背景技术
随着4G时代的火爆及移动终端性能的提高,移动终端已代替PC成为互联网主要的交互终端。在两大移动操作***中,安卓(Android)以其开源特性使得市场占比在2016年已达86.2%,随之而来的是数量呈***式增长的Android应用程序(Application,简称APP)。
Android***利用JAVA官方开发语言及***框架开发APP,这造成APP加固保护难,进一步使得重打包及伪造应用等恶意代码植入方式技术门槛低,使得移动终端感染类似PC文件的感染型病毒。2016年8月首例针对企业内网的“DressCode”恶意代码,也是采用将恶意代码植入流行的***实现的病毒感染。针对Android恶意代码,目前的检测方法有在整体上笼统的使用机器学习算法分类,具体地,即将android***中的APK文件或Dex文件在整体上使用机器学习算法进行分类以识别病毒,在实际应用中这种方法误报率高的技术问题。
针对Android恶意代码的传统检测方法所存在误报率高的技术问题,目前缺乏有效的解决方案。
发明内容
有鉴于此,本发明的目的在于提供一种大数据混合式Android恶意代码检测方法及装置,以缓解Android恶意代码的传统检测方法误报率高的技术问题。
第一方面,本发明实施例提供了一种大数据混合式Android恶意代码检测方法,包括:
获取待分析应用程序的安装包,其中,所述待分析应用程序为在安卓设备上运行的应用程序;
将所述安装包进行分解,得到分解数据,并在所述分解数据中进行特征提取,得到所述安装包的属性特征,所述分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件;
基于所述属性特征,对所述安装包进行恶意代码检测。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述分解数据包括所述配置文件,在所述分解数据中进行特征提取,得到所述安装包的属性特征,包括:
对所述配置文件进行反编译;
在反编译后的所述配置文件中提取第一信息,并将所述第一信息确定为所述属性特征,其中,所述第一信息为所述待分析应用程序的基础信息。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述分解数据包括所述数字签名证书,在所述分解数据中进行特征提取,得到所述安装包的属性特征,包括:
从所述数字签名证书中提取第二信息,其中,所述第二信息为所述数字签名证书的基础信息;
将所述第二信息确定为所述属性特征。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述分解数据包括所述可执行文件,在所述分解数据中进行特征提取,得到所述安装包的属性特征,包括:
反编译所述可执行文件,得到开发工具包;
运行所述可执行文件得到运行文件;
将所述开发工具包和所述运行文件确定为所述属性特征。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,基于所述属性特征,对所述安装包进行恶意代码检测,包括:
获取样本集,其中,所述样本集中包括预先对目标程序进行恶意代码检测得到的合法特征和非法特征,所述目标程序为所述待分析应用程序的同类程序;
将所述属性特征和所述样本集进行对比,得到比对结果,其中,所述比对结果用于表示所述属性特征是否为恶意代码攻击所述待分析应用程序时所生成的特征。
结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,
将所述属性特征和所述样本集进行对比,包括:通过机器学习算法,将所述属性特征和所述样本集进行对比;
在将所述属性特征和所述样本集进行对比,得到比对结果之后,所述方法还包括:获取预设白名单,其中,所述预设白名单中包括目标属性特征,所述目标属性特征为预先确定的由机器学习算法误判的属性特征;以及,根据所述目标属性特征,对所述比对结果进程误报处理。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述属性特征的种类为多种,所述方法还包括:
依照所述属性特征的种类,将采用所述属性特征对所述安装包进行恶意代码检测得到的结果进行分类,得到多类检测结果;
在所述多类检测结果不统一的情况下,将所述多类检测结果发送给管理人员,以便管理人员进行误报处理。
结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,在基于所述属性特征,对所述安装包进行恶意代码检测之后,所述方法还包括:
获取所述属性特征的标识信息,其中,所述标识信息用于表示所述属性特征是否为恶意代码攻击所述待分析应用程序时所生成的特征;
将所述属性特征和所述标识信息存储在样本集内。
第二方面,本发明实施例还提供一种大数据混合式Android恶意代码检测装置,包括:
获取模块,用于获取待分析应用程序的安装包,其中,所述待分析应用程序为在安卓设备上运行的应用程序;
分解提取模块,用于将所述安装包进行分解,得到分解数据,并在所述分解数据中进行特征提取,得到所述安装包的属性特征,所述分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件;
检测模块,用于基于所述属性特征,对所述安装包进行恶意代码检测。
第三方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行第一方面所述的方法。
本发明实施例带来了以下有益效果:
本发明实施例所提供的大数据混合式Android恶意代码检测方法,包括:获取待分析应用程序的安装包,其中,待分析应用程序为在安卓设备上运行的应用程序;将安装包进行分解,得到分解数据,并在分解数据中进行特征提取,得到安装包的属性特征,分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件;基于属性特征,对安装包进行恶意代码检测。
Android恶意代码的传统检测方法中,将android***中的APK文件或Dex文件在整体上使用机器学习算法进行分类以识别病毒,在实际应用中这种方法误报率高。本发明实施例所提供的大数据混合式Android恶意代码检测方法,将安装包进行分解,得到分解数据,分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件,然后在分解数据中进行特征提取,并基于属性特征,对安装包进行恶意代码检测。从而,本发明实施例实现了基于较细致特征对安装包进行恶意代码检测的目的,并且,在分解数据包括多种文件的情况下,本发明实施例实现了基于混合式的较细致特征对安装包进行恶意代码检测的目的,检测更加细致和全面,可靠性更高,因而,缓解了Android恶意代码的传统检测方法所存在误报率高的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种大数据混合式Android恶意代码检测方法的流程图;
图2为本发明实施例一提供的另一种大数据混合式Android恶意代码检测方法的流程图;
图3为本发明实施例一提供的一种大数据混合式Android恶意代码检测装置的结构图;
图4为本发明实施例一提供的另一种大数据混合式Android恶意代码检测装置的结构框图。
图标:100-第一获取模块;200-分解提取模块;300-检测模块;400-第一误报处理模块;500-第二误报处理模块;600-第二获取模块;700-存储模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对Android恶意代码,目前的检测方法有在整体上笼统的使用机器学习算法分类,具体地,即将android***中的APK文件或Dex文件在整体上使用机器学习算法进行分类以识别病毒,在实际应用中这种方法误报率高的技术问题。基于此,本发明实施例提供的一种一种大数据混合式Android恶意代码检测方法及装置,可以缓解Android恶意代码的传统检测方法误报率高的技术问题。
实施例一
本发明实施例提供的一种大数据混合式Android恶意代码检测方法,如图1所示,包括:
步骤S102,获取待分析应用程序的安装包,其中,待分析应用程序为在安卓设备上运行的应用程序。
步骤S104,将安装包进行分解,得到分解数据,并在分解数据中进行特征提取,得到安装包的属性特征,分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件。
步骤S106,基于属性特征,对安装包进行恶意代码检测。
本发明实施例所提供的大数据混合式Android恶意代码检测方法,将安装包进行分解,得到分解数据,分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件,然后在分解数据中进行特征提取,并基于属性特征,对安装包进行恶意代码检测。从而,本发明实施例实现了基于较细致特征对安装包进行恶意代码检测的目的,并且,在分解数据包括多种文件的情况下,本发明实施例实现了基于混合式的较细致特征对安装包进行恶意代码检测的目的,检测更加细致和全面,可靠性更高,因而,缓解了Android恶意代码的传统检测方法所存在误报率高的技术问题。
本发明实施例的另一个可选实施方式中,步骤S106,基于属性特征,对安装包进行恶意代码检测,包括:
获取样本集,其中,样本集中包括预先对目标程序进行恶意代码检测得到的合法特征和非法特征,目标程序为待分析应用程序的同类程序;
将属性特征和样本集进行对比,得到比对结果,其中,比对结果用于表示属性特征是否为恶意代码攻击待分析应用程序时所生成的特征。
需要说明的是,目标程序为待分析应用程序的同类程序,指目标程序和待分析应用程序属于同一应用程序(Application,简称App)的不同安装包对应的运行程序,进一步,目标程序包括被恶意代码入侵的程序和未被恶意代码入侵的程序。预先对目标程序进行恶意代码检测后,对于未被恶意代码入侵的程序可以被提取合法特征,合法特征指不是恶意代码攻击待分析应用程序时所生成的特征;被恶意代码入侵的程序可以被提取非法特征,非法特征指恶意代码攻击待分析应用程序时所生成的特征。
下面对分解数据中包括配置文件、数字签名证书、可执行文件的情况下,步骤S104和步骤S106的具体执行过程进行详细描述。
(一)分解数据包括配置文件
步骤S104中在分解数据中进行特征提取,得到安装包的属性特征,包括:
对配置文件进行反编译;
在反编译后的配置文件中提取第一信息,并将第一信息确定为属性特征,其中,第一信息为待分析应用程序的基础信息。
具体地,在目前的安卓***中,配置文件一般为数据包中的AndroidManifest.xml文件,对AndroidManifest.xml文件反编译后即可得到待分析应用程序的基础信息。其中,待分析应用程序的基础信息包括:待分析应用程序的应用名和版本、待分析应用程序安装包的包名、待分析应用程序的权限列表以及注册activity/receiver/server、meta元数据等基础信息。
进一步,步骤S106,基于属性特征,对安装包进行恶意代码检测,包括:
获取样本集,其中,样本集中包括由至少一个目标程序的基础信息提取出的合法特征和/或非法特征;
将第一信息和合法特征、非法特征进行对比,若第一信息和合法特征一样,则表明待分析应用程序的安装包不是恶意代码入侵的安装包;若第一特征和非法特征一样,则表明待分析应用程序的安装包是恶意代码入侵的安装包。
(二)分解数据包括数字签名证书
步骤S104中在分解数据中进行特征提取,得到安装包的属性特征,包括:
从数字签名证书中提取第二信息,其中,第二信息为数字签名证书的基础信息;
将第二信息确定为属性特征。
具体地,数字签名(Certification Authority,简称CA)证书的基础信息包括:加密算法及版本、证书拥有者及颁发者信息、证书有效期时间跨度、完整性信息等等。
进一步,步骤S106,基于属性特征,对安装包进行恶意代码检测,包括:
获取样本集,其中,样本集中包括由至少一个目标程序相应数字签名的基础信息提取出的合法特征和/或非法特征;
将第一信息和合法特征、非法特征进行对比,若第一信息和合法特征一样,则表明待分析应用程序的安装包不是恶意代码入侵的安装包;若第一特征和非法特征一样,则表明待分析应用程序的安装包是恶意代码入侵的安装包。
其中,关于加密算法及版本,进行直接对比;对证书拥有者及颁发者信息,则使用欧几里德距离、皮尔逊相似度、曼哈顿距离、jaccard系数、Tanimaot系数对证书拥有者及颁发者信息综合权值进行计算而得到第一计算结果,然后将第一计算结果进行比较;对证书有效期时间跨度,进行有效期时间跨度区间的直接比较;对完整性信息,可以将数字签名证书的MD5、SHA1、SHA256进行直接对比。
(三)分解数据包括可执行文件
步骤S104中在分解数据中进行特征提取,得到安装包的属性特征,包括:
反编译可执行文件,得到开发工具包;
运行可执行文件得到运行文件;
将开发工具包和运行文件确定为属性特征。
具体地,安卓***的应用程序中的可执行文件为DEX文件。
DEX文件反编译即得到开发工具包(即,SDK文件),目前的一般开发工具包为JAR格式的源代码。目前,国内开发工具包的功能繁杂是恶意行为分析结果的主要误报来源,也是恶意代码优良的植入点或伪造路径。本发明实施例中将SDK文件确定为属性特征并进一步进行恶意代码检测,有利于降低恶意行为分析结果的误报率。
运行可执行文件得到运行文件,可以是在沙箱中动态执行可执行文件,然后获取运行文件,安卓***的应用程序中的运行文件为SO文件。
进一步,对于开发工具包,步骤S106,基于属性特征,对安装包进行恶意代码检测,包括:
获取样本集,样本集中包括由第一目标开发工具包提取的合法特征和非法特征,其中,第一目标开发工具包为目标程序的开发工具包;
根据开发工具包包名路径及开发工具包的文件特征确定分类特征,基于分类特征对待分析应用程序的开发工具包进行分类,然后将各类开发工具包使用TF-IDF模型做降维计算后得到包含核心特征的待比较开发工具包,基于核心特征将待比较开发工具包和具有相同分类特征的第一目标开发工具包进行对比。
具体地,若待比较开发工具包的特征和第一目标开发工具包的合法特征一样,则表明待分析应用程序的安装包不是恶意代码入侵的安装包;若待比较开发工具包的特征和第一目标开发工具包的非法特征一样,则表明待分析应用程序的安装包是恶意代码入侵的安装包,从而,检测出伪造的SDK文件,以便剔除掉伪造的SDK文件。
其中,TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
可选地,对于开发工具包和运行文件,步骤S106,基于属性特征,对安装包进行恶意代码检测,还可以包括:
获取样本集,样本集中包括由第一扫描结果提取的合法特征和非法特征,其中,第一扫描结果为对至少一个目标程序的开发工具包和运行文件做动静态结合扫描分析而得到结果;
选取第二目标开发工具包,将第二目标开发工具包和运行文件做动静态结合的扫描分析,得到第二扫描结果,并将第一扫描结果和第二扫描结果进行对比,其中,为了利于于恶意代码检测的降噪,第二目标开发工具包为剔除了伪造SDK文件的开发工具包。
具体地,若第二扫描结果的特征和合法特征一样,则表明待分析应用程序的安装包不是恶意代码入侵的安装包;若第二扫描结果的特征和非法特征一样,则表明待分析应用程序的安装包是恶意代码入侵的安装包。
上述将第二目标开发工具包和运行文件做动静态结合的扫描分析,包括:常规的并行动静态扫描分析,或者,对加固、动态解密加载等深层次的对抗技术进行多次的扩展扫描。
为了降低Android恶意代码检测的误报率,参见图2,在步骤S106,基于属性特征,对安装包进行恶意代码检测之后,本发明实施例提供的大数据混合式Android恶意代码检测方法还包括:步骤S108,误报处理。具体地,步骤S108的实施方式可以采用以下两种方式:
(一)在通过机器学习算法将属性特征和样本集进行对比的情况下
鉴于机器学习的机械化,通过机器学习算法将属性特征和样本集进行对比的过程中会有一些机械化的误报现象出现,这些机械化的误报现象会固定地涉及到一些目标属性特征,可以先对这些属性特征进行预先标识。继而,步骤S108包括:
获取预设白名单,其中,预设白名单中包括目标属性特征,目标属性特征为预先确定的由机器学习算法误判的属性特征;
根据目标属性特征,对比对结果进程误报处理。
(二)在属性特征的种类为多种的情况下
鉴于步骤S106,基于不同属性特征,对安装包进行恶意代码检测后会存在得到不同检测结果的现象,因而,步骤S108包括:
依照属性特征的种类,将采用属性特征对安装包进行恶意代码检测得到的结果进行分类,得到多类检测结果;
在多类检测结果不统一的情况下,将多类检测结果发送给管理人员,以便管理人员进行误报处理。
本发明实施例的另一个可选实施方式中,在步骤S106,基于属性特征,对安装包进行恶意代码检测之后,该大数据混合式Android恶意代码检测方法还包括:
获取属性特征的标识信息,其中,标识信息用于表示属性特征是否为恶意代码攻击待分析应用程序时所生成的特征;
将属性特征和标识信息存储在样本集内。
具体地,样本集可以被用来进行后续的恶意代码检测,从而扩充了样本集的样本数量,有利于后续恶意代码检测的精准性。
本发明实施例提供的大数据混合式Android恶意代码检测方法将安装包进行分解,得到分解数据,然后基于分解数据的属性特征,对安装包进行恶意代码检测,并基于大数据统计得到的样本集,根据不同的属性特征采用了不同的检测方法,具有针对恶意代码检测效率高和误报率低的优点。
实施例二
如图3到图4所示,本发明实施例提供的一种大数据混合式Android恶意代码检测装置。
参照图3,该大数据混合式Android恶意代码检测装置包括:
第一获取模块100,用于获取待分析应用程序的安装包,其中,待分析应用程序为在安卓设备上运行的应用程序;
分解提取模块200,用于将安装包进行分解,得到分解数据,并在分解数据中进行特征提取,得到安装包的属性特征,分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件;
检测模块300,用于基于属性特征,对安装包进行恶意代码检测。
在本发明实施例中,第一获取模块100获取待分析应用程序的安装包,其中,待分析应用程序为在安卓设备上运行的应用程序;分解提取模块200将安装包进行分解,得到分解数据,并在分解数据中进行特征提取,得到安装包的属性特征,分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件;检测模块300基于属性特征,对安装包进行恶意代码检测。
本发明实施例所提供的大数据混合式Android恶意代码检测装置将安装包进行分解,得到分解数据,分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件,然后在分解数据中进行特征提取,并基于属性特征,对安装包进行恶意代码检测。从而,本发明实施例实现了基于较细致特征对安装包进行恶意代码检测的目的,并且,在分解数据包括多种文件的情况下,本发明实施例实现了基于混合式的较细致特征对安装包进行恶意代码检测的目的,检测更加细致和全面,可靠性更高,因而,缓解了Android恶意代码的传统检测方法所存在误报率高的技术问题。
本发明实施例的一个可选实施方式中,分解数据包括配置文件,分解提取模块200用于:
对配置文件进行反编译;
在反编译后的配置文件中提取第一信息,并将第一信息确定为属性特征,其中,第一信息为待分析应用程序的基础信息。
本发明实施例的另一个可选实施方式中,分解数据包括数字签名证书,分解提取模块200用于:
从数字签名证书中提取第二信息,其中,第二信息为数字签名证书的基础信息;
将第二信息确定为属性特征。
本发明实施例的另一个可选实施方式中,分解数据包括可执行文件,分解提取模块200用于:
反编译可执行文件,得到开发工具包;
运行可执行文件得到运行文件;
将开发工具包和运行文件确定为属性特征。
本发明实施例的另一个可选实施方式中,检测模块300用于:
获取样本集,其中,样本集中包括预先对目标程序进行恶意代码检测得到的合法特征和非法特征,目标程序为待分析应用程序的同类程序;
将属性特征和样本集进行对比,得到比对结果,其中,比对结果用于表示属性特征是否为恶意代码攻击待分析应用程序时所生成的特征。
本发明实施例的另一个可选实施方式中,检测模块300用于通过机器学习算法,将属性特征和样本集进行对比;
参照图4,大数据混合式Android恶意代码检测装置还包括第一误报处理模块400,第一误报处理模块400用于:
获取预设白名单,其中,预设白名单中包括目标属性特征,目标属性特征为预先确定的由机器学习算法误判的属性特征;以及,根据目标属性特征,对比对结果进程误报处理。
本发明实施例的另一个可选实施方式中,属性特征的种类为多种,参照图4,大数据混合式Android恶意代码检测装置还包括第二误报处理模块500,用于:
依照属性特征的种类,将采用属性特征对安装包进行恶意代码检测得到的结果进行分类,得到多类检测结果;
在多类检测结果不统一的情况下,将多类检测结果发送给管理人员,以便管理人员进行误报处理。
本发明实施例的另一个可选实施方式中,参照图4,大数据混合式Android恶意代码检测装置还包括:
第二获取模块600,用于获取属性特征的标识信息,其中,标识信息用于表示属性特征是否为恶意代码攻击待分析应用程序时所生成的特征;
存储模块700,用于将属性特征和标识信息存储在样本集内。
实施例三
本发明实施例提供的一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行实施例一的方法。
具体地,存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例中,程序代码使处理器执行实施例一的方法,即将安装包进行分解,得到分解数据,分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件,然后在分解数据中进行特征提取,并基于属性特征,对安装包进行恶意代码检测。从而,本发明实施例实现了基于较细致特征对安装包进行恶意代码检测的目的,并且,在分解数据包括多种文件的情况下,本发明实施例实现了基于混合式的较细致特征对安装包进行恶意代码检测的目的,检测更加细致和全面,可靠性更高,因而,缓解了Android恶意代码的传统检测方法所存在误报率高的技术问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种大数据混合式Android恶意代码检测方法,其特征在于,包括:
获取待分析应用程序的安装包,其中,所述待分析应用程序为在安卓设备上运行的应用程序;
将所述安装包进行分解,得到分解数据,并在所述分解数据中进行特征提取,得到所述安装包的属性特征,所述分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件;
基于所述属性特征,对所述安装包进行恶意代码检测。
2.根据权利要求1所述的方法,其特征在于,所述分解数据包括所述配置文件,在所述分解数据中进行特征提取,得到所述安装包的属性特征,包括:
对所述配置文件进行反编译;
在反编译后的所述配置文件中提取第一信息,并将所述第一信息确定为所述属性特征,其中,所述第一信息为所述待分析应用程序的基础信息。
3.根据权利要求1所述的方法,其特征在于,所述分解数据包括所述数字签名证书,在所述分解数据中进行特征提取,得到所述安装包的属性特征,包括:
从所述数字签名证书中提取第二信息,其中,所述第二信息为所述数字签名证书的基础信息;
将所述第二信息确定为所述属性特征。
4.根据权利要求1所述的方法,其特征在于,所述分解数据包括所述可执行文件,在所述分解数据中进行特征提取,得到所述安装包的属性特征,包括:
反编译所述可执行文件,得到开发工具包;
运行所述可执行文件得到运行文件;
将所述开发工具包和所述运行文件确定为所述属性特征。
5.根据权利要求1所述的方法,其特征在于,基于所述属性特征,对所述安装包进行恶意代码检测,包括:
获取样本集,其中,所述样本集中包括预先对目标程序进行恶意代码检测得到的合法特征和非法特征,所述目标程序为所述待分析应用程序的同类程序;
将所述属性特征和所述样本集进行对比,得到比对结果,其中,所述比对结果用于表示所述属性特征是否为恶意代码攻击所述待分析应用程序时所生成的特征。
6.根据权利要求5所述的方法,其特征在于,
将所述属性特征和所述样本集进行对比,包括:通过机器学习算法,将所述属性特征和所述样本集进行对比;
在将所述属性特征和所述样本集进行对比,得到比对结果之后,所述方法还包括:获取预设白名单,其中,所述预设白名单中包括目标属性特征,所述目标属性特征为预先确定的由机器学习算法误判的属性特征;以及,根据所述目标属性特征,对所述比对结果进程误报处理。
7.根据权利要求1所述的方法,其特征在于,所述属性特征的种类为多种,所述方法还包括:
依照所述属性特征的种类,将采用所述属性特征对所述安装包进行恶意代码检测得到的结果进行分类,得到多类检测结果;
在所述多类检测结果不统一的情况下,将所述多类检测结果发送给管理人员,以便管理人员进行误报处理。
8.根据权利要求1所述的方法,其特征在于,在基于所述属性特征,对所述安装包进行恶意代码检测之后,所述方法还包括:
获取所述属性特征的标识信息,其中,所述标识信息用于表示所述属性特征是否为恶意代码攻击所述待分析应用程序时所生成的特征;
将所述属性特征和所述标识信息存储在样本集内。
9.一种大数据混合式Android恶意代码检测装置,其特征在于,包括:
获取模块,用于获取待分析应用程序的安装包,其中,所述待分析应用程序为在安卓设备上运行的应用程序;
分解提取模块,用于将所述安装包进行分解,得到分解数据,并在所述分解数据中进行特征提取,得到所述安装包的属性特征,所述分解数据包括以下至少之一:配置文件,数字签名证书和可执行文件;
检测模块,用于基于所述属性特征,对所述安装包进行恶意代码检测。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711263276.9A CN107871080A (zh) | 2017-12-04 | 2017-12-04 | 大数据混合式Android恶意代码检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711263276.9A CN107871080A (zh) | 2017-12-04 | 2017-12-04 | 大数据混合式Android恶意代码检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107871080A true CN107871080A (zh) | 2018-04-03 |
Family
ID=61755107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711263276.9A Pending CN107871080A (zh) | 2017-12-04 | 2017-12-04 | 大数据混合式Android恶意代码检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107871080A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657454A (zh) * | 2018-12-20 | 2019-04-19 | 成都三零瑞通移动通信有限公司 | 一种基于tf密码模块的安卓应用可信验证方法 |
CN110071924A (zh) * | 2019-04-24 | 2019-07-30 | 广州知弘科技有限公司 | 基于终端的大数据分析方法及*** |
CN111538971A (zh) * | 2018-12-28 | 2020-08-14 | 卡巴斯基实验室股份公司 | 用于验证文件的数字签名的***和方法 |
CN112287343A (zh) * | 2020-10-16 | 2021-01-29 | 深圳市和讯华谷信息技术有限公司 | Sdk监控方法、装置、计算机设备及存储介质 |
CN113591079A (zh) * | 2020-04-30 | 2021-11-02 | 中移互联网有限公司 | 获取异常应用安装包的方法、装置及电子设备 |
CN115688107A (zh) * | 2022-12-28 | 2023-02-03 | 卓望数码技术(深圳)有限公司 | 一种涉诈app检测***和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294953A (zh) * | 2012-12-27 | 2013-09-11 | 武汉安天信息技术有限责任公司 | 一种手机恶意代码检测方法及*** |
CN104317573A (zh) * | 2014-10-03 | 2015-01-28 | 李宏伟 | 安卓安装包转换方法和装置以及运行应用的方法和装置 |
CN104751053A (zh) * | 2013-12-30 | 2015-07-01 | 南京理工大学常熟研究院有限公司 | 移动智能终端软件的静态行为分析方法 |
CN105205358A (zh) * | 2015-09-21 | 2015-12-30 | 中科信息安全共性技术国家工程研究中心有限公司 | 一种识别Android APP加固的方法及检测方法 |
CN105893848A (zh) * | 2016-04-27 | 2016-08-24 | 南京邮电大学 | 一种基于代码行为相似度匹配的Android恶意应用程序防范方法 |
-
2017
- 2017-12-04 CN CN201711263276.9A patent/CN107871080A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294953A (zh) * | 2012-12-27 | 2013-09-11 | 武汉安天信息技术有限责任公司 | 一种手机恶意代码检测方法及*** |
CN104751053A (zh) * | 2013-12-30 | 2015-07-01 | 南京理工大学常熟研究院有限公司 | 移动智能终端软件的静态行为分析方法 |
CN104317573A (zh) * | 2014-10-03 | 2015-01-28 | 李宏伟 | 安卓安装包转换方法和装置以及运行应用的方法和装置 |
CN105205358A (zh) * | 2015-09-21 | 2015-12-30 | 中科信息安全共性技术国家工程研究中心有限公司 | 一种识别Android APP加固的方法及检测方法 |
CN105893848A (zh) * | 2016-04-27 | 2016-08-24 | 南京邮电大学 | 一种基于代码行为相似度匹配的Android恶意应用程序防范方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657454A (zh) * | 2018-12-20 | 2019-04-19 | 成都三零瑞通移动通信有限公司 | 一种基于tf密码模块的安卓应用可信验证方法 |
CN111538971A (zh) * | 2018-12-28 | 2020-08-14 | 卡巴斯基实验室股份公司 | 用于验证文件的数字签名的***和方法 |
CN111538971B (zh) * | 2018-12-28 | 2024-05-07 | 卡巴斯基实验室股份公司 | 用于验证文件的数字签名的***和方法 |
CN110071924A (zh) * | 2019-04-24 | 2019-07-30 | 广州知弘科技有限公司 | 基于终端的大数据分析方法及*** |
CN113591079A (zh) * | 2020-04-30 | 2021-11-02 | 中移互联网有限公司 | 获取异常应用安装包的方法、装置及电子设备 |
CN113591079B (zh) * | 2020-04-30 | 2023-08-15 | 中移互联网有限公司 | 获取异常应用安装包的方法、装置及电子设备 |
CN112287343A (zh) * | 2020-10-16 | 2021-01-29 | 深圳市和讯华谷信息技术有限公司 | Sdk监控方法、装置、计算机设备及存储介质 |
CN115688107A (zh) * | 2022-12-28 | 2023-02-03 | 卓望数码技术(深圳)有限公司 | 一种涉诈app检测***和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vinod et al. | A machine learning based approach to detect malicious android apps using discriminant system calls | |
Dang et al. | Evading classifiers by morphing in the dark | |
CN107871080A (zh) | 大数据混合式Android恶意代码检测方法及装置 | |
Alazab | Profiling and classifying the behavior of malicious codes | |
Fratantonio et al. | Triggerscope: Towards detecting logic bombs in android applications | |
Wan et al. | You see what i want you to see: poisoning vulnerabilities in neural code search | |
Zhu et al. | Android malware detection based on multi-head squeeze-and-excitation residual network | |
Tian et al. | DKISB: Dynamic key instruction sequence birthmark for software plagiarism detection | |
CN103761478A (zh) | 恶意文件的判断方法及设备 | |
Zhang et al. | ScanMe mobile: a cloud-based Android malware analysis service | |
Yuste et al. | Optimization of code caves in malware binaries to evade machine learning detectors | |
Yang et al. | Ratscope: Recording and reconstructing missing rat semantic behaviors for forensic analysis on windows | |
Dugyala et al. | [Retracted] Analysis of Malware Detection and Signature Generation Using a Novel Hybrid Approach | |
Alhawi et al. | Evaluation and application of two fuzzing approaches for security testing of IoT applications | |
Huang et al. | A large-scale study of android malware development phenomenon on public malware submission and scanning platform | |
Aarya et al. | Web scanning: existing techniques and future | |
Sali et al. | Ram forensics: The analysis and extraction of malicious processes from memory image using gui based memory forensic toolkit | |
Ramesh et al. | Integrated malware analysis using markov based model in machine learning | |
Jawhar | A Survey on Malware Attacks Analysis and Detected | |
Kumar | Reverse Engineering and Vulnerability Analysis in Cyber Security. | |
Hobert et al. | Enhancing cyber attribution through behavior similarity detection on linux shell honeypots with att&ck framework | |
Crincoli et al. | Code reordering obfuscation technique detection by means of weak bisimulation | |
Kennedy et al. | Towards Increasing Trust In Expert Evidence Derived From Malware Forensic Tools | |
Alvi et al. | Security pattern detection through diagonally distributed matrix matching | |
Chung et al. | Version-Wide Software Birthmark via Machine 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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180403 |
|
RJ01 | Rejection of invention patent application after publication |