파밍 공격의 사례
언제부턴가 인터넷 공유기의 해킹이 파밍 공격을 위한 수단으로 악용되기 시작했습니다. 가장 대표적인 공유기 해킹 그리고 DNS 변조를 통한 파밍 사례는 아래의 사례처럼 정상적인 포털사이트와 금융기관 홈페이지에 접속하여도 가짜 포털 및 금융기관으로 접속 되도록 유도하는 경우입니다.
이 사례는 웹브라우저의 주소창 혹은 즐겨찾기 등 어떤 방법으로든 “http://www.naver.com”을 정상적으로 입력하고 접속하였음데도 가짜 웹사이트로 접속하도록 접속경로를 변조한 경우입니다. 금감원의 팝업창을 사칭하여 금융기관에서 발급한 보안카드 정보를 빼내기 위한 파밍공격 사례죠.
그렇다면 어떻게 이런 공격이 가능할까요… 이는 모든 네티즌이 인터넷을 사용하기 위해서 필수적으로 사용하는 DNS 라는 서비스의 취약성과 공유기의 취약성이 결합되어 매우 치명적인 취약성을 만들어 내기 때문입니다. 이 취약성을 이해하기 위해선 가정마다 보급되어 있는 인터넷공유기와 DNS서비스에 대해 알아야 합니다.
DNS 서비스에 대해서는 이 포스트에서 따로 설명드리진 않습니다. 대신 위키백과를 연결해 드립니다. 잘 모르시는 분들은 방문하여 차분히 읽어보시면 금새~이해가 되실 겁니다.
인터넷 공유기와 DNS (Domain Name Service)
1995년을 전후하여 ADSL이 상용화 되면서 인터넷이 집집마다 보급되기 시작했습니다. 그리고 가정마다 인터넷을 사용하는 컴퓨터나 노트북 등이 두개 이상으로 늘어나게 되었고 인터넷 공유기는 날개 돋힌 듯 팔려나갔습니다. 그리하여 현재는 집집마다 최소 1개 이상의 공유기가 설치되어 있다고 해도 과언이 아닙니다.
이렇게 집집마다 설치되어 있는 인터넷 공유기는 다음과 같이 가정의 인터넷 망을 구성하게 해줍니다.
공유기에는 집 밖에서 들어오는(통신사에서) 인터넷 선이 연결되는 포트(port)가 있습니다. 위의 공유기에서는 IPTIME의 공유기 사례인데 노란색 포트가 통신사에서 들어오는 인터넷 회선이 연결되는 포트입니다. 그리고 집 내부에 있는 PC나 노트북은 주황색 포트에 연결됩니다.
통신사에서 들어오는 인터넷 선이 연결되면 공유기는 통신사에서 공인IP를 받아옵니다. 이 공인IP는 이따금씩 변경이 되기 때문에 자동으로 공인IP를 받아오도록 공유기에 설정되어 있습니다. 공유기에 공인IP가 설정되면 그때부턴 전세계 어디서든 공유기에 설정된 공인IP만 알면 우리집의 공유기에 접속할 수 있다고 보면 됩니다. 그리고 이때 DNS 서버의 IP도 함께 받아 오도록 기본 설정되어 있습니다.
그리고 공유기에 연결되는 노트북이나 PC 또는 스마트폰은 공유기로 부터 사설IP를 자동으로 할당받는 것이 일반적입니다. 그리고 DNS 서버의 IP주소도 자동으로 공유기로 부터 받아오도록 기본 설정이 되어 있습니다.
공유기가 통신사로부터 받아오는 공인IP와 DNS 주소는 다음과 같이 확인할 수 있습니다. (공인IP는 보안상 공개하지 않습니다. 저도 해킹당하기는 싫거든요.. ^^)
인터넷공유기와 DNS 서비스 취약점
위의 그림에서와 같이 공유기가 통신사로부터 DNS 서버 주소를 자동으로 부여받고 그렇게 부여받은 DNS 서버 주소를 하위의 PC나 노트북, 스마트폰에게 자동으로 부여하도록 설정한 경우에 파밍 취약점이 발생합니다.
즉 공유기를 해킹하여 공유기가 통신사로 부터 부여받은 정상적인 DNS 서버 주소를 “변조(바꿔치기)”할 수 있다면 하위의 PC와 노트북, 스마트폰 등이 정상적으로 http://www.naver.com 을 입력하여 네이버 포털에 접속하려 할 때 해커가 준비해둔 가짜 네이버 사이트로 접속하도록 진짜 네이버 사이트의 IP 주소가 아닌 가짜 네이버 사이트의 IP를 알려줘 사용자가 무방비 상태로 가짜 사이트로 접속을 유도하여 네이버의 ID와 비밀번호와 같은 개인정보를 탈취할 수 있게 됩니다.
즉 인터넷 공유기의 관리자 페이지에 불법적으로 접속할 수 있는 취약점과 DNS 서버 주소를 릴레이 하듯 전달하는 취약점이 만나 파밍이 가능하게 되는 것입니다.
대응 방법
먼저 취해야할 대응방법은 공유기의 접속 보안 설정 입니다.
대부분의 공유기는 처음 설치 시 접속 보안이 설정되어 있지 않습니다. 즉 공유기에 접속하여 관리자 설정을 할 때 ID와 비밀번호를 입력받는 기본적인 접속 보안 설정이 되어 있지 않아 공유기에 연결만 하면 누구든 공유기의 설정을 변경할 수 있습니다.
이 설정을 변경하여 공유기의 설정을 변경하기 위해서는 반드시 ID와 패스워드를 입력하여야만 설정을 변경할 수 있도록 보안 설정을 해야 합니다.
IPTIME 공유기의 보안 설정에 대해 잘 설명해둔 블로그를 소개해 드립니다. 다른 공유기도 대동소이한 방법으로 접속 보안 설정을 변경할 수 있습니다.
두번째는 공유기의 보안 패치 입니다.
지속적인 공유기 해킹은 공유기 내부망이 아닌 공유기 외부망 즉 인터넷을 통해 공유기를 해킹할 수 있는 공유기 자체의 취약점들이 있기 때문에 발생합니다. 그래서 공유기 제조사들은 최근 공유기의 보안 패치를 내놓기 시작했습니다. 공유기의 보안 패치는 대부분 펌웨어 업데이트에 포함되어 나옵니다.
따라서 주기적으로 공유기의 펌웨어를 업데이트 하는 것이 바람직합니다.
그래도 DNS 주소 변조에 의한 파밍이 두려우시면 다음의 세번째 방법을 적용해보시기 바랍니다.
세번째는 바로 노트북(or PC or 스마트폰)의 DNS 서버 주소를 수동으로 지정해 주는 것입니다.
이 방법은 공유기가 해킹이 되고… 공유기가 공유기에 연결된 PC나 노트북 또는 스마트폰에게 알려줄 DNS 서버의 주소가 변조되어도 안전한 방법입니다. 이것은 PC나 노트북 또는 스마트폰이 DNS 서버의 주소를 공유기에게서 받는 것이 아니라 미리 PC, 노트북, 스마트폰에 수동으로 설정된 DNS 서버의 주소를 사용하는 방법입니다.
다음과 같이 윈도자체의 네트워크 설정에서 DNS 서버 주소를 수동으로 설정해 두는 방법입니다. 아래 화면은 KT의 DNS 서버 주소를 수동으로 설정한 화면입니다.
위 화면과 같이 DNS 서버를 자동으로 받기가 아닌 수동으로 설정하게 되면 윈도는 네트워크 초기화 시 공유기에게 윈도가 사용할 자체 IP 주소만 받아오고 DNS 서버 주소는 받아오지 않고 미리 설정된 주소를 사용하게 됩니다. 따라서 공유기의 DNS 서버 주소 변조가 발생해도 잘못된 사이트로 접속되는 사례는 발생하지 않습니다.
인터넷 공유기는 집안의 네트워크를 인터넷과 연결해주는 길목의 역할을 수행합니다. 그래서 매우 세밀한 관리가 필요한데 대부분의 인터넷 공유기는 방치되어 있는 수준으로 집집마다 설치되어 있습니다. 조금만 인터넷 공유기에 관심을 기울이면 공유기의 내부망 , 즉 집안의 네트워크에 평화가 깃들게 됩니다.