Burp Suite · 2026-04-24

Burp Suite로 민감정보(PII) 유출 자동 탐지 설정

Burp Suite를 이용해 개인정보(PII) 유출을 자동으로 탐지하는 설정과 전략을 초보자 관점에서 정리한 기술적 설명과 실행 세부 절차

작성일 : 2026-04-24 ㆍ 작성자 : 관리자
post
목차

개요

웹 애플리케이션 보안평가에서 민감정보(PII) 유출 탐지는 중요한 과제다. 수동 검사만으로는 시간과 정확도 측면에서 한계가 있다. 따라서 Burp Suite의 자동화 기능을 활용해 반복 검사를 간소화하고, 발견된 샘플을 체계적으로 분류하는 흐름이 필요하다. 본문은 Burp PII 탐지 자동화, 민감정보 유출 Burp, Burp 개인정보 검사 같은 키워드를 고려해 실무 적용 관점에서 설명한다.

사전 준비

자동 탐지의 전제는 테스트 범위와 민감정보 정의의 명확화다. 어떤 데이터가 PII인지, 어떤 경로(응답 바디, 헤더, 쿠키, 로그 등)를 검사할지 결정한다. 또한 Burp Pro 라이선스, Extender 사용 권한, 필요 확장(BApp) 목록을 준비한다.

필수 확장과 도구

  • Logger++: 트래픽 로그 저장 및 필터링
  • Active Scanner와 사용자 정의 스캐너 설정
  • Burp Extender (Jython 또는 Java)로 맞춤 검사 추가
  • 외부 스크립트 연동을 위한 Burp Collaborator 또는 API

자동화 전략

효율적인 자동화는 탐지 규칙, 스캔 정책, 로그 수집 및 후처리 파이프라인 세 부분으로 구성된다. 각 부분은 다음 원칙을 따른다: 단순한 규칙부터 적용해 오탐을 줄이고, 점진적으로 규칙을 확장한다. 탐지 결과는 분류·우선순위화해 수동 검토의 부담을 낮춘다.

1) 정규 표현식 기반의 탐지 규칙

초기 규칙은 이메일, 전화번호, 주민번호 또는 카드번호 패턴 같은 정규표현식을 사용한다. 단순 일치 규칙은 속도가 빠르고 구현이 쉽다. 아래 예시는 일반적인 PII 패턴 샘플이다.

email: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
phone: (?:\+\d{1,3}[ -]?)?(?:\(\d{2,3}\)|\d{2,3})[ -]?\d{3,4}[ -]?\d{4}
ssn-like: \b\d{3}-\d{2}-\d{4}\b
card-like: \b(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14})\b

정규표현식은 과도한 탐지를 유발할 수 있으므로 콘텍스트 필터(예: JSON 키 이름, HTML input name)와 함께 사용하면 정확도가 높아진다.

2) 스캐너 정책과 사용자 검사 통합

Burp의 Active Scanner에 사용자 정의 검사(Check)를 추가해 응답 바디와 헤더를 자동 필터링한다. 검사에서 매칭된 항목은 리스크 레벨, 신뢰도, 코드 스니펫과 함께 리포트에 포함된다. 작은 규칙 세트를 먼저 적용하고, 점진적으로 패턴을 늘리는 방식이 권장된다.

3) 로그 수집 및 외부 후처리

Logger++로 수집한 트래픽을 정기적으로 내보내 외부 스크립트(예: Python)로 후처리한다. 후처리 단계에서는 중복 제거, 컨텍스트 기반 재검증, 민감도 점수 산정 등을 수행한다. 아래는 간단한 워크플로우 예시다.

  • Logger++에서 JSON으로 로그 추출
  • 정규표현식 기반 PII 매칭 수행
  • 컨텍스트(파라미터 이름, Content-Type)로 오탐 필터링
  • 우선순위별 결과를 CSV/DB로 저장

4) Burp Extender를 이용한 맞춤 검사

복잡한 검사는 Extender로 구현하면 유연성이 높아진다. 예를 들어 Jython으로 응답을 파싱해 JSON 경로를 검사하고, 이상 징후를 점수화해 리포트에 전달할 수 있다. 다음은 확장 모듈의 기본 구조 예시다.

from burp import IBurpExtender, IScannerCheck

class BurpExtender(IBurpExtender, IScannerCheck):
    def registerExtenderCallbacks(self, callbacks):
        self._callbacks = callbacks
        self._helpers = callbacks.getHelpers()
        callbacks.setExtensionName("PII Detector")
        callbacks.registerScannerCheck(self)

    def doPassiveScan(self, baseRequestResponse):
        # 응답 파싱 및 정규표현식 매칭 로직 삽입
        return None

실제 코드는 환경에 맞춰 정교하게 작성해야 한다. 특히 성능과 메모리 사용량을 고려해 스트리밍 방식으로 파싱하는 것이 안정적이다.

결과 검토와 운영 적용

자동화된 탐지 결과는 보안팀과 협업해 검증 프로세스를 거친다. 단순 패턴 일치는 높은 오탐률을 유발할 수 있으므로, 발견 항목마다 컨텍스트 점검과 재현 절차가 필요하다. 운영 단계에서는 정기 스캔 스케줄, 알림 조건, 리포트 템플릿을 설정해 릴리즈 파이프라인에 통합한다.

마무리

Burp PII 탐지 자동화는 규칙 기반 검사, 스캐너 정책, Extender 스크립트, 로그 후처리의 조합으로 실효성을 높일 수 있다. 초기에는 단순 규칙으로 시작해 점차 복잡도를 높이는 방식이 현실적이다. 지속적인 규칙 튜닝과 결과 검토가 병행될 때 민감정보 유출 Burp 검사 체계가 안정적으로 운영된다.

Burp PII 탐지 자동화 민감정보 유출 Burp Burp 개인정보 검사 Burp Suite PII 탐지 Burp Extender 정규표현식 PII 로그 후처리