본문 바로가기
카테고리 없음

모바일 악성코드의 주요 유형과 분석 기법

by 열정 토끼 2025. 11. 1.

모바일 악성코드의 주요 유형과 분석 기법 관련 사진

모바일 악성코드는 형태와 목적에 따라 크게 트로이목마(권한 탈취·정보유출), 스파이웨어(감시·데이터 수집), 랜섬웨어(데이터 암호화·금전 요구) 등으로 나뉩니다. 이 글은 각 유형의 특징, 일반적인 침투·유포 경로, 탐지 시그니처, 그리고 정적·동적·메모리·네트워크 분석을 포함한 실무적 분석 파이프라인을 단계별로 설명합니다. 또한 사용 가능한 도구와 샘플 분석 예시, 법적·윤리적 유의점 및 대응 권장사항을 제공합니다.

1. 모바일 악성코드의 유형별 특성

1.1 트로이목마(Trojans)

  • 목적: 정상 앱으로 위장하여 사용자 권한을 얻고, 금융정보/계정정보를 훔치거나 다른 악성모듈을 추가로 설치.
  • 주요 특징: SMS/전화 권한, Accessibility 접근권한 요청, 백그라운드 서비스로 자동 실행, C2(Command & Control) 통신.
  • 유포 경로: 서드파티 마켓, 피싱 링크, 위조된 업데이트 알림, 악성 SDK 포함 앱.

1.2 스파이웨어(Spyware)

  • 목적: 사용자 활동 감시(통화·메시지·카메라·마이크·위치 정보), 키로깅, 스크린숏 캡처, 파일 수집.
  • 주요 특징: 고도의 은닉성(루팅/탈옥 검사 회피), 주기적 데이터 업로드, 최소 권한으로 장기간 침투.
  • 유포 경로: 스토커형 악성 앱, 국가·지능형 캠페인(타깃 툴), 구성 프로파일 또는 엔터프라이즈 배포.

1.3 랜섬웨어(Ransomware)

  • 목적: 기기 또는 기기 내 데이터(사진, 문서)를 암호화하고 금전을 요구. 모바일에서는 대부분 파일 암호화 또는 화면 잠금 방식.
  • 주요 특징: 암호화 루틴, 지불 안내 화면, 흔적 제거 시도(로그 지우기), 종종 데이터 탈취 후 암호화·플러딩 병행.
  • 유포 경로: 악성 링크, 플러그인·애드온, 취약한 앱 권한 악용.

2. 샘플 확보와 초기 포렌식(증거 보존)

2.1 샘플 확보

  • 공식 요구: 가능한 경우 원본 APK / IPA 파일 확보(출처 표기).
  • 안전 확보 방법: 격리된 분석 환경(분리된 네트워크, 샌드박스)에서 다운로드.
  • 메타데이터 저장: SHA256, 파일명, 출시일·배포 채널, 앱 서명(certificate), 패키지명(package name) 기록.

2.2 증거 보존

  • 기기에서 로그, /data/app, /data/data 패키지 폴더 스냅숏 확보(권한 필요).
  • 네트워크 캡처(PCAP) 확보 — Wireshark/tcpdump를 사용.
  • 스크린숏·문자·메일 등 의심 행위의 타임라인 기록.

3. 정적 분석(Static Analysis)

3.1 파일 분해 및 메타데이터 분석

도구: apktool, aapt, jarsigner, openssl
목표: AndroidManifest.xml 검사(권한, receiver, service, intent-filter), 서명 인증서 확인, 리소스(assets, res) 탐색.

3.2 코드 디컴파일

도구: jadx, fernflower, JADX GUI
검사 포인트: 난독화 여부(클래스·메서드명 난독화), 의심스러운 네임스페이스, 하드코드된 URL/명령어, 암호화 키·API 키 하드코딩.

3.3 바이너리·네이티브 라이브러리 분석

도구: readelf, objdump, Ghidra, IDA Pro
검사 포인트:. so 파일 내 암호화 루틴, JNI 호출, 루팅감지 코드, 암호화된 페이로드 로직.

3.4 리소스·자산 검사

이미지·XML·SQL·DB 스냅숏에서 숨은 스크립트나 인코딩 된 페이로드(예: Base64)를 검색.

4. 동적 분석(Dynamic Analysis)

4.1 샌드박스 환경 구성

가상화된 안드로이드 에뮬레이터(AVD) 또는 물리 장비(루팅 X, USB 디버깅 허용)에서 격리 실행. 네트워크는 프락시(예: Burp Suite)로 연결해 트래픽 관찰. DNS 요청을 조작해 C2 차단/유도 가능.

4.2 런타임 행위 관찰

