Skip to main content
QUICK REVIEW

[논문 리뷰] Security of Patched DNS

Amir Herzberg, Haya Shulman|arXiv (Cornell University)|2012. 05. 23.
Internet Traffic Analysis and Secure E-voting참고 문헌 19인용 수 12
한 줄 요약

이 논문은 캐시 타격 공격으로부터 DNS 레졸버를 보호하기 위해 널리 사용되는 암호화되지 않은 '패치'의 보안성을 분석하며, 소스 포트 랜덤화, IP 주소 랜덤화, 그리고 0x20 인코딩과 랜덤 프리픽스를 통한 쿼리 랜덤화가 NAT 동작, 레졸버의 특수성, 쿼리 길이 조작을 통해 해외 공격자에 의해 모두 우회될 수 있음을 입증한다. 주요 기여는 이러한 널리 배포된 방어 조치가 본질적으로 취약하다는 것을 보여주며, DNSSEC 도입의 필요성을 재확인한다.

ABSTRACT

In spite of the availability of DNSSEC, which protects against cache poisoning even by MitM attackers, many caching DNS resolvers still rely for their security against poisoning on merely validating that DNS responses contain some 'unpredictable' values, copied from the re- quest. These values include the 16 bit identifier field, and other fields, randomised and validated by different 'patches' to DNS. We investigate the prominent patches, and show how attackers can circumvent all of them, namely: - We show how attackers can circumvent source port randomisation, in the (common) case where the resolver connects to the Internet via different NAT devices. - We show how attackers can circumvent IP address randomisation, using some (standard-conforming) resolvers. - We show how attackers can circumvent query randomisation, including both randomisation by prepending a random nonce and case randomisation (0x20 encoding). We present countermeasures preventing our attacks; however, we believe that our attacks provide additional motivation for adoption of DNSSEC (or other MitM-secure defenses).

연구 동기 및 목표

  • DNS 캐시 타격 공격에 대비해 널리 배포된 암호화되지 않은 방어 조치(패치)의 보안 효과성을 분석하기 위해.
  • 소스 포트 랜덤화, IP 주소 랜덤화, 0x20 인코딩 및 랜덤 프리픽스를 통한 쿼리 랜덤화와 같은 주요 패치를 우회하는 실질적인 공격을 식별하고 시연하기 위해.
  • Unbound 및 Google Public DNS와 같은 표준 DNS 레졸버와 실제 NAT 장치에서 이러한 공격을 검증하기 위해.
  • 현재의 패치 기반 방어 조치의 본질적 한계와 취약성을 입증함으로써 DNSSEC 보급을 촉진하기 위해.

제안 방법

  • NAT 게이트웨이의 동작을 분석하여, DNS 쿼리에서 사용되는 소스 포트를 폭 드러내거나 예측할 수 있음을 보여주기 위해.
  • 표준 준수 레졸버(예: Unbound)를 악용하여 결정론적 이름 서버 선택을 유도함으로써 IP 주소 랜덤화를 무력화하기 위해.
  • 숫자만을 사용하여 최대 길이의 DNS 쿼리(최대 255 바이트)를 구성함으로써 랜덤 프리픽스 추가를 방지하고 0x20 인코딩 비활성화를 위해.
  • 0x20 인코딩 기법이 상위 도메인(예: .com)을 대상으로 하는 공격에는 실질적인 보호 기능을 거의 제공하지 않음을 입증하기 위해.
  • Google Public DNS 및 일반적인 NAT 장치를 포함한 실제 시스템에서 공격을 검증하여 실용적 타당성을 확인하기 위해.
  • 각 공격 벡터를 해결하는 대응 조치를 제안하지만, 이러한 수정이 일시적인 조치임을 강조하기 위해.

실험 결과

연구 질문

  • RQ1NAT 장치가 관여할 경우, 공격자가 DNS 레졸버의 소스 포트 랜덤화를 우회할 수 있는가?
  • RQ2표준 준수 DNS 레졸버를 조작하여 IP 주소 랜덤화를 무력화할 수 있는가?
  • RQ30x20 인코딩 또는 랜덤 프리픽스 삽입이 해외 공격자에 대비해 실제로 얼마나 강력한 보안을 제공하는가?
  • RQ4왜 현재의 암호화되지 않은 패치는 널리 배포되어 있음에도 불구하고 강력한 보안을 제공하지 못하는가?
  • RQ5실제 NAT 장치와 레졸버는 어떻게 상호작용하여 DNS 패치가 제공하는 엔트로피를 약화시키는가?

주요 결과

  • NAT 게이트웨이가 DNS 쿼리에서 사용하는 소스 포트를 폭 드러내거나 예측할 수 있어, 일반적인 배포 환경에서 포트 랜덤화가 무력화된다.
  • 표준 준수 레졸버(예: Unbound)는 일관되게 단일이고 예측 가능한 이름 서버를 쿼리하도록 유도될 수 있어, IP 주소 랜덤화가 무효화된다.
  • 공격자는 숫자만을 사용하여 최대 길이의 DNS 쿼리를 구성함으로써 랜덤 프리픽스 추가를 방지하고 0x20 인코딩을 비활성화함으로써 두 방어 조치를 모두 우회할 수 있다.
  • 0x20 인코딩 기법은 카민스키 스타일 공격의 주요 대상인 상위 도메인(예: .com)을 대상으로 하는 공격에는 거의 보호 기능을 제공하지 않으며, 실질적인 효과가 없다.
  • 이러한 공격의 조합을 통해 해외 공격자는 DNS 요청에서 모든 엔트로피를 체계적으로 제거할 수 있으며, 이는 효율적인 캐시 타격 공격을 가능하게 한다.
  • 저자들은 공격을 Google Public DNS 및 일반적인 NAT 장치에서 검증하여 공격의 실용적 타당성을 확인했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.