웹 응답 하나에 주민등록번호가 10건 이상 포함되어 전달된 경우를 실시간으로 탐지합니다.
Overview
| Priority | High |
|---|---|
| Type | Stream |
| Log schema | attack |
| Message | 개인정보 대량 노출 탐지: $host$uri — $pi_count건 ($src_ip) |
| Output field order | _log_time, src_ip, host, uri, action, pi_count, line |
| MITRE Techniques | T1213 |
| MITRE tactics | TA0009 Collection |
| Origin | User proposal |
Query
WAPPLES 수집 모델에 대해 아래 쿼리를 적용하여 실시간 탐지를 수행합니다. WAPPLES 개인정보 유출 차단 기능(Privacy Output Filtering)이 응답에서 개인정보를 탐지한 경보의 reason 필드에서 주민등록번호 건수를 추출하여 10건 이상인 경우 탐지합니다. 같은 화면을 반복 조회하는 경우 경보가 중복되지 않도록 URI($uri) 기준으로 1시간 동안 티켓을 억제합니다. 개인정보 필터는 기본 탐지(DETECT) 모드로 운영되는 경우가 많아 응답이 그대로 사용자에게 전달되었을 가능성이 높으므로 action 필드를 함께 확인합니다.
Target logger models
- WAPPLES syslog
Threat analysis
웹 애플리케이션이 주민등록번호를 마스킹 없이 대량으로 응답한다면, 정상 업무 화면이라도 계정 탈취나 내부자에 의해 단시간에 대량의 개인정보가 수집될 수 있습니다. 소수의 대량 조회 응답이 전체 노출량의 대부분을 차지하는 경향이 있어 대량 응답에 집중하는 것이 효과적입니다. 개인정보보호법상 주민등록번호는 암호화·마스킹 등 안전조치 의무 대상이므로, 대량 평문 노출은 사고 발생 시 과징금 등 법적 책임으로 이어질 수 있습니다.
False positives
인사·급여·4대보험 신고 등 주민등록번호가 반드시 필요한 업무 화면에서 권한 있는 담당자가 조회한 경우에도 탐지됩니다. 정당한 업무 여부는 로그만으로 판단하기 어려우므로, 업무 경로와 담당자 대역을 확인한 뒤 해당 경로는 개별 알림 대신 주기적 보고서로 관리하는 것을 검토합니다. 숫자 13자리 패턴이 주민등록번호로 오인되는 경우(주문번호, 일련번호 등)가 있으므로 반복 탐지되는 URI의 실제 응답 내용을 확인하여 예외 처리합니다. 임계치(응답당 주민등록번호 10건)는 기본값이므로 서비스 특성에 맞게 조정합니다.
Response actions
탐지된 URI가 어떤 업무 화면인지 확인하고, 조회한 출발지가 권한 있는 담당자인지 검증합니다. 업무상 필요한 화면이라면 화면 표시 시 마스킹하고 실제 값은 별도 권한으로만 조회하도록 애플리케이션 개선을 권고합니다. 엑셀 다운로드 경로는 파일 반출 통제를 별도로 적용합니다. 업무 영향이 확인되면 WAPPLES 개인정보 필터를 차단 모드로 전환하는 것을 검토합니다.