피싱에 대한 대응조차 완벽하게 이뤄지지 않은 상태에서 보다 더 정교한 사기수법인 파밍(pharming) 기법이 기승을 부리고 있다. 피싱과 파밍은 위조된 가짜 웹사이트로 사용자를 유인한다는 점은 동일하다. 하지만 실제로 "유인"을 하는지 아니면 사용자가 "자발적"으로 해당 사이트에 접속하느냐가 가장 큰 차이점이다.

피싱은 사용자에게 이메일 혹은 문자메시지 등을 이용해 가짜 웹사이트(대표적으로 은행 등의 금융사이트 혹은 개인정보 수집을 목적으로 하는 사이트)로 반-강제적으로 유인하게 된다. 하지만 파밍의 경우 사용자가 필요에 의해 본인의 의지로 은행, 공공기관, 포털 등으로 접속할 때를 기다렸다가 접속을 시도하면 실제 사이트로 위장한 가짜 사이트로 접속 경로를 바꾸어 버리는  기법이다.

하지만 피싱기법에는 결정적인 약점이 있으니 바로 사용자에게 접속을 유도하는 웹사이트의 도메인 주소가 실제 도메인주소와 다르기 때문에 많은 사람들이 "피싱"이라는 것을 알아차릴 수 있다는 것이다. 하지만 파밍의 경우 정상적인 도메인주소로 접속을 해도 위장된 가짜 웹사이트로 접속되기 때문에 피싱보다는 속는 사용자가 많을 수 밖에 없다.

인터넷의 주소체계를 모르는 일반사용자에게는 이해하기 어려운 내용일 수 있으므로 조금더 자세하게 국민은행의 웹사이트 주소를 기준으로 설명하자면...

먼저 PC에서 도스창(cmd)을 열고 다음 화면에서 처럼 nslookup 명령을 실행한 뒤 www.kbstar.com 을 입력하면...

nslookup

하얀 박스의 내용처럼 www.kbstar.com 이라는 도메인주소의 실제 IP는 203.248.188.31 임을 알려준다. 이것은 사용자들이 203.248.188.31 이라는 IP주소를 은행 사용자들이 기억하기 너무 어렵기 때문에 인터넷에 도메인네임서버를 두고   www.kbstar.com 에 대한 실제 접속해야할 IP를 PC에 알려주는 것이다. (도메인네임서버는 "기본서버"로 표시된 IP를 갖고 있는 서버다. 즉 이 PC는 www.kbstar.com 이라는 도메인주소가 웹브라우저에 입력되면 168.126.63.1 의 주소관리서버에 질의하고 203.248.188.31의 회신이 오면 해당 IP로 웹브라우저가 접속을 하게된다.

파밍은 이 www.kbstar.com 을 사용자가 브라우저의 주소창에 직접 입력하거나 즐겨찾기에 등록된 국민은행을 클릭한 뒤 브라우저가 주소서버에 www.kbstar.com의 IP주소를 질의하는 단계를 가로채 엉뚱한 위조된 가짜 국민은행 사이트의 IP주소를 회신하도록 하는 해킹기법이다.

과연 이런 주소 바꿔치기는 어떻게 가능한 것일까??

키워드는 C:\Windows\system32\drivers\etc\hosts 파일이다.

이 hosts 파일은 도메인주소(www.kbstar.com)의 IP주소(203.248.188.31)를 변환해주는 주소서버(DNS서버)가 없던 인터넷 초창기에 사용되던 파일이다. 이 파일안에는 아래와 같이 IP주소와 도메인주소가 쌍으로 들어가 있는 파일이다.

hosts


Windows가 설치되면 hosts 파일에는 #(주석)으로 막힌 몇줄 이외에는 한줄도 포함되어 있지 않게 된다. 여기에 만약 

111.111.111.111    www.kbstar.com

이라는 한줄이 들어가 있다면 Windows는 웹브라우저가 www.kbstar.com 이라는 도메인주소의 IP주소를 요청하면 DNS주소서버에 질의하기 전에 이 hosts 파일에서 먼저 ip주소를 찾아 발견된 111.111.111.111을 웹브라우저에 알려주게 된다. 즉 웹브라우저는 엉뚱한 IP주소를 www.kbstar.com으로 알고 접속을 시도하게 되는 것이다. 

따라서 일반 사용자는 웹브라우저가 잘못된 IP주소로 접속했지만 IP주소를 웹브라우저상에서 확인할 수 없기 때문에 정상적인  www.kbstar.com에 접속한 것으로 생각할 수 밖에 없다. (사실 국민은행의 IP주소는 매우 많기 때문에 그냥 봐선 확인이 불가능하다.) 이것이 바로 파밍이다.

누가 hosts 파일에 가짜 주소를 집어넣는가?

그렇다면 누가 hosts 파일에 엉뚱한 가짜 주소를 집어 넣을까? 그건 바로 인터넷에서 무심결에 다운받은 악성코드가 담당한다.파밍을 시도하는 해커들은 인터넷에 다양한 방법으로 hosts 파일을 수정하는 악성코드를 사용자들이 다운로드 받도록 함정을 파 놓는다.

이 함정에는 사용자들이 많이 접속하는 웹사이트를 해킹하여 해당 웹페이지에 접속하면 자동으로 PC에 파킹을 시도하는 악성코드가 다운로드 되도록 하거나 이메일, 문자메시지, 네이트온 등을 이용해 메시지를 보내 악성코드에 감염된 프로그램을 다운로드 받도록 유도한다.

그렇게 PC에 감염된 악성코드는 hosts 파일에 파밍을 할 주소를 추가하게 된다.

백신이 hosts 파일의 수정을 막을 수는 없는가?

현재 시중에 나와 있는 일반적인 백신으로는 파밍을 시도하는 악성코드가 hosts 파일을 수정하는 것을 원천적으로 차단할 수는 없다. Windows 서버의 경우 서버보안SW인 RedCastle을 이용해 hosts 파일의 수정을 특정 프로그램을 통해서만 가능하도록하고 나머지 다른 명령어나 프로세스는 읽기만 가능하도록 정책을 수립할 수 있지만 PC에 설치되는 백신에는 이러한 정책 구현이 어렵기 때문에 지원하지 않고 있다.

결국 PC 사용자가 파밍의 함정에 빠지지 않기 위해서는 주기적으로 hosts 파일에 추가된 주소들이 있는지 확인해야 한다.


[먼저 봐야할 포스트] 피싱사이트를 통한 개인 금융정보 유출기법 분석


  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">