Tor 네트워크의원리와관련악성코드사례분석 2014. 5 코드분석팀김세령 srkim@kisa.or.kr 본보고서의전부나일부를인용시, 반드시 [ 자료 : 한국인터넷진흥원 (KISA)] 를명시하여주시기바랍니다.
[ 목차 ] 1. Tor(The Oinion Routing) 란무엇인가? 2 2. Tor 의동작원리 3 3. 악성코드와 Tor 5 4. Tor 네트워크를사용하는악성코드사례 7 5. Tor 네트워크를이용하는악성코드에대한대응 12
1. Tor(The Onion Routing) 란무엇인가? Tor 1) 는온라인상에서트래픽분석이나 IP 주소추적을불가능하게하여익명성을보장하는네트워크로, 초창기에는내전중이거나인터넷에대한규제가엄격한국가의사용자들이제약및감시없이네트워크를사용하기위해활용되어왔다. Tor 네트워크는수백, 수천개의어니언라우터 (Tor 네트워크를구성하는노드, 중계서버 ) 로구성되어있으며, P2P(Peer-to-peer) 프로그램처럼사용자가많아질수록속도도빨라진다. 트래픽은목적지까지바로전달되지않고매번 Tor 내임의의중계서버를통해전송된다. 각각의중계서버는패킷이어디서출발했는지, 최종목적지는어디인지알수없으며다만다음중계서버의주소를알뿐이다. 패킷은여러겹으로암호화되어전송되는데중계서버를통과할때마다한꺼풀씩복호화되어그다음중계서버로이동하게된다. 패킷의이동경로에관한정보는주기적으로삭제된다. 이와같은방식이그어느노드를통해서도쉽게전체통신을추적하거나분석할수없도록한다. [ 그림 1] Tor 네트워크의구조 1) Tor 네트워크는본래미국해군연구소 (the U.S Naval Research Laboratory) 의 3G 어니언라우팅프로젝트 (Onion Routing Project) 라는이름으로시작되었으며주요목적은정부의온라인통신내용을보호하기위함이었음 - 2 -
2. Tor 의동작원리 Tor의동작원리를파악하자면 Mixnet이라는개념을따라가볼필요가있다. Mixnet은암호연구가였던 David Chaum에의해구체화된개념으로이메일을익명으로수발신하기위한목적을가지고있다. Mixnet은 Mix라고불리는프록시서버들을이용한일종의라우팅프로토콜인데발송하려는다수의메시지를임의의순서로목적지까지보낸다. 메시지들은공개키암호화알고리즘을사용해암호화되며 A가 B에게메시지를전달하는경우다음과같은형태가된다. [ 그림 2] Mixnet 에서 A 가 B 에게메시지를보내는경우 Tor는 Mixnet의프록시를이용한라우팅과암호화를일반적인통신을위해구현한실체라고할수있는데정리해보면다음과같다. 라우터에번호가있다고가정하고 A에서 B로 4번 3번 5번라우터를거쳐전송되는경우, 이같은형태를나타내게된다. 라우터하나를통과할때마다마치양파껍질을한꺼풀씩벗겨내는것과같은모양이되는것이다. Tor 네트워크에서이용하게되는목적지까지의경로는 OP, 즉프록시가주기적으로설정하고해제하는데, 각경로 ( 노드 ) 에대한정보는디렉토리서버 (directory authorities server) 로부터얻는다. Tor를사용하는중계서버 ( 노드 ) 들은모두디렉토리서버에게자신의정보를공유하며, 이과정도암호화된통신으로수행된다. - 3 -
[ 그림 3] Tor(The Onion Routing) 의원리 Tor 에서는일반적인네트워크에서사용하는용어와는조금다른용어들을사용 하는데대표적인것으로셀 (Cell), 서킷 (Circuit), 어니언라우터 (OR, Onion Router), 어니언프록시 (OP, Onion Proxy) 가있다. 용어 설명 Cell Tor를통과하는고정된크기의패킷, 512바이트로고정 Circuit 각각의 TCP Stream에대한한번의완전한라우팅 ( 경로 ) OR(Onion Router) Tor 네트워크내각노드 OP(Onion Proxy) Tor 네트워크에서 Circuit을생성하고연결을관리하는데사용하는프록시 [ 표 1] Tor 네트워크에서사용되는용어 셀에는해당셀의역할과어떤서킷을이용하는지에대한정보가포함되어있다. 각 Tor 네트워크사용자의어니언프록시는지연 (delay) 을방지하기위해서킷을미리구성하며, 주기적으로새로운서킷을생성한다. 한번사용한서킷은반복해서사용하지않는다. 서킷은한번에한홉 (hop) 씩확장되고같은서브넷에서선택할수있는라우터는오직한개로제한된다. 3 홉이상의노드로서킷이확장되는경우에는서킷 - 4 -
내마지막노드에한홉이확장되었음을알려주어야한다. 3. 악성코드와 Tor 악성코드는왜 Tor 네트워크를사용할까? 가장큰이유는 Tor가제공하는익명성에있다. Tor 네트워크를사용하는시스템들은 (16자리영숫자 ).onion 2) 이라는독특한도메인주소체계를사용하는데이도메인정보로추적할수있는마지노선은공격자서버에한참못미치는중계서버중하나다. [ 그림 4] Tor 네트워크에서추적의의미 이런이유로악성코드가 Tor 네트워크를이용하게되면추적이불가능하게되어발견되거나접속이차단되는경우가드물다. 여기에 Tor 네트워크가자체적으로제공하는암 복호화기능은덤으로보안성도보장한다. 감염된시스템과원격지의공격자서버사이에서암 복호화기능이자연스럽게보안장치역할을하게되기때문이다. Tor를선택하는것만으로도이러한이득을취할수있으니악성코드제작자입장에서구미가당기지않을수없 2) Tor 서비스를이용하게되면 Tor 는 RSA-1024 키쌍을생성하는데, 이키값을 ASN.1 의 DER 인코딩후, SHA-1 해쉬를추출한다. 인코딩결과값에서앞부분반을다시 Base32 로인코딩한후뒤에.onion 을붙인것이 Tor 에서사용하는도메인이다..onion 도메인에는 2~7 까지의숫자와 a~z 까지의영문자가사용되며길이는 16 자리로고정된다. - 5 -
을것이다. 일각에서는 Tor 네트워크도제한적으로나마추적이가능하고속도가느려대량의정보를탈취하기어렵다는점을들어 Tor 네트워크와악성코드의공생관계가오래가지않을것이라고주장하기도한다. 실제로미국 NSA ( 국가안보국 ) 가 Tor 네트워크를추적해사람들의인터넷사용을감시해왔다는사실이 13년말 The Guardian에의해보도된바있다. 그러나 NSA의 Tor 네트워크추적과감시는수작업을통한극소수의사람에게만가능하였으며익명성을근본적으로무력화하는데는실패한것으로확인되었다. Tor 네트워크의속도문제또한악성코드가 Tor 네트워크를사용하는데큰영향을끼치지않는다는것이관련업계의시각이다. ESET 社에서는 Tor 네트워크를악의적인목적으로사용하는가장유용한방법으로명령제어서버와통신을하면서설정정보를업데이트하거나추가로악성코드모듈을다운로드하여공격자의익명성을유지하는것을꼽기도했다. 다양한의견이분분한가운데분명한사실은이미 Tor 네트워크가악성코드의온실이되었다는것이다. InfoSec Institute에서진행했던 Tor와딥웹 3) 관련연구인 Project Artemis 4) 에의하면 Tor URL의용도에있어가장많은비중을차지하고있는것이해킹과사이버범죄였다. [ 그림 5] InfoSec Institute 의 Project Artemis 연구결과중 Tor URL 의용도 3) deep web, 일반적인검색엔진으로검색되지않는웹, 일반웹브라우저가아닌 IP 추적이어려운특수브라우저로만접속이가능함 4) Tor URL 과딥웹에대한분석, Tor 네트워크내사용자의추적가능성에대한연구를목표로진행된프로젝트 - 6 -
4. Tor 네트워크를이용하는악성코드사례 6.25 DDoS 사이버테러 13년 6월 25일, 청와대홈페이지의화면이변조되는사건이발생했다. 악성코드는웹하드업체의설치파일인것처럼위장하여유포되었다. 해당악성코드는추가악성코드를다운로드하고 Tor 네트워크를이용하기위한도구를다운로드하였다. Tor 네트워크도구는 iexplorer.exe 라는이름으로다운로드되어마치정상프로세스인것처럼위장하였다. [ 그림 6] 6.25 DDoS 사이버테러에이용된 Tor 네트워크도구, iexplorer.exe Tor 네트워크는감염된 PC 의정보를수집하고다시추가악성코드를다운로드하는데 사용되었다. [ 그림 7] Tor 네트워크를이용해감염된 PC 의정보를유출 - 7 -
hxxp://p4dxzhnlukvh6p4a.onion/etc/ hxxp://swe4ta6k64m7vguk.onion/etc/ hxxp://7odyldjmpzjrhsye.onion/etc/ hxxp://vtyee6ev7gki7qxf.onion/etc/ hxxp://rns3d52wyctfktcb.onion/etc/ hxxp://et53n5fxxmjukgki.onion/etc/ hxxp://u6irlnorfxnn7cqs.onion/etc/ hxxp://snij5xfzt2qspxj2.onion/etc/ hxxp://hfc4z2pxfdmsfczp.onion/etc/ hxxp://n3fwfxcdjfv4zxpa.onion/etc/ [ 그림 8] 6.25 DDoS 사이버테러에이용된 Tor 주소 매크로 (macro) 악성코드 워드나엑셀, 파워포인트와같은마이크로소프트社의오피스프로그램에는반복되는작업이나자주사용하는작업을명령어로묶어한번의입력으로원하는명령군을실행할수있도록하는매크로기능이있다. 이매크로에 Tor 네트워크도구를다운로드하고이를이용해추가악성코드를다운로드하는역할을추가한오피스파일 ( 워드, 엑셀등 ) 이발견되었다. 아래분석한매크로관련악성코드는워드파일로유포되는형태였으며, 실행하면청소년풋볼리그관련내용으로위장한문서가보인다. 그러나사용자모르게매크로를실행하여 Tor 네트워크관련도구와추가악성코드를다운로드하였다. 매크로의코드는 base64 형태로인코딩되어있었다. - 8 -
[ 그림 9] 청소년풋볼리그관련문서로위장한워드파일 [ 그림 10] 인코딩되어있는매크로스크립트와디코딩후스크립트 ( 일부 ) 분석시점에는이미다운로드사이트에접속이불가능하여다운로드및실행을재현하지는못하였다. 우려가되는것은이런악성행위의경우사용자의눈에띄지않기때문에의심을사지않을가능성이높아 APT(Advanced Persistent Threat) 5) 공격에이용될수있다는것이다. 오피스프로그램뿐만아니라한글문서에서도물론가능하며, 실제로 APT 공격에이용되는사례도보고되고있다. 5) 다양한 IT 기술과방식들을이용하여조직적으로경제적이거나정치적인목적을위해다양한보안위협들을생산해지속적으로특정대상에게가하는일련의행위 - 9 -
POS 단말을타겟으로한 ChewBacca 악성코드 최근 POS(Point-of-Sale) 시스템을노린해킹이나악성코드가유행하면서금융보안분야에서화두로떠오르고있다. 우리나라에서도 13년 12월 POS 시스템이해킹당해약 20여만건의카드관련고객정보가유출되어파장이일었다. POS 시스템을노린악성코드들중에서는미국의 Target 社를공격하는데이용되었던 blackpos나 Tor 네트워크를이용해카드정보를수집하는 ChewBacca가가장잘알려져있다. 특히 ChewBacca는기존의메모리덤프방식이아닌정규표현식을이용한정보수집과 Tor 네트워크를통한정보유출로진화된방식의악성코드라는평을받았다. ChewBacca는메모리영역을모니터링하고있다가구매자가 POS 통해마그네틱카드로결제하게되면해당정보를추출한다. 마그네틱카드의 2개트랙에들어있는카드정보를추출하는정규표현식은다음그림과같다. [ 그림 11] 마그네틱카드정보추출을위한정규표현식 이렇게추출된카드정보는 Tor 네트워크를통해원격조정지로전송된다. 감염된 POS 는 9050 포트를열어두어명령제어서버와통신이가능한 상태를유지한다. - 10 -
[ 그림 12] Tor 네트워크를이용한카드정보전송및 C&C 서버와의통신 Android 악성앱 모바일악성앱의경우가장많은비중을차지하고있는것이스미싱앱이다. 스미싱은사용자모르게단말기의문자메시지를탈취하여소액결제에이용하는것인데, 기존에는문자메시지유출에이메일이나일반웹서버등을사용하였다. 그러나최근문자메시지유출지로 Tor 네트워크를사용하는악성앱들이보고되고있다. 지난 2월보고된 Android 악성앱은명령제어서버로부터명령을받아수행하는악성앱이다. - SMS 탈취 - USSD 서비스실행 - 감염된단말기내앱리스트전송 - 감염된단말기정보 (imei, 전화번호, 모델명, OS, 국가정보 ) 전송 - SMS 발송 [ 그림 13] C&C로부터명령을받아수행 명령리스트 - 11 -
해당악성앱의명령제어서버는 Tor 네트워크를이용하고있으며명령의전송과명령실행의결과를모두 Tor 네트워크를통해처리한다. 이안드로이드악성앱은공개된안드로이드용 Tor 라이브러리를이용해 Tor 네트워크를사용한다. [ 그림 14] Tor 네트워크를이용한명령어처리 5. Tor 네트워크를이용하는악성코드에대한대응 Tor 네트워크를이용하는악성코드의경우 PC나모바일모두 Tor 네트워크를이용하기위한도구나모듈을포함하고있다. 때문에단순히 Tor를사용하지않는다고해서악성코드에감염되지않는것은아니다. 결국 Tor를사용하는악성코드의경우도다른악성코드와마찬가지로 1사용하는프로그램이나운영체제의최신보안패치유지, 2백신프로그램사용의생활화, 3아는사람으로부터받은파일이라도백신검사후열기등주의가필요하다. 만약 Tor를설치하지않았는데도 svchost.exe, spoolsv.exe 등정상프로세스 6) 의 - 12 -
이름으로 9050 포트를열고명령수신대기상태 (Listening) 에있다면자신도모 르는사이 tor 네트워크를이용하는악성코드에감염되었을가능성을의심해볼 수있다. [ 그림 15] svchost.exe 를통한 tor 네트워크의동작사례 Tor를이용하는명령제어서버나악성코드경유지, 유포지에대한차단및조치의경우현재까지는불가능한것이사실이다. 앞서수차례언급한바와같이정확한서버의위치를알수없기때문이다. 이런이유로모니터링을통해봇넷 7) 의생성단계에서부터차단하는것과같은대안이제시되기도하였다. 그러나봇넷을생성단계에서부터모니터링하는것은상당한시간과비용을필요로하는일인데다최근에는폴리모피즘 8) 의경향까지보이고있어실효성이떨어지는것이사실이다. 결국최신보안패치를유지하여감염을예방하고백신프로그램으로관련악성코드를모두삭제조치하는것이가장현실적인방안이라하겠다. 6) 물론본래 tor 네트워크를사용할수있게해주는 tor.exe 이름으로실행되는경우도있다. 7) 봇넷 (Botnet) : 악성코드에감염된다수의컴퓨터들이네트워크로연결되어있는형태 8) 폴리모피즘 (polymorphism) : 일정한형태나규칙없이감염되는사용자마다다른형태의악성코드가감염되게하거나 C&C 가여러군데다수개존재하는등의성질 - 13 -
[ 붙임 ] 주요참고자료 1. Tor 설치및사용 Tor 소개및설치와사용 https://www.torproject.org/about/overview.html.en 2. Tor 네트워크의동작원리 미시간대학교의 LSAIT(College of Literature, Science and the Arts Information Technology) 자료 http://webapps.lsa.umich.edu/lsait/admin/tor%20routing%20infomation%20.pdf Tor 네트워크의동작원리와알고리즘에관한논문 Roger Dingledine, Nick Mathewson, Paul Syverson. Tor: The Second-Generation Onion Router. Proceedings of the 13th USENIX Security Symposium. pages 303-320, 2004. Tor 네트워크의서킷및향상된서킷스케줄링알고리즘을제안한논문 Can Tang, Ian Goldgerg. An Improved Algorithm for Tor Circuit Scheduling. Proceedings of the 17th ACM conference on Computer and communication security. pages 329-339, 2010. 3. Infosec Institute 의 Project Artemis 딥웹과 Tor 의추척가능성및특성분석관련연구 - 14 -
http://resources.infosecinstitute.com/project-artemis-osint-activities-on-deep-web/ 4. NSA 의 Tor 추적과관련된 Guardian 誌의기사 미국 NSA 가 Tor 를추적, 사용자들을감시해왔다는내용의기사 http://www.theguardian.com/world/2013/oct/04/tor-attacks-nsa-users-online-anonymity 5. Tor 관련악성코드분석자료 ESET 社의 Tor를이용한봇넷분석자료 http://www.welivesecurity.com/2013/07/24/the-rise-of-tor-based-botnets/ Kaspersky 社의 Tor 네트워크를이용하는안드로이드악성앱분석자료 https://www.securelist.com/en/blog/8184/the_first_tor_trojan_for_android - 15 -