포스팅 내용

악성코드 분석 리포트

더블 다이렉트(Double Direct) MITM 공격 원리 및 조치 방법

더블 다이렉트(Double Direct) MITM 공격 원리 및 조치 방법


최근 안드로이드와 iOS 기반의 스마트기기를 공격 대상으로 하는 새로운 MITM 공격 기술이 발견되었습니다. 

이 공격은 더블 다이렉트(Double Direct) 공격 원리를 이용한 것으로, 웹으로 발생하는 다량의 트래픽들을 공격자가 만들어놓은 피싱사이트로 리다이렉트시켜 정보를 탈취하는 MITM 공격의 한 종류입니다. 


일단 리다이렉트가 성공하면 공격자는 희생자들의 개인정보, 금융정보 등을 탈취할 수 있으며, 해당 기기에 악성코드를 심을 수도 있습니다. 


공격자는 리다이렉트를 성공한 스마트 기기에서 사용자가 Google, Facebook, Twitter, Hotmail과 같은 대형 사이트들을 방문할 때 이러한 공격이 발생하도록 유도합니다. 그 중에는 국내의 최대 규모의 사이트인 naver.com도 포함되어 있는 것으로 확인되었습니다. 


현재 공격이 발생하고 있는 국가는 31개국이며, 그 중 한국은 없는 것으로 확인되었습니다. 그러나 이웃 국가인 중국이 공격 발생 국가 리스트에 포함되어 있는 만큼, 국내에서도 해당 공격이 발생할 가능성이 상당히 높습니다. 



더블 다이렉트(Double Direct) 공격 원리


더블 다이렉트(Double Direct) 공격을 이해하려면 먼저 ICMP 프로토콜을 이해해야 합니다. 

ICMP(Internet Control Message Protocol)프로토콜은 IP네트워크의 IP상태 및 오류정보를 전달해 주는 프로토콜입니다. 이는 라우터의 주소를 결정해 주는데 사용되기도 합니다. 


예를 들어, 영희네 집에서 철수네 집으로 가는 길은 A라우터를 지나가는 길과 B라우터를 지나가는 두개의 길이 있습니다. A라우터를 지나는 길로 가면 징검다리를 두 개만 건너면 되지만, B라우터를 지나는 길로 가면 징검다리를 세 개나 건너야 합니다.  

 

영희는 아직 철수네 집을 가보지 않았기 때문에, 더 가까운 길을 모르고 있습니다. 영희는 B라우터를 지나는 더 먼 길을 선택하여 철수네 집을 다녀왔습니다. 그럼 B라우터는 영희에게 “A라우터를 지나는 길로 가면 더 가까우니까 다음부터는 그 길을 이용해”라는 메시지가 담긴 ICMP redirect 패킷을 보내줍니다. 


그러면 영희는 그것을 기억하고, 다음부터 철수네 집에 갈 때 A라우터를 지나는 길을 선택하게 됩니다. 



더블 다이렉트(Double Direct)공격은 이러한 ICMP redirect 방식을 이용한 공격으로, 기존에 있던 ICMP redirect 공격보다 한층 더 진화된 공격기법입니다. 이 공격이 성공하려면, 공격대상의 스마트 기기에 Redirect 기능이 활성화되어 있어야 하는 전제조건이 있습니다. 


공격자는 공격하고자 하는 기기에 ICMP redirect 패킷을 보냅니다. ICMP redirect 기능이 활성화가 되어있는 기기는 해당 패킷을 받고, 공격자를 라우터로 인식하고 자신의 라우팅 주소를 수정합니다. 그렇게 된다면 희생자 기기로부터 발생하는 모든 패킷은 공격자에게 향하기 때문에, 공격자는 모든 패킷을 엿볼 수 있습니다. 심지어 정상 사이트가 아닌 공격자가 만들어 놓은 피싱 사이트로 보낼 수도 있습니다. 


웹페이지로 향하는 패킷을 예로 들어 설명해 보겠습니다. 


웹페이지로 향하는 패킷을 스니핑하고 싶은 공격자는 라우터를 가장하여 DNS서버로 갈 때에 자신, 즉 공격자를 거쳐 가는 길이 더 빠르다는 정보가 담긴 ICMP redirect 패킷을 희생자에게 보냅니다. 해당 패킷을 받은 희생자는 자신의 경로를 다시 셋팅하게 됩니다.


대부분의 스마트 기기들은 기본 DNS서버주소가 8.8.8.8 혹은 8.8.4.4로 설정이 되어 출고됩니다. 또한 DHCP를 사용하는 기기라 하더라도 같은 네트워크 안에 존재한다면, 공격자는 공격자 자신의 DHCP서버주소와 동일할 것이라고 추측하여 공격을 진행할 수도 있습니다. 


정상적인 통신 과정


Double Direct 공격 후 통신과정


더블 다이렉트(Double Direct) 공격에 취약한 버전


iOS : 모든버전

Android : Nexus 5 및 Lollipop을 포함한 모든 안드로이드 기기

Mac : Mac OS X Yosemite

* 대부분의 GNU/Linux 와 윈도우 데스크탑 시스템은 ICMP Redirect 기능이 비활성화 되어있음



더블 다이렉트(Double Direct) MITM 공격 조치 방법


기본설정으로 되어있는 ICMP Redirect 기능을 '비활성화'시킵니다. 

 

※ Mac OS (이 방법은 스마트기기 재부팅 시 다시 설정해야 합니다)

sudo sysctl -w net.inet.icmp.drop_Redirect=1


※ Android devices

# echo 0 > /proc/sys/net/ipv4/conf/all/accept_Redirects




관련 내용 참고 :

http://blog.zimperium.com/doubledirect-zimperium-discovers-full-duplex-icmp-redirect-attacks-in-the-wild/#comment-150


  1. 궁금 2014.12.02 23:27  수정/삭제  댓글쓰기

    스마트 기기 안에서 CLI모드로 진입하여 조치해야 한다는 건가요? 그럼 해당 취약점 조치를 위해서는 루팅 혹은 탈옥이 필수라는 건지요?

    • 알약(Alyac) 2014.12.04 09:59 신고  수정/삭제

      안녕하세요. 알약입니다. ^^ 문의하신 내용에 대해서는 스마트기기 제조사에서 패치할 때까지 기다리시거나, 말씀하신 대로 임시로 루팅한 후에 조치를 취하고 다시 원상복구시키는 방법이 있습니다. 이 점 참고 부탁 드리겠습니다. 감사합니다.

티스토리 방명록 작성
name password homepage