Burp Suite를 이용한 모바일 API 보안 체크리스트
Burp Suite를 활용해 모바일 API 취약점을 체계적으로 검증하기 위한 단계별 체크리스트와 설정, 요청 조작, 인증·암호화 점검 등 실무 중심 점검 항목 모음
목차
개요
모바일 애플리케이션은 백엔드 API와 밀접하게 연동된다. 따라서 API의 보안 취약점은 곧 앱 전체의 보안 위험으로 이어진다. 이 문서는 Burp Suite를 중심으로 모바일 API를 검증할 때 유용한 체크리스트를 단계별로 정리했다. 처음 접하는 사람도 이해하기 쉽도록 기본 설정부터 분석·검증·보고까지 흐름을 따라 구성했다.
테스트 전 준비사항
환경 구성
- Burp Suite 설치(Community 또는 Professional)
- 테스트용 모바일 디바이스 또는 에뮬레이터(안드로이드/아이폰)
- 네트워크 프록시 설정이 가능한 환경(와이파이 공유기, 컴퓨터의 프록시 포워딩)
- 루팅/탈옥 필요 여부 확인(일부 깊은 분석에서 유용)
인증서 설정
모바일 기기에서 Burp의 CA 인증서를 신뢰하도록 설정한다. 안드로이드의 경우 시스템 신뢰 저장소에 추가하거나 앱 레벨에서 우회가 가능한지 확인한다. iOS는 프로파일 설치와 신뢰 설정이 필요하다. HTTPS 트래픽을 수집하지 못하면 많은 검증이 불가능하다.
프록시 연결 및 트래픽 수집
프록시 연결 방법
- Burp의 Proxy 리스닝 포트 확인
- 모바일 기기에서 해당 IP와 포트로 HTTP 프록시 설정
- 앱을 실행하고 Burp에서 트래픽 수집 여부 확인
수집 시 유의점
앱에 소켓,웹소켓,또는 자체 암호화가 있으면 트래픽이 보이지 않을 수 있다. 이 경우 동적 분석 도구(Frida 등)와 병행하거나 앱의 네트워크 라이브러리를 확인한다. Burp 모바일 API 테스트 관점에서는 다양한 요청 패턴을 수집하는 것이 중요하다.
인증·세션 관리 점검
인증과 세션 관리는 API 보안에서 가장 빈번한 취약점 발생 지점이다. 다음 항목을 확인한다.
- 토큰의 수명과 갱신 로직: 짧은 수명과 재사용 방지 여부
- 토큰 노출 경로: 로컬 저장소, 로그, URL 파라미터에 저장되는지
- 세션 고정(Session fixation) 방지 여부
- 로그아웃 시 토큰 무효화 확인
인풋 검증 및 권한 검증
모바일 API는 다양한 파라미터를 받는다. 서버에서의 유효성 검증과 권한 체크가 제대로 구현돼 있는지 확인해야 한다.
- 서버 측 입력 검증 존재 여부(타입, 길이, 포맷)
- IDOR(무단 액세스) 점검: 다른 유저 데이터에 접근 가능한지 확인
- 권한 분리 확인: 관리자 기능 접근 제어
암호화 및 민감정보 보호
민감한 데이터 전송과 저장은 적절한 암호화·해싱이 필요하다. API 통신에서 확인해야 할 항목은 다음과 같다.
- HTTPS 강제 적용 및 TLS 설정(취약한 프로토콜/암호화 스위트 사용 여부)
- 민감정보(비밀번호, 토큰 등)의 평문 저장 여부
- 암호화 키와 시크릿의 배포 방식(클라이언트 내 하드코딩 여부)
요청 변조 및 재현
Burp의 핵심 기능을 활용해 다양한 변조 및 재현 테스트를 수행한다. 자동화 도구와 수동 검증을 병행하면 효과적이다.
- 요청 재전송(Repeater)으로 파라미터 변조
- Intruder로 브루트포스나 패턴 기반 공격 시나리오 실행
- Sequencer로 세션 토큰의 예측 가능성 분석
요청 재현 예시 (curl)
curl -i -X POST https://api.example.com/login \
-H "Content-Type: application/json" \
-d '{"username":"test","password":"pass"}'
비정상적 입력 및 에러 처리
서버가 내부 정보를 에러 메시지로 노출하는지 확인한다. 에러 핸들링이 부적절하면 정보 유출로 이어진다.
- 의도적인 잘못된 입력으로 스택 트레이스나 DB 에러 노출 여부 확인
- HTTP 상태 코드 일관성 확인(권한 오류는 401/403 등으로 명확히)
성능 및 DoS 대응
과도한 요청을 통해 서비스 거부 상태로 이어지는지 점검한다. API별 요청 제한, 레이트 리미팅, 비용이 큰 연산의 보호 여부를 확인한다.
모바일 특이사항
- 오프라인 동기화 로직의 보안: 충돌 처리 시 민감정보 노출 여부
- 다중 네트워크(셀룰러/와이파이) 환경에서의 차별 적용 여부
- 앱 업데이트 전·후 API 변경으로 인한 취약점 발생 가능성
자동화 스캔과 수동 분석의 병행
자동 스캐너로 기본 취약점을 선별한 뒤, Burp의 수동 도구로 심층 분석한다. 자동화 결과는 거짓 양성·음성 가능성이 있으므로 직접 확인이 필요하다.
보고서와 후속 조치
발견된 취약점은 재현 방법, 영향 범위, 우선순위와 권장 수정안과 함께 문서화한다. 개발팀과 협업해 재발 방지와 패치 확인 절차를 마련한다. Burp API 모바일 검증 결과는 로그와 캡처를 포함해 증거자료로 남긴다.
체크리스트 요약
- 프록시 및 인증서 설정 확인
- 토큰·세션 관리 점검
- 입력 검증 및 권한 체크
- 암호화와 민감정보 보호 확인
- 요청 변조 및 에러 응답 분석
- 성능·DoS 방어 검토
- 자동화 결과의 수동 검증
- 발견 항목의 문서화 및 재검증
마무리
Burp 모바일 API 테스트는 도구 숙련도와 테스트 설계가 결과의 품질을 좌우한다. 이 체크리스트는 검증 흐름을 따라 실무에서 놓치기 쉬운 부분을 점검하도록 구성했다. 실제 환경에서는 애플리케이션 구조와 사용 시나리오에 맞춰 항목을 조정하길 권장한다.