트래픽분석을통한 IRC 봇넷과 P2P 봇넷의특성비교 김유승 *, * 최현상, 정현철 **, 이희조 * Yu-seung Kim *, Hyunsang Choi *, HyunCheol Jeong ** and Heejo Lee * 본연구는지식경제부및정보통신연구진흥원의 IT 핵심기술개발사업의일환으로수행하였음. [2008-S-026-01, 신종봇넷능동형탐지및대응기술] 본연구는지식경제부및정보통신연구진흥원의대학IT 연구센터지원사업의연구결과로수행되었음. (IITA-2008-C1090-0801-0016) 본연구는교육부 BK21 사업의지원을받아수행되었음. 요 약 봇넷은악성코드에의해감염된봇호스트들로이루어진네트워크로서봇마스터라고불리는공격자에의해원격조종되며 DDoS 공격을비롯한각종공격을수행하는데이용되는위협적인존재이다. 본연구에서는봇넷의행위로추정되는네트워크트래픽을수집하여이를분석함으로써실질적인관점에서봇넷의특성을밝혀내고자한다. 수집된네트워크트래픽은 IRC 봇넷과 P2P 봇넷으로써전자의경우상대적으로 C&C 서버의위치탐지가용이한반면, 후자에서는여러가지회피기술로인해트래픽분석만으로는봇넷의구조를파악하기어렵다는점을확인하였다. Abstract Botnet is the significant threat in the internet, which is the network of bot hosts infected by malware and is controlled by remote attacker called bot master. In this paper, we reveal the characteristic of botnet by gathering and analyzing the suspected network traffic. It is estimated that the observed traffic is from IRC botnet and P2P botnet We reveal that it is easy to detect the C&C server in the former case, while it is difficult to grasp the structure of the latter botnet with only traffic analysis. Key words Botnet, DDos Attack, Traffic Analysis * 고려대학교정보통신대학컴퓨터 전파통신공학과 ** 한국정보보호진흥원 제1 저자 (First Author) : 김유승, 교신저자 (Corresponding Author) : 이희조 접수일자 : 2008년 10월 09 일, 수정일 : 1차 - 2008년 12월 09 일, 게재확정일 : 2009년 02월 17일
2 韓國情報技術學會論文誌제7 권제호 1 2009년 2월 Ⅰ. 서 최초 IRC 기반의네트워크에서동작하는봇넷이발견된이후, 10년이채안되는기간동안봇넷은 HTTP를사용하여정상트래픽과의구분을어렵게하거나 peer-to-peer (P2P) 기반의네트워크상에서동작하여기존의중앙집중형명령전달구조를분산형구조로바꿔생존력을높이는등의기술을이용하는데까지발전하고있다. 이외에도실행압축기술, 코드자가변경, 명령채널의암호화등의다양한기법을사용하여탐지및회피를어렵도록그공격기술이교묘해지고있는실정이다. 한편, 최근넷봇 (Netbot) 과같이전문해커그룹에의해제공되는유저인터페이스를통해전문적인지식이나기술이없는일반인들도쉽게봇코드를생성하거나제어할수있어위험성이더욱부각되고있다. 2008년에는 ASPROX 봇넷에의해 Mass SQL Injection 공격이소개가되었는데이는 MS-SQL의보안취약성을이용해해당제품을사용하는서버를통해악성코드를확산되도록하여최근이슈가되고있다. 그외보안전문그룹에의해발표된보고서들에서도봇넷의규모, 피해양상에대해뚜렷한증가추세를나타내고있다 [1]-[2]. 이러한일련의흐름들에발맞추어봇넷을탐지하거나회피하기위한연구들이활발하게진행되고있다. 국내에서도규모를가리지않고대형웹사이트에서부터중소웹사이트에까지점차봇넷을이용한 DDoS 공격을시도하고, 공격중단의대가로금품을요구하는사례들이보고되고있어심층적이고도실제적용가능한관련연구의필요성이시급히대두되고있다. 본논문에서는교내망에서 IRC 기반의봇넷이발생하는트래픽을수집하고이를통해봇넷의특성을파악한기존의연구[3] 를확장하여허니넷 (Honeynet) 을이용하여 P2P 기반의네트워크에서동작하는봇넷으로유명한스톰봇(Storm Bot) 의트래픽을수집하였고, 이에대한분석을통해봇넷들의특성을파악하고자시도하였다. 통상적으로봇넷을분석하는기법에는감염대상호스트상에잠입한봇실행코드를역공학(Reverse engineering) 기 론 법을통해그동작행위를밝히는방법과네트워크차원에서봇넷이유발하는트래픽을면밀히살펴보는방법이있다. 본논문에서는후자의방법에초점을맞추어트래픽의전송패턴과패킷의패이로드에서봇넷의행위를유추해보는방식을사용하였다. 본연구를통하여실질적인봇넷의트래픽특성을파악하고이에대한탐지및회피기법을개발하는데기반이되는연구자료로서이용될수있을것이다. 본논문의 2장에서는 IRC 봇넷의특성에대하여분석하고, 3장에서는 P2P 봇넷의특성에대해살펴보도록한다. 4장에서는두가지봇넷에대하여비교결과를제시하고, 마지막으로 5장에서결론과함께향후전망에대해언급한다. 봇 - 로봇 (Rotot) 에서유래된것으로악성프로그램에의해감염되어외부호스트로부터원격으로제어를받는다. 봇호스트와동일한개념이다. 봇넷 - 봇들로이루어진네트워크로서봇마스터에의해조종되며봇넷의감염확대, DDoS 공격, 피싱및스팸, 개인정보수집, 불법데이터공유와같은악성행위들을수행한다. 봇마스터 - 봇넷을조종하는역할을하는공격자의호스트이다. 봇넷 C&C - 봇마스터가봇넷을조종하기위해명령및제어를내리는채널을의미한다. 봇코드 - 호스트를감염시켜봇으로만들기위한실행코드자체를의미한다. IRC 봇넷 - 봇넷 C&C로 IRC(Intrenet Relay Chat) 서버를이용하는봇넷으로서중앙집중형의구조를가진다. 구현이용이하고규모를확대하기쉽다는장점이있어초기봇넷에서부터많이사용되어오던방식이다. 하지만, 봇넷 C&C 서버만탐지해내면봇넷을쉽게무력화시킬수있다는단점이있다.GTbot,SDbot,Agobot,Netbot 등이유명하다. HTTP 봇넷 - IRC 봇넷이특정포트를사용하기때문에해당포트필터링을통해쉽게드러나는데 이를보완하기위해 HTTP를통신프로토콜로사용
트래픽분석을통한 IRC 봇넷과 P2P 봇넷의특성비교 3 하여정상 HTTP 트래픽과의구분을어렵게한다. Bobax 와같은봇이해당된다. P2P 봇넷 - P2P 프로토콜을사용하여봇넷 C&C 채널을구성하는봇넷으로 2007년발견된스톰봇 (Storm bot) 이대표적이다. 이것은 Kademlia 알고리즘을구현한 Overnet 상에서동작한다. 패킷들의패이로드를통해이들은주로 8080 포트를사용하는 TCP 패킷들로이루어져있음을확인하였다. 한편, 1100초구간에서대량의트래픽이확인되고있는데이는 80 포트를사용하는 TCP 패킷들로서트래픽혼잡에의해발생되는재전송요청및답신패킷들이주를이루고있었다. Ⅱ. IRC 봇넷트래픽분석 IRC 봇넷의 C&C 서버역할을하는것으로의심되는호스트로부터약 50분에걸쳐수집된트래픽을대상으로분석하였다. 이들패킷의전반적인특성은다음과같다. 총수집패킷개수: 25,094 개평균초당전송패킷수 :8.794 개/sec 평균패킷크기 : 199.210 Bytes 평균초당전송바이트 : 1751.92 Bytes/sec 평균초당전송비트 : 13.69 Kbit/sec 패킷들의평균크기는약 200 Bytes로나타났는데분포를세밀히살펴보면 40~159 Bytes 사이의패킷이거의 90% 가까이차지하고있었다. 프로토콜별로는거의대부분이 TCP 로이루어져있었고, 그중의절반정도는 HTTP 로이루어져있었다. 먼저 IRC 봇넷의특성상봇넷 C&C 서버를중심으로중앙집중형의통신구조를가지기때문에해당서버와빈번하게통신이이루어지는호스트들을대상으로패킷의분포를조사하였다. 그러나대량의트래픽이발생한것으로확인된구간들중일부에서는이들호스트들과통신한내용이확인되지않았다. 그림 1에서와같이 300초에서 1000초이후의구간이이에해당하는데이것은해당구간에서봇넷 C&C 서버가특정한 IP를가진외부의호스트와 1:1로통신하는것이아니라여러호스트들과 1:N의통신형태를가지기때문인것으로해석할수있다. 8080 포트를사용하는패킷들을살펴본결과 IRC 명령을다수포함하고있어, 8080 포트를봇넷 C&C 채널로사용하는 IRC 봇넷의동작으로추정되었다. 패킷들의세부내용을분석및종합한결과, 그림 2와같이 1개의봇마스터와봇넷 C&C 서버역할을하는 1개의 IRC 서버를발견하였고, 5개의채팅방과함께 112대의감염된호스트가이들채팅방에접속한것을확인하였다. 외부의봇마스터는봇넷 C&C서버를통해채팅서버를관리하고감염
4 韓國情報技術學會論文誌제7 권제호 1 2009년 2월 된봇들에게시스템폴더및로그폴더검색등의악성행위를수행하는것으로나타났다. 수집된패킷들은모두 UDP 패이로드의첫번째바이트가 0xe3 으로이루어져있었다. Ⅲ. P2P 봇넷트래픽분석 P2P 봇넷은많은경우일반 P2P 프로토콜을사용하며패이로드를암호화하고있기때문에일반적인필터링룰을이용하여트래픽을수집하는것이쉽지않다. 따라서허니넷(Honeynet) 을이용하여대표적인 P2P 봇넷으로알려져있는스톰봇(Storm bot) 을내부에유도한후이로부터유발되는트래픽을수집하였다. 트래픽수집은약 2시간 50분에걸쳐이루어졌으며상세한내용은다음과같다. 총수집패킷개수: 32,323 개평균초당전송패킷수 : 3.196 개/sec 평균패킷크기 : 64.519 Bytes 평균초당전송바이트 : 206.209 Bytes/sec 평균초당전송비트 : 2.0 Kbit/sec 수집된대부분의패킷인 32,310개가 UDP로이루 어져있었다. 수집된전체패킷은모두트래픽을수집한호스트의 IP 주소를송신지또는수신지로하여 UDP 포트로 3858 번을사용하고있었다. 또한, 33 개의외부호스트들이트래픽수집대상호스트와 100 개이상의패킷을주고받았으며, 나머지 3,532 개의호스트들과는 100 개이하의패킷만을주고받았고이들중상당수는 1개의단방향패킷을주거나받았다. 또한, 대부분은 UDP 패이로드기준으로 25 Bytes 이하의짧은패킷들로구성되어있었다. 스톰봇은 Overnet 프로토콜중일부명령어집합을사용하기때문에수집된패킷들을명령어종류에따라분류하였다[4]. 명령어는 UDP 패이로드의첫바이트가 0xe3의값을가지며두번째바이트의내용에따라표 1 과같이종류가결정된다. 명령군명령어명령발견된비고코드개수 Publicize 0x0c 13,484 Publicize 0x0d 9,960 ACK 접속관련제어명령군 Connect 0x0a 471 명령어 Connect 0x0b 21 Reply Search 0x0e 6,063 Search 0x0f 876 Next 데이터 Search Info 0x10 558 검색관련 Search 명령어전송명령군 0x11 594 Result Search End 0x12 295 Publish 0x13 1 데이터 Publish 게시관련 0x14 0 ACK 명령어 스톰봇의명령어별로패킷을분류해보면트래픽을수집한호스트가외부호스트들에게자신을알리는 Publicize 명령과이에따르면응답메시지들이전체트래픽의약 72% 정도를차지하고있다. 그뒤를이어트래픽수집호스트가외부호스트들에대해검색을시도하는 Search 명령과이에대한다이얼로그메시지들이큰비중을차지하고있다. 그림 3은시간대별로각명령어종류에따른트래픽양의추이를보이고있다.
트래픽분석을통한 IRC 봇넷과 P2P 봇넷의특성비교 5 전체적으로접속관련명령이주를이루고있고, 다음으로데이터검색관련명령들이많이관찰되는데특히수집시작시간이후 80분대에서대량의검색시도가이루어지고있음을알수있다. 데이터게시관련명령들은거의관찰되지않았다. 그림 4는접속관련명령어들의사용빈도가시간에따라변동하는추이를나타내고있다. 전체적으로스톰봇감염호스트가자신을외부호스트에게알리고있고, 수집시간초반에접속시도가활발히이루어지고있음을알수있다. 그러나초반 10 분간실제성공한접속의수는 6 개로극히적었다. 명령을송신하고있으며, Search Result의경우에는 42개의호스트들이감염호스트에게명령을송신하고있었다. 여기에서검색의결과에는 bcp://ipaddr:port 와같이위치정보를가진메타태크가포함되어있다.. 스톰봇은이위치정보를현재날짜, 체크섬과같이해쉬하여암호화한다 [5]. 한편, 수집된트래픽에서는봇넷의악성행위가직접적으로드러나지않고있기때문에세부적인봇넷의구조와 C&C 채널을밝히기는어렵다. 대신봇호스트들은 Publicize 명령을사용해 Overnet 상에서자신의존재를지속적으로알리기때문에이를통해대략적인봇넷의크기를유추해볼수있다. 수집된트래픽에서관찰된 13,448 개의 Publicize 명령들이총 3,565 개의호스트에서송신되었는데, 이들중 1시간이상해당명령을지속적으로송신하면서누적송신개수가 60개이상인호스트들만을대상으로한다고가정하면약 47개의호스트들이봇넷에연관되어있는것으로추정해볼수있다. 물론, 수집된트래픽이전체봇넷의일부라는점, 패킷의내용만으로봇호스트와정상 Overnet 호스트를구분하기어렵다는점에서이러한추정은실제값과상당한차이를보일수있다. Ⅳ. 비교결과 데이터검색관련명령어들의사용추이를자세히살펴보면앞에서언급한바와같이 80분경과전후시점에서그림 5와같이활발한검색명령들이관찰된다. Search Info의경우약 250여개의외부호스트들에게트래픽을수집한감염호스트가 수집된 IRC 봇넷과 P2P 봇넷의트래픽에서 C&C 채널상에서봇넷이송수신하는메시지는급격히증가하는트래픽의양으로는파악하기어렵다. 이는공격이시작된후의 DDoS 트래픽과는달리명령및제어에관련된트래픽의양이상대적으로적기때문에일반응용프로그램이유발하는트래픽과구분하기어렵기때문이다. 표 2에서 IRC 봇넷과 P2P 봇넷을분석한결과를요약하였다. 표에서보이고있는바와같이수집한 P2P 봇넷의경우에는봇이재정의한 UDP 포트를통해일반 P2P 프로토콜을사용하여통신이이루어진다. 이때, P2P 프로토콜은봇넷의위치정보를암호화하여봇호스트들간에교환하는데사용된다. 따라서봇호스트내부에서동작하는봇코드의암
6 韓國情報技術學會論文誌제7 권제호 1 2009년 2월 호화단계에서부터정적인분석이이루어지지않으면네트워크트래픽분석만으로는그구조를밝히기어려운한계를지니고있다. 또한, 명령및제어를내리는 C&C 서버자체가여러개의노드들로분산되어있고이것이프로토콜에의하여쉽게이동할수있어그위치를파악하는것이상당히어렵다. 감사의글 본연구는 2008년도지식경제부및정보통신연구진흥원, 한국과학재단, 교육부 BK21 사업의지원에의하여이루어진연구로서, 관계부처와본논문의심사위원님들께감사드립니다. 참고문헌 IRC 봇넷 P2P 봇넷 사용 TCP 기반의 IRCUDP 기반의 프로토콜프로토콜 Overnet 프로토콜 IRC 포트또는사용 HTTP 포트로고유동적임. 포트정되어있음. 직접적인악성행패킷봇넷의위치정보위 ( 호스트의중요내용교환폴더검색등 ) 필요에따라일부암호화암호화되지않음. 암호화함. C&C 서버 한곳으로집중되여러노드에분산되어있음. ( 탐지쉬어있음. ( 탐지어려 위치 움.) 움.) Ⅴ. 결 봇넷은중앙집중형구조에서분산형구조로진화하며다양한회피기술을통해탐지및대응을더어렵게하고있다. 본논문에서는실제봇넷이유발하는네트워크트래픽을수집하여중앙집중형구조인 IRC 봇넷과분산형구조를지닌 P2P 봇넷을분석하고그특성을비교하였다. 특히, P2P 봇넷의경우네트워크차원에서의분석만으로는세부구조및메시지내용을밝히기어렵기때문에봇호스트차원에서의정적분석이병행되어야할필요가있다. 추후연구에서는 P2P 봇넷의명령및제어채널과함께직접적인악성행위를수집하고, 감염호스트내부에서봇코드의행위분석을통해전체봇넷의구조와이에대한대응책을마련하고자한다. 론 [1] D. Turner, M. Fossl, E. Johnson, T. Mack, J. Blackbird, S. Entwisle, M. K. Low, D. McKinney, C. Wueest. Symantec Global Internet Security Threat Report, 2008 [2] Arbor Networks. Worldwide Infrastructure Security Report, 2007 [3] 김유승, 최현상, 김인환, 권종훈, 이희조, 봇넷트래픽특성분석: 사례연구, 제 30회한국정보처리학회추계학술대회, 제 15 권, 제 2 호, 2008.11, pp. 1429-1432 [4] P. Porras, H. Saidi, V. Yegneswaran, A Multi-perspective Analysis of the Storm (Peacomm) Worm, SRI International CSL Technical Note, Oct. 2007 [5] J. Stewart, Inside the Storm: Protocols and Encryption of the Storm Botnet, http://www.blackhat.com/presentations/bh-usa-08/ste wart/bh_us_08_stewart_protocols_of_the_storm.pdf 저자소개 김유승 (Yu-seung Kim) 2002년 8 월 : 고려대학교컴퓨터학과학사 2002년8 월~ 2008년2 월 : 삼성전자정보통신총괄선임연구원 2008년 3 월 ~ 현재 : 고려대학교컴퓨터 전파통신공학과석사과정관심분야 : DDoS attack, 무선보안
트래픽분석을통한 IRC 봇넷과 P2P 봇넷의특성비교 7 최현상 (Hyunsang Choi) 2000년3 월~ 2004년8 월 : 고려대학교컴퓨터학과학사 2004년9 월~ 2006년8 월 : 고려대학교컴퓨터학과석사 2007년 3 월 ~ 현재 : 고려대학교컴퓨터 전파통신공학과박사과정관심분야 : 네트워크보안, 공격시각화, 봇넷탐지 정현철 (HyunCheol Jeong) 1989년3 월~ 1996년2 월 : 서울시립대학교전산통계학사 1997년3 월~ 1999년8 월 : 광운대학교전자계산석사 1996년 7 월 ~ 현재 : 한국정보보호진흥원팀장관심분야 : 네트워크보안 이희조 (Heejo Lee) 1989년3 월~ 2001년2 월 : 포항공대컴퓨터공학과학사/ 석사/ 박사 2000년3 월~ 2001년2 월 : Purdue University 박사후연구원 2001년3 월~ 2003년10 월 : 안철수연구소 CTO 2004년 3 월 ~ 현재 : 고려대학교컴퓨터 전파통신공학과부교수관심분야 : 네트워크보안, 인터넷웜/DDos 공격대응기술, 고가용성시스템설계