반응형
NXDomain(Non-Existent Domain)
NXDomain은 "Non-Existent Domain"의 약자로, 요청된 도메인이 존재하지 않는다는 DNS 응답을 의미합니다. 사용자가 잘못된 도메인을 입력했을 때 DNS 서버는 NXDomain 응답을 보내게 됩니다.
NXDomain과 관련된 공격으로는 NXDomain Flooding Attack과 Subdomain Scanning Attack이 있습니다.
NXDomain Flooding Attack과 Subdomain Scanning Attack은 NXDomain을 이용한 DNS 공격이지만 그 목적에 차이가 존재합니다.
NXDomain Flooding Attack
NXDomain Flooding Attack은 대량의 NXDomain 요청을 통해 DNS 서버의 자원을 고갈시키는 공격입니다. 이 공격은 주로 DNS 서버의 성능을 저하시켜 정상적인 DNS 쿼리에 대한 처리를 방해하는 것을 목적으로 합니다.
공격방법
- 공격자는 무작위로 생성된 존재하지 않는 도메인 이름에 대한 대량의 DNS 쿼리를 생성합니다.
- DNS 서버는 이러한 모든 쿼리에 대해 NXDomain 응답을 생성해야 하므로, 이에 대한 다량의 자원이 소모됩니다.
- 결과적으로 DNS 서버는 과부하 상태가 되어 정상적인 쿼리에 대한 응답이 지연되거나 실패하게 됩니다.
특징
- 단순히 DNS서버의 자원을 소모시켜 서비스 거부 상태를 만들고자 하는 의도를 가지기 때문에 요청에 대한 응답을 받을 필요가 없습니다.
- 이에 따라 공격자는 대량의 트래픽을 발생시키기 위해 위/변조된 IP 및 봇넷을 사용한 대규모 공격을 수행하게 됩니다.
대응방법
- NXDomain에 대한 쿼리 제한 설정을 통해 대규모 공격을 방지합니다.
- DNS 방화벽을 통해 의심스러운 트래픽을 필터링합니다.
- DNS 서버의 캐시 정책을 최적화하여 자원 사용을 최소화합니다.
- 위와같은 방법은 상황에 따라 제한적일 수 있습니다. NXDomain Flooding 공격 또한 대규모 트래픽이 발생할 경우 DDoS 공격의 일종이며, 위와 같이 한정된 자원을 통한 설정은 한계가 존재합니다.
- 따라서, 근본적인 해결책은 DDoS 공격을 방어하는 것과 동일하며, 수용 가능한 자원량을 늘리고, 공격에 대비한 실시간 모니터링이 더 철저하게 이루어져야 합니다.
Subdomain Scanning Attack
Subdomain Scanning Attack은 공격자가 특정 도메인에 속한 모든 서브도메인을 찾기 위해 수행하는 공격입니다. 이는 서브도메인 정보를 수집하여 잠재적인 취약점을 찾거나, 내부 구조를 파악하여 후속 공격을 준비하는 데 사용될 수 있습니다.
공격방법
- 서브도메인 사전 사용
- 공격자는 일반적으로 사용되는 서브도메인 목록을 포함하는 사전을 사용하여 대상 도메인에 대해 서브도메인 존재 여부를 확인합니다.
- 예를 들어, "admin.example.com", "mail.example.com", "test.example.com" 등의 서브도메인에 대해 쿼리를 보냅니다.
- Brute Force Attack
- 무작위로 생성된 서브도메인 이름에 대해 DNS 쿼리를 보내는 방법입니다. 이는 대량의 쿼리를 생성하여 가능한 모든 서브도메인을 찾는 방식입니다.
- DNS Zone Transfer
- 공격자는 DNS 서버의 잘못된 설정을 이용하여 DNS 존 파일을 전송받을 수 있습니다. 이를 통해 모든 서브도메인 목록을 얻을 수 있습니다.
- OSINT (Open Source Intelligence)
- 공개된 정보를 통해 서브도메인을 찾는 방법입니다. 예를 들어, SSL 인증서, 웹 애플리케이션 로그, 소셜 미디어 등을 통해 서브도메인 정보를 수집할 수 있습니다.
특징
- 도메인 구조를 탐색하고 취약한 서브 도메인을 찾기 위한 정보 수집 활동이다. 그렇기에 DNS 서버로부터의 응답값을 획득하여야 한다.
- 결국, Subdomain Scanning 공격은 위/변조된 IP를 사용할 수 없으며, 정상 DNS서버의 IP가 주로 식별된다.
대응방법
- DNS 서버 보안 강화:
- DNS Zone Transfer를 비활성화하거나 인증된 사용자만 사용할 수 있도록 설정합니다.
- 웹 애플리케이션 방화벽(WAF) 사용:
- 서브도메인 스캐닝 시도를 탐지하고 차단할 수 있는 WAF를 사용합니다.
- 서브도메인 설정 모니터링:
- 정기적으로 서브도메인 설정을 검토하고 불필요한 서브도메인을 삭제하거나 비활성화합니다.
- 레이트 리미팅:
- 특정 IP 주소에서 발생하는 대량의 DNS 쿼리를 제한하여 Brute Force 공격을 방지합니다.
- 정보 노출 최소화:
- 최소 권한 원칙을 준수하여 서브도메인 관련 정보를 외부에 노출하지 않도록 합니다. SSL 인증서 정보나 애플리케이션 로그에 민감한 정보가 포함되지 않도록 주의합니다.
반응형
'보안' 카테고리의 다른 글
ASP.NET 웹쉘(Webshell) 코드 분석 (2) | 2025.01.29 |
---|