Cyber Code Intelligence for Android Malware Detection

多模态与多视图

多模态(multi-modal)和多视图(multi-view)是两个相关但略有不同的概念。

多模态指的是系统或数据具有多个感知模态或信息来源的能力。一个多模态系统可以接收、处理和集成来自不同感知模态(例如图像、语音、文字、传感器数据等)的信息。这种多模态的能力使得系统可以从多个角度对问题进行分析和理解,提供更全面和准确的结果。

多视图则是指从不同视角或角度来观察和分析问题。在计算机视觉领域中,多视图常常指的是从不同的摄像头或传感器获取的多个视角的图像或视频。通过融合多个视图的信息,可以获得更全面和准确的视觉理解。

联系:

  • 多模态和多视图都涉及从多个信息源或视角获取信息。它们都旨在通过融合多个视角或信息来源来提高问题的理解和处理能力。

  • 在某些情况下,多模态和多视图可以结合在一起使用,以提供更全面的信息和多角度的分析。

区别:

  • 多模态强调的是信息来源的多样性,可以涉及不同的感知模态,例如图像、语音、文字等。多模态关注的是多种类型的输入数据。

  • 多视图则更加强调信息观察的角度或视角的不同,通常集中在图像或视频数据的不同采集源或视角上。多视图关注的是多个角度的分析。

总的来说,多模态关注的是多种类型的输入数据的融合,而多视图关注的是从多个视角获取的同一类型数据的融合。多模态和多视图在不同的领域和应用中可以相互结合使用,以提供更全面和准确的分析结果。

恶意软件家族:

恶意软件家族,也被称为恶意软件系列或恶意软件组,是指一组相关的恶意软件样本,它们在功能、行为或代码上相似,并且被认为是由同一组织或个人开发和分发的。恶意软件家族通常以一种主要的恶意软件样本为基础,然后通过修改、变异和更新来创建其他变种。

恶意软件家族之间的相似性通常是由于它们具有相似的目标、使用相似的攻击技术或修复相同的漏洞。家族成员可能会共享 相似的代码基础、命令和控制服务器,或者拥有类似的机器学习算法或密码算法。

  1.  例子:
     1. Zeus/Zbot: Zeus是一个非常著名的恶意软件家族,是一种银行木马程序,旨在窃取用户的银行凭据和财务信息。
     2. WannaCry: WannaCry是一种勒索软件家族,利用Windows操作系统的漏洞进行传播,并加密用户计算机上的文件,要求用户支付赎金才能解密文件。
     3. Mirai: Mirai是一个物联网恶意软件家族,攻击连接到互联网的物联网设备,将其合并到一个僵尸网络中,用于发起分布式拒绝服务(DDoS)攻击。


     

常规恶意软件监测思路:

MFL流程图:

跨视图的注意力机制(视图之间的关系)

概述:

将恶意能力识别视为一个二元分类问题:

即一个软件分为一类是具有目标能力的恶意软件,另一类是没有这种能力的软件

给定原始的APK样本——>执行逆向工程以反汇编为二进制代码——>提取多视图异构特征表示恶意软件样本——>将提取的特征进行编码和聚合,去除噪声和不相关的特征——>将多视图特征转换成向量——>反映恶意软件恶意能力的内在特征——>在表示向量输入的情况下,应用深度神经模型进行二值分类——>检测安卓软件是否为恶意软件

面临的问题:

当大量Android恶意软件与适当的安全/隐私下高管功能关联时,目前已有的数据集并没有明确标记与安全/隐私相关的功能

解决:

创建了一个带有能力注释的Android恶意软件数据集——>“CAPA”数据集(对Drebin和AMD两个知名的恶意软件数据集的汇总(通过ML模型整合))

标记方法:

没有单独注释每个样本,而是利用安卓恶意软件家族信息,将同一个家族的所有样本分配到相同的安全/隐私功能

<!--在保证准确度的情况下提高效率-->

选择四种功能进行实验:

常用的安全/隐私相关功能列表:

选取了以下四个:(大部分恶意样本都具有四种功能中的一种或者几种)

·Botnet attack (remote control). 僵尸网络攻击(远程控制)

·Unauthorized root access (privilege).未经授权的root访问(特权)

·Malicious SMS charge (monetizing). 恶意短信收费(变现)

·Stealing information (privacy).窃取信息(隐私)

恶意软件能力形成了一个独立于恶意软件家族的维度;恶意软件家族是基于血统的,并作为一个短暂的目录呈现

恶意软件的能力是基于攻击的目标,并形成了一个持续的分类,汇聚的目的地。

多视角异质结构特征(Multiview Heterogeneous Structural Features )

采用3个异质特征的视图来代表安卓恶意软件样本:

(1)源代码中的语义字符串特征

信息来源:

1.1从AndroidManifest.xml文件中秋各种类型的语义信息形成特征。

主要提取的四项基本信息如下:

·应用程序要求的权限

·应用程序的软件组件

·应用程序要求的硬件组件

·过滤的意图

这四类特征可以被有效提取以反映安卓应用的部分特征

1.2从字节码classes.dex文件中提取的信息

对字节码进行反汇编,以检索语义信息,包括应用中使用的API调用和数据

四个基本信息源:

受限的API调用、可以的API调用、使用的权限和网络地址

(使用Androguard实现)

(2)结构性API调用图的特点

捕获了结构性API调用图,以减轻Android恶意软件数据集中的规避样本,因为API调用图保留了丰富和复杂的关系

<!--API调用图特征的提取过程-->

(3)来自中间的Smali代码的操作码顺序特征

作为字节码classes.dex文件的汇编器/反汇编器,smali提供了smali语言的可读代码

classes.dex文件中每个类都被翻译成一个单独的smali文件

每个smali文件都包含相应类的多个方法

每个smali条目由一个操作码(7个核心指令集)和多个操作数组成,其格式皆为人类可读的

随后,获取一个n-grams表示代表安卓恶意软件

特征编码和聚合

多视角的异质特证被预先处理——>形成最终的联合向量表示

对各个视图的处理从而减少特征维度

(1)对源码中的语义字符串特征——>根据不同的安全/隐私相关能力的特点选择关键的的特征子集

(2)所有的API调用都被抽象为开发者定义的家族、混淆的家族或者九个安卓的原生家族之一

将特定的安卓恶意软件在源代码层面生成一个100维的特征向量

(3)对于来自中间smali代码的顺序运算码特征。所用常见的Dalvik指令被归类为其个核心指令集——>提高特征的鲁棒性,移除了罕见的特征

所有视图的特征向量生成后,将这些特征向量汇总,为每个恶意软件应用构建一个联合特征向量。因此,最终的特征向量有149个维度

模型优化

损失函数:binary_crossentropy

避免过拟合:采用dropout正则化技术,该模型在相关权重和偏置方面减少了对特定神经元祖的依赖

并且,在训练阶段,验证机用训练集的20%,以监测训练集个验证集的准确性去世

实验内容

语义特征——>适用于区分不同的能力模式

调用图——>在描述恶意软件的功能方面是有用的

关于单视图与多视图的对比

结果表明,多数提特征的结果优于单视图特征,准确率得分和F1得分方面分别有大约1%-4%和2%-4%的提高

结论:深度神经网络+多视图异质特征——>效果好

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值