cybersecurity-dev/awesome-graph-based-android-malware-detection

GitHub: cybersecurity-dev/awesome-graph-based-android-malware-detection

一个专注于基于图理论的Android恶意软件检测领域的资源集合,系统性地梳理了各类图表示方法及其在安全分析中的应用。

Stars: 0 | Forks: 0

``` graph TD A[Graph-Based Representations of Android Binaries] A --> B[Static Control & Structure Graphs] A --> C[Semantic Graphs] A --> D[Dynamic Graphs] A --> E[Learning-Ready / Unified Graphs] %% Static Control & Structure B --> B1[CFG] B --> B2[ICFG] B --> B3[FCG / Call Graph] B --> B4[Lifecycle Graph] %% Semantic Graphs C --> C1[DFG] C --> C2[DDG] C --> C3[PDG] C --> C4[SDG] %% Dynamic Graphs D --> D1[Dynamic Call Graph] D --> D2[System Call Graph] D --> D3[Dynamic API Graph] D --> D4[Dynamic Intent Graph] %% Learning-ready E --> E1[APG] E --> E2[Heterogeneous Graph] E --> E3[CPG] E --> E4[JNI Interaction Graph] ```
# **`Awesome`** 基于[图](https://github.com/cybersecurity-dev/awesome-graph-theory)的 Android 恶意软件检测 [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)
## 📊 Android 二进制文件的基于图的表示 | 图类型 | 含义 (全称) | 模型 | 侧重点 | 说明 | |-----------|------------------|--------|-------|-------------| | CFG | Control Flow Graph (控制流图) | 方法内的执行路径 | 控制 | 使用基本块和分支边来表示方法的所有可能执行路径。 | | ICFG | Interprocedural Control Flow Graph (过程间控制流图) | 跨方法的控制流 | 控制 | 跨方法调用和返回连接 CFG,以对整个程序的执行流进行建模。 | | FCG / CG | Function Call Graph (函数调用图) | 方法到方法的调用 | 结构 | 展示函数之间的调用关系,可用于结构和相似性分析。 | | DFG | Data Flow Graph (数据流图) | 数据传播路径 | 语义 | 捕获数据值在整个程序中的指令或变量之间是如何流动的。 | | DDG | **Data Dependency Graph (数据依赖图)** | 定义-使用关系 | 语义 | 表示程序变量或指令之间显式的数据依赖关系(使用-定义链)。 | | PDG | Program Dependence Graph (程序依赖图) | 控制 + 数据依赖 | 程序逻辑 | 结合控制依赖(来自 CFG)和数据依赖(来自 DFG/DDG)。 | | SDG | System Dependence Graph (系统依赖图) | 全程序依赖 | 程序语义 | 跨过程和组件扩展 PDG,用于完整的程序分析。 | | ICCG | Inter‑Component Call Graph (组件间调用图) | Android 组件交互 | Android 特定结构 | 对通过 intent 和 callback 进行的 Android 组件间通信进行建模。 | | Intent Graph | Intent Communication Graph (Intent 通信图) | 基于 Intent 的 IPC | Android 行为 | 侧重于 Android 组件之间 intent 的发送和接收路径。 | | Lifecycle Graph | Android Lifecycle Graph (Android 生命周期图) | 生命周期转换 | Android 行为 | 表示 Android 生命周期回调之间的有效和无效转换。 | | API Call Graph | API Call Graph (API 调用图) | Framework API 使用 | 行为 | 将程序行为抽象为对 Android 或系统 API 的调用。 | | Sensitive API Graph | Sensitive API Call Graph (敏感 API 调用图) | 安全关键 API 使用 | 安全行为 | 与敏感资源(如短信、位置或网络)相关的 API 调用子图。 | | Permission Usage Graph | Permission–API Graph (权限-API 图) | 权限关系 | 安全策略 | 将权限与其所需的 API 链接,以检测权限滥用或过度授权。 | | Dynamic Call Graph | Runtime Call Graph (运行时调用图) | 运行时执行 | 动态行为 | 捕获在执行期间观察到的函数调用,包括反射和动态加载。 | | System Call Graph | Linux System Call Graph (Linux 系统调用图) | 内核交互 | 底层行为 | 对应用程序(尤其是 native 代码)与 Linux 内核之间的交互进行建模。 | | APG | Attributed Program Graph (属性程序图) | 带标签的程序图 | 适用于机器学习的表示 | 为节点和边丰富属性(opcodes、API、permissions),用于 GNN 学习。 | | Heterogeneous Graph | Multi‑Type Program Graph (多类型程序图) | 混合实体 | 统一行为 | 包含不同的节点和边类型(方法、API、权限、组件)。 | | CPG | Code Property Graph (代码属性图) | AST + CFG + PDG | 统一语义 | 将语法、控制流和数据依赖集成到一个富有表现力的图中。 | | JNI Interaction Graph | Java–Native Interaction Graph (Java-Native 交互图) | Java ↔ native 调用 | 混合语言行为 | 对 Java 字节码和 native `.so` 库之间的交互进行建模。 |
标签:Android恶意软件检测, Android逆向, Apex, APK分析, CFG, CPG, DDG, DFG, DNS重绑定攻击, FCG, ICFG, PDG, SDG, 二进制分析, 云安全监控, 云安全运维, 代码属性图, 函数调用图, 可配置连接, 同构图, 图分类, 图神经网络, 图表示学习, 异构图, 控制流分析, 控制流图, 数据依赖图, 数据流图, 机器学习, 浏览器安全, 深度学习, 特征提取, 目录枚举, 移动安全, 程序分析, 系统调用图, 网络安全, 隐私保护, 静态分析