SAD DNS : DNS 캐시에서 가짜 데이터를 대체하는 공격

의 그룹 Tsinghua University와 University of California at Riverside의 연구원들이 새로운 유형의 공격을 개발했습니다. 해적 DNS 서버 캐시에서 잘못된 데이터를 대체 할 수 있습니다. 임의 도메인의 IP 주소를 스푸핑하고 도메인에 대한 호출을 공격자의 서버로 리디렉션하는 데 사용할 수 있습니다.

공격은 DNS 서버에 대한 추가 보호를 우회합니다. Dan Kaminsky가 2008 년에 제안한 고전적인 DNS 캐시 중독 방법을 차단합니다.

Kaminsky 방법 DNS 쿼리 ID 필드의 무시할 수있는 크기를 조작합니다. 16 비트에 불과합니다. 호스트 이름을 스푸핑하는 데 필요한 올바른 식별자를 찾으려면 약 7.000 개의 요청을 보내고 약 140.000 개의 가짜 응답을 시뮬레이션하면됩니다.

공격은 가짜 IP 바운드 패킷을 대량으로 보내는 것으로 귀결됩니다. 다른 DNS 트랜잭션 ID를 사용하여 DNS 해석기에 전송합니다. 첫 번째 응답이 캐시되는 것을 방지하기 위해 약간 수정 된 도메인 이름이 각 가짜 응답에 지정됩니다.

이러한 유형의 공격으로부터 보호하려면, DNS 서버 제조업체 네트워크 포트 번호의 무작위 배포 구현 확인 요청이 전송 된 소스로, 불충분하게 큰 식별자 크기를 보상했습니다 (가상 응답을 전송하려면 16 비트 식별자를 선택하는 것 외에도 64 천 개의 포트 중 하나를 선택해야했으며, 이로 인해 포트 수가 증가했습니다. 2 ^ 32에 대한 선택 옵션).

공격 SAD DNS는 포트 식별을 극적으로 단순화합니다. 네트워크 포트에서 필터링 된 활동을 활용합니다. 문제는 모든 운영 체제에서 나타납니다. (Linux, Windows, macOS 및 FreeBSD) 및 다른 DNS 서버 (BIND, Unbound, dnsmasq)를 사용하는 경우.

모든 오픈 솔버의 34 %가 ​​공격을 받았다고합니다. 뿐만 아니라 12 (Google), 14 (Quad8.8.8.8), 9.9.9.9 (CloudFlare)을 포함하여 테스트 된 상위 9 개 DNS 서비스 중 1.1.1.1 개와 평판이 좋은 공급 업체에서 테스트 한 라우터 4 개 중 6 개를 포함합니다.

문제는 ICMP 응답 패킷 형성의 특성 때문입니다. 해적 활성 네트워크 포트에 대한 액세스를 결정할 수 있습니다. UDP를 통해 사용되지 않습니다. 이 기능을 사용하면 개방형 UDP 포트를 매우 빠르게 스캔하고 소스 네트워크 포트의 무작위 선택을 기반으로 효과적으로 보호를 우회하여 무차별 대입 옵션의 수를 2 ^ 16 대신 2 ^ 16 + 2 ^ 32으로 줄일 수 있습니다.

문제의 원인은 배송 강도를 제한하는 메커니즘입니다. 예측 가능한 카운터 값을 사용하는 네트워크 스택의 ICMP 패킷 수로, 순방향 조절이 시작됩니다. 이 카운터는 모든 트래픽에 공통입니다., 공격자의 가짜 트래픽과 실제 트래픽을 포함합니다. 기본적으로, Linux에서 ICMP 응답은 초당 1000 패킷으로 제한됩니다. 닫힌 네트워크 포트에 도달하는 각 요청에 대해 네트워크 스택은 카운터를 1 씩 증가시키고 연결할 수없는 포트의 데이터와 함께 ICMP 패킷을 보냅니다.

따라서 1000 개의 패킷을 다른 네트워크 포트로 보내면 모두 닫히면 서버가 ICMP 응답 전송을 제한합니다. 1000 초 동안 공격자는 검색된 XNUMX 개의 포트 중 열린 포트가 없는지 확인할 수 있습니다. 패킷이 열린 포트로 전송되면 서버는 ICMP 응답을 반환하지 않습니다. 카운터 값은 변경되지 않습니다. 즉, 1000 개의 패킷이 전송 된 후 응답 속도 제한에 도달하지 않습니다.

가짜 패킷은 가짜 IP에서 수행되기 때문에 공격자는 ICMP 응답을받을 수 없지만 총 카운터 덕분에 1000 개의 가짜 패킷이 나올 때마다 실제 IP에서 존재하지 않는 포트로 요청을 보내고 평가할 수 있습니다. 대답의 도착; 답이 나오면 1000 개의 패키지 중 하나입니다. 공격자는 매초마다 1000 개의 가짜 패킷을 다른 포트로 보내고 열린 포트가 어느 블록에 있는지 신속하게 확인한 다음 선택 범위를 좁히고 특정 포트를 결정할 수 있습니다.

Linux 커널은 매개 변수를 무작위 화하는 패치로 문제를 해결합니다. ICMP 패킷 전송 강도를 제한하여 노이즈를 발생시키고 사이드 채널을 통한 데이터 유출을 최소화합니다.

출처 : https://www.saddns.net/


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.