Out-of-sample Node Representation Learning for Heterogeneous Graph in Real-time Android Malware Detection论文阅读笔记

写博以供备份,仍有一些自己不大懂的地方,感觉也没有写明白,还需要再仔细研究一下,有几篇参考文献也很感兴趣,阅读后与这篇一起做一个总结。

Out-of-sample Node Representation Learning for Heterogeneous Graph in Real-time Android Malware Detection (实时安卓恶意软件检测中异构图的样本外节点表示学习)

1.现有技术及缺陷

现在存在一些基于静态异构图的设计,其中所有的节点在学习前都已经知道了,无法解决样本外的节点表示学习的问题,不能满足实时检测未知节点的问题

2.本文

提出 AiDroid 框架,分为四个部分:

  1. 提取运行时的 API 调用序列,并分析高层之间的语义关系
  2. 提出一个异构图表示各个节点和他们之间的关系
  3. 通过异构图学习 (HG-Learning) 对图中节点分类
    • 先获取样本中节点的 embeddings
    • 学习样本外的节点表示且不用重新运行和调整异构图最初的 embeddings
  4. 一个 DNN 分类器采用学习到的异构图表示实时进行恶意软件检测 (利用CNN 和 Inception Framework)

AiDroid 的优点:

  1. 分析了运行时的行为以及关联来表示 app,提出的异构图模型能更好的抵抗恶意软件的规避攻击
  2. 提出的 HG-Learning 算法,能够学习样本外节点在图中的表示使分类器分类新节点时无需重新训练

3.具体操作

(1)特征提取

  • 动态的行为提取:从 app 运行时的执行中提取 API 调用序列,来判断 (捕获) 它的行为

  • 基于关系的特征提取:

    6种关系:

    • app-invoke-API relation:app 是否唤醒一个 API 调用
    • app-exist-IMEI relation:app 是否安装在一个手机上
    • app-cerfity-signature relation:app 已经经过签名认证
    • package name:软件的包名通常由域名开始
    • IMEI-have-signature:一个手机有一系列来自确定开发者的 app
    • IMEI-possess-afflication:一个手机下载了来自一个特定公司的一系列 app

(2)异构图的构建

使用元路径表示实体之间的联系,定义了6个元路径:

(3)HG-Learning:样本外节点在异构图中的表示学习

  • 使用 HG embedding 技术:能够保留不同种类节点之间的语义和结构关联 (局限性:对于静态图很适用,但在实时恶意软件检测中,会有之前不知道的节点出现,频繁使用 embedding 技术是不现实的)

  • 提出了 HGiNE (异构图样本内节点嵌入模型) 和 HG2Img (样本外节点表示学习模型)

  • HGiNE:使用了 random walk 策略和 skip-gram

    • 经过改进的 random walk:设元路径集 S = { Pj } (j = 1, 2, ..., n),一个异构图 G = (v, ε),异构图整体结构 Tg = (A, R),先选定一个元路径,在第 i 步的概率为:

    • 使用的 skip-gram function 为:

      其中,X (vj) 为 vj 的向量表示,并且

      使用随机梯度下降训练 skip-gram

  • HG2Img:使用 HG 中的 k-order neighbors

  • 最后的输出为一个 t * d 的矩阵 X

(4)设计 DNN 分类器

将 CNN 和 Inception 结合的算法

4.测试与比较

  • 将 HGiNE 与 Deepwalk、LINE、metapath2vec 比较
  • 将 HG2Img 与 LocalAvg 和 LabelProp 比较
  • 将 AiDroid 与 Bin + SVM、LSTM + SVM、Seq + DNN 比较
原文地址:https://www.cnblogs.com/sjtuguyang/p/13899459.html