웨이브그리드(Wavegrid) 악성앱 패밀리 분석 — 3세대 계보와 연락처·사진·SMS 동시 탈취 구조
공개 위협 인텔리전스 보고서 · 주식회사 아크링크 Deep-Coding 보안연구소
최종 갱신: 2026-07-02 · 문서 URL: https://xn--c62bk4mm5jntg.com/guide/웨이브그리드분석
웨이브그리드(Wavegrid)는 한국 몸캠피싱·스미싱 범죄에 가장 널리 동원되는 안드로이드 악성앱 패밀리입니다. 아크링크 Deep-Coding 보안연구소가 실측 분석한 악성앱 303종 가운데 웨이브그리드 계열로 확정 태깅된 앱은 26종이며, 가족 계보 분석 기준으로는 3세대에 걸쳐 40여 종의 변종이 식별됐습니다. 이 패밀리의 본질은 "하나의 앱이 연락처·사진·문자(SMS)를 동시에 빼내는" 구조입니다. 피해자가 초대코드를 입력하고 권한을 허용하는 순간, 중국산 RuoYi(Spring Boot) 백엔드로 구동되는 명령·제어(C2) 서버의 공통 경로 /prod-api/로 개인정보가 일괄 전송됩니다. 전체 303종 중 253종(83%)이 연락처 접근 권한(READ_CONTACTS)을, 224종(74%)이 외부 저장소 접근 권한을 요청했으며, 확인된 C2 서버는 296종, 중복 제거된 IOC 도메인은 490개에 이릅니다. 본 문서는 라이브 공격에 악용될 수 있는 익스플로잇·페이로드 세부를 배제하고, 탐지·방어·피해 규명 관점에서만 정제해 공개합니다.
---
목차
- 핵심 수치 요약
- 웨이브그리드란 무엇인가
- 3세대 계보: Gen1 → Gen2 → Gen3
- 동시 탈취 구조: 연락처·사진·SMS
- 시그니처 기법 (T001·초대코드·Luban·prod-api)
- MITRE ATT&CK Mobile 매핑
- 대표 C2 IOC (발췌)
- 피해자·이용자 대응 가이드
- 자주 묻는 질문(FAQ)
- 연구 주체 및 문의
---
1. 핵심 수치 요약
아래 통계는 아크링크가 자체 수집·분석한 악성앱 데이터베이스(2026-07-02 기준)를 직접 집계한 실측치입니다.
| 지표 | 수치 |
|---|---|
| 분석 완료 악성앱 | 303종 |
| C2(명령·제어) 서버 지정 앱 | 296종 |
| 유니크 IOC 도메인 | 490개 |
| READ_CONTACTS(연락처) 권한 요청 | 253종 (83%) |
| READ_EXTERNAL_STORAGE(저장소) 권한 요청 | 224종 (74%) |
| 웨이브그리드 계열 태깅 앱 | 26종 (계보 기준 40여 변종·3세대) |
유출 대상으로 지정된 데이터 유형별 앱 수(303종 전체 기준)
| 데이터 유형 | 앱 수 |
|---|---|
| 연락처 | 279 |
| SMS(문자) | 190 |
| 단말 정보 | 155 |
| 파일 | 92 |
| 위치 | 88 |
연락처가 압도적 1순위 탈취 표적입니다. 이는 웨이브그리드류가 피해자 본인뿐 아니라 피해자의 지인 네트워크 전체를 협박 지렛대로 삼는 몸캠피싱 특유의 구조를 그대로 반영합니다.
---
2. 웨이브그리드란 무엇인가
웨이브그리드는 특정 단일 앱이 아니라, 동일 개발 그룹이 같은 코드 템플릿을 찍어내 대량 배포한 악성앱 계열(패밀리)의 코드명입니다. 겉보기 앱 이름(데이팅·영상·앨범·라이브 등)과 패키지명은 앱마다 다르지만, 내부 코드·서버 구조·탈취 방식이 사실상 동일한 "공장 생산품"입니다.
패밀리 식별의 결정적 지문은 다음과 같습니다.
- 공통 API 접두사
/prod-api/— 전 변종이 예외 없이 사용 - RuoYi(중국산 Spring Boot 관리 프레임워크) 백엔드 — 서버 오류 메시지가 중국어로 노출
- 원형 네임스페이스
com.cryonix.wavegrid— 개발 템플릿의 원본 패키지명. 패밀리 코드명 "Cryonix"의 유래이기도 합니다 - AliDNS
223.5.5.5하드코딩 — 정상 앱이 쓰지 않는 중국 알리바바 DNS를 코드에 박아둔 강력한 침해지표
아크링크는 책임 있는 공개(responsible disclosure) 원칙에 따라 운영자의 실제 신원은 공개하지 않으며, 내부 추적용 코드명(예: 웨이브그리드/Cryonix, 별개 형제 패밀리 Durian 등)만 사용합니다.
---
3. 3세대 계보: Gen1 → Gen2 → Gen3
웨이브그리드는 2024년 이후 3세대에 걸쳐 진화했습니다. 흥미롭게도 기술적으로는 고도화 후 다시 원시화하는 역행이 관측되며, 이는 정적 분석 도구의 패턴 탐지를 회피하기 위한 전략적 단순화로 해석됩니다.
| 구분 | Gen1 (원형) | Gen2 (Kotlin 변종) | Gen3 (SMS 상시 감시) |
|---|---|---|---|
| 언어 | Java | Kotlin + Java 혼용 | Java 회귀 |
| 통신 | OkHttp3 직접 | EasyHttp + OkHttp | OkHttp3 회귀 |
| 구조 | 2-액티비티 (로그인+홈) | MVVM (ViewModel/LiveData) | 5~6 액티비티 + 백그라운드 서비스 |
| 전송 보안 | HTTPS(인증서 검증 우회) | HTTPS + SSL 우회 | HTTP 평문 |
| SMS 수집 | 코드만 존재(휴면) | 코드만 존재(미호출) | UploadService 5초 주기 폴링(상시) |
| 내부 패키지 | 앱별 고유 | 앱별 고유 | com.xyx.sms 공유 |
| 대표 표적 | 연락처·사진 | 연락처·사진 | 연락처·사진·SMS |
세대별 요지
- Gen1 (원형): 순수 Java 2-액티비티 구조. 초대코드 입력 → 권한 요청 → 연락처·사진 탈취의 기본 골격을 확립.
- Gen2 (Kotlin 변종): 현대적 MVVM 아키텍처와 SSL 우회를 도입해 기술 성숙도가 가장 높았던 세대. 일부 변종은 SMS 수집 코드를 넣어두되 실제로는 호출하지 않는 "휴면 위협" 상태로 남겨두었습니다.
- Gen3 (SMS 상시 감시): 다시 Java로 회귀하면서, 전 변종이
com.xyx.sms내부 패키지를 공유합니다.START_STICKY속성의UploadService가 운영체제에 의해 자동 재시작되며, 약 5초 주기로 수신 문자함을 폴링해 변화가 감지되면 즉시 서버로 전송합니다. HTTP 평문 통신으로 회귀한 것 역시 SSL 관련 탐지 시그니처 자체를 없애기 위한 의도로 보입니다.
역설: Gen3는 기술적으로 가장 원시적이지만 탐지 회피에는 가장 성공적입니다. 복잡한 방어 코드가 오히려 백신·분석 도구의 탐지 근거가 되므로, "단순함으로 숨는" 전략을 택한 것입니다.
---
4. 동시 탈취 구조: 연락처·사진·SMS
웨이브그리드의 가장 위험한 특성은 세 종류의 민감정보를 하나의 흐름에서 동시에 탈취한다는 점입니다. 모든 전송은 공통 접두사 /prod-api/ 아래에서 이뤄집니다.
| 탈취 대상 | 수집 방식(개념) | 업로드 API |
|---|---|---|
| 연락처 | 시스템 주소록 조회(ContactsContract) | /prod-api/webapp/saveAddressBook |
| 사진 | 갤러리(MediaStore) 조회 → Luban 압축 | /prod-api/webapp/image/{code} |
| SMS | 문자함(content://sms) 주기 폴링 (Gen3) | /prod-api/webapp/saveSms |
| (인증) | 초대코드 + 단말 식별자 전송 | /prod-api/webapp/login |
공격 흐름 개요(방어 관점)
- 피해자가 피싱·스미싱 링크로 유도돼 앱을 비공식 경로에서 설치(사이드로드)합니다. 이 계열은 공식 스토어가 아닌 피싱 URL을 통해서만 배포됩니다.
- 앱 실행 시 초대코드 입력 화면이 뜨고, 입력값과 임의 생성한 단말 식별자(UUID)를 C2로 보내 서버 측에서 코드 유효성을 검증합니다.
- 인증 성공 시 연락처·전화·저장소(및 Gen3의 SMS) 위험 권한을 런타임에 요청합니다.
- 사용자가 권한을 허용하면 연락처→사진→SMS 순으로 수집·전송이 진행되고, Gen3는 백그라운드 서비스가 살아남아 문자 수신을 지속 감시합니다.
피해 규명 핵심: 실제 데이터 유출은 사용자가 권한 허용 버튼을 누른 시점에 시작됩니다. 초대코드 입력 화면까지만 도달했고 권한을 허용하지 않았다면, 서버로 전송된 개인정보는 없을 가능성이 높습니다. 다만 이미 권한을 허용했다면 연락처·사진·문자가 이미 유출됐다고 보고 대응해야 합니다(→ 8장).
---
5. 시그니처 기법 (T001·초대코드·Luban·prod-api)
패밀리를 판별하는 데 쓰이는 대표 시그니처 기법입니다. 아래는 탐지·귀속(attribution) 목적의 특징 기술이며, 공격 재현에 필요한 코드는 포함하지 않습니다.
| 코드 | 기법 | 설명(방어 관점) |
|---|---|---|
| T001 | 반전(inverted) 인증 로직 | HTTP 200 응답을 실패로, 비(非)200을 성공으로 처리하는 뒤집힌 분기. 순진한 자동 분석 도구를 혼란시켜 인증 흐름을 오판하게 만듭니다. |
| — | 서버 검증 초대코드 | 인증을 앱 내부가 아닌 C2 서버에서 판정. 코드 없이는 분석용 실행이 막혀 정적 분석을 방해하는 게이트 역할을 합니다. |
| — | Luban 이미지 압축 | 탈취한 갤러리 사진을 업로드 전 Luban 라이브러리로 압축해 전송량을 줄이고 대량 유출을 가속합니다. |
| — | /prod-api/ 공통 경로 | RuoYi 프레임워크의 프로덕션 API 접두사. 전 변종 공통으로, 네트워크단에서 패밀리를 식별하는 1차 지표입니다. |
| — | com.xyx.sms 공유 패키지 / servise 오타 | Gen3 전 변종이 공유하는 내부 패키지명과, 서비스 컴포넌트명에 반복되는 철자 오타(service→servise)는 동일 개발자 지문입니다. |
| — | AliDNS 223.5.5.5 하드코딩 | 중국 알리바바 공용 DNS를 코드에 고정. 정상 앱에서는 나타나지 않아 강력한 단일 IOC로 활용됩니다. |
---
6. MITRE ATT&CK Mobile 매핑
웨이브그리드의 관측된 행위를 MITRE ATT&CK for Mobile 프레임워크로 정리하면 다음과 같습니다.
| 전술(Tactic) | 기법 ID | 기법명 | 웨이브그리드 관측 근거 |
|---|---|---|---|
| Initial Access | T1660 | Phishing | 피싱·스미싱 URL을 통한 비공식 사이드로드 배포 |
| Defense Evasion | T1633.001 | Virtualization/Sandbox Evasion: System Checks | 에뮬레이터·분석 환경 탐지 후 동작 회피 |
| Discovery | T1426 | System Information Discovery | 단말 정보·통신사·전화번호 수집 |
| Collection | T1636.003 | Protected User Data: Contact List | 주소록 조회 → saveAddressBook |
| Collection | T1636.004 | Protected User Data: SMS Messages | 문자함 5초 폴링 → saveSms (Gen3) |
| Collection | T1533 | Data from Local System | 갤러리(MediaStore) 사진 수집 |
| Command and Control | T1437.001 | Application Layer Protocol: Web Protocols | HTTP(S) 기반 C2 통신 |
| Exfiltration | T1646 | Exfiltration Over C2 Channel | /prod-api/ 경로로 개인정보 일괄 유출 |
---
7. 대표 C2 IOC (발췌)
아래는 웨이브그리드 계열에서 확인된 명령·제어 인프라 중 대표 지표 발췌본입니다. (전체 유니크 도메인은 490개이며, 본 표는 세대·클러스터를 대표하는 일부만 공개합니다.)
| C2 도메인 / 지표 | 세대 · 클러스터 | 프로토콜 | 비고 |
|---|---|---|---|
oiubny6778h18dad122zdx.online | Gen1 (독립) | HTTPS | RuoYi /prod-api/ |
ywadha.website | Gen1 (ywadha) | HTTPS | 초기 변종 |
yuoaophgioashoigreviews.xyz | Gen2↔Gen3 과도기 | HTTP/HTTPS | 세대 공유 C2(전환점) |
pinonaoshsfpaohjgadsf.buzz | Gen2/Gen3 (최대 클러스터) | HTTP | 다중 TLD 로테이션 |
bhyjznbalkf.monster | Gen2 (Kotlin) | HTTPS | 독립 인프라 |
zcloud.website | Gen3 | HTTP | 단축 API(/login·/photo·/sms) |
love19.store | Gen3 | HTTP | 대량 배포 변종 |
223.5.5.5 | 전 세대 공통 | DNS | AliDNS 하드코딩(강력 IOC) |
인프라 공통 특성
- 서버 프레임워크: 전 클러스터 RuoYi(Spring Boot) 공통
- API 접두사: 전 앱
/prod-api/공통 - 도메인 전략: 저가 TLD(.xyz·.monster·.buzz·.today·.online·.website 등) + 잦은 도메인 로테이션으로 차단 회피
위 도메인 중 일부는 이미 비활성화됐을 수 있으나, 동일 문자열 패턴(pinonaoshsfpaohjgadsf, xxayjgagagxxg, fgjjodawde 등)에 새로운 TLD를 조합한 신규 변종이 지속 출현합니다. 패턴 기반 탐지가 개별 도메인 차단보다 효과적입니다.
---
8. 피해자·이용자 대응 가이드
웨이브그리드류 앱을 설치했거나 권한을 허용한 것으로 의심된다면, 자책하기보다 신속한 조치가 가장 중요합니다. 아크링크 몸캠피싱 대응 가이드에서 단계별 조치를 확인하세요.
- 처음 무엇부터 해야 할지 막막하다면 → 몸캠피싱 대처 가이드
- 이미 협박·요구를 받고 있다면 → 몸캠피싱 당했을 때 대응
- 신고 절차가 궁금하다면 → 몸캠피싱 신고 방법
- 라인(LINE) 메신저를 통해 접근당했다면 → 라인 몸캠피싱 대응
- 합성·딥페이크 영상으로 협박받는다면 → 딥페이크 영상 협박 대응
즉시 취할 수 있는 기본 조치(요약)
- 의심 앱을 즉시 삭제하고, 삭제 후에도 재시작되는 백그라운드 서비스가 있는지 점검합니다(Gen3는 서비스가 자동 재생성될 수 있습니다).
- 기기의 비행기 모드/데이터 차단으로 추가 전송을 끊은 뒤, 신뢰 가능한 기기에서 계정 비밀번호를 변경합니다.
- 연락처가 유출됐을 수 있으므로, 협박범이 지인에게 연락할 가능성을 염두에 두고 필요한 지인에게 미리 상황을 공유합니다.
- 결제·송금을 요구받아도 응하지 마세요. 송금은 협박을 멈추지 못하며 오히려 반복 표적이 됩니다.
---
9. 자주 묻는 질문(FAQ)
Q1. 내 휴대폰이 웨이브그리드 악성앱에 감염됐는지 어떻게 확인하나요? A. 데이팅·영상·앨범·라이브 등의 앱을 공식 스토어가 아닌 링크로 설치했고, 실행 직후 초대코드 입력 화면이 나온 뒤 연락처·저장소·문자 권한을 한꺼번에 요구했다면 이 계열일 가능성이 높습니다. 설치 출처가 불분명한 앱은 즉시 삭제하고 몸캠피싱 대처 가이드의 점검 절차를 따르세요.
Q2. 이미 초대코드를 넣고 권한을 허용했습니다. 어떻게 해야 하나요? A. 권한을 허용한 시점부터 연락처·사진·(Gen3의 경우)문자가 유출됐다고 가정하고 대응해야 합니다. 앱 삭제 → 데이터 차단 → 계정 보호 후, 몸캠피싱 당했을 때 대응과 신고 방법을 참고해 신속히 조치하세요. 협박범의 금전 요구에는 응하지 않는 것이 원칙입니다.
Q3. 연락처가 유출됐다면 제 지인에게도 피해가 가나요? A. 웨이브그리드류는 연락처를 최우선 표적으로 삼습니다(분석 대상의 83%가 연락처 권한 요청). 협박범은 유출한 지인 목록을 2차 협박 지렛대로 활용하려 시도합니다. 필요한 지인에게 상황을 먼저 알리고, 낯선 번호의 협박성 연락은 무시·차단하도록 안내하세요. 딥페이크 합성 협박이 동반되면 딥페이크 영상 협박 대응을 참고하세요.
---
10. 연구 주체 및 문의
본 보고서는 피싱·스미싱·몸캠피싱 피해자 구제를 목적으로 작성된 공개 위협 인텔리전스 자료입니다.
- 연구 주체: 주식회사 아크링크(ARKLINK) — Deep-Coding 보안연구소
- 연구 책임: Baak Minjae
- 문의: [email protected] · 대표번호 1666-5706
- 관련 서비스: drphishing.ai · deep-scan.ai
- 문서 상시 URL: https://xn--c62bk4mm5jntg.com/guide/웨이브그리드분석
본 문서의 통계는 아크링크 자체 분석 데이터베이스(악성앱 303종·C2 296종·IOC 도메인 490개, 2026-07-02 기준)에서 직접 집계한 실측치입니다. 라이브 공격에 악용될 수 있는 익스플로잇·페이로드 상세는 의도적으로 배제했으며, 탐지·방어·피해 규명 목적의 정보만 공개합니다.
