앱 위변조(리패키징) 공격이란?
앱 위변조(리패키징)는 정상 앱을 추출해 코드를 수정하거나 악성 기능을 삽입한 뒤 재서명하여 재배포하는 공격을 말한다.
특히 개방형 생태계(안드로이드)와 비공식 시장을 통해 유통될 경우 피해가 크며,
금융·결제·인증 관련 앱에서는 치명적인 결과를 초래할 수 있다.
1. 개념과 공격 흐름
- 앱 추출: APK/APKS(안드로이드)나 IPA(iOS 탈옥 환경)에서 앱 패키지를 추출한다.
- 역공학(리버스 엔지니어링): 디컴파일 도구를 사용해 코드·리소스를 분석해 핵심 로직(인증, 키 처리 등)을 파악한다.
- 변조(삽입/수정): 보안 체크 우회 코드, 백도어, 정보 수집 로직(키 입력 가로채기 등)을 삽입하거나 검증 로직을 제거한다.
- 재빌드·재서명: 패키지를 다시 빌드하고 서명한 뒤 배포한다.
- 배포 및 실행: 비공식 마켓, 피싱 링크, 사이드로딩 등을 통해 사용자 단말에 설치되면 공격이 완료된다.
2. 주요 기법
- 리소스 변경: 문자열·이미지·설정 파일 등을 변경해 UI/동작을 조작한다.
- 함수 패치/후킹 삽입: 인증 검증 함수 비활성화 또는 결과 조작.
- API 콜 가로채기: 네트워크 호출을 변조해 악성 서버로 데이터 전송.
- 서명 우회: 서명 검증 로직 제거로 위변조 앱이 실행되도록 함.
- 빌드 타임 변조: 빌드 스크립트나 라이브러리 삽입으로 악성 행위를 자동화.
3. 탐지·방어 기술
- 무결성 검증(Integrity Check)
- 앱 시작 시 패키지 해시 확인, 서명 검증, 코드 섹션 무결성 검사 수행
- Local 검증(앱 내부)과 Server-side attestation(서버에서 앱 상태 확인)을 병행 권장
- 런타임 행위 탐지
- 비정상적인 함수 호출, 후킹 툴(Frida 등) 존재 여부, 의심스러운 네트워크 패턴을 모니터링
- 코드 난독화 & 안티 리버스 기법
- 문자열 암호화, 제어흐름 플래튼 등으로 리버스 난이도 상승
- 서명 및 배포 통제
- 배포 채널 제어(공식 스토어 권장), 앱 서명 검증 강제, 업데이트 검증 적용
- 무결성 증명(Attestation)
- Secure Enclave, TEE 등의 하드웨어 기반 루트에 의한 증명 방식 적용 시 탐지 신뢰도 상승
4. 사례와 영향
- 금융앱 위변조: 로그인 흐름 우회·인증 토큰 가로채기로 불법 이체·계좌 탈취 가능
- 결제앱 변조: 결제 모듈 조작으로 결제정보 유출 또는 가로채기
- 인증 모듈 제거: 다단계 인증 우회로 계정 탈취 용이
- 브랜드·법적 리스크: 대규모 피해 시 사용자 신뢰 상실, 규제·벌금, 서비스 중단으로 이어질 수 있음
정리
앱 위변조는 단순한 코드 변경이 아니라 서비스 신뢰와 자산을 위협하는 심각한 보안 사고로 이어질 수 있다.
효과적인 방어는 난독화·무결성 검증·런타임 탐지·서버 측 증명·운영 모니터링의 결합으로 실현된다.
'Mobile Security' 카테고리의 다른 글
[Mobile Security] 루팅·탈옥의 개념과 보안 위험 (0) | 2025.09.28 |
---|---|
[Mobile Security] Android와 iOS 보안 구조 비교 (0) | 2025.09.24 |
[Mobile Security] 금융·공공기관 모바일 보안의 중요성 (0) | 2025.09.15 |
[Mobile Security] 모바일 보안이란? 주요 기능/위협/솔루션 정리 (1) | 2025.09.08 |