🐉 HydraDragonAV Mobile
위협 보호 기능을 갖춘 고급 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 연동,
알려진 제한 사항).
🚀 주요 기능
- ⚡ Photon 기술:
ConcurrentHashMap 캐싱을 활용하는 초고속 멀티스레드 스캔 엔진으로, 이전에 검사한 안전한 앱을 CPU 오버헤드 없이 즉시 재검증합니다.
- 🧠 네이티브 Rust 스캔 엔진: JNI로 연결된 Rust 코어(
libhydradragonandroid.so)가 무거운 작업을 처리합니다 — YARA-X + ClamAV 시그니처 매칭, 아카이브 추출(zip/gz/tar/xz/lzma/7z/rar, 중첩된 APK 포함), AXML 매니페스트 파싱, 위험 권한 계산을 모두 메모리의 바이트에서 직접 수행합니다(임시 파일 불필요).
- 🧠 Burn ML 이진 분류기: tract 기반 Burn 악성코드/정상 분류기가 검사된 모든 APK에 신뢰도 값(0.0–1.0)을 부여합니다. 정확한 이진 분류를 위해 악성코드 및 정상 데이터셋 모두로 학습되었습니다. 경량 로지스틱 회귀 분류기(
AIEngine)도 DEX 수준 동작(난독화, 동적 로딩, 암호화/소켓/셸 API, 애드웨어 SDK)을 점수화합니다.
- 🛡️ 랜섬웨어 및 화면 잠금 완화: 실시간 화면 텍스트 감지(접근성 서비스 + OCR)가 랜섬 노트를 인식하고 화면을 잠그는 랜섬웨어를 20개 언어로 강제 종료합니다.
- 📵 SMS 사기 및 피싱 탐지: 동일한 다국어 화면 텍스트 스캐너가 스미싱 유도(가짜 계정 인증, 경품 사기, 택배 사기, OTP 요청, 은행 알림)가 렌더링되는 모든 곳 — 메시지 앱, 알림 미리보기, 또는 스푸핑된 WebView — 에서 감지합니다. SMS 받은편지함을 직접 읽지 않습니다.
- 🖥️ 실시간 화면 OCR: MediaProjection 기반 캡처 서비스가 전경 화면을 주기적으로 OCR하여 추출된 텍스트를 네이티브 위협 스캐너에 전달합니다. 렌더링된 픽셀로만 나타나는 사기를 잡아냅니다.
- 🖼️ 대화상자 형태의 MalwareFoundActivity: 백그라운드 스캔 중 위협이 감지되면 전체 화면 액티비티가 아닌 플로팅 대화상자 오버레이로 사용자에게 알려 현재 작업을 방해하지 않습니다.
- 🚫 UI 하이재킹 / 클릭재킹 보호: 자동화된 빠른 클릭 권한 부여 공격, 알림 스팸 홍수, 악성 앱의 반복적인 오버레이/대화상자 악용을 탐지하고 차단합니다. 작업 하이재킹(StrandHogg 액티비티 수 검사)과 화면 녹화/FLAG_SECURE 가드도 설정에서 선택할 수 있는 토글(opt-in)로 내장되어 있습니다(FLAG_SECURE 가드는 "화면 녹화 허용" 토글을 통해 의도적으로 비활성화할 수 있으며, 변조 탐지는 무단 제거를 계속 감지합니다).
- 🔍 설치 시 및 온디맨드 스캐너: 빠른 검사(설치된 앱만) 또는 전체 검사(SD 카드를 포함한 전체 저장 공간)를 지원합니다.
BroadcastReceiver가 새로 설치/업데이트된 APK를 자동으로 가로채서 검사합니다. 사용자가 스캔 중간에 검사 화면을 열면 백그라운드 스캔이 UI에 **인계(adopt)**되어 중복 재검사를 하지 않습니다.
- 🎯 활성 위협 카운터: 검사 화면의 전용 "ACTIVE THREATS" 통계가 검사/위협 합계와 함께 현재 탐지된 위협 수를 표시합니다.
- 📋 상세 위협 대화상자: 위협을 탭하면 모든 탐지 사유가 글머리 기호 목록으로 표시되며 즉시 확인할 수 있는 클릭 가능한 VirusTotal URL과 함께 Destroy / Ignore / Ignore-Signature 작업이 제공됩니다.
- 🌐 네트워크 보안 모니터: 실시간 연결을 추적하고, 알려진 악성/C2 IP(스캔 전에 공용 IPv4로 검증 — 사설/루프백/멀티캐스트 주소는 거부됨)와 익명화/터널 서비스 형태의 도메인(dyndns, ngrok, .onion 조회 시도)에 플래그를 지정하며, 신뢰할 수 없는 CA를 통한 MITM/TLS 가로채기를 탐지하고 로컬 네트워크의 ARP 스푸핑을 감지할 수 있습니다. (도메인/DNS 기반 — 실제 Tor 회선 트래픽이 아니라 일반 DNS 조회 패턴을 관찰합니다. Tor 트래픽은 기기의 DNS 리졸버를 거치지 않습니다.)
- 🌐 DNS 필터링 VPN(Web Shield): 기기 내 로컬 VPN 서비스가 알려진 악성/피싱 도메인의 DNS 해석을 차단합니다. 트래픽 프록시, 복호화, 검사는 없으며 DNS 조회만 필터링됩니다.
- 🗃️ NSRL 기반 화이트리스트: 정상 소프트웨어는 NSRL에서 파생된 두 개의 독립적인 계층 — 전체 파일 SHA-256 해시의 binary-fuse XOR 필터(네이티브, 인메모리)와 전체 NSRL 패키지 메타데이터(이름, 버전, 제조사, OS)의 SQLite 데이터베이스 — 를 통해 검증됩니다. 따라서 합법적인 앱은 절대 플래그되지 않으며, 악성 해시가 운으로 화이트리스트 항목을 '빌릴' 수도 없습니다.
- 🔒 제로 트러스트 모드: 모든 탐지기를 그저 살아남은(명시적으로 검증되지 않은) 앱도 의심스러운 것으로 플래그하는 선택적 강화 모드로, 전체 감사 추적(audit trail)이 제공됩니다.
- 🧠 동작 탐지 제품군: 각각 설정에서 개별적으로 토글할 수 있는 전용 런타임 탐지기 세트 — UI/알림 스팸(애드웨어), 세션 중 기기가 루팅되었는지 감시하는 모니터, 권한+의심스러운 DNS 패턴 결합 위험 점수, 랜섬웨어 동작 탐지(아래 참조). 모든 적중은 가능한 경우 해당 앱의 백그라운드 프로세스를 즉시 종료하고 다음 예약 스캔을 기다리지 않고 시스템 제거 프롬프트를 바로 띄웁니다.
- 🪤 랜섬웨어 파일 트랩: 새로 설치되어 아직 검증되지 않은 앱에 "모든 파일 액세스" 권한이 부여되면 HydraDragon이 일반적인 알파벳 순 암호화 과정에서 가장 먼저 정렬되도록 이름을 지정한 유인 파일(decoy file)을 Downloads/Documents/Pictures/DCIM에 임시로 생성합니다. 해당 파일의 이름 변경, 내용 변경, 삭제 — 합법적인 앱이 건드릴 이유가 전혀 없는 행위 — 는 휴리스틱 추측이 아닌 100% 확실한 랜섬웨어 동작입니다. 트랩은 24시간 내에 자동 만료되므로 사용자 파일을 어지럽히지 않습니다.
- 🔁 일괄 이름 변경(rename-burst) 랜섬웨어 탐지: 이와 별도로, 앱이 파일 액세스 권한을 얻은 직후 많은 파일이 접미사를 추가하여 일괄 이름 변경되는 경우(접미사가 실제로 무엇이든 — 하드코딩된 ".enc"/".locked" 목록 없음) 이를 제자리 암호화로 플래그합니다. 이는 특정 확장자와 관계없이 모든 랜섬웨어 계열이 공유하는 파일시스템 수준의 특징입니다.
- 🐴 네이티브 코드 에뮬레이션(Unicorn 엔진): 내장된 네이티브 라이브러리의
JNI_OnLoad/진입 코드를 제한된 syscall 없는 CPU 샌드박스(ARM/ARM64/x86/x86_64)에서 실행하여 디코드/복호화 루틴이 런타임에만 생성하고 정적 평문으로는 절대 존재하지 않는 문자열(예: C2 URL)을 드러냅니다. 설정에서 완전히 토글할 수 있습니다.
- 🎣 악성/피싱 URL 문자열 스캔: 검사된 파일의 원시 바이트(APK 또는 기타)에서 모든 포함된
http(s):// URL을 추출하여 네이티브 악성코드/피싱 URL xor 필터와 대조합니다. 전체 URL(경로 포함)은 단순 도메인보다 훨씬 특이성이 높아 도메인 전용 매칭보다 오탐이 적고 더 정밀한 탐지가 가능합니다.
- 🔐 설정 자체 보호: 모든 설정 토글/버튼은 비인간적 변조에 대해 강화되어 있습니다. 오버레이 기반 탭재킹 시도는 Android 자체
FLAG_WINDOW_IS_OBSCURED 검사를 통해 차단되며, 비인간적으로 빠른 설정 변경 폭주(악성 접근성 서비스가 UI를 직접 조작하는 전형적인 징후)는 탐지되어 되돌려지고 차단됩니다. 따라서 실제 기기 소유자만 보호 설정을 변경할 수 있습니다.
- 🧹 블로트웨어 클리너, 자체 보호 및 루트 탐지: 백그라운드 앱 정리, Device Admin 변조/제거 저항, 루팅된 기기 탐지로 제품군을 완성합니다.
- 🌍 다국어 지원: 20개 언어로 완전히 현지화된 UI와 위협 탐지 키워드 목록을 제공합니다: 영어, 터키어, 스페인어, 독일어, 프랑스어, 러시아어, 포르투갈어, 아랍어, 이탈리아어, 네덜란드어, 폴란드어, 우크라이나어, 중국어(간체), 일본어, 한국어, 힌디어, 인도네시아어, 베트남어, 페르시아어, 태국어.
🛠️ 기술 아키텍처
HydraDragonAV Mobile은 네 가지 핵심 축으로 작동합니다:
- GuardService: 능동 방어 시스템의 두뇌 역할을 하는 상주 포그라운드 서비스 — Downloads 폴더를 실시간으로 감시하고 스캔을 조율하며 24/7 위협을 모니터링합니다.
- DynamicAnalysisService: 자동화된 UI 하이재킹(클릭재킹)을 방지하고 오버레이/알림 스팸 공격을 차단하며 20개 언어로 랜섬웨어/SMS 사기/피싱 문구를 화면 텍스트에서 검사하는 접근성 서비스입니다.
- ScreenCaptureService: 전경 화면을 주기적으로 캡처하고 읽어 추출된 텍스트를 실시간 위협 탐지를 위해 네이티브 스캐너에 전달하는 MediaProjection 기반 OCR 서비스입니다.
- ScanEngine + NativeScanner: Java 오케스트레이션 계층과 그에 대응하는 Rust 네이티브 계층(
libhydradragonandroid.so) — X.509 인증서, SHA-256 해시, 위험 권한, 앱 설치 출처, YARA-X/ClamAV 시그니처, ML 이상 징후 점수를 평가합니다.
로컬 DnsVpnService는 추가로 알려진 악성 도메인에 대한 DNS 조회를 필터링하며, NetworkSecurityScanner/NetworkMonitor 쌍은 실시간 연결에서 MITM 가로채기, ARP 스푸핑, 악성 IP/C2 트래픽을 감시합니다.
🚫 왜 Shizuku(또는 유사한 셸 권한 프레임워크)를 사용하지 않는가?
Shizuku 같은 도구는 완전한 루트 없이도 앱에 ADB 셸 수준의 권한(프로세스 종료, 공개 API를 넘어선 PackageManager 작업, 실제 iptables 방식 방화벽 등)을 부여합니다. 합법적이고 유용한 프로젝트입니다 — 다만 프로덕션 안티바이러스 내부에는 적합하지 않습니다: