Burp Suite 대규모 사이트 스캔 전략과 성능 관리
대형 서비스의 취약점 탐지와 스캔 안정성을 확보하기 위한 Burp Suite의 스캔 설계, 성능 튜닝, 리소스 관리 방법론
목차
개요
대규모 사이트를 Burp Suite로 스캔할 때는 단순히 스캔 버튼을 누르는 것만으로는 부족하다. 대상의 범위, 동시성, 크롤링 깊이, 리소스 한계가 복합적으로 작용한다. 이 글에서는 Burp 대규모 사이트 스캔을 안전하고 효율적으로 운영하기 위한 전략과 Burp 스캔 성능 관리 핵심 포인트를 단계별로 설명한다.
사전 준비와 범위 정의
스캔 범위와 시간 계획
먼저 대상 범위를 명확히 정의한다. 서비스 경로, 서브도메인, API 엔드포인트를 목록화한다. 자동 크롤링으로 모든 엔드포인트를 탐지할 수 없으므로 수동으로 핵심 경로를 포함시킨다. 스캔 시간은 운영 시간대 영향을 고려해 비업무시간을 우선으로 계획한다.
허가와 영향도 평가
대형 서비스는 트래픽에 민감하다. 사전 허가 및 영향도 평가를 문서로 남긴다. 부하 테스트와 스캔은 분리하고, 모니터링 팀과 연계해 이상 징후를 빠르게 차단할 수 있는 연락 루트를 확보한다.
스캔 설계
스캔 유형 분리
대상에 따라 크롤러 중심 스캔과 액티브 취약점 스캔을 분리한다. 먼저 수집(스파이더, 크롤링, API 스펙 추출)을 통해 엔드포인트 목록을 확보한 뒤, 취약점 탐지 작업을 병렬로 적용한다. 이렇게 하면 불필요한 중복 요청을 줄일 수 있다.
우선순위 기반 스캔
모든 URL을 동등하게 취급하면 리소스가 분산된다. 중요 자산(인증 흐름, 결제, 관리자 패널 등)에 우선순위를 부여해 먼저 검사한다. 이후 낮은 우선순위 자산을 순차적으로 확장한다.
성능 관리 핵심 항목
동시성 조정
동시 요청 수와 스레드 수는 스캔 성능에 직접 영향을 준다. 초기에는 낮은 동시성으로 시작해 서버 반응과 에러율을 관찰하며 단계적으로 올린다. 갑작스러운 동시성 증가는 서비스 장애로 이어질 수 있다.
요청 속도와 페이싱
페이싱 설정으로 초당 요청 수를 제한한다. Burp의 스케줄러와 인터셉터 설정을 활용해 요청 간 간격을 확보하면 서버 부하를 줄일 수 있다.
JVM과 메모리 튜닝
Burp는 Java 기반이다. 대규모 스캔 시 JVM 메모리 제한으로 GC가 빈번하게 발생하면 스캔이 지연된다. JVM 옵션을 상황에 맞게 조정한다.
-Xms2g
-Xmx6g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
메모리 값을 너무 크게 설정하면 OS 스왑을 유발할 수 있다. 항상 시스템 메모리 여유를 고려한다.
크롤링 효율화
중복 제거와 URL 규칙
파라미터 변동으로 인해 같은 콘텐츠가 다수 생성될 수 있다. 중복 URL 필터링 규칙을 적용해 동일 경로의 반복 요청을 줄인다. 쿼리 스트링 화이트리스트와 블랙리스트를 함께 사용하면 효율적이다.
API 스펙 활용
OpenAPI/Swagger가 있다면 이를 기반으로 엔드포인트를 수집한다. 자동 크롤러로 누락되는 API를 보완해 스캔 범위를 정확히 확보한다.
분산 스캔과 자동화
에이전트 분산
대형 서비스는 단일 인스턴스로 감당하기 어렵다. 여러 Burp 인스턴스를 분산 배치해 대상 그룹을 나눈다. 분산 시에는 프로젝트 설정과 스캔 정책을 동일하게 유지해야 결과 비교가 가능하다.
스케줄링과 재시도 정책
정기 스캔은 트래픽 패턴을 고려해 시간대별로 스케줄한다. 일시적 오류는 재시도 정책으로 보완하되, 실패율이 높으면 원인 분석을 우선한다.
모니터링과 로그
실시간 모니터링
스캔 중 서버 응답 코드, 지연, 에러율을 실시간으로 모니터링한다. 이상 징후 발생 시 즉시 동시성 축소 또는 스캔 중단을 수행한다.
로그 관리
스캔 로그는 용량이 크다. 로그 수집 정책을 세워 중요 이벤트만 보존하고, 원시 요청은 압축 보관한다. 필요 시 로그 샘플을 통해 재현 테스트를 수행한다.
확장성·안정성 체크리스트
- 스캔 전 대상의 백업 및 트래픽 모니터링 준비
- 스캔 최소 권한 계정 사용
- 크롤링 중 인증 토큰 갱신 로직 확인
- 스캔 정책과 탐지 규칙의 버전 관리
- 스캔 결과 자동화된 분류 및 티켓 연동
실무 적용 예시
예를 들어 인증이 필요한 대형 서비스는 다음 순서로 진행한다.
- 인증 토큰 확보 및 세션 유지 방식 문서화
- 스파이더로 인증 경로와 세션 관련 엔드포인트만 우선 크롤링
- 우선순위 높은 엔드포인트부터 동시성 낮게 취약점 스캔
- 성능 안정화 후 낮은 우선순위 병행
# 스캔 정책 예시(의사표현)
scan_policy:
concurrent_requests: 10
request_rate: 5_per_second
retry_on_5xx: 2
max_scan_time: 8h
결론
대규모 사이트 스캔은 기술적 설계와 운영 정책의 조화가 핵심이다. Burp 스캔 성능 관리는 동시성, 크롤링 전략, JVM 튜닝, 분산 실행, 모니터링으로 구성된다. 단계적 적용과 작은 변경 후 관찰을 반복하면 안정성과 탐지 효율을 동시에 끌어올릴 수 있다.