
요즘 인터넷 사용자들은 과거에 비해 훨씬 세심해졌습니다. 악성코드 관련 교육과 정보가 온라인 곳곳에 널려 있어서, "수백만 달러에 당첨되셨습니다" 같은 허위 당첨 이메일에 쉽게 속는 사람은 드물어졌죠.
하지만 그렇다고 해커들이 손을 놓은 것은 아닙니다. 다만 더 교활하고 지능적인 방식으로 진화했을 뿐입니다. 회사 내부망을 염탐한 뒤 상사의 이메일 주소를 사칭해 직원들에게 메일을 보내거나, 페이스북 계정을 탈취해 친구들에게 메시지를 보내는 등 '신뢰를 역이용하는 공격'이 요즘 해킹의 주류를 이루고 있습니다.
그중 하나가 바로 '파밍(Pharming)'입니다. 파밍은 사용자가 정상적인 URL을 입력해도 가짜 사이트로 강제 연결한 뒤 로그인 정보를 탈취하는 수법으로, 그 수법이 상당히 교묘합니다. 이번 글에서는 파밍이 무엇인지, 어떤 방식으로 작동하는지, 그리고 어떻게 대비할 수 있는지 자세히 알아보겠습니다.
파밍(Pharming)이란?
파밍은 두 가지 공격 기법, 즉 DNS 포이즈닝(DNS Poisoning)과 피싱(Phishing)을 결합한 2단계 공격입니다. 두 기법의 장점을 결합해 매우 그럴듯한 함정을 만들어냅니다. 피싱이 미끼를 던져두고 누군가 물기를 기다리는 방식이라면, 파밍은 DNS 서버 전체를 장악해 사용자들을 가짜 웹사이트로 리디렉션할 수 있습니다.
따라서 "파밍이란 무엇인가?"라는 질문에 답하려면 먼저 이 공격을 구성하는 두 요소가 서로 어떻게 상호작용하는지 살펴봐야 합니다.
DNS 포이즈닝(DNS Poisoning)

공격 이름에서부터 위험성이 느껴지시나요? DNS 포이즈닝은 DNS 조회 과정을 가로채는 공격입니다. 웹 주소(예: www.facebook.com)를 입력하면 컴퓨터는 이를 IP 주소로 변환해야 합니다. 컴퓨터는 "페이스북"이라는 문자열 자체를 이해하지 못하기 때문입니다. URL은 어디까지나 인간이 웹사이트 주소를 쉽게 기억하기 위해 존재하는 것이며, 컴퓨터는 오직 IP 주소로만 통신합니다.
이 변환 작업은 DNS 서버를 통해 이루어집니다. DNS 서버는 일종의 '주소록' 역할을 하며, URL에 해당하는 IP 주소(www.facebook.com → 157.240.1.35)를 알려줍니다. 컴퓨터는 한 번 찾은 IP 주소를 캐시(cache)에 저장해두는데, 이는 동일한 주소를 반복해서 조회하는 시간 낭비를 줄이기 위함입니다.
DNS 포이즈닝은 두 가지 경로로 실행됩니다. 첫째, 개별 PC의 캐시 파일에 침입해 IP 주소를 악성 사이트 주소로 조작하는 방식입니다. 둘째, DNS 서버 자체를 감염시켜 조회를 요청하는 모든 PC가 '오염된' 결과를 받도록 하는 방식입니다. 어느 쪽이든 사용자가 브라우저에 www.facebook.com을 입력하는 순간, 진짜가 아닌 조작된 가짜 IP 주소로 연결됩니다.
피싱(Phishing)

DNS 포이즈닝만으로는 사용자를 다른 사이트로 보낼 수 있을 뿐, 그 자체로는 실질적인 이익을 얻기 어렵습니다. 여기에 피싱이 결합되면 단순한 리디렉션이 완성된 공격으로 진화합니다.
예를 들어 공격자는 사용자를 페이스북이 아닌 자신이 준비한 사이트로 유도합니다. 파밍 공격에서 공격자는 미리 페이스북과 똑같이 제작해둔 가짜 페이지를 선택합니다. 사용자가 www.facebook.com을 입력하면 DNS 포이즈닝에 의해 해커의 가짜 페이스북으로 연결되는 것이죠.
가짜 사이트에 도착한 사용자에게는 로그인 화면이 나타납니다. 진짜 페이스북이라고 믿은 사용자가 아이디와 비밀번호를 입력하는 순간, 그 정보는 고스란히 해커에게 전달되고 파밍 공격은 완성됩니다.
파밍 공격, 어떻게 막을 수 있을까?
먼저 알아둘 점은 DNS 서버는 대개 사용 중인 ISP(인터넷 서비스 제공업체)가 운영한다는 사실입니다. 따라서 신뢰할 수 있는 ISP를 선택하는 것이 중요합니다. 좋은 ISP는 파밍 공격을 인지하고 있으며, DNS 서버가 오염되지 않도록 방어 체계를 갖추고 있습니다.
그렇다면 내 PC의 파일이 감염되는 경우에는 어떻게 대비해야 할까요? 우선 검증된 백신 또는 안티멀웨어 프로그램을 설치하세요. 이러한 프로그램은 PC의 주소 캐시 파일이 변경되는 것을 감지해 피해가 발생하기 전에 경고해줄 수 있습니다.

백신 없이도 스스로 판단력으로 파밍 공격을 걸러낼 수 있습니다. 소셜미디어나 은행 사이트처럼 인기 있거나 보안이 중요한 사이트에 접속하면 주소창에 자물쇠 아이콘과 함께 URL 앞에 "HTTPS"가 표시되는 것을 볼 수 있습니다. 이는 해당 웹사이트가 신뢰할 수 있는 제3의 인증기관으로부터 검증을 받았다는 의미이며, 인증서를 발급받았고 통신이 암호화되어 있다는 뜻입니다.
반면 파밍 공격으로 유도된 가짜 사이트에는 정상 인증서가 없을 가능성이 높습니다. URL이 아무리 진짜처럼 보여도 인증서가 없다는 사실 자체가 결정적인 단서가 됩니다. 인기 사이트에 로그인할 때는 항상 HTTPS 인증서가 있는지 확인하세요. 평소에 있던 인증서가 갑자기 사라졌다면, 무언가 수상한 일이 벌어지고 있다는 신호일 수 있습니다.
마무리: 파밍을 현명하게 피하는 법
여러 단계를 거쳐 정교하게 설계된 공격인 만큼 파밍은 다소 위협적으로 느껴질 수 있습니다. 하지만 이제 파밍의 원리와 작동 방식을 정확히 이해하셨습니다. 특히 보안에 신경 쓰는 ISP를 이용하고 기본적인 보안 수칙만 지킨다면 파밍의 희생양이 될 걱정은 크게 줄어들 것입니다.
혹시 본인이나 주변에서 실제와 똑같이 만든 가짜 웹사이트에 속아 피해를 본 적이 있으신가요? 아래 댓글로 경험을 들려주세요.