AALIIAWAAMRA/MalAPKSniffer

GitHub: AALIIAWAAMRA/MalAPKSniffer

一个面向生产环境的 Android APK 恶意软件检测平台,融合静态分析、动态沙箱、威胁情报和机器学习实现实时、可扩展的恶意样本识别。

Stars: 0 | Forks: 0

# 🛡️ MalAPKSniffer **MalAPKSniffer** 是一个面向生产环境、事件驱动的恶意 Android APK 检测平台。 它结合了静态分析、动态沙箱、威胁情报和机器学习推理,以提供准确、可扩展且实时的恶意软件检测。 ## 🚀 概述 MalAPKSniffer 的设计兼顾了**安全性、可扩展性和模块化**。 它遵循 **微服务 + 事件驱动架构**,确保 APK 分析是异步、容错且可扩展的。 该平台支持: * 实时恶意软件检测 * 深度行为分析 * 分析师驱动的分类与标记 * 安全的二进制工件处理 * 基于 ML 的风险评分和分类 ## 🧠 核心架构 ``` Client → Traefik (Edge Router) → API Gateway → Internal Services → Message Bus → Analysis Pipeline → Inference → Fusion → Notification ``` ### 核心原则 * **服务间零信任** * **异步处理(无阻塞请求)** * **关注点分离(分析 vs 推理 vs 编排)** * **禁止通过消息队列传输二进制文件** * **通过 Vault 进行安全的密钥管理** ## ✨ 主要特性 ### 🔐 安全的 APK 处理 * 使用 **预签名 URL** 直接上传到对象存储 (MinIO) * 无 APK 二进制文件流经后端服务 * 基于 SHA-256 的确定性对象键 ### ⚡ 快速信誉路径 * 多层查询: * Redis (缓存) * PostgreSQL (信誉 DB) * 外部威胁情报 (基于适配器) * 对已知恶意软件立即给出判定 ### 🔍 多阶段分析 #### 1. 静态分析 * Manifest 解析 * DEX 检查 * 权限和 API 使用提取 * IOC 提取 (URLs, IPs, 字符串) #### 2. 动态分析 * 沙箱执行 * 网络流量捕获 (PCAP) * 系统调用监控 * 行为指标 ### 🤖 机器学习推理 * 从静态/动态分析生成特征向量 * 抽象推理层 (支持 Triton) * 支持模型版本管理 ### 🧮 风险融合引擎 * 结合: * 信誉分数 * 静态分析 * 动态行为 * 启发式规则 * 生成: * 最终判定 * 风险评分 * 建议措施 ### 📡 实时通知 * WebSocket 更新 * Firebase Cloud Messaging (FCM) * 针对高风险样本的分析师警报 ### 👨‍💻 分析师平台 * Next.js 仪表板 * 任务队列和分类 * 样本检查和报告 * 用于模型重训练的标记 ### 🔑 密钥管理 * 通过 HashiCorp Vault 集中管理 * 无硬编码凭证 * 运行时密钥注入 ## 🧱 Monorepo 结构 ``` apps/ android-client/ # Kotlin mobile app analyst-dashboard/ # Next.js frontend services/ api-gateway/ # Public API entry point scan-orchestrator/ # Workflow coordinator hash-reputation/ # Fast-path lookup static-analyzer/ # Deep static analysis dynamic-analyzer/ # Sandbox execution fusion-engine/ # Risk scoring & verdict notification-service/ # Push + WebSocket updates inference-service/ # ML inference abstraction analyst-backend/ # Analyst APIs libs/ common/ # Shared utilities contracts/ # API schemas (OpenAPI) infra/ docker/ # Docker compose setup traefik/ # Edge routing layer postgres/ redis/ rabbitmq/ minio/ vault/ k8s/ # Kubernetes manifests (optional) docs/ tests/ ``` ## 🔄 端到端工作流 1. 客户端请求上传 URL 2. Gateway 返回: * `task_id` * 预签名上传 URL 3. APK 直接上传到对象存储 4. 客户端提交元数据 → 收到 `202 Accepted` 5. Orchestrator 发出 `scan.submitted` 事件 6. 哈希信誉服务评估样本 7. 未知样本 → 静态 + 动态分析 8. 特征向量 → 推理服务 9. 融合引擎计算最终判定 10. 通知服务推送结果 11. 创建分析师工单(如果需要) ## 🧪 本地开发 ### 1️⃣ 生成环境 ``` ./scripts/generate-dev-env.sh ``` ### 2️⃣ 启动平台 ``` docker compose --env-file .env -f infra/docker/docker-compose.yml up --build -d ``` 或者: ``` make up ``` ### 3️⃣ 访问服务 | Service | URL | | ----------------- | ------------------------------------------------------------------ | | API Gateway | [http://localhost:8080](http://localhost:8080) | | Analyst Dashboard | [http://localhost:3000](http://localhost:3000) | | Traefik Dashboard | [http://localhost:8080/dashboard](http://localhost:8080/dashboard) | | RabbitMQ | [http://localhost:15672](http://localhost:15672) | | MinIO Console | [http://localhost:9001](http://localhost:9001) | | Vault | [http://localhost:8200](http://localhost:8200) | ### 4️⃣ 默认凭证 (仅限开发环境) * 客户端: `demo-client / password` * 分析师: `analyst@example.local / password` ## 📜 API 契约 * 公共 API: `libs/contracts/contracts/openapi/public-api.yaml` * 分析师 API: `libs/contracts/contracts/openapi/analyst-api.yaml` ## 🧪 测试 ``` make test ``` 包括: * 单元测试 (融合, 信誉) * 集成流水线测试 * 契约验证 ## ⚙️ 基础设施组件 | Component | Role | | ------------------------------ | ----------------------------------- | | Traefik | 边缘路由 + 入口点 | | RabbitMQ | 事件驱动通信 | | Redis | 缓存 + 快速查询 | | PostgreSQL | 持久化存储 | | MinIO | APK + 工件存储 | | HashiCorp Vault | 密钥管理 | | NVIDIA Triton Inference Server | 模型推理 (可选/高级) | ## 🔐 安全注意事项 * 禁止直接访问内部服务 * 所有流量通过 Traefik + API Gateway 路由 * APK 永远不通过消息队列传输 * 密钥绝不存储在代码中 * 服务仅通过内部网络通信 * 分析和推理前进行输入验证 ## 📚 文档 * 架构: `docs/architecture.md` * 负载: `docs/sample-payloads.md` ## 🧠 设计理念 MalAPKSniffer 的构建旨在反映**现实世界的恶意软件检测系统**,而非简化的演示。 它强调: * 不受信任代码的隔离 (沙箱) * 纵深防御 * 可观测性和可追溯性 * 可替换的 ML 组件 * 分析师参与的工作流 ## ⚠️ 免责声明 本项目仅用于: * 安全研究 * 教育目的 * 防御性网络安全开发 请勿将其用于未经授权的第三方应用程序分析。 ## 🤝 贡献 欢迎贡献。 关注领域: * 检测改进 * 沙箱增强 * ML 模型 * 安全加固
标签:Android 安全, Apex, APK 分析, Docker, JSONLines, Kafka, MinIO, PostgreSQL, Python, Redis, SonarQube插件, Vault, 事件驱动, 云安全监控, 云资产清单, 动态沙箱, 威胁情报, 子域名突变, 安全防御评估, 实时检测, 开发者工具, 微服务架构, 搜索引擎查询, 无后门, 机器学习, 测试用例, 目录枚举, 移动安全, 结构化查询, 网络安全, 自动化安全, 请求拦截, 逆向工程, 隐私保护, 零信任, 静态分析, 风险评分