피드로 돌아가기
Dev.toSecurity
원문 읽기
Silent Failure 해결을 통한 Subdomain Enumeration 신뢰도 확보
5 ways subdomain enumeration breaks (and how to handle each)
AI 요약
Context
기존 Subdomain Enumeration 도구들이 CT Log 의존성과 Wildcard DNS 처리 미흡으로 인해 부정확한 결과나 빈 배열을 반환하는 문제 발생. 단순 결과 리턴 방식은 시스템의 부분적 실패를 은폐하여 데이터의 완전성 판단을 불가능하게 만드는 한계점 존재.
Technical Solution
- Parallel Query 및 Error Propagation: 다수 CT Log 소스를 Asyncio로 병렬 호출하고, 개별 실패 소스를 warnings 필드에 명시하여 결과의 완전성을 호출자가 판단하도록 설계
- Conditional DNS Bruteforce Fallback: CT Log 결과가 임계치 이하일 때만 실행하는 조건부 전략을 채택하여 탐색 누락분(10~30%)을 보완하고 리소스 낭비 방지
- Wildcard DNS Detection Probe: 무작위 Nonce 도메인 resolve 여부를 사전 확인하여 Wildcard 설정 시 Bruteforce 과정을 스킵함으로써 False Positive 제거
- Traffic Control 및 Resilience: Exponential Backoff with Jitter 적용 및 Semaphore 기반 Bounded Parallelism 구현으로 429/503 Rate Limit 대응
- IDN Normalization Pipeline: 모든 도메인 처리 최상단에 Punycode 변환 로직을 배치하여 국제화 도메인 처리 시 발생하는 Silent Failure 원천 차단
실천 포인트
1. 외부 API 연동 시 200 OK 외의 응답을 '결과 없음'으로 처리하지 않고 명확한 에러 상태로 구분했는가?
2. 대량 쿼리 시 Semaphore나 Worker Pool을 통해 Upstream 서버의 Rate Limit을 고려한 동시성 제어를 적용했는가?
3. DNS Bruteforce 도입 전 Wildcard DNS 여부를 검증하는 Probe 로직이 포함되었는가?
4. 입력값 전처리 단계에서 IDN/Punycode 변환과 같은 표준화 과정이 강제되었는가?