[include(틀:회원수정)] * 법적인 부분은 [[크래킹]] 참조. [목차] '''DNS Spoofing''' == 개요 == [[해킹]]의 하위 분류 중 하나. [[DNS|DNS 서버]]로 보내는 질문을 가로채서 변조된 결과를 보내주는 것으로 일종의 [[중간자 공격]]이다. == 방법 == === DNS 요청에 위조된 패킷을 보내주는 기법 === 1. 공격자는 네트워크에 공격용 웹서버를 열어두고 대기하고 있는다. 1. 네트워크에 DNS 서버로 보내지는 패킷이 있는지 확인한다. * 목적지가 자신이 아닌 패킷은 읽지 않고 버려야 하지만 설정을 변경해서 모든 패킷을 읽어오게 한다. 1. DNS 서버로 보내지는 패킷이 있다면, 그것을 보낸 PC에게 자신이 원하는 변조된 IP를 전송한다. * 보통은 공격자가 DNS 서버보다 물리적으로 가까이 있으므로 공격자가 보낸 패킷이 DNS 서버가 보낸 정상적인 패킷보다 먼저 도착한다. * PC는 먼저 받은 답변이 DNS의 것이라고 믿고 있기 때문에 나중에 온 정상적인 패킷은 버려진다.[* 일반적으로 [[UDP]]라는 프로토콜을 사용하는데, 이 UDP는 패킷이 전송되는 속도를 가속화하기 위해 일방적 통신, 즉 보내기는 하지만 수신에 대한 피드백은 하지 않는 통신을 한다. (이를 [[TCP]]와 비교해 비연결형 프로토콜이라고도 한다.) 또, 특정 패킷에 대해서는 처음 도착한 패킷만을 신뢰하고 그 이후에 도착하는 패킷이 있을 경우 그냥 버리기 때문에, 이러한 허점들이 공격에 이용된다.] 1. PC는 변조된 IP로 접속을 하게 된다. [[네이버]]에 접속한다고 가정한다면, 피해자는 정상적으로 www.naver.com을 입력했는데 공격자의 웹서버로 접속이 되는 것이다. 만약 이 사이트가 겉보기로는 네이버와 유사한 사이트이고, [[피싱|사용자가 여기에서 로그인을 시도한다면?]][* 이러한 이유 때문에 네이버에서는 사용자가 로그인을 시도할 때, 로그인 페이지의 주소 창에서 꼭 자물쇠 표시를 확인할 것을 당부한다.] === DHCP 서버를 위조하는 기법 === 대부분의 PC나 스마트폰 등은 [[DHCP]]를 이용하여 자동으로 IP 를 할당받는다. 그리고, IP 를 할당 받을때 자동으로 [[DNS]] 서버의 IP 도 할당 받게 되어 있다. 그런데, 해커가 사설 DHCP 서버를 열어 두고, 위조된 DNS 서버 정보를 주는 방법이다. 그 이후는 위와 동일하다. 사실 DHCP 서버를 위조할 수 있을 경우, 게이트웨이 IP 를 해커의 컴퓨터로 지정하게 만드는 방법이 더 널리 사용된다. 그럴 경우, 피해자의 모든 트래픽은 해커의 컴퓨터를 거쳐서 지나가게 되므로, 지나가는 패킷을 확인해서 암호를 비롯한 개인정보를 훔쳐볼 수 있게 된다. === 여담 === 2017년에 실시된 고3 2018학년도 6월 평가원 모의고사에 비문학으로 스푸핑 개념이 출제되었는데[[http://m.dcinside.com/board/baseball_new7/13086541|#]], 기술 지문에 약한 수험생들이 생각보다 매우 많이 어려워하였다. 확정 1등급 컷이(상위 4% 커트라인) 89점으로 DNS 스푸핑 지문 문제가 학생들의 점수 하락에 큰 영향을 준 듯하다. 정부의 [[유해 사이트]] 차단은 https에는 적용되지 않았지만, 언젠가부터 DNS 스푸핑을 이용한 차단을 적용하고 있다. 이거, 국가가 합법적으로 하는 사실상 해킹이라는 소리다(...) DNS 질의에 사용되는 특정 포트를 감시하고 있는 것으로 판단하는 [[https://twitter.com/lidless_eye/status/457913805272395778?s=21|의견]]도 있다. ~~이 문서에 온 사람들의 목적~~ 사이트를 우회하고 싶다면 구글 [[DNS]]나 [[클라우드플레어]] DNS를 사용하자. 만약 안 되면 DNS over HTTPS를 사용해야 한다.[* [[https://www.clien.net/service/board/park/12077762|클라우드플레어 DNS로도 우회가 불가능]]하여, [[https://www.clien.net/service/board/park/12077876|DNS over HTTPS 로 성공]]한 사례 및 [[https://www.clien.net/service/board/lecture/12080677|깔끔하게 우회할 방법]]이 있다.] == 기타 == * [[유해 사이트]]를 차단하여 [[warning.or.kr]] 으로 보내기 위해서 사용하는 기본 동작과 사실상 같다. 다만 이는 DNS 서버만 구글 서버(8.8.8.8) 등으로 바꿔주기만 해도 무력화된다. * [[2019년 인터넷 검열 논란]] 에서 적용된 [[SNI]] 를 이용한 차단방법도, 본질적으로 비슷한 방법이다. 다만, 이는 Encrypted SNI 가 정식으로 사용되면 무력화된다. [[분류:해킹/기법]]