基于DEX文件分区特性的Android恶意软件家族分类方法

文档序号:26589677发布日期:2021-09-10 20:30阅读:92来源:国知局
基于DEX文件分区特性的Android恶意软件家族分类方法
基于dex文件分区特性的android恶意软件家族分类方法
技术领域
1.本发明提出一种基于dex文件分区特性的android恶意软件家族分类方法。根据dex文件区块特征对dex文件进行可视化和文本化,将dex文件分别转化成rgb图像和纯文本,然后提取rgb图像特征和文本特征作为android恶意样本特征。最终选用基于多核学习的多特征融合算法对android恶意软件进行家族分类。


背景技术:

2.由于android系统的开源特性,使其占据移动手机市场85%以上的市场份额。但也因为android系统迭代迅速以及开源特性造成的系统碎片化严重,使得android恶意软件在原本繁多的恶意家族之上又产生大量的变种,对android恶意家族分类带来不小的挑战。传统的静态分析方法易受混淆和加固影响,而动态分析方法对时间和空间的花销严重。新的可视化方法未考虑到android恶意软件特性造成特征损失严重。
3.在应对恶意软件家族分类上很多可视化方法和图像处理方法被提出,但是大部分方法并没有针对android恶意软件家族分类,由于android平台文件相对于其他平台文件有自身的特点,因此很多方法并不适用于android恶意软件家族分类和导致android恶意软件的特征丢失。此外,很多针对android平台的方法由于在可视化方法和图像处理方法上的不足,造成分类的准确性不高。为应对以上出现的问题,本发明提出一种更精确的android恶意软件家族分类方法。该方法充分分析和利用了android可执行文件dex文件的特征,依靠dex文件的区块特征将dex文件其转化成rgb图像和文本,然后分别提取图像特征和文本特征对android恶意软件进行分类。相比于动静态分析方法具有更高的分析效率和抗干扰性。与灰度图相比,rgb图拥有除纹理特征之外的颜色特征,能够更加多维的表征android应用软件。此外在图像特征之外增添文本特征,图像特征和文本特征相结合在不影响分类效率的基础之上使得android恶意家族分类更加精准。


技术实现要素:

4.本发明是通过对android安装包文件进行解压提取代码执行文件dex文件,然后解析dex文件的头文件得到各个不同功能的区块。利用每个区块以及区块之间的特征将dex文件进行可视化和文本化,将dex文件转化成更加直观的rgb图像和文本。然后提取图像特征和文本特征作为dex文件的特征。直接对dex文件字节码进行操作降低了混淆和加固对分析的影响,并且图像特征和文本特征相结合对android恶意家族分类,在保证精确度的前提下提高了分类的效率。
附图说明
5.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这
些附图获得其他相关的附图。
6.图1是本发明提供的基于dex文件区块特征的android恶意软件家族分类方法框架图。
7.图2是本发明提供的dex文件的可视化过程的流程图。
8.图3是本发明提供的基于多核学习的特征融合算法的框架图。
具体实施方式
9.为了使本发明的实施目的、技术方案以及优点更加清晰,下面将结合本发明的说明书附图,对本发明进行简要的描述。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
10.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
11.基于dex文件特性的android恶意家族分类方法,方法主要分为四个主要大步骤,分别是:dex文件提取,dex文件处理,特征提取以及学习分类。dex文件提取是将android的安装包apk文件进行解压,然后从解压文件夹中提取后缀为.dex的dex文件;dex文件处理包括对dex文件的可视化和文本化,在得到dex文件后通过解析dex文件的头文件区对dex文件进行区块划分,利用划分后的区块特征分别将dex文件转化成rgb图像以及纯文本文件;特征提取包括提取rgb图像的图像特征和纯文本的文本特征;学习分类是将得到的图像特征和文本特征利用多核学习的特征融合算法进行整合然后分类。具体实现包括如下七个小步骤。
12.步骤一,dex文件提取:将android的安装包apk文件进行解压,然后从解压文件夹中提取后缀为.dex的dex文件,然后通过解析dex文件的头文件得到dex文件的8个节区。
13.步骤二,dex文件可视化:选择dex文件字节码作为其中一个通道,由于字符串、变量、方法和类的不同会导致区块的长度和内容不同,因此选择区块的占比和熵值作为其他两个通道,将三个通道合并就得到与dex文件大小对应长度的三维向量;为了引入文件大小特征,在将向量矩阵化过程中矩阵宽度通过文件大小判定;最后将矩阵转化成rgb图像。
14.步骤三,dex文件文本化:数据节区存储了所有dex文件所涉及的字符串,其中包括变量名、类名和方法名等;dex文件采用leb128编码方式,每个 leb128 编码值均由 1-5 个字节组成,共同表示一个值;每个字节均已设置其最高有效位(序列中的最后一个字节除外,其最高有效位已清除);每个字节的剩余 7 位均为有效负荷;7位有效位正好与assic码表对应。因此可以通过提取每个字节的后七位生成文本信息;在生成文本信息过程中由于dex文件格式中分隔符号的存在,导致生成大量无关符号,对后面文本特征提取造成影响;因此根据assic码表编码范围生成文本滤波器,通过文本滤波器过滤掉无关符号,只剩下与字符串相关纯文本信息。
15.步骤四,提取rgb图像纹理特征:使用gist算法提取纹理特征;纹理特征是全局特征,它描述了图像或图像区域所对应景物的表面性质。作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力。
16.步骤五,提取rgb图像颜色特征:使用颜色矩提取rgb图像的颜色特征,颜色特征描述了图像或图像区域的表面性质,不受图像旋转和平移变化的影响。
17.步骤六,提取文本特征:对文本进行分词并计算权重,将所有关键词按权重进行排序,选取前面一定数量的关键词,然后使用md5哈希算法计算每个关键词的hash值。借鉴simhash算法的算法流程,将关键词的权重赋予hash值,然后根据各位数字设置正负。最终将所有关键词的数组进行累加得到文本特征。
18.步骤七,使用多核学习的特征融合算法进行分类:选取纹理特征,颜色特征和文本特征的最优核函数,然后对核函数进行线性组合,通过不断迭代对核函数的权值进行更新,确定最优条件下的权值构建核矩阵以此实现分类器的构建,最后使用分类器进行分类。


