Azadlingampalli/android-threat-intelligence

GitHub: Azadlingampalli/android-threat-intelligence

一个结合多维分析与机器学习的 Android 恶意软件检测框架,用于自动化分析 APK 并预测恶意软件家族。

Stars: 0 | Forks: 0

# AI 驱动的并行 Android 威胁情报系统 ## 概述 AI 驱动的并行 Android 威胁情报系统是一个恶意软件分析框架,结合了静态分析、动态分析、行为分析、网络分析、关联引擎、风险评分和机器学习,以检测、分析和分类潜在恶意的 Android APK 文件。 该系统使用训练好的机器学习模型生成威胁情报报告并预测恶意软件家族。 ## 功能 ### 静态分析 * AndroidManifest.xml 分析 * 权限分析 * Activity、Service 和 Receiver 分析 * 证书检查 * Native 库分析 * 字符串提取 * 混淆检测 * 静态风险评分 ### 动态分析 * 在模拟器中安装 APK * ABI 兼容性检查 * 应用启动 * 用户交互模拟 * 运行时日志收集 * 行为映射 * 动态风险评分 ### 行为分析 * 凭据窃取检测 * 监控检测 * 持久化检测 * 滥用权限检测 * 规避技术检测 * 行为风险评分 ### 网络分析 * 网络流量提取 * 域名检测 * IP 地址提取 * 可疑域名检测 * HTTP/HTTPS 流量分析 * 网络风险评分 ### 关联引擎 合并以下模块的输出: * 静态分析 * 动态分析 * 行为分析 * 网络分析 ### 机器学习 * 随机森林分类器 * 恶意软件家族预测 #### 支持的恶意软件类别 * Benign * Adware * Spyware * Trojan * BankingTrojan * Ransomware * Rootkit * Grayware * APT ### 报告 * JSON 报告 * PDF 报告 * 统一仪表板 ## 项目架构与系统流程 ``` APK Upload │ ▼ Unified Dashboard │ ┌───────────────┼───────────────┐ │ │ │ ▼ ▼ ▼ Static Analysis Dynamic Analysis Behavioral Analysis │ │ │ │ │ │ │ Runtime Logs │ │ │ │ │ │ │ │ │ │ │ ▼ │ │ Network Analysis │ └───────────────┼───────────────┘ ▼ Feature Merger │ ▼ Correlation Engine │ ▼ Final Risk Engine │ ▼ Feature Vector • static_score • dynamic_score • behavior_score • network_score • credential_theft • surveillance • persistence • privilege_abuse • evasion │ ▼ Machine Learning Module Random Forest Model │ ▼ Malware Family Prediction • Benign • Adware • Spyware • Trojan • BankingTrojan • Ransomware • Rootkit • Grayware • APT │ ▼ Final JSON Report │ ▼ Dashboard Visualization ``` ## 分析工作流 1. 用户通过统一仪表板上传 APK 文件。 2. 静态分析提取权限、manifest 数据、组件、证书、字符串和混淆指标。 3. 动态分析在 Genymotion 模拟器内安装并执行 APK,并收集运行时日志。 4. 行为分析检测凭据窃取、监控、持久化、滥用权限和规避活动。 5. 网络分析处理运行时日志以识别域名、IP 地址、流量模式和可疑通信。 6. 特征合并器将所有生成的评分合并为一个统一的特征向量。 7. 关联引擎关联所有分析模块的指标。 8. 最终风险引擎计算总体威胁得分。 9. 机器学习模型使用生成的特征预测恶意软件家族。 10. 系统生成最终的 JSON 报告,并在统一仪表板中显示结果。 ## 项目结构 ``` backend/ ├── analyzer/ ├── behavioural_analysis/ ├── correlation_engine/ ├── dynamic_analysis/ ├── network_analysis/ ├── reporting/ ├── ml/ ├── gui/ ├── dataset/ ├── reports/ └── uploads/ ``` ## 机器学习特征 模型使用以下特征进行训练: * static_score * dynamic_score * behavior_score * network_score * credential_theft * surveillance * persistence * privilege_abuse * evasion ### 模拟器环境 (Genymotion) 动态分析模块使用 **Genymotion Android 模拟器**在受控的虚拟环境内执行 Android 应用程序。 #### 为什么选择 Genymotion? Genymotion 提供了一个快速且隔离的 Android 环境,允许执行潜在恶意的 APK 文件而不会影响宿主操作系统。这使得在运行时能够安全地监控应用程序行为。 #### 动态分析工作流 1. 选定的 APK 通过统一仪表板上传。 2. 系统验证 APK 与模拟器之间的 ABI 兼容性。 3. 使用 Android Debug Bridge (ADB) 在 Genymotion 虚拟设备中安装 APK。 4. 自动启动应用程序。 5. 模拟用户交互以触发应用程序功能。 6. 使用 Logcat 收集运行时日志。 7. 监控网络通信、权限使用、后台活动和可疑行为。 8. 收集到的日志将转发至: * 行为分析模块 * 网络分析模块 9. 分析结果将转换为动态风险评分和行为指标。 #### 使用的组件 * **Genymotion 模拟器** * Android 沙箱环境 * 安全的恶意软件执行 * 运行时监控 * **VirtualBox** * 托管 Android 虚拟机 * 提供硬件虚拟化支持 * **ADB (Android Debug Bridge)** * APK 安装 * 应用启动 * 日志收集 * 设备通信 #### 优势 * 安全执行不受信任的 APK * 与宿主机隔离 * 自动化测试与交互 * 运行时行为观察 * 网络活动监控 * 恶意软件行为检测 #### 生成的产物 在执行期间,动态分析模块会生成: * 运行时日志 * 动态分析报告 * 行为指标 * 网络流量证据 * 动态风险评分 这些产物随后将被网络分析、关联引擎、风险引擎和机器学习模块使用,以生成最终的威胁情报报告。 ## 安装 ### 克隆仓库 ``` git clone https://github.com/Azadlingampalli/android-threat-intelligence.git cd android-threat-intelligence/backend ``` ### 创建虚拟环境 ``` python3 -m venv venv source venv/bin/activate ``` ### 安装依赖 ``` pip install -r requirements.txt ``` ## 运行项目 ### 启动仪表板 ``` python3 -m gui.unified_dashboard ``` ### 训练机器学习模型 ``` python3 ml/train_model.py ``` ### 测试预测器 ``` python3 ml/test_predictor.py ``` ## 输出 系统生成: * 动态分析报告 * 行为报告 * 网络报告 * 最终 JSON 报告 * 恶意软件家族预测 Screenshot from 2026-06-05 19-06-55 报告存储于: ``` backend/reports/final ``` ## 使用的技术 * Python * Tkinter * Scikit-Learn * Pandas * Joblib * ReportLab * Android Debug Bridge (ADB) * Genymotion 模拟器 ## 未来增强 * VirusTotal 集成 * MITRE ATT&CK 框架映射 * 实时网络监控 * 威胁情报订阅源 * 高级恶意软件分类 * 基于云的分析沙箱
标签:Android, Apex, DAST, DSL, URL发现, 云安全监控, 威胁情报, 安全检测, 开发者工具, 恶意软件分析, 机器学习, 逆向工具, 静态分析