도구: adb logcat, strace, frida, Xposed(테스트 환경), mitmproxy, Burp Suite
관찰 항목: 프로세스 생성, 권한 요청 시점, 네트워크 연결(도메인, IP, POST 내용), 파일 시스템 변화, SMS/전화 발신 시도.

4.3 코드 인젝션·후킹

Frida를 활용해 특정 함수(예: network send, SMS send, Cipher.init) 후킹 후 인자·반환값을 실시간 기록. 동적 라이브러리 로딩 시점에 페이로드가 메모리에서 어떻게 풀리는지 관찰.

5. 메모리·네트워크 포렌식

5.1 메모리 덤프 및 분석

도구: LiME( Linux/Android 커널 메모리 덤프), volatility(플러그인)
목표: 런타임에 복호화된 페이로드, 암호화 키, 세션 토큰, C2 주소 탐지.

5.2 네트워크 분석

도구: tcpdump, Wireshark, Zeek, mitmproxy
검사 포인트: 비정상 DNS 쿼리, 암호화되지 않은 POST/GET, Jitter/Keep-alive 패턴, C2 도메인의 IP 평판 조회.

6. 고급 분석 기법과 자동화 도구

6.1 동적 샌드박스 자동화

도구: MobSF( Mobile Security Framework), Cuckoo(모바일 모듈), 상용 샌드박스(Anubis Mobile, Lookout)
기능: 자동 행위 캡처, API 호출 로그, 네트워크 트래픽 정리, 리포트 생성.

6.2 머신러닝·행위 기반 탐지

트래픽 패턴, 권한 요청 흐름, API 호출 시퀀스를 벡터화하여 이상행위 탐지 모델을 적용(기업 환경). 샘플 라벨링과 피쳐(권한 수, 요청 도메인 다양성, 활동 시간대)를 통한 분류기 구축.

6.3 리버스엔지니어링 자동화

Jadx + scripts, Androguard 파이프라인으로 다수 샘플을 배치 분석해 공통 서명·C2 패턴을 추출.

7. 샘플 분석 워크플로(단계별 예시)

  1. 수집: APK 확보 → SHA256 해시 계산 → 메타데이터 기록
  2. 정적 분석: APKTool로 디컴파일 → Manifest/권한/리시버 점검 → JADX로 코드확인
  3. 동적 준비: 격리된 에뮬레이터 구축, 프락시 준비(Burp/mitmproxy)
  4. 동적 실행: 앱 설치·실행 → adb logcat & 네트워크 캡처 → Frida 후킹으로 민감 API 관찰
  5. 메모리 덤프: LiME로 덤프 → Volatility로 키·토큰 검색
  6. IOC 추출: 도메인, IP, 파일 경로, 레지스트리 또는 패키지명 등을 IOC로 정리
  7. 보고서 및 대응: 탐지 규칙(IDS/EDR), 블랙리스트, 시그니처 공유, 법집행기관 신고(필요시)

8. 탐지 시그니처(IoC) 예시

  • 패키지명: com.update.service.sdk (의심)
  • 하드코드 도메인: api.update-checker [.] xyz
  • 권한 패턴: RECEIVE_SMS, SEND_SMS, SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE 동시 요청
  • 행위 패턴: 설치 직후 백그라운드로 다른 APK를 다운로드·설치 시도

9. 대응 및 차단 권장사항

  • 서버/네트워크 차단: IOC 기반 도메인·IP 차단, 비표준 포트 차단.
  • 앱 스토어 관리: 앱 심사 강화, 서명 검증, SDK·서드파티 라이브러리 검사.
  • 엔드포인트 보안: MDM 설루션으로 설치 정책/권한 정책 강제화, 기업 기기 루팅/탈옥 차단.
  • 유저 교육: 출처 불분명 앱 설치 금지, 의심 링크 미클릭, 권한 최소화 원칙.

10. 법적·윤리적 고려사항

악성코드 샘플 분석은 법적 규제(저작권, 개인정보 보호, 악성코드 확산 금지)에 저촉될 수 있음. 분석은 항상 격리된 환경에서 수행하고, 타인 시스템에 무단 접근·전파 금지. 발견된 위협은 관련 기관(KISA, CERT, 경찰 등)과 공유하는 것이 권장됨.

결론

모바일 악성코드 분석은 정적·동적·메모리·네트워크 분석을 결합한 다층적 접근이 필요합니다. 트로이목마·스파이웨어·랜섬웨어 등 유형별 특징을 이해하고, 샌드박스·후킹·메모리 덤프 등 실무 도구를 조합해 추적하면 효과적으로 악성 행위를 식별하고 차단할 수 있습니다. 마지막으로 항상 격리된 환경에서 분석하고 법적·윤리적 규정을 준수하세요.