헤르미온느/ [733803] · MS 2017 · 쪽지

2019-04-04 13:23:01
조회수 10,707

[국어 칼럼]DNS 스푸핑 지문으로 보는 기출분석법/지문읽는법

게시글 주소: https://image.orbi.kr/00022191203

 안녕하세요 헤르미온느 입니다.


 오늘은 2018학년도 6월 DNS 스푸핑 지문으로 찾아왔습니다.


 지문 먼저 보시겠습니다.


 

 DNS(도메인 네임 시스템) 스푸핑은 인터넷 사용자가 어떤 사이트에 접속하려 할 때 사용자를 위조 사이트로 접속시키는 행위를 말한다. 이는 도메인 네임을 IP 주소로 변환해 주는 과정에서 이루어진다.

 인터넷에 연결된 컴퓨터들이 서로를 식별하고 통신하기 위해서 각 컴퓨터들은 IP(인터넷 프로토콜)에 따라 만들어지는 고유 IP 주소를 가져야 한다. 프로토콜은 컴퓨터들이 연결되어 서로 데이터를 주고받기 위해 사용하는 통신 규약으로 소프트웨어나 하드웨어로 구현된다. 현재 주로 사용하는 IP 주소는 '***.126.63.1'처럼 점으로 구분된 4개의 필드에 숫자를 사용하여 나타낸다. 이 주소를 중복 지정하거나 임의로 지정해서는 안 되고 공인 IP 주소를 부여받아야 한다.

 공인 IP 주소에는 동일한 번호를 지속적으로 사용하는 고정 IP주소와 번호가 변경되기도 하는 유동 IP 주소가 있다. 유동 IP 주소는 DHCP라는 프로토콜에 의해 부여된다. DHCP는 IP 주소가 필요한 컴퓨터의 요청을 받아 주소를 할당해 주고, 컴퓨터가 IP 주소를 사용하지 않으면 주소를 반환받아 다른 컴퓨터가 그 주소를 사용할 수 있도록 해 준다. 한편, 인터넷에 직접 접속은 안 되고 내부 네트워크에서만 서로를 식별할 수 있는 사설 IP 주소도 있다.

 인터넷은 공인 IP 주소를 기반으로 동작하지만 우리가 인터넷을 사용할 때는 IP 주소 대신 사용하기 쉽게 'www.***.***' 등과 같이 문자로 이루어진 도메인 네임을 사용한다. 따라서 도메인 네임을 IP 주소로 변환해 주는 DNS가 필요하며 DNS를 운영하는 장치를 네임서버라고 한다. 컴퓨터에는 네임서버의 IP 주소가 기록되어 있어야 하는데, 유동 IP 주소를 할당받는 컴퓨터에는 IP 주소를 받을 때 네임서버의 IP 주소가 자동으로 기록되지민, 고정 IP 주소를 사용하는 컴퓨터에는 사용자가 네임서버의 IP 주소를 직접 기록해 놓아야 한다. 인터넷 통신사는 가입자들이 공동으로 사용할 수 있는 네임서버를 운영하고 있다. 

 사용자가 어떤 사이트에 정사억으로 접속하는 과정을 살펴보자. 웹 사이트에 접속하려고 하는 컴퓨터를 클라이언트라 한다. 사용자가 방문하고자 하는 사이트의 도메인 네임을 주소창에 직접 입력하거나 포털 사이트에서 그 사이트를 검색해 클릭하면 클라이언트는 기록되어 있는 네임서버에 도메인 네임에 해당하는 IP주소를 물어보는 질의 패킷을 보낸다. 네임서버는 해당 IP 주소가 자신의 목록에 있으면 클라이언트에 이 IP 주소를 알려 주는 응답 패킷을 보낸다. 응답 패킷에는 어느 질의 패킷에 대한 응답인지가 적혀 있다. 만일 해당 IP 주소가 목록에 없으면 네임서버는 다른 네임서버의 IP 주소를 알려 주는 응답 패킷을 보내고, 클라이언트는 다시 그 네임서버에 질의 패킷을 보내는 단계로 돌아가 같은 과정을 반복한다. 클라이언트는 이렇게 알아낸 IP 주소로 사이트를 찾아간다. 네임서버와 클라이언트는 UDP라는 프로토콜에 맞추어 패킷을 주고받는다. UDP는 패킷의 빠른 전송 속도를 확보하기 위해 상대에게 패킷을 보내기만 할 뿐 도착 여부는 확인하지 않으며, 특정 질의 패킷에 대해 처음 도착한 응답 패킷을 신뢰하고 다음에 도착한 패킷은 확인하지 않고 버린다. DNS 스푸핑은 UDP의 이런 허점을 이용한다.

 DNS 스푸핑이 이루어지는 과정을 알아보자. 악성 코드에 감염되어 DNS 스푸핑을 행하는 컴퓨터를 공격자라 한다. 클라이언트가 네임서버에 특정 IP 주소를 묻는 질의 패킷을 보낼 떄, 공격자에도 패킷이 전달되고 공격자는 위조 사이트의 IP 주소가 적힌 응답 패킷을 클라이언트에 보낸다. 공격자가 보낸 응답 패킷이 네임서버가 보낸 응답 패킷보다 클라이언트에 먼저 도착하고 클라이언트는 공격자가 보낸 응답 패킷을 옳은 패킷으로 인식하여 위조 사이트로 연결된다.



 이 지문에서 얻을 수 있는 교훈은 크게  가지 입니다.


 

 1. 3점짜리 보기 문제는 결국 필자가 말하고자 하는 주제에서 나온다.


 31번 문제는 '어떤 사이트에 정상적으로 접속하는 과정' 과 'DNS 스푸핑이 이루어지는 과정' 을 비교하는 문제였습니다. 5,6 문단에 해당하는 내용을 써먹어야 하는 문제인데요. 이 지문의 큰 틀에서 본다면 5,6 문단은 사실 비교적 쉽게 읽어나갈 수 있는 문단입니다. 왜냐면 2,3,4 문단에서 네임서버, IP 주소의 종류 등 정보량이 많은 것들이 쏟아지거든요. 그래서 비록 첫 문단에서 DNS 스푸핑의 과정을 필자가 설명하려 한다는 것을 알아도, 학생들은 이 마지막 5,6 문단을 그냥 흘려 넘어가기 쉽습니다. 하지만 평가원에서는 3점짜리 보기 문제를 필자가 말하고자 하는 바 에서 출제하기 마련입니다. 그리고 이 지문은 그것을 잘 보여주는 지문이구요. 


 2. (뻔한 이야기지만) 비슷한 개념이 나오면 차이점을 체크하며 읽기.


 30번 문제를 보실게요.


 30. 윗글의 '프로토콜' 에 대한 설명으로 적절하지 않은 것은?

 

 1. 컴퓨터 사이의 통신을 위한 규약으로서 저마다 정해진 기능이 있다.

 2. IP에 따르면 현재 주로 사용하는 IP 주소는 4개의 필드에 적힌 숫자로 구성된다.

 3. DHCP를 이용하는 컴퓨터는 IP 주소를 요청해야 IP 주소를 부여받을 수 있다.

 4. DHCP를 이용하는 컴퓨터에는 네임서버의 IP 주소를 사용자가 기록해야 한다.

 5. UDP는 패킷 전송 속도를 높이기 위해 패킷이 목적지에 제대로 도착했는지 확인하지 않는다.


 3,4번 선지는 유동 IP와 고정IP 주소를 사용하는 컴퓨터를 비교하는 선지였습니다. DHCP를 이용하는 컴퓨터는 유동 IP 주소를 사용하는 컴퓨터라는 점을 3문단 처음에서 파악했어야 하고, 이와 더불어 4문단 끝에서 '고정 IP 주소를 사용하는 컴퓨터에는 사용자가 네임서버의 IP 주소를 직접 기록해 놓아야 한다' 는 문장을 체크하고 읽어써야 합니다.

 

 평가원은 비슷한 개념이 나오면 이를 선지화합니다. 학생들이 헷갈려하기 쉽기 때문이죠.


 3. 큰 개념이 있고 그에 속하는 작은 개념이 있으면 작은 개념은 큰 개념의 특징에 해당하는 것을 가진다.


 

 A라는 개념이 있고 그 안에 속하는 새끼 개념인 a 가 있다고 칩시다. 

 그리고 A 는 p라는 특징을 가지고 있다고 가정합시다.

 그렇다면 A의 새끼 개념인 a는 역시나 p 라는 특징을 가지게 됩니다.


 32번 문제를 보시겠습니다. 

 

 32. 윗글을 바탕으로 알 수 있는 것은?

 1. DNS는 도메인 네임을 사설 IP 주소로 변환한다.

 2. 동일한 내부 네트워크에 연결된 컴퓨터들의 사설 IP 주소는 서로 달라야 한다.

 3. 유동 IP 주소 방식의 컴퓨터들에는 동시에 동일한 공인 IP 주소를 할당할 수 있다.

 4. 고정 IP 주소 방식의 컴퓨터들에는 동시에 동일한 공인 IP 주소를 부여할 수 있다.

 5. IP 주소가 서로 다른 컴퓨터들은 각각에 기록되어 있는 네임서버의 주소도 서로 달라야 한다. 

 

 답은 2번인데요, 동일한 내부 네트워크에 연결된 컴퓨터들의 사설 IP 주소는 뭔가 같아야 할 것 같은 느낌이 들지 않나요?

 하지만 2문단 첫번째 문장을 제대로 읽었다면 낚일 이유가 없습니다.

 '인터넷에 연결된 컴퓨터들이 서로를 식별하고 통신하기 위해서 각 컴퓨터들은 IP에 따라 만들어지는 고유 IP 주소를 가져야 한다.' 라는 문장을 보면 컴퓨터는 서로를 식별하기 위해 서로 다른 IP주소를 가져야 한다는 것을 알 수 있습니다.

 그렇다면 사설 IP 주소는? 

 사설 IP 주소 역시 마찬가지입니다. IP 라는 큰 틀 안에 사설 IP와 공인 IP가 속하기 때문이죠. 



 이 지문도 레전드 지문으로 꼽히는 어려운 지문에 속한다지만, 사실 조금씩 파헤쳐 보면 딱히 어려운 점이 없답니다. 


 오늘도 제 칼럼이 도움이 되셨길 바라며,, 좋아요와 팔로우 부탁드리겠습니다!


 즐거운 하루 되세요!



---------------------------------------------------------------------------------------------------------------------------------

[국어 칼럼] 콘크리트 지문으로 보는 지문읽는법/기출분석법  https://orbi.kr/00022136655

[국어 칼럼] 신채호 지문으로 보는 지문읽는법/기출분석법 https://orbi.kr/00022139823

[국어 칼럼] 사회적 할인율 지문으로 보는 지문읽는법/기출분석법 https://orbi.kr/00022155965

[국어 칼럼] 슈퍼문 지문으로 보는 지문읽는법/기출분석법 https://orbi.kr/00022170273


0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.