一种Android恶意软件家族分类方法

未命名 07-12 阅读:127 评论:0

一种android恶意软件家族分类方法
1.本技术是名为《基于dex文件分区特性的android恶意软件家族分类方法》的专利申请的分案申请,原申请的申请日为2020年03月10日,申请号为202010162791.3。
技术领域
2.本发明涉及软件安全领域,特别是涉及一种基于dex文件分区特性的android恶意软件家族分类方法。


背景技术:

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


技术实现要素:

5.本发明的目的是提供一种android恶意软件家族分类方法,可提高android恶意软件家族分类的精度。
6.为实现上述目的,本发明提供了如下方案:
7.一种android恶意软件家族分类方法,包括:
8.获取android安装包文件,并从所述android安装包文件中提取dex文件;
9.对所述dex文件的头文件进行解析,得到dex文件的节区,并计算各节区的字节码、占比及离散墒值;
10.根据各节区的字节码、占比及离散墒值确定像素矩阵,并将所述像素矩阵转换为rgb图像;
11.提取所述rgb图像的纹理特征及颜色特征;
12.提取所述dex文件的文本信息,并采用文本滤波器将所述文本信息中的符号滤除,得到纯文本文件;所述文本滤波器为根据assic码表编码范围生成的滤波器;
13.对所述纯文本文件进行分词,得到多个关键词;
14.计算各关键词的权重,并将多个关键词按权重降序排序,选取前面一定数量的关键词作为目标关键词;
15.采用md5哈希算法计算目标关键词的哈希值;
16.根据目标关键词的哈希值及权重确定文本特征;
17.利用多核学习的特征融合算法对所述纹理特征、所述颜色特征以及所述文本特征进行融合,以确定android安装包文件中的恶意软件家族。
18.可选地,从所述android安装包文件中提取dex文件,具体包括:
19.对所述android安装包文件解压,得到解压文件夹;
20.从所述解压文件夹中提取后缀为.dex的dex文件。
21.可选地,所述dex文件的节区分别为:头文件节区、字符串索引节区、类型索引节区、方法原型索引节区、字段索引节区、方法索引节区、类定义节区及数据节区。
22.可选地,提取所述dex文件的文本信息,具体包括:
23.提取所述dex文件的数字节区每个字节的后七位,得到文本信息。
24.可选地,根据各节区的字节码、占比及离散墒值确定像素矩阵,并将所述像素矩阵转换为rgb图像,具体包括:
25.将各区块转换为矩阵,并计算各区块的字节码、占比及离散墒值;
26.针对任一区块,将所述区块的字节码、占比及离散墒值合并,得到所述区块的像素矩阵;
27.根据各区块的像素矩阵确定rgb图像。
28.可选地,提取所述rgb图像的纹理特征及颜色特征,具体包括:
29.采用gist算法提取所述rgb图像的纹理特征;
30.使用颜色矩提取所述rgb图像的颜色特征。
31.可选地,利用多核学习的特征融合算法对所述纹理特征、所述颜色特征以及所述文本特征进行融合,以确定android安装包文件中的恶意软件家族,具体包括:
32.选取纹理特征的核函数、颜色特征的核函数和文本特征的核函数;
33.对所述纹理特征的核函数、所述颜色特征的核函数和文本特征的核函数进行线性组合,并迭代更新所述纹理特征的核函数的权值、所述颜色特征的核函数的权值和文本特征的核函数的权值,以确定纹理特征的最优权值、颜色特征的最优权值及文本特征的最优权值;
34.根据纹理特征的最优权值、颜色特征的最优权值及文本特征的最优权值,采用支持向量机对android恶意软件家族进行分类,以确定android安装包文件中的恶意软件家族。
35.根据本发明提供的具体实施例,本发明公开了以下技术效果:
36.本发明通过对android安装包文件进行解压提取代码执行文件dex文件,然后解析dex文件的头文件得到各个不同功能的区块;利用每个区块以及区块之间的特征将dex文件进行可视化和文本化,将dex文件转化成更加直观的rgb图像和文本,然后提取图像特征和
文本特征作为dex文件的特征,其中,通过权重排序方式,选取排序队列中靠前的关键词,使得选择出的关键词对应的权重较大,基于高权重的关键词提取的文本特征更加准确,从而提高了恶意软件家族的分类准确性,并且本发明直接对dex文件字节码进行操作降低了混淆和加固对分析的影响,并且图像特征和文本特征相结合对android恶意家族分类,在保证精确度的前提下提高了分类的效率。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
38.图1是本发明提供的android恶意软件家族分类方法的框架图;
39.图2是dex文件的可视化过程的流程图;
40.图3是基于多核学习的特征融合算法的框架图。
具体实施方式
41.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.本发明的目的是提供一种基于dex文件分区特性的android恶意软件家族分类方法,根据dex文件区块特征对dex文件进行可视化和文本化,将dex文件分别转化成rgb图像和纯文本,然后提取rgb图像特征和文本特征作为android恶意样本特征。最终选用基于多核学习的多特征融合算法对android恶意软件进行准确分类。
43.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
44.如图1所示,本发明提供一种基于dex文件特性的android恶意家族分类方法,主要分为四个主要大步骤:dex文件提取,dex文件处理,特征提取以及学习分类。dex文件提取是将android的安装包apk文件进行解压,然后从解压文件夹中提取后缀为.dex的dex文件;dex文件处理包括对dex文件的可视化和文本化,在得到dex文件后通过解析dex文件的头文件区对dex文件进行区块划分,利用划分后的区块特征分别将dex文件转化成rgb图像以及纯文本文件;特征提取包括提取rgb图像的图像特征和纯文本的文本特征;学习分类是将得到的图像特征和文本特征利用多核学习的特征融合算法进行整合然后分类。
45.具体实现包括如下七个小步骤。
46.步骤一,dex文件提取:将android的安装包apk文件进行解压,然后从解压文件夹中提取后缀为.dex的dex文件,然后通过解析dex文件的头文件得到dex文件的8个节区。
47.步骤二,dex文件可视化:选择dex文件字节码作为其中一个通道,由于字符串、变量、方法和类的不同会导致区块的长度和内容不同,因此选择区块的占比和熵值作为其他两个通道,将三个通道合并就得到与dex文件大小对应长度的三维向量;为了引入文件大小
特征,在将向量矩阵化过程中矩阵宽度通过文件大小判定;最后将矩阵转化成rgb图像,如图2所示。
48.对dex文件可视化时,将充分利用dex节区的特性将dex文件转化为rgb图像,相对以往的灰度图像拥有更多的特征,对提升分类准确性有较大的帮助。
49.步骤三,dex文件文本化:数据节区存储了所有dex文件所涉及的字符串,其中包括变量名、类名和方法名等;dex文件采用leb128编码方式,每个leb128编码值均由1-5个字节组成,共同表示一个值;每个字节均已设置其最高有效位(序列中的最后一个字节除外,其最高有效位已清除);每个字节的剩余7位均为有效负荷;7位有效位正好与assic码表对应。因此可以通过提取每个字节的后七位生成文本信息;在生成文本信息过程中由于dex文件格式中分隔符号的存在,导致生成大量无关符号,对后面文本特征提取造成影响;因此根据assic码表编码范围生成文本滤波器,通过文本滤波器过滤掉无关符号,只剩下与字符串相关纯文本信息。
50.在将dex文件进行可视化和文本化时,由于直接对dex文件进行操作,不用提取应用软件的api,降低了加固和混淆对分析的影响。
51.步骤四,提取rgb图像纹理特征:使用gist算法提取纹理特征;纹理特征是全局特征,它描述了图像或图像区域所对应景物的表面性质。作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力。
52.步骤五,提取rgb图像颜色特征:使用颜色矩提取rgb图像的颜色特征,颜色特征描述了图像或图像区域的表面性质,不受图像旋转和平移变化的影响。
53.步骤六,提取文本特征:对文本进行分词并计算权重,将所有关键词按权重进行排序,选取前面一定数量的关键词,然后使用md5哈希算法计算每个关键词的hash值。借鉴simhash算法的算法流程,将关键词的权重赋予hash值,然后根据各位数字设置正负。最终将所有关键词的数组进行累加得到文本特征。
54.提取文本特征时,采用改进后的simhash算法提取所述纯文本文件的文本特征具有保持数据相似性的特点,能够用作海量文本相似度计算。
55.步骤七,使用多核学习的特征融合算法进行分类:选取纹理特征,颜色特征和文本特征的最优核函数,然后对核函数进行线性组合,通过不断迭代对核函数的权值进行更新,确定最优条件下的权值构建核矩阵以此实现分类器的构建,最后使用分类器进行分类,如图3所示。
56.本发明利用学科交融的思想将android恶意软件转化为rgb图像以及文本文件,以此利用相关领域先进技术来实现本领域的需求。
57.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:
1.一种android恶意软件家族分类方法,其特征在于,所述android恶意软件家族分类方法包括:获取android安装包文件,并从所述android安装包文件中提取dex文件;对所述dex文件的头文件进行解析,得到dex文件的节区,并计算各节区的字节码、占比及离散墒值;根据各节区的字节码、占比及离散墒值确定像素矩阵,并将所述像素矩阵转换为rgb图像;提取所述rgb图像的纹理特征及颜色特征;提取所述dex文件的文本信息,并采用文本滤波器将所述文本信息中的符号滤除,得到纯文本文件;所述文本滤波器为根据assic码表编码范围生成的滤波器;对所述纯文本文件进行分词,得到多个关键词;计算各关键词的权重,并将多个关键词按权重降序排序,选取前面一定数量的关键词作为目标关键词;采用md5哈希算法计算目标关键词的哈希值;根据目标关键词的哈希值及权重确定文本特征;利用多核学习的特征融合算法对所述纹理特征、所述颜色特征以及所述文本特征进行融合,以确定android安装包文件中的恶意软件家族。2.根据权利要求1所述的android恶意软件家族分类方法,其特征在于,从所述android安装包文件中提取dex文件,具体包括:对所述android安装包文件解压,得到解压文件夹;从所述解压文件夹中提取后缀为.dex的dex文件。3.根据权利要求1所述的android恶意软件家族分类方法,其特征在于,所述dex文件的节区分别为:头文件节区、字符串索引节区、类型索引节区、方法原型索引节区、字段索引节区、方法索引节区、类定义节区及数据节区。4.根据权利要求3所述的android恶意软件家族分类方法,其特征在于,提取所述dex文件的文本信息,具体包括:提取所述dex文件的数字节区每个字节的后七位,得到文本信息。5.根据权利要求1所述的android恶意软件家族分类方法,其特征在于,根据各节区的字节码、占比及离散墒值确定像素矩阵,并将所述像素矩阵转换为rgb图像,具体包括:将各区块转换为矩阵,并计算各区块的字节码、占比及离散墒值;针对任一区块,将所述区块的字节码、占比及离散墒值合并,得到所述区块的像素矩阵;根据各区块的像素矩阵确定rgb图像。6.根据权利要求1所述的android恶意软件家族分类方法,其特征在于,提取所述rgb图像的纹理特征及颜色特征,具体包括:采用gist算法提取所述rgb图像的纹理特征;使用颜色矩提取所述rgb图像的颜色特征。7.根据权利要求1所述的android恶意软件家族分类方法,其特征在于,利用多核学习的特征融合算法对所述纹理特征、所述颜色特征以及所述文本特征进行融合,以确定
android安装包文件中的恶意软件家族,具体包括:选取纹理特征的核函数、颜色特征的核函数和文本特征的核函数;对所述纹理特征的核函数、所述颜色特征的核函数和文本特征的核函数进行线性组合,并迭代更新所述纹理特征的核函数的权值、所述颜色特征的核函数的权值和文本特征的核函数的权值,以确定纹理特征的最优权值、颜色特征的最优权值及文本特征的最优权值;根据纹理特征的最优权值、颜色特征的最优权值及文本特征的最优权值,采用支持向量机对android恶意软件家族进行分类,以确定android安装包文件中的恶意软件家族。

技术总结
本发明提出一种Android恶意软件家族分类方法,属于软件安全领域,方法包括:从Android安装包文件中提取DEX文件;根据DEX文件各节区的字节码、占比及离散墒值确定RGB图像,并提取纹理特征和颜色特征;提取DEX文件的文本信息并将符号滤除,得到纯文本文件;对纯文本文件进行分词得到多个关键词,按权重对关键词降序排序,选取前面一定数量的关键词作为目标关键词;采用md5哈希算法计算目标关键词的哈希值;根据目标关键词的哈希值及权重确定文本特征;利用多核学习的特征融合算法对纹理特征、颜色特征以及文本特征进行融合,以确定Android安装包文件中的恶意软件家族。本发明提高了恶意软件家族分类的精度。软件家族分类的精度。软件家族分类的精度。


技术研发人员:张磊 刘亮 高杨晨
受保护的技术使用者:四川大学
技术研发日:2020.03.10
技术公布日:2023/7/7
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