꿈을꾸는 파랑새

지난 시간에 구글 크롬 버전 78에서 DNS over HTTPS (DoH) 실험 진행 중이라는 글을 적었습니다. 개인 정보 보호 및 보안 강화를 위해 DNS over HTTPS (DoH) 를 지원하기 시작을 했고 Google Chrome 80부터는 기본적으로 사용 중지되어 있지만 숨겨진 플래그를 사용하여 사용하도록 설정할 수 있습니다. HTTPS를 통한 DNS를 지원하는 DNS 서버를 사용하도록 구성하지 않으면 Chrome은 실제로 DoH를 사용하지 않으며 해당 기능을 활용하려면 DNS 서버를 변경해야 할 수도 있습니다. 예를 들어서 Google Public DNS, Cloudflare,Comcast’s DNS 등이 있습니다. DNS이라는 것은 일종의 지도라고 생각을 하시면 됩니다. 다만, 해당 DNS를 변조해서 공격자가 사용자를 공격하는 방법의 하나가 바로 DNS Spoofing입니다. DNS Spoofing이라는 것은 해킹 방법의 하나로서 DNS 서버로 보내는 질문을 가로채서 변조된 결과를 보내주는 것으로 일종의 중간자 공격입니다.
공격 방법은 간단합니다.
공격자는 네트워크에 공격용 웹서버를 열어두고 대기하고 있습니다.
네트워크에 DNS 서버로 보내지는 패킷이 있는지 확인합니다.
목적지가 자신이 아닌 패킷은 읽지 않고 버려야 하지만 설정을 변경해서 모든 패킷을 읽어오게 진행이 됩니다.
DNS 서버로 보내지는 패킷이 있다면 그것을 보낸 PC에게 자신이 원하는 변조된 IP를 전송을 진행합니다.
공격자가 DNS 서버보다 물리적으로 가까이 있으므로 공격자가 보낸 패킷이 DNS 서버가 보낸 정상적인 패킷보다 먼저 도착하며 컴퓨터는 먼저 받은 답변이 DNS의 것으로 생각하고 있기 때문에 나중에 온 정상적인 패킷은 버려지게 되고 변조된 IP로 접속하게 되는 방식입니다.
쉽게 이야기하면 네이버에 접속해야 하는데 해당 공격을 받는 피해자 컴퓨터는 정상적으로 www.naver.coX을 입력했는데 공격자의 웹서버로 접속되는 방식입니다. 간단하게 이야기하면 컴퓨터 범죄 중 하나가 바로 파밍 입니다. DHCP 서버를 위조하는 기법은
대부분의 컴퓨터 나 스마트폰 등은 DHCP를 이용하여 자동으로 IP를 할당받게 돼 있는데 IP를 할당받을 때 자동으로 DNS 서버의 IP도 할당받게 되어 있습니다. 그런데 해커가 사살 DHCP 서버를 열어 두고 위조된 DNS 서버 정보를 주는 방법입니다. 피해자의 모든 트래픽은 해커의 컴퓨터를 거쳐서 지나가게 되게 있으므로 지나가는 패킷을 확인해서 암호를 비롯한 개인정보를 훔쳐볼 수 있게 되는 방식입니다.
해당 방법을 사용하는 방법은 그 유명한 유해 사이트를 차단하여 warning.or.kX 로 보내버리는 방식입니다. 그리고 최근에 SNI 검열이 이루어져서 개인적으로 해당 관련해서 안드로이드 스마트폰, 파이어폭스, 스마트폰에서 해당 기능을 사용하는 방법에 대해 글을 적었습니다. 가장 최근에 나온 SNI 검열은 HTTPS 통신을 하기 전에 DNS가 도메인 해결책은 암호화되지 않고 도청에 접근하는 호스트 이름을 파악하는 가짜 응답을 반환하는 등의 가능성이 있습니다. 이런 방법을 악용하는 방법은 막으려고 나온 것이 DNS over HTTPS, DNS over TLS 입니다.

[소프트웨어 팁] - 구글 크롬 버전 78에서 DNS over HTTPS (DoH) 실험 진행중


구글 크롬 DNS over HTTPS (DoH) 활성화구글 크롬 DNS over HTTPS (DoH) 활성화

DNS over HTTPS 이라는 것은 지금까지 DNS 서버 대부분 UDP 포트 53번에 수행된 DNS 이름 확인을 TCP 포트 443에 대한 HTTPS (HTTP /2 over TLS) 통신에서 수행 프로토콜이며 그리고 RFC8484 로 표준화되었으며 클라이언트 (stub 해결)에서 요청하는 경우 GET 메서드 또는 POST 메서드를 사용합니다. 그리고 DNS over TLS는 DNS over TLS는 853번이 MUST이며 이런 연결하려는 도메인이 도청 가능해진다고 하는 문제에 대한 해결책이 TLS1.3 확장으로 제안되고 있는 Encrypted SNI 이며 server_name을 보낼 때 서버에서 공개 키를 DNS를 검색하고 암호화한 다음 서버로 전송하며 보통 DNS를 사용하면 원점으로 돌아가게 하며 DNS over HTTPS 또는 DNS over TLS를 사용합니다. 얼마달전에 Google은 Chrome 78에서 회사의 DNS over HTTPS (DoH) 구현 테스트 계획을 공개했고 HTTPS를 통한 DNS는 HTTPS를 사용하여 DNS 요청의 보안 및 개인 정보 보호를 위한 것이며 현재 안정적인 Chrome 버전은 2019년 9월 10일에 배포된 Chrome 77부터 입니다. 구글은 DoH가 다른 WiFi 사용자가 방문한 웹 사이트를 볼 수 없도록 하며 DoH를 사용하면 스푸핑 또는 파밍과 같은 일반적인 공격을 방지할 수 있습니다.
일단 사용방법은 간단합니다. 먼저 구글 크롬을 실행을 하고 나서 주소부분에 chrome://flags/#dns-over-https를 입력을 해줍니다.그리고 나서 보면 Secure DNS lookups를 찾습니다.해당 부분을 보면 다음과 같이 되어져 있을것입니다.
Secure DNS lookups
Enables DNS over HTTPS. When this feature is enabled, your browser may try to use a secure HTTPS connection to look up the addresses of websites and other web resources. – Mac, Windows, Chrome OS, Android(Mac, Windows, Chrome OS, Android(HTTPS over DNS를 활성화합니다. 해당 기능을 사용하면 브라우저에서 보안 HTTPS 연결을 사용하여 웹 사이트 및 기타 웹 리소스의 주소를 검색할 수 있습니다. – Mac, Windows, Chrome OS, Android ))
#dns-over-https
이라고 적혀져 있는 것을 볼 수가 있습니다. 여기서 지원이 되는 것은 Mac, Windows, Chrome OS, Android 즉 Mac,윈도우,크롬 OS, 안드로이드에게서도 사용할 수 있습니다. 컴퓨터 또는 안드로이드 스마트폰을 사용하고 계시는 분들은 해당 부분을 적용해서 사용하면 인터넷 검색을 할 때에는 별도의 앱 설치 없이 DNS over HTTPS (DoH)을 사용을 해서 개인정보를 보호를 받을 수가 있으며 더욱 강화하고 싶은 경우에는 VPN을 사용하시길 바랍니다. 그리고 DNS over HTTPS는 기본적으로 곧 표준이 되고 있으며 Google은 3월 중순에 Chrome 81에서 기본적으로 DoH를 사용하도록 설정을 할 계획입니다.

그리드형

공유하기

facebook twitter kakaoTalk kakaostory naver band