🪜 기능 성숙도 사다리 — ⚔ Shield 방어
⚔ Shield 🗡 Bypass합의 본표 고정 74건 / 90점 + PII 3종 5점/건 · 난독화/암호화 4건 12점(🕒승격대기) · 구현예정 31건(🔮미구현). v2=L1, bypass→보강·검증→레벨업(점수↑). 활성 최상위 레벨 소스는 비공개, 은퇴(뚫린) 레벨만 클릭 시 공개.
매핑(파일·함수·레벨·점수·하위항목·승격이벤트) 항상 공개. 정확한 탐지/우회 절차·스크립트·private key 비공개. 기능 클릭 시 74 세부항목 펼침.
1 루팅/Root
su 표준경로 — L1(5)·활성 · 🔒 활성 비공개
detectors/su_path/SuPathDetector.cpp :: SuPathDetector::evaluate()
| 세부 항목(소분류) | 점수 |
|---|
| /system/bin/su | 1 |
| /system/xbin/su | 1 |
| /sbin/su | 1 |
| /vendor/bin/su | 1 |
| /data/local/su | 1 |
su 확장·은닉경로 — L1(8)·활성 · 🔒 활성 비공개
detectors/os_tamper/root_files/RootFilesDetector.cpp :: RootFilesDetector::evaluate()
| 세부 항목(소분류) | 점수 |
|---|
| /system/bin/.ext/.su | 1 |
| /system/usr/we-need-root/su | 1 |
| /system/xbin/busybox | 1 |
| /data/local/xbin/su | 1 |
| /data/local/bin/su | 1 |
| /dev/su | 1 |
| /su/bin/su | 1 |
| /cache/su | 1 |
Magisk 표면 — L1(9)·활성 · 🔒 활성 비공개
detectors/os_tamper/magisk/MagiskDetector.cpp :: MagiskDetector::evaluate()
| 세부 항목(소분류) | 점수 |
|---|
| /sbin/magisk | 1 |
| /sbin/.magisk | 1 |
| /data/adb/magisk | 1 |
| /data/adb/magisk.db | 1 |
| /data/adb/modules | 1 |
| /data/data/com.topjohnwu.magisk | 1 |
| /init.magisk.rc | 1 |
| /cache/.disable_magisk | 1 |
| "magisk" 문자열 | 1 |
Superuser.apk — L1(1)·활성 · 🔒 활성 비공개
detectors/os_tamper/root_files/RootFilesDetector.cpp :: RootFilesDetector::evaluate()
| 세부 항목(소분류) | 점수 |
|---|
| /system/app/Superuser.apk | 1 |
2 OS/커널
커널·부트 무결성 — L1(5)·활성 · 🔒 활성 비공개
detectors/kernel_integrity/KernelIntegrityDetector.cpp :: KernelIntegrityDetector::evaluate()
| 세부 항목(소분류) | 점수 |
|---|
| /proc/version -dirty | 1 |
| build android-build/abfarm 부재 | 1 |
| verifiedbootstate≠green | 1 |
| flash.locked≠1 | 1 |
| selinux/enforce=0 | 1 |
proc 편차 — L1(1)·활성 · 🔒 활성 비공개
detectors/proc_deviation/ProcDeviationDetector.cpp :: ProcDeviationDetector::evaluate()
단말 정합성(impossible-device) — L1(4)·활성 · 🔒 활성 비공개
detectors/coherence/DeviceCoherenceDetector.cpp :: DeviceCoherenceDetector::evaluate()
| 세부 항목(소분류) | 점수 |
|---|
| green+test-keys 모순 | 1 |
| flash.locked+debuggable 모순 | 1 |
| qemu+실제모델 모순 | 1 |
| build.tags test-keys+verifiedboot green 모순 | 1 |
3 디버깅
anti-debug TracerPid — L1(1)·활성 · 🔒 활성 비공개
detectors/anti_debug/AntiDebugDetector.cpp :: AntiDebugDetector::evaluate()
anti-debug 고급 — L1(2)·활성 · 🔒 활성 비공개
detectors/anti_debug/advanced/AdvancedAntiDebugDetector.cpp :: AdvancedAntiDebugDetector::evaluate() · RuntimeProbe::measureInto()
| 세부 항목(소분류) | 점수 |
|---|
| timing dilation | 1 |
| /__debug/ override | 1 |
4 후킹
Frida 지표 — L1(12)·활성 · 🔒 활성 비공개
detectors/anti_hook/AntiHookDetector.cpp :: AntiHookDetector::evaluate()
| 세부 항목(소분류) | 점수 |
|---|
| frida | 1 |
| frida:rpc | 1 |
| re.frida | 1 |
| pool-frida | 1 |
| FridaScriptEngine | 1 |
| gadget | 1 |
| gum | 1 |
| gum-js | 1 |
| gum-js-loop | 1 |
| gmain | 1 |
| gdbus | 1 |
| linjector | 1 |
Xposed/주입 — L1(4)·활성 · 🔒 활성 비공개
detectors/anti_hook/AntiHookDetector.cpp :: AntiHookDetector::evaluate()
| 세부 항목(소분류) | 점수 |
|---|
| XposedBridge | 1 |
| EdXposed | 1 |
| LSPosed | 1 |
| riru | 1 |
hook 표면 maps/fd/task — L1(3)·활성 · 🔒 활성 비공개
detectors/anti_hook/AntiHookDetector.cpp :: AntiHookDetector::evaluate()
| 세부 항목(소분류) | 점수 |
|---|
| /proc/self/maps | 1 |
| /proc/self/fd | 1 |
| /proc/self/task(/comm) | 1 |
hook 메모리 시그니처 — L1(1)·활성 · 🔒 활성 비공개
detectors/anti_hook/mem_signature/MemSignatureDetector.cpp :: MemSignatureDetector::evaluate()
| 세부 항목(소분류) | 점수 |
|---|
| 비시스템 .so 메모리 서명 | 1 |
5 메모리무결성
rwx 매핑 — L1(1)·활성 · 🔒 활성 비공개
detectors/memory_integrity/MemoryIntegrityDetector.cpp :: MemoryIntegrityDetector::evaluate()
6 분석포트
분석포트 5종 — L1(5)·활성 · 🔒 활성 비공개
detectors/os_tamper/ports/PortScanDetector.cpp :: PortScanDetector::evaluate()
| 세부 항목(소분류) | 점수 |
|---|
| 27042 frida-server | 1 |
| 27043 frida | 1 |
| 23946 IDA | 1 |
| 8700 DDMS | 1 |
| 5555 adb | 1 |
7 앱무결성
서명·설치자·debuggable·패키지 — L1(4)·활성 · 🔒 활성 비공개
detectors/app_integrity/AppIntegrityDetector.cpp :: AppIntegrityDetector::evaluate()
| 세부 항목(소분류) | 점수 |
|---|
| 서명 불일치 | 1 |
| 설치자 위장 | 1 |
| debuggable | 1 |
| 패키지 변조 | 1 |
8 Stealth
평문 탐지문자열 은닉 — L1(3)·활성 · 🔒 활성 비공개
include/luoa/Obf.h :: XorStr / LUOA_OBF
| 세부 항목(소분류) | 점수 |
|---|
| 평문 탐지문자열 복원 저항 | 3 |
JNI 심볼 은닉 — L1(3)·활성 · 🔒 활성 비공개
android/jni/luoa_jni.cpp :: JNI_OnLoad()+RegisterNatives
| 세부 항목(소분류) | 점수 |
|---|
| JNI 심볼 복원 저항 | 3 |
FLAG 문자열 은닉 — L1(3)·활성 · 🔒 활성 비공개
core/Engine.cpp :: Engine::scan()/toJson()
| 세부 항목(소분류) | 점수 |
|---|
| FLAG 흐름 복원 저항 | 3 |
strip 심볼 제거 — L1(3)·활성 · 🔒 활성 비공개
protect_tool/luoa-protect.sh :: build: -s -fvisibility=hidden
| 세부 항목(소분류) | 점수 |
|---|
| strip 심볼 복원 저항 | 3 |
9 게이트
Fail-closed — L1(3)·활성 · 🔒 활성 비공개
protect_tool/inject/.../LuoaBootstrap.java :: onCreate()/down()
| 세부 항목(소분류) | 점수 |
|---|
| fail-closed 상태 | 3 |
attestation device_trust — L1(3)·활성 · 🔒 활성 비공개
server app.py + LuoaShield.java :: attest()·require_session()/attestBody()
| 세부 항목(소분류) | 점수 |
|---|
| attestation 게이트 | 3 |
통신 무결성 HMAC — L1(3)·활성 · 🔒 활성 비공개
server app.py + LuoaNet.java :: verify_sig()/hmac()
| 세부 항목(소분류) | 점수 |
|---|
| replay/변조/위조서명 | 3 |
라이선스 게이트 — L1(3)·활성 · 🔒 활성 비공개
server app.py + LuoaBootstrap.java :: attest() license_ok
10 PII
PII at-rest 암호화 — L1(5·건)·활성 · 🔒 활성 비공개
server app.py :: enc()/dec()·profile()
| 세부 항목(소분류) | 점수 |
|---|
| 돼지번호/돼지우리 평문 윈도우 | 5·건 |
보호데이터 변조 차단 — L1(5·건)·활성 · 🔒 활성 비공개
server app.py :: transfer()
세션 탈취 차단 — L1(5·건)·활성 · 🔒 활성 비공개
server app.py :: require_session()
11 난독화/암호화(툴·승격대기)
🕒 승격대기 식별자 난독화(rename/repackage) — L1(3)·활성 · 🔒 활성 비공개
protect_tool/proguard-rules.pro + luoa-protect.sh :: R8 3중4: repackageclasses/allowaccessmodification
| 세부 항목(소분류) | 점수 |
|---|
| 클래스/메서드/필드 rename + 패키지 평탄화 복원 저항 | 3 |
🕒 승격대기 구조 난독화(shrink/optimize/overload) — L1(3)·활성 · 🔒 활성 비공개
protect_tool/proguard-rules.pro + luoa-protect.sh :: R8 3중4: --release shrink+optimize + overloadaggressively
| 세부 항목(소분류) | 점수 |
|---|
| inline/병합/dead-code/오버로드 재사용 복원 저항 | 3 |
🕒 승격대기 사전기반 혼란이름 — L1(3)·활성 · 🔒 활성 비공개
protect_tool/{obf,class,pkg}-dict.txt :: R8 3중4: -obfuscationdictionary 동적주입
| 세부 항목(소분류) | 점수 |
|---|
| obf/class/pkg 사전 호모글리프성 식별자 복원 저항 | 3 |
🕒 승격대기 네이티브 문자열 암호화(XorStr) — L1(3)·활성 · 🔒 활성 비공개
shield/include/luoa/Obf.h :: XorStr + g_runtime_key
| 세부 항목(소분류) | 점수 |
|---|
| 탐지경로/needle 컴파일타임 XOR + 런타임 volatile key 복호 분석 저항 | 3 |
12 단말/플랫폼 신뢰(구현예정)
🔮 구현예정 Play Integrity deviceIntegrity — 구현예정(3) · — 미구현(코딩 시 작성) · 근거: Android Play Integrity API
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 서버 검증 deviceIntegrity verdict | 3 |
🔮 구현예정 Play Integrity appIntegrity — 구현예정(3) · — 미구현(코딩 시 작성) · 근거: Android Play Integrity API
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 리패키징/서명 서버정책 검증 | 3 |
🔮 구현예정 Key Attestation — 구현예정(3) · — 미구현(코딩 시 작성) · 근거: Android Key Attestation
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| hardware-backed key(TEE/StrongBox) | 3 |
🔮 구현예정 boot/patch 정합성 — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: Android remote attestation 연구
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| rollback/보안패치 레벨 정합 | 1 |
13 런타임 계측 심화(구현예정)
🔮 구현예정 JDWP Java debugger — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: OWASP MASTG anti-debugging
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| JDWP attach 표면 | 1 |
🔮 구현예정 native inline hook anomaly — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: native hooking 연구
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 프롤로그/trampoline 변조 | 1 |
🔮 구현예정 GOT/PLT hook — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: native hooking 연구
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| relocation table mutation | 1 |
🔮 구현예정 syscall behavior anomaly — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: OWASP MASTG runtime modification
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| syscall 계층 변화 관찰 | 1 |
🔮 구현예정 Frida gadget embedded — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: Frida 계측 연구
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| frida-server 없는 내부 gadget | 1 |
🔮 구현예정 spawn/attach timing — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: OWASP MASTG anti-debugging
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 프로세스 시작직후 계측차 | 1 |
14 앱 무결성 심화(구현예정)
🔮 구현예정 DEX 섹션 무결성 — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: repackaging 방어 연구
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| classes.dex 런타임 해시 | 1 |
🔮 구현예정 native lib 섹션 무결성 — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: repackaging 방어 연구
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| libluoa.so 메모리/디스크 해시 | 1 |
🔮 구현예정 resource/manifest drift — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: repackaging 방어 연구
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 리소스/manifest 무결성 | 1 |
🔮 구현예정 서버 워터마크 대조 — 구현예정(3) · — 미구현(코딩 시 작성) · 근거: repackaging 방어 연구(서버연동)
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 서버 보관 서명/워터마크 | 3 |
15 서버/통신 심화(구현예정)
🔮 구현예정 nonce binding — 구현예정(3) · — 미구현(코딩 시 작성) · 근거: OWASP MASVS network
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| nonce 1회성(anti-replay 강화) | 3 |
🔮 구현예정 request canonicalization — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: OWASP MASVS network
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| JSON canonical form 고정 | 1 |
🔮 구현예정 session-device binding — 구현예정(3) · — 미구현(코딩 시 작성) · 근거: OWASP MASVS network
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 세션↔device trust 결속 | 3 |
🔮 구현예정 certificate pinning — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: OWASP MASVS network
(구현예정)
🔮 구현예정 response integrity — 구현예정(3) · — 미구현(코딩 시 작성) · 근거: OWASP MASVS network
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 서버 응답 서명/무결성 | 3 |
16 데이터/PII 심화(구현예정)
🔮 구현예정 키 유도/저장 검증 — 구현예정(5·건) · — 미구현(코딩 시 작성) · 근거: OWASP MASVS storage
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 키 노출 경로 점검 | 5·건 |
🔮 구현예정 memory exposure — 구현예정(5·건) · — 미구현(코딩 시 작성) · 근거: OWASP MASVS storage
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 민감값 메모리 잔존 | 5·건 |
🔮 구현예정 log leakage — 구현예정(5·건) · — 미구현(코딩 시 작성) · 근거: OWASP MASVS storage
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| logcat/서버 로그 PII 노출 | 5·건 |
🔮 구현예정 backup/export 노출 — 구현예정(5·건) · — 미구현(코딩 시 작성) · 근거: OWASP MASVS storage
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| Android backup/export 정책 | 5·건 |
17 정책/운영(구현예정)
🔮 구현예정 fail-open regression — 구현예정(3) · — 미구현(코딩 시 작성) · 근거: 보안제품 품질 운영
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 장애 시 보호 우회 여부 | 3 |
🔮 구현예정 telemetry consistency — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: 보안제품 품질 운영
(구현예정)
🔮 구현예정 false positive baseline — 구현예정(3) · — 미구현(코딩 시 작성) · 근거: 보안제품 품질 운영
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 정상환경 오탐률(품질) | 3 |
🔮 구현예정 cleanup proof — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: 공방전 재현성
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 테스트 흔적 정리 재현성 | 1 |
18 방어 추가연구(구현예정)
🔮 구현예정 signal corroboration — 구현예정(3) · — 미구현(코딩 시 작성) · 근거: 제1원리(다신호 융합)
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 다중신호 상관(단일표면 내성) | 3 |
🔮 구현예정 dlopen/dlsym 무결성 — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: 제1원리(loader 무결성)
(구현예정)
🔮 구현예정 time-source 교차검증 — 구현예정(1) · — 미구현(코딩 시 작성) · 근거: 제1원리(시간원 교차)
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| 단일 clock 위조 내성 | 1 |
🔮 구현예정 JNI bridge 무결성 — 구현예정(3) · — 미구현(코딩 시 작성) · 근거: 제1원리(JNI 무결성)
(구현예정)
| 세부 항목(소분류) | 점수 |
|---|
| RegisterNatives 포인터 변조 | 3 |