DPI 기술분석 Analysis of Deep Packet Inspection Technology 신승원 (S.W. Shin) 강동호 (D.H. Kang) 김기영 (K.Y. Kim) 장종수 (J.S. Jang) 보안게이트웨이연구팀연구원보안게이트웨이연구팀연구원보안게이트웨이연구팀선임연구원네트워크보안연구그룹책임연구원, 그룹장 과거의패킷필터를기반으로하는단순한방화벽은더이상지능적인해커들을방어할수없다. 가트너에따르면현재의방화벽의기술은패킷필터에서 Application Proxy, Stateful Inspection 을거쳐 DPI 로진화하고있다고한다. NIDS 나 NS 를떠오르게하는 DPI 방식은차세대방화벽의기술로인정받고많은연구와개발이진행되고있으며, 실제제품으로도선보이고있다. 본논문에서는 DPI 기술의정의와알고리듬, 그리고발전방향에대해서알아볼것이다. I. 서론 네트워크보안을위한가장기본적인시스템은방화벽 (firewall) 이다. 방화벽은 ( 그림 1) 과같은형태로구축되는데, 이와같은위치에서방화벽은자신이보호하는서버그룹들로전달되는네트워크패킷 (packet) 을검사하여패킷을전달할지여부를결정하게된다. 방화벽과유사한기능을수행할수있는 NS(Network Intrusion Prevention System) 가등장하긴했지만, 아직은보조적인역할을수행하는 NIDS(Network Intrusion Detection System) 에대한인식이더깊기때문에네트워크보안에서 인터넷방화벽외부클라이언트들내부서버들 ( 그림 1) 방화벽의구성 방화벽의주도적인역할은아직그힘의여지가남아있다. 그러나, NS와같은새로운개념의기술과제품이등장하면서경쟁을이루게되면서방화벽역시기존의기술에서많은발전을이루게되었다. 본원고에서는이러한발전중에서차세대방화벽의필수적인요소로평가받고있는 DPI(Deep Packet Inspection) 에대해서알아볼것이다. Ⅱ. 방화벽개요 방화벽은네트워크보안을위한가장기본적인시스템이다. 방화벽은 ( 그림 1) 과같이외부네트워크와내부네트워크사이에위치하여내부네트워크와서버들을보호하는역할을하게된다. 가트너는기존의방화벽을다음의세가지로분류하였다 [1]. Access Control List 방화벽의초기형태이며, 보통라우터나게이트웨이와같은형태로구현되고, 5-tuple 정보들 (Src/Dst Address, Src/Dst Port, Protocol) 을이용하여관리자가지정한규칙을기반으로하여네트워크침입을판단하는시스템이다. 즉, 5-tuple 정보들을검사하는방식이다. 예를들어, 이러한시 117
전자통신동향분석제 19 권제 3 호 2004 년 6 월 스템의경우, 보통 80포트 (port) 로접속하는 메시지나 110포트로접속하는 POP 메시지는내부사용자들이이용할수있게하기위하여허용하고, 그외의포트들은잘못된접속이거나, 침입으로간주하고차단하는방법등을이용한다. Application Proxy 각업체들간의정의에논란이있지만, 가트너에서는이시스템을외부네트워크와서버그룹들사이에위치한소프트웨어기반의응용프로그램으로정의하고있다. 즉, application proxy 시스템은애플리케이션계층의정보를바탕으로침입여부를판단하는것이다. 예를들어, 웹서버를보호하기위한 application proxy가있다면, 이시스템은마치자신이 를이해하는웹서버처럼행동하면서, 외부사용자의요구를웹서버대신자신이받아들여서침입여부를판단하게된다. 이경우관리자는웹서버에대한침입을막기위하여다양한차단규칙을만들어낼수있다. 특히가트너의정의처럼소프트웨어를기반으로한시스템의경우다양한규칙을만들어낼수있다. Stateful Inspection 라우터나게이트웨이로구현된방화벽의발전된형태라고할수있다. 처음 Checkpoint[2] 연구소에서사용한용어로, 현재는대부분의방화벽업체에서이기술을이용할정도로많이이용되고있다. 기본방식은 access control list 방식과유사하나, 결정을패킷하나단위가아닌세션 (session) 단위로한다는점에차이가있다. 예를들어, 특정외부클라이언트가방화벽이보호하는내부서버로접속하는경우, stateful inspection을지원하는방화벽의경우, 연결을맺은후종료할때까지의세션정보를바탕으로침입여부를판단하는것이다. 가트너의위와같은분류에모든방화벽들이들어맞는것은아니지만, 대부분의방화벽에서채용하고있는기술들은위와같은것중에서하나를지원하고있다. ( 물론, 특정방화벽들은두개이상의것들을지원하는경우도있다.) 그러나, 이런일련의기술들만으로는완전한보안을이루기가쉽지않다. 더욱이간단한메시지만을전송하던네트워크환경이점차복잡하고다양한메시지체계를이루게되면서이러한요구는점점늘어나게되었다. 특히웹서비스 (web service) 로발전되어가는웹환경은 5-tuple 정보들만으로상당한정보를얻을수있었던과거의환경을벗어나패킷내부의콘텐츠를파악하여야메시지전달체계를이해할수있는환경에까지이르렀다. 대표적인예로 XML 문서를기반으로하는 SOAP(Simple Object Access Protocol) 과같은경우 5-tuple 정보들은단순한메시지전달을위한것일뿐실제그패킷이서버로전달되어행하여지는행동은내부 XML 콘텐츠에포함되어있다. 이러한경우, 위에서언급한기존의방화벽기술들만으로는해커등이 XML 콘텐츠를이용한침입을시도하였을때, 이를제대로탐지해내어제거하기가쉽지않다. 따라서, 기존의방화벽을발전시켜왔던학계와연구소, 업체들은이를개선하기위하여 DPI라는기술을개발하였다. 이어지는 III장에서는 DPI 기술에대한개요와개념그리고기존기술들과의차이를설명하고, IV장에서는 DPI를실제적용한제품및연구동향에대해서알아볼것이다. Ⅲ.. DPI 기술개요 1. DPI 란무엇인가? DPI 기술은기본적으로패킷내부의콘텐츠까지파악한다는것에그의미를두고있다. 동시에클라이언트서버간의패킷통신의규약에대한정보까지파악하여규약대로통신이이루어지고있는지, 아니면비정상적인통신형태가이루어지고있는지파악할수있다. 먼저 DPI의동작과개념에대해서알아보자. DPI를보면방화벽이나 NIDS에서정의하는 stateful inspection과상당히많은유사성을찾을수있다. ( 사실, 상당수의회사에서이두가지개념을혼동하여사용하고있으며, 구분한다하더라 118
DPI 기술분석 도그차이가각양각색이다.) 그러나, 가트너에서정의한개념을바탕으로 DPI를정의해본다면 stateful inspection과의차이를볼수있을것이다. 가트너에서는 DPI를네트워크전체에대한검사로정의하고있다. 또한, 순수하게패킷자체뿐만아니라, 패킷을주고받는애플리케이션프로그램들의동작에도그의미를두고있다. 그러나이에비해서 stateful inspection은각계층상에서의프로토콜의세션을유지하고이에대한정보를바탕으로하여, 이를분석하는것을의미한다. 만약, 4계층까지지원하는 stateful inspection 기능이있다면이는, 세션에대한정보를유지하여이를바탕으로네트워크패킷의이상유무를판별하는것이다. 그러나, DPI는네트워크전체계층에대한것뿐만아니라패킷의콘텐츠까지검사하는기능을가지게된다. ( 그림 2) 를보면 stateful inspection과 DPI의적용범위의차이를알수있을것이다. DPI는동시에단순한패킷의전달뿐만아니라그동작에도의미를부여하게된다. ( 그림 3) 을통해서그의미를알아본다면다음과같다. ( 그림 3) 의 (a) 는웹브라우저와웹서버간의연결을의미한다. 이 때, 브라우저는웹서버에연결을맺고웹페이지를전송받은다음 ( 세션 1 상태 ), 시간이지나서웹서버에의해서연결이끊어진상태이다. 이때, 웹브라우저가다시쿠키 (cookie) 를이용해서웹서버에요청을보내면 ( 세션 2 상태 ) 이는웹서버상에서는같은세션을의미하게된다. DPI의경우에서는 프로토콜의내용을파악해서세션 1과세션 2 모두하나의세션으로처리하게된다. 즉, 프로토콜상에서의세션의의미를가지는것이다. 그러나, stateful inspection만을지원하는방화벽의경우이를세션 1과세션 2의각각의다른세션으로처리할것이다. 따라서, 쿠키를이용하여공격을시도하는침입이발생한경우, 기존의 stateful inspection 의기술로는그침입을탐지해내기가쉽지않다. 그러나, DPI 기술을이용하는경우, 각각의정보를모두분석하므로침입을탐지할확률이상대적으로높다. 또한, ( 그림 3) (b) 와같이브라우저와웹서버의중간단에위치하여서로주고받는 프로토콜계층의내용을파악할수있기때문에, application proxy가할수있는분석까지가능하게된다. 결국 DPI 기술을채용한방화벽장비는 OSI-7 Deep packet inspection request 세션 1 request Stateful inspection for layer 7 request Stateful inspection for layer 4 connection closed by timeout request with cookie request Stateful inspection for layer 3 세션 2 request with cookie General network packet capture data proxy browser web server browser web server (a) (b) ( 그림 2) Stateful Inspection 과 DPI 의비교 ( 그림 3) DPI 의세션관리 119
전자통신동향분석제 19 권제 3 호 2004 년 6 월 계층상의모든프로토콜에대한것을그동작의의미까지부여하여검사를하게된다. 또한, 기존의 application proxy 상에서존재하는방화벽과달리 ( 그림 4) 처럼 DPI 기술을채용한방화벽은각각의프로토콜에대해서필요한검사를사용자의지정에따라서다르게할수있다. 이와같이 DPI 기술은애플리케이션계층의콘텐츠및프로토콜에대한정보를바탕으로좀더깊은분석을할수있다. DPI의이러한특성은현재네트워크보안에서많은문제가되고있는 IDS Evasion[8] 방법을이용한침입역시탐지해낼수있다. NIDS Evasion 방법은 프로토콜및 프로토콜의내부적인특성을이용하고있는데, 특히 프로토콜의 fragmentation 기능과 프로토콜의 reassembly 기능을악용하고있다. 예를들어, 어떤네트워크공격을시도하는사람이어떤웹서버를공격하여모든하드디스크의내용을지우려한다고가정해보자. 그리고, 침입을시도하려고하는시스템이 windows NT 서버하에서구동되고있는 IIS 웹서버라고한다면, 침입자는 GET/Catalog/Items/../../../../WINNT/SYSTEM32/ CMD.EXE?/C+format+C:\ 와같은 메시지를전송하여 IIS 웹서버가설치된시스템의하드디스크를포맷하려고할것이다. 따라서, 공격자는위의메시지를 IIS 웹서버로보낼것이고, NIDS의탐지를막기위하여메시지전송순서를임의로변경할것이다. 즉, ( 그림 5) 와같은형태로변경하여전송할것이다. 이렇게메시지순서를변경하면, DPI 기능이존재하지않는기존의 NIDS와방화벽에서는위의메시지를정상적인통상메시지로간주할것이다. 그러나, 만약 DPI 기술이채택된방화벽이라면, 위의메시지를 ( 그림 6) 처럼모두재조합하여본래의메시지를만들어서탐지하게되므로해커의공격의도를파악할수있을것이고, 바로공격임을알아서차단하게될것이다. 이렇듯 DPI 기술은차세대방화벽에서기본적으로갖추어야할기술로인정받고있다 [3]. 그러나, 모든기술들이그렇듯이 DPI 기술에있어서장점만존재하는것은아니다. DPI 기술의경우많은정보를바탕으로침입탐지를검사하기때문에상대적으로많은자원이필요하게된다. 특히, 5-tuple 정보만을검사하던초기의방화벽모델에비해서검사할요소들이수십배에이르기때문에많은시간과노력이필요하게된다. 이러한검사작업을소프트웨 시간 시간 GET/Catalog/I GET/Catalog/I tem s/../../.. request 로전송되는 worm 이나 virus 검사 s/../../.. tem DNS request DNS 로전송되는 worm 이나 virus 검사 /../WINNT/ /../WINNT/ TELNET request TELNET 프로토콜에대한 pattern matching SYSTEM32/C SYSTEM32/C SQL request SQL worm 에대한검사 MD.EXE? C+format FTP request FTP 로전송되는 worm 이나 virus 검사 C+format MD.EXE? +C:\ +C:\ Firewall with deep packet inspection 정상적인패킷전송순서 해커에의해변경된패킷전송순서 ( 그림 4) 방화벽상에서의 DPI ( 그림 5) 해커에의한패킷전송방식 120
DPI 기술분석 +C:\ MD.EXE? /../WINNT/ SYSTEM32/C C+ format tem s/../../.. GET /Catalog/I DPI 방화벽 De-fragmentation and reassembly GET/Catalog/Items/../.././../WINNT/SYSTEM32/CMD.EXE?C+format+C:\ 탐지 ( 그림 6) DPI 를이용한패킷재조립 어로행하는경우비교적그구현과기술에대한검증에걸리는시간이적게소요된다. 그러나, 소프트웨어로개발을하게되면 application proxy 계열의방화벽에서단점으로지적했던성능문제가더치명적으로다가오게된다. 그렇다고해서 ASIC이나 FPGA 혹은네트워크프로세서와같은하드웨어로개발을하게되면개발과검증에많은시간이소요되고동시에제품화에성공하여도비용문제가다시발생할수있다. 2. DPI 기술의장단점그동안, 앞에서언급한 DPI 기술의장단점을분류하여보면다음과같다. 장점이러한 DPI 기술을이용하면, 기존에 NIDS Evasion 기술들과같이방화벽이나 NIDS를무력화시켰던방법들을이용한공격들을상당수탐지할수있으며, NIDS나방화벽에서탐지할수없었던상위레벨의프로토콜들의취약점을이용한공격을막아내는것이가능하다. 이외에도상위응용계층의프로그램들에대한보안역시가능하게할수있으며 worm이나 DDOS에대한공격역시더확실하게막아내는것이가능하다. 단점가장문제는구현의복잡함과성능의문제이다. DPI을위해서는상위응용계층에서지원하는상당수의프로토콜에대한분석이이루어져야한다 (, FTP, DNS, TELNET, etc.). 이러한프로토콜은그표준에대한규약이매우복잡하고양이많아구현에어려움이따른다. 그리고, 이런분석이복잡해지게되면성능에도많은문제가따르게된다. 소프트웨어로개발을하는경우개발의어려움이줄고, 시간도단축되는장점이있으나, 역시성능을만족시킬수없기때문에대다수방화벽업체들은하드웨어방식을이용하여 DPI 기술을구현하는방향을선호하고있다. IV. DPI 제품및기술방향 1. 업체동향현재많은방화벽업체들이 DPI 기술을이미채용한제품을출시하였거나, 채용할계획을발표하고있다. NetScreen Technology[4], TopLayer Networks[5] 와같은방화벽전문업체에서부터로드밸런싱을전문으로하던 Radware[6], F5 Networks [7] 와같은업체에서도 DPI 기술을채용한보안제품 121
전자통신동향분석제 19 권제 3 호 2004 년 6 월 을발표하고있다. 특히 Radware에서출시한디펜스프로는스위치기반의 NS 제품으로네트워크장비에서 DPI 기술을이용하여네트워크보안기능을지원하는성공적인사례로들수있다. DPI 기술은순수히방화벽업계에서만이용되는것은아니다. 사실, DPI 기술자체가네트워크침입탐지를위해많이이용되는 NIDS에서이용하던기술을발전시킨형태이기때문에, NIDS에서진화한형태인 NS에서도많이채택되고있다. 그럼, 현재업계에서 DPI 기술을이용한제품들을간단하게살펴보기로하자. 가. Netscreen Technology 네트워크보안업체인 Netscreen Technology 는자사의방화벽에 DPI 기술을적용한것을가장강조하는업체중의하나이다. Netscreen 사의 DPI 기술을적용한방화벽의개념은 ( 그림 7) 로대변된다. Netscreen 사의 DPI 기술을적용한 Netscreen-5000 방화벽은 DPI 기술을충실하게재현한방화벽중의하나이다. ( 그림 7) 에서볼수있듯이 Netscreen-5000 방화벽은 DPI 기술을적용하여, 애플리케이션프로그램에대한공격과, 프로토콜 ambiguity 방지및 프로토콜에대한 De-fragmentation 및 프로토콜에대한 reassembly 등의기술을지원한다. 또한, DPI의성능문제를해결하기위하여 Application Specific Integrated Circuits( 이하 ASIC) 기반의 DPI 전용프로세서를채택하였으며, switching fabric과 multi-bus 기술을채택하여내부메시지전송을구현하였다. 나. TopLayer Networks 역시, 네트워크보안전문업체인 TopLayer Networks는 2003년도에국내의많은사이트에보안장비들을공급하였다. 그중에서도고속 ASIC 아키텍처기반의 AppSafe 3500 은 DPI 기술을이용하여, DDoS(Distributed Denial of Service) 공격완화, VPN, 다수의침입탐지시스템 (IDS) 을위한플로미러링 및방화벽로드밸런싱, VPN 로드밸런싱, 서버로드밸런싱등을제공하는다기능 Deep Inspection Protocol Conformance Application Attack Reassemble, Normalize, Eliminate Ambiguity Application Traffic Stateful Inspection Track Sessions Packet Filter Packets Application Traffic Deny Some Attacks Deny Traffic ( 그림 7) Netscreen 사의 DPI 기술 122
DPI 기술분석 보안어플라이언스이다. 업계에서유일하게특허받은아키텍처를통해 AppSafe 3500은국제표준화기구 (ISO) 에서정의한 OSI(Open Systems Interconnect) 모델의 7개레이어에서추출한매우상세한네트워크트래픽정보를사용할수있다. 기존라우팅및스위칭장비로는네트워크를통해전달되는정보패킷을자세히모니터링할수없으며보안위협을제대로차단한다는것이불가능하기때문에, AppSafe 3500의 ASIC 기반설계는매우자세한네트워크세션정보를확보및검토하는데필요한 DPI 기술의적용및연속플로분석을지원할수있다. 뿐만아니라 AppSafe 3500의 ASIC 기반설계는기가비트속도로트래픽을처리및포워딩할수있다는이점을제공한다. 다. Radware Radware사는본래보안관련제품보다는네트워크로드밸런싱등을위한스위치장비를주로개발하는업체였다. 그러나, 자사의스위치제품에보안기능을탑재하면서보안시장에진출하게되었고, 국내에서는지난 2003년 1월 25일인터넷대란에서 worm의확산을막아내는것을입증하면서많은호응을얻게되었다. Radware 에서출시한 Radware Security-Switch 역시이러한제품군들중의하나인데, Radware사는이제품에 DPI 기술을채택하였다. 이제품은 3Gbps 의속도를낼수있으며이러 Network Processor CPU 44 GB ASIC Network Processor 10GE 7 1GE 16 Fast Ethernet Ports StringMatch Engine ( 그림 8) Radware 사의 Security-Switch 구조도 한속도를유지하기위해서하드웨어로직을이용하여 DPI 기술을구현하였다. Security-Switch 내에는네트워크패킷을 1차적으로전송하는 44GB의속도를지원하는 ASIC으로개발된스위치가있고, 이어서전달된패킷을분석하는네트워크프로세서가 ASIC으로구현된 string matching과연계하여 DPI 기능을수행하게된다. 이에대한대략적인내부구조도는 ( 그림 8) 과같다. 위와같은보안전문업체제품들이외에도네트워크스위치장비전문업체인 F5 Networks에서제작한 BIG- 5100이나 CISCO에서제작한방화벽장비에서도스위치기능에 DPI 기능을추가하여보안기능을구현하였다. 또한, 국내업체인시큐어소프트와 Secui.COM과같은보안업체와그리고 LG 엔시스와같은네트워크장비업체에서도 DPI 기술을빨리적용할것으로보인다. 2. 학계동향보안업체뿐만아니라, 학계에서도 DPI 기술은많은관심을끌고있다. 특히, 네트워크성능이점차진화화게되면서불거진성능으로인한문제때문에많은사람들이고성능의 DPI 기술을구현하는데많은노력을기울이고있다. 앞장에서도언급했듯이 DPI는기존의방화벽에비해서훨씬더많은양의데이터를검사하기때문에더많은자원과시간이필요하게된다. 따라서, 기가급의성능으로진화하는네트워크의속도를따라가기위해서많은연구가진행되고있다. 이러한움직임은두가지로나누어볼수있는데, 먼저기존의네트워크프로세서를이용한 DPI의구현을들수있고 [9], 이어서 FPGA나 ASIC을이용하여 DPI를구현하는기술을들수있다 [10]. 네트워크프로세서를이용하여 DPI를구현하는경우, 기존의대량생산되고있는네트워크프로세서를이용할수있으며, 개발에드는시간과비용이상대적으로저렴하다는장점이있다. 그러나, 네트워크프로세서의개발방법론이아직완전히자리를잡지못하여, 개발이일반 CPU나소프트웨어에비해서상당히어렵고, 각회사마다지원하는기능과 123
전자통신동향분석제 19 권제 3 호 2004 년 6 월 표준이없기때문에호환성의문제가발생할소지가있으며, 각네트워크프로세서의성능과지원사양에따라서 DPI의성능이크게좌우된다는단점이있다. FPGA나 ASIC을자체적으로개발하여 DPI를구현하는방법은그자유도와성능에많은장점이있다. FPGA 로직을개발하면서 DPI에적용할수있는알고리듬이나새로운방법론을자유자재로적용할수있으며동시에성능면에서도만족할만한결과를얻을수있다. 그러나, 이방법은개발을주도하는개발자들의능력에많은부분이좌우되며, 동시에대량생산을하기쉽지않다는점에서단점을드러내고있다. V. 결론 DPI 기술을살펴보면그기능과적용범위가 NIDS에서이용하던방법과상당히유사함을알수있다. 현재 NIDS 업계에서뜨거운화제로부상하고있는 NS에대하여알고있는사람이면, DPI 기술이 NS와많은면에서유사성을지니고있음을알수있다. 처음네트워크보안이란개념이등장하면서방화벽이등장하고 NIDS가등장한후, 방화벽과 NIDS 는서로상호보완적인존재로인식되어왔다. 그러나, 상호보완적인존재란점이부각되면결국, 하나로통합되는것이보통기술의발전방향이듯이방화벽과, NIDS는점차서로의장점을받아들여서하나의통합된형태로발전되어나가고있다. DPI 역시이러한관점에서파생한기술로봐도무방할것이라생각된다. 방화벽의패킷차단기술과 NIDS 의콘텐츠검사를통한침입탐지검사기술의통합은서로나뉘어져존재하기보다는하나의통합된형태로존재하는것이더자연스러울것이다. 또한, 실제제품의간단한소개에서볼수있었듯 이대부분의제품들이 ASIC 기반의하드웨어로구현되어있으며 물론연구소나학교등지에서는 FPGA를이용하는경우도있으나, 대량생산을목표로하는업체에서는 ASIC 기반의구현이더매력적일것이다 소프트웨어기반의구현방법은사라져가고있다. 따라서, DPI를탑재하여차세대방화벽을개발하고자하는곳이라면, 하드웨어에대한기술을검토하는것이더타당할것으로보인다. 참고문헌 [1] R. Stiennon, DPI: Next Phase of Firewall Technology, Technology T-18-0340 Report, Gartner Group, 21 Nov. 2002. [2] Sheet and White Paper of SmartDefense, www.checkpoint.com [3] Kristen Noakes-Fry, Firewalls: Technology Overview, Technology Overview DPRO-90318, Gartner Group, 30 June 2003. [4] A Technology White Paper by Netscreen Technology, Netscreen s Deep Packet Inspection, www.netscreen.com, Oct. 2003. [5] Sheet and White Paper of AppSafe, AppSafe 3500, www.topayernetworks.com, 2003. [6] White Paper, Introducing 3-GBPS Security Switching, www.radware.com, 2003. [7] Sheet and White Paper of BIG-, BIG- 5100 Application Switch, www.f5.com, 2003. [8] Thomas H. Ptacek and Timothy N Newsham, Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection, http://www. insecure.org/ stf/secnet_ids/secnet_ids.html [9] 김대영, 조혜영, 하드웨어기반보안엔진분석기술, ICAT 2003, Apr. 2003. [10] Sarang Dharmapurikar, Praveen Krishnamurthy, Todd Sproull, and John W. Lockwood, Deep Packet Inspection Using Parallel Bloom Filters, Hot Interconnects 11(HotI), Stanford, CA, USA, Aug. 2003, pp.44-51. 124