【技术实现步骤摘要】
基于多特征的安卓恶意软件家族聚类方法
[0001]本专利技术涉及一种基于多特征的安卓恶意软件家族聚类方法,属于软件维护领域。
技术介绍
[0002]随着移动互联网技术的快速发展,以智能手机为代表的移动终端设备得到广泛普及。安卓系统因其具有开源性、开放性和灵活性等特点,已经成为移动终端中最广泛使用的操作系统之一。但与此同时,安卓系统也成为恶意攻击者的主要目标,大量安卓恶意软件的不断涌现严重威胁着人们的信息安全。在2016年发现的名为Godless的恶意软件可以“感染”低版本的安卓系统以获取root权限。类似地,2017年发现的名为Dvmap的恶意软件,可以在低版本的安卓系统中将恶意代码注入运行中的时间库来获得root权限。当攻击者获得了设备的root权限,就可以无需用户授权直接对该设备进行操作,包括窃取用户的手机数据和擅自安装其他应用等。
[0003]报道显示每年新增安卓恶意软件的数量达到百万级,而其中大部分都是在已有恶意软件的基础上开发而来。具体而言,开发者通过将恶意组件或恶意代码“注入”到正常的App中,并重新打包生成新的恶意软件。因此,这些恶意软件具有一定的家族性质,即包含着相同的恶意组件或代码。目前,在恶意软件相关分析中,安卓恶意软件的家族分类也是一个重要的研究内容。通过对恶意软件进行聚类,将不同的恶意软件划分到不同的家族中,从而识别出同一家族内常见的恶意组件和代码,可以帮助开发人员更好地理解恶意软件的属性以及行为,从而更高效地识别恶意软件,判断其危害程度。因此,安卓恶意软件家族聚类有着非常重要的意义。
【技术保护点】
【技术特征摘要】
1.一种基于多特征的安卓恶意软件家族聚类方法,其特征在于:包括一下步骤步骤一:给定m个Android应用恶意软件安装包集合A=(A1,A2,
…
A
m
),对于每个恶意软件安装包A
i
(i=1,2,...,m),借助安卓分析工具Androguard获取其中的AndroidManifest.xml文件和classes.dex文件;步骤二:从AndroidManifest.xml文件中抽取权限信息,从classes.dex文件中抽取API序列信息以及操作码序列信息;每个恶意软件可以表示为A
i
=(apkId,permission,APISequence,opcode),其中apkId表示恶意软件安装包的编号,permission表示权限集合信息,APISequence表示API序列信息,opcode表示操作码序列信息;步骤三:对permission和APISequence进行过滤:根据官方文档定义的权限列表,过滤permission中第三方或自定义的权限;通过识别API中的packageName,过滤sequence中非官方的API;步骤四:对opcode信息进行特征抽取:利用模型抽取opcode中字节片段特征gram;经过步骤三和四的预处理后,每个恶意软件包表示为A
i
=<apkId,prePermission,preAPISequence,preOpcode>,i=1,2
…
m;步骤五:将所有软件包中的prePermission表示成字袋形式,创建集合步骤五:将所有软件包中的prePermission表示成字袋形式,创建集合其中l
i
表示第i软件包中的权限个数;对于任意软件包A
a
和A
b
中prePermission,利用Jaccard系数计算prePermission的相似度Sim
per
(A
a
,A
b
),公式为:其中||表示集合中包含的权限的个数;步骤六:将所有软件包中的preOpcode也表示成字袋形式,创建集合步骤六:将所有软件包中的preOpcode也表示成字袋形式,创建集合其中d
i
表示第i软件包中的操作码个数;对于任意软件包A
a
和A
b
中preOpcode,利用Jaccard系数计算软件包中preOpcode的相似度Sim
op
(A
a
,A
b
),公式为:步骤七:对于软件包中的preAPISequence,将所有的API组成序列集合其中t
i
表示第i软件包中的操作码个数;利用Jaccard系数计算其语义相似度,以及API的序列位置信息计算其序列相似度;最终综合这两种相似度得到任意软件包A
a
和A
b
的preAPISequence相似度Sim
api
(A
a
,A
b
);步骤八:将三种不同类型的相似度进行集成,计算软件包之间的最终相似度;给定任意两个软件包A
a
和A
b
,最终相似度Sim(A
a
,A
b
)定义为:步骤九:软件包聚类:利用InfoMap方法对软件包进行聚类;通过InfoMap方法将所有恶意软件划分为c类。2.根据权利要求1所述的一种基于多特征的安卓恶意软件家族聚类方法,其特征在于:所述步骤四包括以下步骤:
子步骤4
‑
1、在给定恶意安卓软件样本集A=(A1,A2,
…
A
m
),抽取所有软件包的操作码的n
‑
gram(n=5)特征,构建集合Ω={o1,o2,...,o
s
},s为所有5
‑
gram操作码的数量;子步骤4
‑
2、计算Ω中每个...
【专利技术属性】
技术研发人员:陈信,殷嘉铖,俞东进,俞海华,
申请(专利权)人:杭州电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。