
root、adb、CAのインストール、クラウドを必要とせず、多くの機能と、より多くのゼロデイマルウェアを検出する方法を備えたAndroidアンチウイルス
高度なAndroidアンチウイルス、脅威保護機能付き
⚠️ プロジェクトは一時停止中です。 このプロジェクトは十分な関心を得られなかったため、しばらく中断しています。開発は HydraDragonAntivirus に移行しました。
(ロゴはDiscordユーザーの1tophbeifongによる制作)
HydraDragonAV Mobileは、静的解析(YARA-X + ClamAVシグネチャ + コード異常検知)、動的行為解析、軽量なオンデバイスML分類器を組み合わせた多層Androidアンチウイルス&セキュリティスイートです。NSRL準拠のホワイトリストでゲートされているため、既知の正常なソフトウェアが誤検知されることはありません。ゼロトラストアーキテクチャで設計されており、ランサムウェア、クリックジャッキング、スパイウェア、SMS詐欺/フィッシング、ゼロデイ脅威からデバイスを積極的に防御します。フラグが付けられたマルウェアアプリが起動されると、リアルタイムで自動的に強制停止され、ブロックされます。
📋 要件: Android 8.0 Oreo (API 26) 以降。 アプリ単位の動的ネットワーク解析(各DNS/接続をそれを発生させた正確なアプリに帰属させ、YARA-Xの
hydradragonモジュールに渡す)は、Android 10+でのみ利用可能なConnectivityManager.getConnectionOwnerUidに依存しています。Oreo/API 26-28では他の機能は引き続き動作しますが、アプリ単位の接続帰属は利用できません。
🤖 Androidのみの検出範囲。 これはオリジナルのHydraDragonAntivirusのミニマルなAndroid特化フォークであり、Androidマルウェアのみを検出します。ネイティブスキャンエンジンは、Android関連タイプ(APK/ZIP、DEX、ELF、HTML、ASCIIテキスト、PDF、画像)と自信を持って識別できるファイルに対してのみClamAV/YARA-Xシグネチャマッチングを実行します。デスクトップ専用フォーマット(Windows PE、OLE2/Office、Mail、Mach-O、Java)およびタイプが不明なファイルは、それらを対象としていないシグネチャデータベースでスキャンするのではなく、完全にスキップされます。詳細については、wiki(ClamAV統合、既知の制限)を参照してください。
ConcurrentHashMapキャッシュを利用した超高速・マルチスレッドのスキャンエンジンで、以前スキャンした安全なアプリケーションをCPUオーバーヘッドゼロで即座に再検証します。libhydradragonandroid.so)が重い処理を担います — YARA-X + ClamAVシグネチャマッチング、アーカイブ抽出(zip/gz/tar/xz/lzma/7z/rar、ネストされたAPKを含む)、AXMLマニフェスト解析、危険な権限のカウントをすべてメモリ上のバイトから直接実行(一時ファイル不要)。AIEngine)もDEXレベルの動作(難読化、動的ロード、crypto/socket/shell API、アドウェアSDK)をスコアリングします。BroadcastReceiverが新しくインストール/更新されたAPKを自動的に傍受してスキャンします。バックグラウンドスキャンは、ユーザーがスキャン中にスキャン画面を開くとUIが引き継ぐことができ、冗長な再スキャンは発生しません。HydraDragonAV Mobileは、次の4つの中核的な柱で動作します:
libhydradragonandroid.so)— X.509証明書、SHA-256ハッシュ、危険な権限、アプリのインストール元、YARA-X/ClamAVシグネチャ、ML異常スコアを評価します。ローカルのDnsVpnServiceはさらに、既知の悪性ドメインに対するDNSルックアップをフィルタリングし、NetworkSecurityScanner/NetworkMonitorのペアはライブ接続を監視して、MITM傍受、ARPスプーフィング、悪性IP/C2トラフィックを検出します。
Shizukuのようなツールは、完全なrootなしでアプリにADBシェルレベルの権限(プロセス強制終了、公開APIを超えたPackageManager操作、実際のiptablesスタイルのファイアウォールなど)を付与します。これは正当で有用なプロジェクトですが、本番アンチウイルスの中に組み込むには適していません:
adb shell(ワイヤレスまたはUSBデバッグ)またはroot経由で起動する必要があります。これはマスマーケット向けインストールではまったく非現実的であり、このアプリはそもそもroot化されたデバイスでは一切実行を拒否し(RootCheck)、USB/ワイヤレスデバッグが有効のままの場合にユーザーに警告します(DebugModeCheck/DebugModeWarning)。これは、両方の状態が攻撃面を広げるからにほかなりません。VpnServiceベースのDNS/ドメイン/IPフィルタリング(Webシールド)によって、ユーザーに第三者ブローカーサービスへのシェルアクセスを承認させることなく十分にカバーされています。要するに、ユーザーに最初にデバッグシェルへの到達を許可させるセキュリティ製品は、脅威モデルを逆さまに解決しています。このアプリの実際の権限昇格面は、Androidの公開API(AccessibilityService、VpnService、PackageManager)が許可する範囲に意図的に限定されており、ADB、root、特権コンパニオンアプリを必要とするものは何もありません。
初期ビルドには、スキャンされたすべてのAPK/ELF/DEXをMalwareBazaar由来のダイジェストデータベースと比較するTLSHファジーハッシングエンジンが搭載されていました。これはスイート全体で最も遅く、最も重く、最も役に立たないエンジンであったため削除されました:
実際にその存在価値を発揮する機能 — YARA-X + ClamAVシグネチャ、ML分類器、NSRLホワイトリスト登録、エミュレーション、URL/IPフィルタリング — は、実行時コストや「100%」という空虚な約束なしに同じ領域をカバーします。
💻で設計: @elnureisayeva1-cloud(クリエイター)& @Siradankullanici(バックエンド開発)
注: エンジンがスキャンする最大ファイルサイズは設定から変更可能です(10〜2048 MB、デフォルト650 MB)。制限を超えるファイルは、部分的にスキャンされるのではなく完全にスキップされます。
リポジトリをクローンします(サブモジュール含む — ネイティブエンジンはhydradragonスキャンモジュールを備えたカスタムYARA-Xフォークをベンダリングしています):
git clone --recurse-submodules https://github.com/HydraDragonAntivirus/HydraDragonAV-Mobile.git
cd HydraDragonAV-Mobile
Android用のネイティブRustエンジンをビルドします(前提条件はhydradragonandroid/README.mdを参照):
cd hydradragonandroid
build-android.cmd
通常どおりAndroidアプリをビルドします(Gradle)— ネイティブ.so出力はapp/src/main/jniLibs/から自動的に取得されます。
オンデバイス検出アセットは、公開されている脅威インテルとNSRLソースからオフラインで生成され、アプリにバンドルされます:
gen_whitelist_packages.py — NSRL RDSデータベースから結合された完全な詳細のNSRL Androidパッケージホワイトリスト(名前、バージョン、製造元、OS、ハッシュ)であるwhitelist_packages.db(SQLite)をビルドします。gen_whitelist_apk.py — ネイティブのバイナリフューズXORホワイトリストフィルタ用に、APK全体のNSRL MD5ハッシュを抽出します。gen_ip_lists.py / build_url_xfilters.py / build_xfilters.sh — ネイティブのIP/URL脅威スキャナーで使用される悪性IP/URL/ドメインフィルタ(XORフィルタベース)をビルドします。clam_juice.py — ClamAVシグネチャをフィルタリングして、Android関連プラットフォーム(Andr、Unix、Linux、Email、PUA)とすべてのPhishingシグネチャのみを保持します。Win/Osx/Javaは除外:
python clam_juice.py --directory database_non_filtered --output database_filtered --profile cross-platform
fdroid-downloader.py — データセットパイプライン用に公式F-Droidリポジトリから良性APKをダウンロードします。ローカルに存在しないAPKのみをダウンロードし、ファイル名で比較するため、更新バージョンは自動的に取得されます。dataset/benign/F-Droid/ — 収集されたF-DroidオープンソースAPK(本質的に良性、2805個のAPK)。 https://huggingface.co/datasets/HydraDragonAntivirus/BenignAPKDataset/tree/main ("hf upload-large-folder HydraDragonAntivirus/BenignAPKDataset dataset\benign --repo-type=dataset --num-workers=4" でアップロード)dataset/malware/ — マルウェアサンプル(このリポジトリには含まれず、別途保存。リンク: https://drive.google.com/file/d/1Il2bvcjxmc0w-XirL27R0_bKpznIeIiG パスワード: infected)。JNI_OnLoad/エントリコードを、制限付きでシステムコールなしのCPUサンドボックス(ARM/ARM64/x86/x86_64)内で実行し、デコード/復号ルーチンが実行時にのみ生成する文字列(C2 URLなど)を静的プレーンテキストとしてではなく明らかにします。設定から完全にトグル可能です。http(s):// URLを抽出し、ネイティブのマルウェア/フィッシングURL XORフィルタと照合します。完全なURL(パスを含む)は素のドメインよりもはるかに具体的であるため、ドメインのみのマッチングよりも誤検知が少なく、より正確な検出が可能です。FLAG_WINDOW_IS_OBSCUREDチェックでブロックされ、非人間的な高速での設定変更の連続(悪意のあるアクセシビリティサービスがUIを直接操作している兆候)は検出、元に戻され、ブロックされます。そのため、実際のデバイス所有者だけが保護設定を変更できます。