HydraDragonAntivirus/HydraDragonAV-Mobile
GitHub: HydraDragonAntivirus/HydraDragonAV-Mobile
一款免 Root 的 Android 端反病毒安全套件,结合静态特征匹配、机器学习异常检测、行为分析与实时屏幕 OCR 来检测和拦截恶意软件、勒索软件及钓鱼攻击。
Stars: 3 | Forks: 0
# 🐉 HydraDragonAV 移动版
**军工级高级 Android 网络安全与威胁防护**







HydraDragonAV Mobile 是一套多层 Android 抗病毒与安全套件,结合了静态分析(YARA-X + ClamAV 特征码 + 代码异常检测)、动态行为分析以及轻量级的端上 ML 分类器——所有这些均由基于 NSRL 的白名单作为门控,从而确保已知安全软件永远不会被误报。它基于**零信任架构**设计,能够主动保护设备免受勒索软件、点击劫持、间谍软件、SMS 诈骗/钓鱼以及零日威胁的侵害。
## 🚀 核心特性
- **⚡ Photon 技术:** 超快、多线程的扫描引擎,利用 `ConcurrentHashMap` 缓存以零 CPU 开销瞬间重新验证先前已扫描的安全应用程序。
- **🧠 原生 Rust 扫描引擎:** 一个基于 JNI 桥接的 Rust 核心 (`libhydradragonandroid.so`) 负责处理重负载任务——YARA-X + ClamAV 特征匹配、归档提取(zip/gz/tar/xz/lzma/7z/rar,包括嵌套的 APK)、AXML manifest 解析以及危险权限统计,所有操作均直接在内存中处理字节流完成(无需临时文件)。
- **🔎 单类 ML 异常检测:** 一个 MinHash/LSH + 孤立森林模型对每个扫描样本进行 Jaccard 相似度和异常评分,标记出与任何已知干净或已知恶意特征库均不匹配的异常值——一个轻量级的逻辑回归分类器 (`AIEngine`) 还会对 DEX 级行为(代码混淆、动态加载、加密/socket/shell API、广告 SDK)进行评分。
- **🧬 TLSH 模糊哈希:** 将扫描的 APK/ELF/DEX 文件与基于 MalwareBazaar 提取的 TLSH 摘要数据库进行比对,以捕获与已知恶意软件相似但不完全相同的样本。
- **🛡️ 勒索软件与屏幕锁定程序防范:** 实时屏幕文本检测(通过 Accessibility Service + OCR)可识别勒索说明,并强制终止屏幕锁定型勒索软件,支持 **20 种语言**。
- **📵 SMS 诈骗与钓鱼检测:** 同样支持多语言的屏幕文本扫描器可以捕获短信钓鱼诱饵(虚假账户验证、奖品诈骗、包裹递送诈骗、OTP 请求、银行警报),无论它们在哪里呈现——Messages 应用程序、通知预览或被伪造的 WebView 中——而无需直接读取您的 SMS 收件箱。
- **🖥️ 实时屏幕 OCR:** 一个基于 MediaProjection 的捕获服务会定期对前台屏幕进行 OCR,并将提取的文本输入到原生威胁扫描器中,从而捕获仅以渲染像素形式出现的诈骗行为。
- **🚫 UI 劫持/点击劫持防护:** 检测并阻止自动化的快速点击权限授予攻击、通知滥发以及恶意应用程序对叠加层/对话框的重复滥用。任务劫持(StrandHogg 活动计数检查)和屏幕录制/FLAG_SECURE 防护也已作为可选的“设置”开关内置其中。
- **🔍 安装时与按需扫描器:** 支持快速扫描(已安装的应用程序 + 下载内容)或全面扫描(包括 SD 卡在内的整个存储空间);`BroadcastReceiver` 会拦截并自动扫描新安装/更新的 APK。
- **🌐 网络安全监控器:** 跟踪实时连接,标记已知的恶意/C2 IP 和匿名化器/隧道服务特征域名(dyndns、ngrok、.onion 查找尝试),通过不受信任的 CA 检测 MITM/TLS 拦截,并可发现局域网上的 ARP 欺骗。(基于域名/DNS——这观察的是纯 DNS 查找模式,而非实际的 Tor 环路流量,因为后者永远不会触及设备的 DNS 解析器。)
- **🌐 DNS 过滤 VPN (Web Shield):** 一个本地的、设备端上的 VPN 服务可阻止对已知恶意/钓鱼域名的解析——不进行流量代理、解密或检查,仅过滤 DNS 查找。
- **🗃️ 基于 NSRL 的白名单:** 已知安全软件通过两个独立的 NSRL 派生层进行放行——一个是全文件 SHA-256 哈希的原生内存二进制融合 XOR 过滤器,另一个是包含完整 NSRL 包元数据(名称、版本、制造商、操作系统)的 SQLite 数据库——因此合法应用程序永远不会被标记,同时恶意哈希也永远无法碰巧“借用”白名单条目。
- **🔒 零信任模式:** 一种可选的更严格模式,任何仅仅是*躲过*所有检测器(而不是被明确放行)的应用程序仍会被标记为可疑,并保留完整的审计跟踪记录。
- **🧠 行为检测套件:** 一套专用的运行时检测器,每一个都可以在“设置”中单独切换——UI/通知滥发(广告软件)、设备在会话期间被 Root 监控器、组合的权限+可疑 DNS 模式风险评分以及勒索软件行为检测(见下文)。每次命中都会立即(在可能的情况下)终止违规应用程序的后台进程,并立即弹出系统卸载提示,而不是等待下一次计划扫描。
- **🪤 勒索软件文件陷阱:** 当一个新安装且尚未审查的应用程序被授予“所有文件访问权限”时,HydraDragon 会暂时将一个诱饵文件(命名为在典型的字母顺序加密过程中会被排在首位)放入 Downloads/Documents/Pictures/DCIM 中。对该文件的任何重命名、内容更改或删除——没有任何合法应用程序有理由这样做——都是 100% 确定的勒索软件行为,而不是启发式猜测。陷阱会在 24 小时内自动过期,因此它们永远不会弄乱用户的文件。
- **🔁 重命名突发勒索软件检测:** 独立地,如果在应用程序获得文件访问权限后不久,出现一批被附加后缀重命名的文件(无论该后缀实际上是什么——没有硬编码的 ".enc"/".locked" 列表),将被标记为就地加密,这是每个勒索软件家族无论其特定扩展名如何都会共享的文件系统级别的特征。
- **🐴 原生代码模拟 (Unicorn Engine):** 在一个有界、无系统调用的 CPU 沙箱 (ARM/ARM64/x86/x86_64) 中运行嵌入式原生库的 `JNI_OnLoad`/入口代码,以揭示那些解码/解密例程仅在运行时才会产生、从不会作为静态明文出现的字符串——例如 C2 URL。可在设置中完全切换开关。
- **🎣 恶意/钓鱼 URL 字符串扫描:** 从扫描文件的原始字节(APK 或其他格式)中提取每个嵌入的 `http(s)://` URL,并将其与原生恶意软件/钓鱼 URL blooms 进行比对——完整的 URL(带路径)比纯粹的单个域名要具体得多,这意味着与仅匹配域名相比,误报更少,检测更精确。
- **🔐 设置自我保护:** 每个“设置”开关/按钮都经过了强化,可抵御非人工篡改——基于叠加层的点击劫持尝试会被 Android 自身的 `FLAG_WINDOW_IS_OBSCURED` 检查所阻止,而非人工的极速设置更改爆发(即恶意 Accessibility Service 直接驱动 UI 的特征)也会被检测、还原并阻止,因此只有真正的设备所有者才能更改防护设置。
- **🧹 预装软件清理器、自我保护与 Root 检测:** 通过后台应用程序清理、Device Admin 防篡改/防卸载以及 Root 设备检测完善了该套件。
- **🌍 多语言支持:** 完全本地化的 UI 和威胁检测关键词列表,涵盖 **20 种语言**:英语、土耳其语、西班牙语、德语、法语、俄语、葡萄牙语、阿拉伯语、意大利语、荷兰语、波兰语、乌克兰语、简体中文、日语、韩语、印地语、印度尼西亚语、越南语、波斯语和泰语。
## 🛠️ 技术架构
HydraDragonAV Mobile 的运作基于四大核心支柱:
1. **GuardService:** 一个持久的前台服务,充当主动防御系统的大脑——实时监视 Downloads 文件夹并协调扫描任务,全天候监控威胁。
2. **DynamicAnalysisService:** 一个 Accessibility Service,可防止自动化的 UI 劫持(点击劫持),阻止叠加层/通知滥发攻击,并以 20 种语言扫描屏幕文本以检测勒索软件/SMS 诈骗/钓鱼词汇。
3. **ScreenCaptureService:** 一个基于 MediaProjection 的 OCR 服务,定期捕获并读取前台屏幕,将提取的文本输入到原生扫描器中以进行实时威胁检测。
4. **ScanEngine + NativeScanner:** Java 编排层及其 Rust 原生对应物 (`libhydradragonandroid.so`)——用于评估 X.509 证书、SHA-256/TLSH 哈希、危险权限、应用程序安装来源、YARA-X/ClamAV 特征码以及 ML 异常评分。
此外,一个本地的 **DnsVpnService** 会针对已知恶意域名过滤 DNS 查找,而 **NetworkSecurityScanner**/**NetworkMonitor** 对则会监视实时连接,以检测 MITM 拦截、ARP 欺骗和恶意 IP/C2 流量。
## 🚫 为什么不使用 Shizuku(或类似的 Shell 权限框架)?
像 [Shizuku](https://github.com/thedjchi/Shizuku) 这样的工具会授予应用程序 ADB-shell 级别的权限(进程终止、超出公开 API 范围的 `PackageManager` 操作、真正的 iptables 风格防火墙等),而无需完整的 root 权限。这是一个合法且有用的项目——只是不适合直接*内置于生产环境的抗病毒软件中*:
- **它并没有消除攻击面,而是转移了攻击面。** Shizuku 自身的特权服务可以通过 Binder 被任何请求它的应用程序访问;在 AV 中嵌入一个 Shell 权限提升客户端意味着,一旦 AV 进程遭到入侵(或者其与 Shizuku 的通信方式存在漏洞),就会在整个设备中继承 ADB 级别的触达范围——这恰恰是 AV 本应缩小、而不是扩大的爆炸半径。
- **在生产环境中它无法自我激活。** 除非设备已经 Root,否则每次启动都需要用户通过 `adb shell`(无线或 USB 调试)或 root 来启动 Shizuku——这对于面向大众市场的安装来说完全不切实际,而且本应用程序本来就已经拒绝在已 Root 的设备上运行 (`RootCheck`),并在保持开启 USB/无线调试时警告用户 (`DebugModeCheck`/`DebugModeWarning`),正是因为这两种状态都会扩大攻击面。
- **边际能力不值得改变信任模型。** 其主要吸引力(真正的数据包级防火墙、强制停止任意应用程序)在这里已经通过基于 `VpnService` 的 DNS/域名/IP 过滤(Web Shield)得到了合理的覆盖,而无需用户授权第三方代理服务进行 Shell 访问。
简而言之:一个要求用户先授予其调试 Shell 权限的安全产品,是在本末倒置地解决其威胁模型。本应用程序实际的权限提升面被特意限制在 Android 公开 API(`AccessibilityService`、`VpnService`、`PackageManager`)所允许的范围内——不包含任何需要 ADB、Root 或特权伴随应用程序的操作。
*由 @elnureisayeva1-cloud (创作者) & @Siradankullanici (后端开发) 使用 💻 设计*
关于原版 HydraDragonAntivirus:这仅用于检测 Android 恶意软件,是原版 HydraDragonAntivirus 的极简版本。
**注意:引擎将扫描的最大文件大小可在“设置”中由用户自行配置(10–2048 MB,默认为 500 MB)——超过限制的文件将被完全跳过,而不是被部分扫描。**
## ⚙️ 如何构建与安装
1. 克隆代码仓库(包含子模块——原生引擎内置了一个定制的 [YARA-X 分支](https://github.com/Siradankullanici/yara-x),其中包含 `hydradragon`/`androguard` 扫描模块):
git clone --recurse-submodules https://github.com/HydraDragonAntivirus/HydraDragonAV-Mobile.git
cd HydraDragonAV-Mobile
2. 为 Android 构建原生 Rust 引擎(有关先决条件,请参见 `hydradragonandroid/build-android.sh`——`rustup` Android 目标平台、`cargo-ndk` 以及 `ANDROIDDK_HOME`):
cd hydradragonandroid
./build-android.sh
3. 照常构建 Android 应用程序(Gradle)——原生的 `.so` 输出会自动从 `app/src/main/jniLibs/` 中提取。
## 🗄️ 数据流水线(白名单、特征码与过滤器)
设备端上的检测资产是离线生成的,来源于公开的威胁情报和 NSRL 数据源,然后被打包进应用程序中:
- **`gen_whitelist_packages.py`** — 构建 `whitelist_packages.db` (SQLite),这是一个从 NSRL RDS 数据库中联表查询出的包含完整详情的 NSRL Android 包白名单(名称、版本、制造商、操作系统、哈希值)。
- **`gen_whitelist_apk.py`** — 提取用于原生二进制融合 XOR 白名单过滤器的整个 APK 的 NSRL MD5 哈希值。
- **`gen_tlsh_db.py`** — 基于 MalwareBazaar 样本 (APK/ELF/SO/DEX) 构建一个 TLSH 模糊哈希数据库,用于基于相似度的恶意软件检测。
- **`gen_ip_lists.py`** / **`build_url_blooms.py`** / **`build_xfilters.sh`** — 构建供原生 IP/URL 威胁扫描器使用的恶意 IP/URL/域名过滤器(基于 XOR 过滤器)。
- **`clam_juice.py`** — 过滤 ClamAV 特征码,仅保留与 Android 相关的平台(Andr、Unix、Linux、Email、PUA)以及所有的钓鱼特征码;排除 Win/Osx/Java:
python clam_juice.py --directory database_non_filtered --output database_filtered --profile cross-platform
标签:Android, Apex, DSL, IPv6支持, JS文件枚举, Rust, 云安全监控, 反恶意软件, 可视化界面, 机器学习, 网络流量审计, 静态分析