Cryptology Academy · 강의

DNS 보안: DoH와 DoT

DNS가 개인정보 보호의 취약점인 이유와 DNS-over-HTTPS 및 DNS-over-TLS가 질의를 보호하는 방식을 학습합니다.

레슨 4/413개 단계

DNS 보안: DoH와 DoT은(는) CoddyKit의 무료 Cryptology Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cryptology Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

DNS Queries Travel in Plaintext

DNS는 사람이 읽을 수 있는 도메인 이름을 IP 주소로 변환합니다. 표준 DNS 쿼리는 53번 포트에서 UDP를 사용하며, 완전히 암호화되지 않은 채 전송됩니다. 여러분의 기기가 조회하는 모든 도메인 이름은 라우터, ISP, 그리고 네트워크 경로를 모니터링할 수 있는 모든 사람에게 노출됩니다. 이는 방문하는 모든 웹사이트가 HTTPS를 사용하더라도 여러분의 웹 활동이 노출된다는 것을 의미합니다.

ISPs Log All DNS Queries

인터넷 서비스 제공업체(ISP)는 네트워크 모니터링의 일환이자 많은 국가의 데이터 보관법 준수를 위해 모든 고객의 DNS 쿼리를 상시 로깅합니다. 이 로그는 방문한 모든 웹사이트, 각 방문 시간, 접속 빈도에 대한 상세한 기록이 됩니다. ISP들은 이 데이터를 광고주에게 판매하기도 했고, 오직 DNS 로그만을 바탕으로 가입자의 브라우징 기록을 요구하는 정부의 요청에 응하기도 했습니다.

DNS Hijacking Attacks

DNS 트래픽을 가로채거나 리디렉션할 수 있는 공격자는 응답을 조작하여 사용자들을 악성 서버로 유도할 수 있습니다. DNS 하이재킹은 라우터 수준(라우터 침해 시), 공격자가 제어하는 DNS 리졸버 주소를 제공하는 불량 DHCP 서버를 이용하거나, 또는 ISP 수준의 리디렉션을 통해 발생할 수 있습니다. 합법적인 도메인 이름을 입력한 사용자들은 리디렉션되었다는 어떠한 표시도 없이 조용히 피싱 사이트로 유도될 수 있습니다.

Rogue DHCP DNS Injection

기기가 네트워크에 연결될 때 DHCP를 통해 설정을 요청하며, DHCP는 IP 주소, 게이트웨이, DNS 서버를 제공합니다. 로컬 네트워크 상에서 악성 DHCP 서버를 운영하는 공격자는 정식 서버보다 빠르게 응답하여 자신의 DNS 서버 주소를 제공할 수 있습니다. 피해자의 모든 후속 DNS 쿼리는 공격자의 리졸버로 전송되며, 이를 통해 세션 전반에 걸쳐 쿼리 감시 및 응답 조작이 가능해집니다.

DNS Cache Poisoning: The Kaminsky Attack

2008년, 보안 연구원 댄 카민스키(Dan Kaminsky)는 DNS의 치명적인 취약점을 공개했습니다. 공격자는 무작위 트랜잭션 ID를 가진 위조된 DNS 응답을 수천 개 보내어, 리졸버가 정상적인 응답을 받기 전에 캐시를 통계적으로 오염시킬 수 있습니다. 이를 생일 공격(birthday-attack) 방식의 캐시 포이닝이라고 합니다. 오염된 캐시는 해당 리졸버를 사용하는 모든 사용자를 포이닝된 도메인의 공격자 제어 IP 주소로 리다이렉트합니다.

DNSSEC: Cryptographic DNS Authentication

DNSSEC (DNS 보안 확장)은 DNS 레코드에 암호화 서명을 추가하여 캐시 포이즈닝 및 응답 위조 문제를 해결합니다. 각 DNS 존은 개인 키로 자신의 레코드에 서명하며, 리졸버는 DNSKEY 레코드에 게시된 해당 공개 키를 사용하여 서명을 검증합니다. 위조되거나 변조된 응답은 서명 검증에 실패하여 거부됩니다. DNSSEC은 DNS 루트 존부터 개별 도메인 레코드까지 이어지는 신뢰 체인을 생성합니다.

DNS-over-TLS: Encrypting Queries

DNS-over-TLS (DoT)는 853번 포트의 표준 TLS 연결 내부에 DNS 쿼리를 래핑합니다. 리졸버와 클라이언트는 DNS 쿼리가 전송되기 전에 TLS 핸드셰이크를 수행하여 쿼리(도메인 이름 포함)와 응답 모두를 암호화합니다. DoT는 ISP와 네트워크 관찰자들의 수동 감시를 방지합니다. 전용 포트(853)를 사용하는 것은 방화벽이 이를 식별할 수 있게 하며, 일부 네트워크는 이를 이용해 DoT를 차단하기도 합니다.

