
Android용 제로 트러스트 셀룰러 방어 서브 서비스 (IMSI-Catcher, 2G SMS Blaster, 4G aLTEr 탐지 및 안전한 라우팅)
RadioGuard는 오픈 소스이며 프로덕션 레디(production-ready)이고 Google Play 스토어 규정을 준수하는 Android 보안 애플리케이션이자 백그라운드 서브 서비스입니다. 악성 기지국(IMSI-catcher / Cell-Site Simulator / SMS Blaster)을 능동적으로 탐지하고, 적대적인 2G/4G 셀룰러 조작을 식별하며, 신뢰할 수 없는 셀룰러 링크에서 모바일 기기를 보호하기 위해 암호화된 안전 라우팅 격리를 배포합니다.
셀룰러 네트워크(2G, 3G, 4G LTE)는 근본적인 프로토콜 취약점을 가지고 있습니다:
RadioGuard 철학: 셀룰러 링크를 신뢰할 수 없는 공용 네트워크처럼 취급합니다 (제로 트러스트 라디오). 기지국이 합법적이기를 바라는 대신, 휴대폰이 자율적으로 셀룰러 텔레메트리를 모니터링하고 트래픽을 인증된 암호화 터널 안에 캡슐화합니다.
┌─────────────────────────────────────────────────────────────────────────────┐
│ RadioGuard Architecture Topology │
├─────────────────────────────────────────────────────────────────────────────┤
│ [ UI Layer (Jetpack Compose) ] │
│ • DashboardScreen: Real-time threat gauge, active telemetry, controls │
│ • Device Integrity Banner: Displays kernel/root compromise warnings │
│ • Forensic Incident Exporter: Generates JSON evidence dumps │
├─────────────────────────────────────────────────────────────────────────────┤
│ [ Core Service Layer ] │
│ • RadioGuardService: Foreground sentry monitoring TelephonyCallback │
│ • Telemetry Liveness Watchdog: Polls modem every 5s to defeat RIL freeze │
│ • Emergency 911/112 Fail-Safe: Auto-suspends killswitch during calls │
│ • SafeTunnelVpnService: Native VPN killswitch (TunnelCrack hardened) │
│ • ShizukuRadioBridge: Privileged non-root band locker & airplane pulse │
├─────────────────────────────────────────────────────────────────────────────┤
│ [ Analytical Engine ] │
│ • AnomalyEngine: Normalized Bayesian multi-factor anomaly scoring │
│ • Macro-Cell Shadow Clone Detector: Step-gradient Delta-RSRP tracking │
│ • Hysteresis Buffer: 2-sample window filters Carrier Aggregation flits │
│ • SmsFilterHelper: PDU inspector catching Type-0 Silent SMS pings │
├─────────────────────────────────────────────────────────────────────────────┤
│ [ Storage & Integrity Layer ] │
│ • TowerDatabase (Room SQLite): Local OpenCelliD / BeaconDB baseline │
│ • Circular Storage Pruning: Caps incident log to 1,000 to prevent DoS │
│ • AppIntegrityValidator: Runtime SHA-256 APK signing cert verification │
│ • RuntimeAntiHijackGuard: Anti-ptrace & /proc/self/maps hook scanner │
│ • DeviceIntegritySentry: Hardware TEE, SELinux, and rootkit auditor │
└─────────────────────────────────────────────────────────────────────────────┘
setBlocking(true)와 함께 Android의 네이티브 VpnService를 사용합니다./1 라우트 분할: 라우트를 0.0.0.0/1과 128.0.0.0/1로 분할하여 악성 로컬 서브넷 라우팅 리다이렉트를 무력화함으로써 TunnelCrack (CVE-2023-36672 / CVE-2023-35838) 을 방어합니다.9.9.9.9, 1.1.1.1)을 사용하여 터널 이전 aLTEr DNS 하이재킹을 방지합니다.TelephonyCallback.CallStateListener를 후킹합니다.ByteBuffer.allocate(32768))와 PDU 바이트 배열은 엄격하게 경계 검사를 받습니다. 오버플로는 메모리를 손상시키는 대신 관리되는 IndexOutOfBoundsException을 발생시킵니다.pruneOldIncidents)를 사용하여 제한되므로, 악성 기지국이 기기의 플래시 메모리를 채우는 것을 방지합니다.RadioGuard는 공개된 우회 기법에 대해 강화되었습니다:
RadioGuard가 악성 앱이나 로컬 멀웨어에 의해 침해될 수 없도록 보장하기 위해:
AppIntegrityValidator.kt):
Process.killProcess()).RuntimeAntiHijackGuard.kt):
/proc/self/status를 스캔합니다. ptrace 연결, gdb 및 Frida 에이전트를 탐지합니다.frida-agent.so, xposed.so, zygisk, sandhook)에 대해 /proc/self/maps를 스캔합니다./system/bin/cmd 경로를 강제하고 서브프로세스 실행 환경에서 를 제거합니다.UI는 다크 사이버 방어 테마를 특징으로 하는 Jetpack Compose (Material 3) 로 구축되었습니다:
이 프로젝트에는 모든 알고리즘, 상태 전환 및 수학적 경계를 검증하는 실행 가능한 검증 테스트 스위트(test_suite.py)가 포함되어 있습니다:
python test_suite.py
test_01_normal_macro_cell_passes ......................... [OK]
test_02_involuntary_2g_downgrade ......................... [OK]
test_03_macro_cell_shadow_clone_jump ..................... [OK]
test_04_hysteresis_filtering ............................. [OK]
test_05_spatial_drift_detection .......................... [OK]
test_06_tunnelcrack_dual_route_coverage .................. [OK]
test_07_storage_bounds_circular_pruning .................. [OK]
test_08_emergency_call_fail_safe_transitions ............. [OK]
Ran 8 tests in 0.001s - OK (100% Passing)
또한 Android Studio / Gradle 빌드용 단위 테스트는 다음 위치에 있습니다:
RadioGuard를 Google Play 개발자 콘솔에 제출할 때 권한을 다음과 같이 선언하십시오:
# Clone or open workspace
cd C:\Users\pushk\.gemini\antigravity\scratch\radioguard
# Build debug APK
./gradlew assembleDebug
# Build release APK (configured with ProGuard & R8)
./gradlew assembleRelease
su 바이너리, Magisk, Permissive 모드의 SELinux, test-keys 또는 누락된 하드웨어 KeyStore/TEE 확인).| 공격 벡터 | 출처 논문 / CVE | 강화된 대응책 |
|---|
| 매크로 셀 섀도 클론 | USENIX Security (FBS-Radar) | 스텝 그라디언트 추적: $< 4\text{ 초}$ 이내에 동일한 Cell ID에서 갑작스러운 $\Delta\text{RSRP} > 25\text{ dB}$ 급증을 플래그합니다. |
| TunnelCrack VPN 우회 | USENIX Security (CVE-2023-36672) | 이중 /1 라우트 분할: 0.0.0.0/1 및 128.0.0.0/1이 모든 악성 로컬 서브넷 리다이렉트를 무력화합니다. |
| aLTEr DNS 부트스트랩 하이재킹 | IEEE S&P (CVE-2018-18544) | IP 리터럴 및 SPKI 피닝: 하드코딩된 리졸버 IP(9.9.9.9)에 직접 연결하여 평문 부트스트랩 DNS를 제거합니다. |
| 베이스밴드 RIL 프리즈 | Black Hat / ACM CCS | 텔레메트리 라이브니스 워치독: 콜백이 $> 12\text{ 초}$ 동안 정지되면 5초마다 모뎀 텔레메트리를 능동적으로 폴링합니다. |
| 캐리어 어그리게이션 플래핑 | 실제 LTE 배포 환경 | 히스테리시스 버퍼: 심각한 격리를 선언하기 전에 10초 동안 2회 연속 이상 사이클을 요구합니다. |
LD_PRELOAD| 권한 | Play 스토어 정책 정당성 |
|---|
ACCESS_FINE_LOCATION | CellIdentity(Cell ID, TAC, PCI)를 쿼리하기 위해 Android OS에서 요구됩니다. 좌표가 오프라인 SQLite 데이터베이스에 대해 기기에서 로컬로 평가되며 어떤 원격 서버로도 전송되지 않는다는 점을 앱의 개인정보 처리방침에 명시적으로 기재하십시오. |
FOREGROUND_SERVICE & FOREGROUND_SERVICE_CONNECTED_DEVICE | 베이스밴드 상태 변경 및 악성 기지국 유인에 대한 지속적인 실시간 백그라운드 모니터링에 필요합니다. |
BIND_VPN_SERVICE | 신뢰할 수 없는 셀룰러 링크를 격리하기 위한 로컬 루프백 격리 터널 및 네이티브 OS 킬 스위치를 제공하는 데 필요합니다. |