
루트 권한, adb, CA 인증서 설치 및 클라우드가 필요 없는 Android 안티바이러스로, 더 많은 제로데이 악성코드를 탐지할 수 있는 다양한 기능과 방법을 제공합니다.
위협 보호 기능을 갖춘 고급 Android 안티바이러스
⚠️ 프로젝트 보류 중. 이 프로젝트는 충분한 관심을 받지 못해 한동안 중단되었습니다. 개발은 HydraDragonAntivirus(으)로 이동했습니다.
(디스코드 사용자 1tophbeifong이 제작한 로고)
HydraDragonAV Mobile은 정적 분석(YARA-X + ClamAV 시그니처 + 코드 이상 탐지), 동적 동작 분석, 그리고 가벼운 온디바이스 ML 분류기를 결합한 다계층 Android 안티바이러스 및 보안 제품군입니다. 모든 검사는 NSRL 기반 화이트리스트로 게이트 처리되어 정상 소프트웨어가 오탐(false positive)으로 판정되지 않습니다. 제로 트러스트 아키텍처로 설계되어 랜섬웨어, 클릭재킹, 스파이웨어, SMS 사기/피싱, 제로데이 위협으로부터 기기를 능동적으로 방어합니다. 악성 앱으로 플래그된 앱이 실행되면 실시간으로 자동 강제 중지 및 차단됩니다.
📋 요구 사항: Android 8.0 Oreo(API 26) 이상. 앱별 동적 네트워크 분석 — 각 DNS/연결을 발생시킨 정확한 앱에 귀속시키고 이를 YARA-X
hydradragon모듈에 전달하는 기능 — 은ConnectivityManager.getConnectionOwnerUid에 의존하며, 이는 Android 10+에서만 사용할 수 있습니다. 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 수준 동작(난독화, 동적 로딩, 암호화/소켓/셸 API, 애드웨어 SDK)을 점수화합니다.BroadcastReceiver가 새로 설치/업데이트된 APK를 자동으로 가로채서 검사합니다. 사용자가 스캔 중간에 검사 화면을 열면 백그라운드 스캔이 UI에 **인계(adopt)**되어 중복 재검사를 하지 않습니다.HydraDragonAV Mobile은 네 가지 핵심 축으로 작동합니다:
libhydradragonandroid.so) — X.509 인증서, SHA-256 해시, 위험 권한, 앱 설치 출처, YARA-X/ClamAV 시그니처, ML 이상 징후 점수를 평가합니다.로컬 DnsVpnService는 추가로 알려진 악성 도메인에 대한 DNS 조회를 필터링하며, NetworkSecurityScanner/NetworkMonitor 쌍은 실시간 연결에서 MITM 가로채기, ARP 스푸핑, 악성 IP/C2 트래픽을 감시합니다.
Shizuku 같은 도구는 완전한 루트 없이도 앱에 ADB 셸 수준의 권한(프로세스 종료, 공개 API를 넘어선 PackageManager 작업, 실제 iptables 방식 방화벽 등)을 부여합니다. 합법적이고 유용한 프로젝트입니다 — 다만 프로덕션 안티바이러스 내부에는 적합하지 않습니다:
adb shell(무선 또는 USB 디버깅) 또는 루트를 통해 시작해야 합니다 — 대중 시장 설치에는 완전히 비현실적이며, 이 앱은 이미 루팅된 기기에서는 아예 실행을 거부하고(RootCheck) USB/무선 디버깅이 켜져 있으면 사용자에게 경고합니다(DebugModeCheck/DebugModeWarning). 두 상태 모두 공격 표면을 넓히기 때문입니다.VpnService 기반 DNS/도메인/IP 필터링(Web Shield)으로 충분히 제공되며, 사용자가 제3자 브로커 서비스에 셸 액세스를 승인할 필요가 전혀 없습니다.요약하자면: 사용자에게 먼저 디버그 셸 접근 권한을 부여하도록 요구하는 보안 제품은 위협 모델을 거꾸로 해결하는 것입니다. 이 앱의 실제 권한 상승 표면은 의도적으로 Android 공개 API(AccessibilityService, VpnService, PackageManager)가 허용하는 범위로만 유지됩니다 — ADB, 루트, 또는 특권 동반 앱을 요구하는 것은 전혀 없습니다.
초기 빌드에는 스캔된 모든 APK/ELF/DEX를 MalwareBazaar 파생 다이제스트 데이터베이스와 비교하는 TLSH 퍼지 해싱 엔진이 포함되어 있었습니다. 전체 제품군에서 가장 느리고, 가장 무겁고, 가장 쓸모없는 엔진이었기 때문에 제거되었습니다:
실제로 자리를 지키는 기능들 — YARA-X + ClamAV 시그니처, ML 분류기, NSRL 화이트리스트, 에뮬레이션, URL/IP 필터링 — 은 런타임 비용이나 '100%'라는 헛된 약속 없이 동일한 범위를 커버합니다.
💻 @elnureisayeva1-cloud(제작자) & @Siradankullanici(백엔드 개발)이(가) 디자인했습니다
참고: 엔진이 검사할 최대 파일 크기는 설정에서 사용자가 구성할 수 있습니다(10–2048MB, 기본값 650MB) — 한도를 초과하는 파일은 부분 스캔이 아닌 완전히 건너뜁니다.
저장소를 클론합니다(서브모듈 포함 — 네이티브 엔진은 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
평소처럼(Gradle) Android 앱을 빌드합니다 — 네이티브 .so 출력물은 app/src/main/jniLibs/에서 자동으로 가져옵니다.
기기 내 탐지 자산은 공개 위협 인텔리전스 및 NSRL 소스에서 오프라인으로 생성된 후 앱에 번들됩니다:
gen_whitelist_packages.py — NSRL RDS 데이터베이스에서 조인된 전체 세부 정보 NSRL Android 패키지 화이트리스트(이름, 버전, 제조사, OS, 해시)인 whitelist_packages.db(SQLite)를 빌드합니다.gen_whitelist_apk.py — 네이티브 binary-fuse XOR 화이트리스트 필터용 전체 APK NSRL MD5 해시를 추출합니다.gen_ip_lists.py / build_url_xfilters.py / build_xfilters.sh — 네이티브 IP/URL 위협 스캐너에서 사용하는 악성 IP/URL/도메인 필터(XOR 필터 기반)를 빌드합니다.clam_juice.py — Android 관련 플랫폼(Andr, Unix, Linux, Email, PUA)과 모든 피싱 시그니처만 유지하도록 ClamAV 시그니처를 필터링합니다. 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/진입 코드를 제한된 syscall 없는 CPU 샌드박스(ARM/ARM64/x86/x86_64)에서 실행하여 디코드/복호화 루틴이 런타임에만 생성하고 정적 평문으로는 절대 존재하지 않는 문자열(예: C2 URL)을 드러냅니다. 설정에서 완전히 토글할 수 있습니다.http(s):// URL을 추출하여 네이티브 악성코드/피싱 URL xor 필터와 대조합니다. 전체 URL(경로 포함)은 단순 도메인보다 훨씬 특이성이 높아 도메인 전용 매칭보다 오탐이 적고 더 정밀한 탐지가 가능합니다.FLAG_WINDOW_IS_OBSCURED 검사를 통해 차단되며, 비인간적으로 빠른 설정 변경 폭주(악성 접근성 서비스가 UI를 직접 조작하는 전형적인 징후)는 탐지되어 되돌려지고 차단됩니다. 따라서 실제 기기 소유자만 보호 설정을 변경할 수 있습니다.