DNS-over-HTTPS: Blending with Web Traffic

DNS-over-HTTPS (DoH)는 DNS 쿼리를 모든 웹 트래픽에 사용되는 443번 포트의 HTTPS 요청으로 인코딩합니다. DoH 트래픽은 일반 HTTPS 트래픽과 구별할 수 없기 때문에, 모든 HTTPS 트래픽을 함께 차단하지 않고서는 방화벽에서 쉽게 차단할 수 없습니다. DoH는 Firefox, Chrome 및 Windows 11에서 기본으로 지원되며, Cloudflare (1.1.1.1) 및 Google (8.8.8.8)과 같은 제공업체들이 DoH 엔드포인트를 제공하고 있습니다.

Privacy Benefits of Encrypted DNS

DoH 또는 DoT를 사용하면 사용자 장치와 DNS 리졸버 사이에서 DNS 쿼리가 전송 중에 암호화됩니다. 사용자의 ISP는 사용자가 쿼리하는 개별 도메인 이름을 읽거나 기록할 수 없습니다. 악성 DHCP 공격은 정상적인 리졸버가 하드코딩되어 있기 때문에 사용자의 트래픽을 읽는 리졸버를 주입할 수 없습니다. 네트워크 공격자는 수동적인 도청을 통해 DNS 하이재킹을 수행할 수 없습니다. 하지만 DNS 리졸버 자체는 여전히 사용자의 모든 쿼리를 볼 수 있습니다.

ISP Resistance to DoH and Standardisation Debate

통신사들은 의무적인 DoH 배포에 반대하는 로비 활동을 펼쳐왔는데, 이는 DNS 가시성이 통신사에서 소수의 대형 기술 기업 리졸버로 옮겨가기 때문입니다. 영국 통신사들은 DoH가 자녀 보호 필터링을 방해할 것이라고 의회에 주장했습니다. 네트워크 관리자들은 중앙 집중식 DoH가 기업 DNS 정책과 스플릿 호라이즌 DNS 구성을 무력화한다고 주장합니다. IETF는 RFC 8484에서 DoH를 표준화했지만, 배포 정책에 대해서는 여전히 이견이 많습니다.

DNSSEC Deployment Challenges

DNSSEC는 도메인 소유자가 자신의 존(zone)에 서명하고 리졸버가 유효성 검증을 수행해야 합니다. 키 롤오버(서비스 중단 없이 서명 키를 변경하는 것)는 복잡하며 주요 TLD에서 서비스 중단을 야기했습니다. 잘못 구성된 DNSSEC는 도메인을 완전히 접근 불가능하게 만들 수 있습니다. .com 및 .net TLD는 DNSSEC를 지원하지만, 개별 도메인 중 소수만이 서명되어 있습니다. DNSSEC는 쿼리를 암호화하지 않습니다. DoH와 DoT만이 쿼리 프라이버시를 제공합니다.

DNS-over-HTTPS

제한적인 방화벽이 비표준 포트를 차단하는 환경에서 DoH가 DoT보다 선호되는 이유는 무엇일까요?

DNS Security: Key Takeaways

UDP 53번 포트를 사용하는 표준 DNS는 암호화되지 않으며 ISP에 의해 기록됩니다. DNS 하이재킹 및 카민스키 캐시 포이즈닝 공격은 이러한 취약점을 악용합니다. DNSSEC는 응답 위변조를 방지하기 위해 암호화 서명을 추가하지만 쿼리를 암호화하지는 않습니다. 853번 포트의 DoT와 443번 포트의 DoH는 전송 중인 DNS 쿼리를 암호화합니다. DoT보다 DoH가 차단하기 더 어렵습니다. 암호화된 DNS는 신뢰의 대상을 ISP에서 리졸버 운영자로 옮기지만 신뢰 요구 사항을 완전히 없애지는 않습니다.

무료로 시작

AI 튜터와 함께 Cryptology Academy을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
67
레슨
261

자주 묻는 질문

“DNS 보안: DoH와 DoT” 강의는 무료인가요?

네 — “DNS 보안: DoH와 DoT” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cryptology Academy 강의 전체를 잠금 해제할 수 있습니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“DNS 보안: DoH와 DoT”에서 뭘 배우나요?

DNS가 개인정보 보호의 취약점인 이유와 DNS-over-HTTPS 및 DNS-over-TLS가 질의를 보호하는 방식을 학습합니다. 브라우저에서 직접 실행하는 실습 코드로 Cryptology Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cryptology Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cryptology Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“DNS 보안: DoH와 DoT” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cryptology Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cryptology Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 평문 프로토콜: 공격자가 보는 것
  2. 패킷 캡처 작동 방식
  3. 암호화된 트래픽 분석
  4. DNS 보안: DoH와 DoT
← Cryptology Academy(으)로 돌아가기