DNS 유출이란 무엇인가?
DNS란 무엇인가?
DNS는 “도메인 이름 시스템”(Domain Name System)의 약자로, 호스트 이름과 IP 주소 간의 변환 서비스를 제공하는 분산형 데이터베이스입니다. 인터넷에서 모든 컴퓨터는 각자 고유한 IP 주소를 가지고 있으며, 이는 모든 사람이 고유한 신분증 번호를 가지고 있는 것과 같습니다. 그러나 IP 주소는 192.168.1.1과 같은 숫자 문자열로 구성되어 있어 사람이 기억하기 쉽지 않습니다. 따라서 이러한 숫자를 더 기억하기 쉬운 이름으로 변환하는 방법이 필요하며, 이것이 바로 DNS의 주요 기능입니다.
예를 들어, 브라우저에 www.google.com을 입력하면 컴퓨터는 먼저 DNS 서버에 요청을 보내 이 웹사이트에 해당하는 IP 주소가 무엇인지 묻습니다. DNS 서버는 www.google.com의 IP 주소가 64.233.170.113이라고 응답합니다. 그런 다음 컴퓨터는 이 IP 주소로 요청을 보내 웹페이지 콘텐츠를 가져옵니다. 간단히 말해, DNS 서버는 인터넷의 “전화번호부”와 같아서 각 웹사이트의 “전화번호”(즉 IP 주소)를 찾도록 도와줍니다.
IP를 변경할 때 DNS는 어떻게 작동하나요?
VPN 또는 프록시 서버를 사용할 때, 이론적으로 모든 인터넷 트래픽——DNS 요청(즉, 방문하려는 웹사이트 이름)을 포함하여——은 VPN 또는 프록시 서버를 통해 전송되어야 합니다. 이 과정은 일반적으로 다음 네 단계로 이루어집니다.
1.컴퓨터가 VPN 또는 프록시 서버에 google.com에 접속하고 싶다고 알립니다.
2.VPN 또는 프록시 서버가 자체 DNS 서버에 요청을 보냅니다: Google 서버의 IP 주소를 알려줘.
3.DNS 서버가 Google 서버의 IP 주소를 반환합니다.
4.VPN 또는 프록시 서버가 반환된 IP 주소를 기반으로 Google에 접속합니다.
싱가포르에 있는 사용자가 미국 IP 주소를 가진 VPN 또는 프록시 서버를 사용하여 특정 웹사이트에 접속한다고 가정해 보겠습니다. VPN 또는 소프트웨어가 올바르게 구성되어 있다면, 검사 결과는 DNS 서버의 IP 주소 역시 미국에 위치해야 하며 VPN 또는 프록시 서버의 IP 지역과 일치해야 합니다. DNS 서버가 미국이 아니라 예를 들어 캐나다나 다른 지역에 있더라도 걱정할 필요는 없습니다——적어도 사용자의 실제 위치(싱가포르)는 유출되지 않았기 때문입니다.
“DNS 유출”이란 무엇인가?
인터넷 트래픽이 VPN 또는 프록시 서버를 통해 전송되더라도, 기기는 VPN 또는 프록시 서비스가 제공하는 DNS 서버가 아니라 인터넷 서비스 제공업체(ISP)의 DNS 서버를 계속 사용할 수 있습니다. 그 결과, 사용자의 IP 주소와 DNS 요청(즉, 방문하는 웹사이트 이름)이 ISP에 노출될 수 있습니다. 이것이 이른바 “DNS 유출”입니다.
예를 들어, 싱가포르 사용자가 미국 프록시 IP를 사용해 Google에 접속하지만, VPN 또는 소프트웨어 설정 오류로 인해 기기가 싱가포르 현지 DNS 서버에 Google의 IP 주소를 요청한다고 가정해 보겠습니다. 이때 사용자의 ISP는 사용자가 Google에 접속하고 있다는 사실을 알게 됩니다. 사용자가 DNS 유출 여부를 확인하면, DNS 서버의 IP 지역이 사용자의 실제 IP 지역과 일치하는 것(둘 다 싱가포르)을 발견하게 되며, 이는 DNS 유출이 발생했다는 의미입니다!
DNS 유출의 위험
DNS 유출이 발생하면 DNS 요청은 VPN의 DNS 서버가 아니라 ISP의 DNS 서버로 전송됩니다. 이는 다음을 의미합니다.
실제 위치 노출: ISP가 사용자의 IP 주소를 파악할 수 있어 실제 지리적 위치가 노출됩니다.
개인정보 유출: ISP는 사용자가 방문한 웹사이트를 기록하고, 이러한 정보를 맞춤형 광고에 활용하거나 제3자에게 판매할 수 있습니다.
보안 위험 증가: 일부 악성 소프트웨어나 사이버 공격은 DNS 설정을 변조하여 DNS 요청이 안전하지 않은 DNS 서버로 전송되도록 만들 수 있습니다. 안전하지 않은 DNS 서버는 사용자의 요청을 악성 웹사이트로 리디렉션할 수 있으며, 이러한 수법을 DNS 하이재킹이라고 합니다. 예를 들어, 은행 웹사이트에 접속하려고 했지만 가짜 은행 웹사이트로 리디렉션될 수 있습니다. 이 가짜 사이트는 실제 은행 사이트와 똑같아 보일 수 있지만, 실제로는 사이버 범죄자가 사용자 이름과 비밀번호를 훔치기 위해 만든 것입니다.
DNS 유출을 예방하는 방법
신뢰할 수 있는 VPN/프록시 서비스 사용
일부 VPN 또는 프록시 서비스 제공업체는 DNS 유출을 방지하는 기능을 제공합니다. 이러한 VPN 또는 프록시는 모든 DNS 요청이 ISP 서버가 아니라 자체 서버를 통해 전송되도록 보장합니다. VPN 또는 프록시 서비스를 선택할 때는 DNS 유출 보호 기능을 제공하는지 확인해야 합니다.
안전한 공용 DNS 서버 사용
기기의 네트워크 설정에서 DNS 서버를 Google 공용 DNS(8.8.8.8 및 8.8.4.4) 또는 Cloudflare DNS(1.1.1.1)와 같은 안전한 공용 DNS 서버로 수동 변경할 수 있습니다. 이렇게 하면 VPN 연결이 끊기더라도 DNS 요청이 ISP 서버로 전송되지 않습니다.
DNS 유출 검사 도구 사용
VPN 또는 프록시 서버를 사용해 웹사이트에 접속하기 전에 DNS 유출 검사 도구를 사용하여 DNS 유출이 있는지 확인할 수 있습니다. 정기적으로 검사하는 것은 개인정보 보호와 보안을 보장하는 좋은 습관입니다.
요약:DNS 유출은 VPN 또는 프록시 사용 시 흔히 발생하는 보안 취약점으로, 실제 IP 노출과 개인정보 유출을 초래할 수 있습니다. 신뢰할 수 있는 VPN 서비스를 선택하고, 안전한 공용 DNS 서버를 구성하며, 정기적으로 유출 검사를 수행함으로써 이러한 위험을 효과적으로 예방하고 네트워크 보안과 개인정보를 보호할 수 있습니다.
