빵집 아르바이트를 하여 월 130만원을 벌어 근근이 생계를 유지해나가던 조OO 양은 온라인 뱅킹으로 고향에 계신 부모님께 용돈을 보내드리기 위하여 국민은행 홈페이지를 방문합니다. 그런데 분명히 정확한 계좌 비밀번호와 자물쇠카드 번호를 아래와 같은 화면에 수차례 입력하였는데도 이체가 되지 않습니다.
결국 다음 날 ATM을 방문하여 계좌이체를 하기로 하고 잠에 듭니다. 그런데 다음 날, 조OO 양은 5년간 통장에 꼬물꼬물 모아두었던 1,500만원이 전혀 처음 들어보는 사람의 계좌로 이체된 것을 발견합니다. 조OO 양이 자물쇠카드 번호를 입력하였던 화면은 가짜 국민은행 사이트(파밍 사이트)였습니다. 그렇다면 우리는 왜 파밍 사이트로 접속하게 되는 것일까요.
국민은행 홈페이지의 도메인 주소가 www.qook.com라고 가정을 합니다. 온라인 뱅킹을 하기 위해 우리는 위 도메인을 아래와 같이 인터넷 브라우저에 있는 주소창에 입력을 하게 됩니다.
그런데 컴퓨터는 위 도메인(www.qook.com)을 보고 국민은행 홈페이지를 찾아가지 않습니다. 모든 도메인 주소는 대응하는 IP 주소가 있으며, 컴퓨터는 도메인에 대응하는 IP주소를 보고 국민은행 홈페이지를 찾아갑니다. 컴퓨터가 도메인에 대응하는 IP주소를 참조하는 순서는 다음과 같습니다.
컴퓨터에는 사용자가 도메인과 대응하는 IP를 설정할 수 있는 호스트 파일이라는 것이 있습니다. 인터넷 주소창에 어떠한 도메인을 입력하였을 때, 컴퓨터는 1차적으로 호스트 파일에 입력한 도메인에 대응하는 IP 주소가 존재하는지 확인을 합니다. 입력한 도메인에 대응하는 IP 주소가 존재할 경우, 컴퓨터는 그 IP를 보고 사이트를 찾아가게 됩니다.
만약 우리가 국민은행 홈페이지(www.qook.com)에 대응하는 IP 주소가 8.8.8.9이고, 위 사항을 호스트 파일에 설정을 해두면 우리가 주소창에 www.qook.com를 입력하였을 때, 호스트 파일을 참조하여 진짜 국민은행 홈페이지 IP인 8.8.8.9로 접속을 하게 되는 것입니다.
그러나 호스트 파일을 참조하여 사이트를 찾아가는 것은 호스트 파일을 별도로 설정을 해주어야 하는 것이며 대개는 이러한 설정을 하지 않기 때문에 호스트 파일 내 IP를 참조하여 사이트에 접속하는 경우는 드뭅니다. 호스트 파일 내에 도메인에 대응하는 IP주소가 없을 경우, 컴퓨터는 2차적으로 DNS 서버를 참조하게 되는데 우리는 거의 대부분은 이 방식으로 사이트에 접속을 합니다. 구글·KT 등 인터넷 서비스 업체에서는 도메인에 대응하는 IP를 찾아주는 DNS 서비스를 하고 있으며 그러한 기능을 하는 DNS 서버를 두고 있습니다. 우리가 컴퓨터에 위 DNS 서버를 도메인에 대응하는 IP를 찾아주는 서버로 설정을 해두고 인터넷 주소창에 국민은행 홈페이지(www.qook.com)를 입력하면, 설정해둔 DNS 서버에서 국민은행 홈페이지 IP 주소를 찾아 접속하게 되는 것입니다. 파밍은 은행의 가짜 사이트에 접속을 유도하는 위 두 가지 방식을 이용합니다.
※ 파밍 유형 1. 호스트 파일 변조
해커가 만들어 놓은 가짜 파밍 사이트의 IP주소가 8.8.8.10이라고 가정합니다.
파밍 악성코드는 www.qook.com의 대응 IP가 8.8.8.10라고 호스트 파일을 변조합니다. 컴퓨터는 위와 같이 변조된 가짜 IP가 있을 경우 그 사이트로 접속을 하고 추가로 DNS 서버를 확인하지는 않습니다.
그런데 최근에는 위와 같이 호스트 파일을 변조하는 방식은 이미 많이 알려져 있으며, 백신업체에서도 상당 부분 대응을 하고 있기 때문에 거의 이용되지 않고 있습니다. 그래서 이후에 등장한 것이 DNS 서버를 변조하는 방식의 파밍 악성코드입니다.
※ 파밍 유형 2. DNS 서버 변조
위 화면은 많이 보셨을 겁니다. 우리는 보통 위 빨간박스에 설정해둔 DNS 서버에 도메인에 대한 IP를 물어보아 사이트를 찾아가게 됩니다. 파밍 악성코드는 저 DNS 서버 IP주소를 컴퓨터 자신의 IP로 변조를 합니다. 그렇게 되면 컴퓨터는 도메인에 대응하는 IP 주소를 DNS 서버가 아니라 자신에게 되묻게 됩니다. 결국 감염된 컴퓨터 자신이 DNS 서버 역할을 하게 되는 것입니다. 그리고 이 악성코드는 IP가 무엇이냐는 물음에 가짜 사이트의 IP주소를 가르쳐줍니다.
※ 파밍 유형 3. I Frame 삽입
우리가 네이버에 접속하였을 때 인터넷 브라우저에 보이는 화면은 사실 위와 같은 글씨로 되어 있는 소스정보를 네이버 서버로부터 가져와 우리 컴퓨터의 화면에 출력 및 시각화한 것입니다.
세 번째 파밍 악성코드는 우리가 네이버 서버로부터 가져오는 위와 같은 소스정보에 가짜 사이트로 유도하는 스크립트를 삽입합니다. 호스트 파일도 DNS 서버도 변조하지 않아 발견이 어렵고 최근까지도 많이 유포되고 있는 유형의 악성코드입니다.
경찰청, KISA, 방송통신위원회 등의 기관에서 악성코드가 유도하는 가짜 사이트를 차단하게 되면 그 악성코드는 더 이상 기능을 하지 못하게 됩니다. 그래서 최근 파밍 악성코드는 하나의 가짜 사이트 IP를 악성코드에 심어두지 않습니다.
QQ 블로그(중국), Pinterest(미국), 등의 해외블로그 게시판에 게시된 글에서 가짜 사이트 IP를 가져오는 통신을 하도록 설계를 해두고 가짜 사이트 IP를 계속해서 바꿔줍니다. 결국 하나의 파밍 사이트를 막아버려도 악성코드에 지정된 해외블로그 게시판을 막지 않는다면 악성코드가 계속해서 새로운 파밍 사이트 IP를 가져오기 때문에 가짜 사이트 차단은 무의미해집니다.
위에 보셨듯이 우리를 가짜 사이트로 유도하는 방식은 계속해서 지능화됩니다. 기술적 차원에서 발빠르게 백신을 업데이트하는 것도 중요하지만 온라인에서 금융거래를 할 때에 의심스러운 화면이나 정보입력 요구가 있을 경우 거래를 중지하는 등 개개인이 스스로 주의를 기울이는 것이 빠르게 변화하는 파밍 수법에 대응하는 더 근본적인 해결책인 것 같습니다.
----------------------------------------
<컴퓨터포렌식팀 최현준>