技术特征:
1.一种基于dex文件分区特性的android恶意软件家族分类方法,其特征在于包括以下步骤:步骤一:提取android恶意软件的dex文件步骤二:将dex文件转化为rgb图像步骤三:将dex文件转化为纯文本文件步骤四:提取rgb图像的纹理特征步骤五:提取rgb图像的颜色特征步骤六:提取纯文本文件的文本特征步骤七:利用多核学习对纹理特征,颜色特征以及文本特征进行融合以此实现对android恶意软件家族的分类基于dex文件分区特性的android恶意软件家族分类方法,其特征在于利用学科交融的思想将android恶意软件转化为rgb图像以及文本文件,以此利用相关领域先进技术来实现本领域的需求。2.根据权利要求1所述的基于dex文件分区特性的android恶意软件家族分类方法,其特征在于步骤二和步骤三中将dex文件进行可视化和文本化时,由于直接对dex文件进行操作,不用提取应用软件的api,降低了加固和混淆对分析的影响。3.根据权利要求1所述的基于dex文件分区特性的android恶意软件家族分类方法,其特征在于步骤二中对dex文件可视化时,将充分利用dex节区的特性将dex文件转化为rgb图像,相对以往的灰度图像拥有更多的特征,对提升分类准确性有较大的帮助。4.根据权利要求1所述的基于dex文件分区特性的android恶意软件家族分类方法,其特征在于步骤三中将dex文件转化为纯文本文件。5.根据权利要求1所述的基于dex文件分区特性的android恶意软件家族分类方法,其特征在于步骤四提取rgb图像纹理特征时,纹理特征是一种全局特征,它描述了图像或图像区域所对应景物的表面性质,作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力。6.根据权利要求1所述的基于dex文件分区特性的android恶意软件家族分类方法,其特征在于步骤五提取rgb图像颜色特征时,颜色特征描述了图像或图像区域的表面性质,不受图像旋转和平移变化的影响。7.根据权利要求1所述的基于dex文件分区特性的android恶意软件家族分类方法,其特征在于步骤六提取文本特征时,改进后的simhash算法具有保持数据相似性的特点,能够用作海量文本相似度计算。8.根据权利要求1所述的基于dex文件分区特性的android恶意软件家族分类方法,其特征在于步骤七分类时,利用多核学习的分类方法能够提升分类的精确度。

技术总结
本发明提出一种基于DEX文件分区特性的Android恶意软件家族分类方法。本方法可以自动地提取Android恶意软件的DEX文件,然后将其转化成RGB图像和文本,通过RGB图像特征和文本特征以此实现Android恶意软件的分类。主要包括以下几个步骤:(1)提取Android恶意软件的DEX文件;(2)将DEX文件转化为RGB图像;(3)将DEX文件转化为纯文本文件;(4)提取RGB图像的纹理特征;(5)提取RGB图像的颜色特征;(6)提取纯文本文件的文本特征;(7)利用多核学习对纹理特征,颜色特征以及文本特征进行融合以此实现对Android恶意软件家族的分类。现对Android恶意软件家族的分类。现对Android恶意软件家族的分类。


技术研发人员:张磊 刘亮 高杨晨 岳子巍
受保护的技术使用者:四川大学
技术研发日:2020.03.10
技术公布日:2021/9/9
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1