하드웨어기반의고성능침입탐지기술 High-Performance Intrusion Detection Technology in FPGA-Based Reconfiguring Hardware u-it839 의정보보호이슈특집 김병구 (B.K. Kim) 윤승용 (S.Y. Yoon) 오진태 (J.T. Oh) 장종수 (J.S. Jang) 네트워크보안구조연구팀연구원네트워크보안구조연구팀선임연구원네트워크보안구조연구팀팀장네트워크보안그룹그룹장 목차 Ⅰ. 서론 Ⅱ. 관련연구 Ⅲ. 고성능침입탐지기술 Ⅳ. 시스템구현및적용 Ⅴ. 결론및최신연구동향 인터넷의발전과더불어네트워크상에서의침입시도가갈수록증가되고다변화됨으로써, 이에대한대응으로많은침입탐지시스템들이개발되었다. 그러나, 현재의대다수침입탐지시스템들은갈수록증가하는트래픽양을처리하는데어려움이있다. 즉, 기가비트이더넷환경과같은고속네트워크환경이현실화되고있고, 이를바탕으로한대용량의데이터를처리할수있는보안분석기법들에대한필요성이대두되고있다. 따라서, 본논문에서는고속네트워크환경에적합한하드웨어기반의고성능침입탐지기술에대해서설명한다. 이는대용량의트래픽데이터들을실시간으로분석하기위한기술로써, 점점고속화되고대용량화되어가는대규모네트워크환경에서의다양한침입을보다빠르고정확하게탐지하고대응하기위한기반을제공한다. 51
I. 서론 네트워크의고속화및이를바탕으로한대용량데이터의송수신은침입탐지시스템의적용환경에도많은영향을미치게되었다. 또한, 인터넷의발전과더불어네트워크상에서의침입시도가갈수록증가되고다변화됨으로써, 기존의저속침입탐지기법에대한변화를요구하고있다. 다시말해서, 갈수록고속화되고대용량화되는네트워크환경과보다다양해지는침입시도에적절히대응하기위해서는보다빠른시간내에많은데이터를분석할수있는기법이요구된다. 그러나, 현재의대다수침입탐지시스템들은갈수록증가하는트래픽양을처리하는데에어려움이있다. 즉, 기가비트이더넷 (Gigabit Ethernet) 환경과같은고속네트워크환경이현실화되고있기때문에이를수용할수있는보안분석기법들이요구되고있다 [1],[2]. 따라서, 본논문에서는고속네트워크환경에서의침입탐지및대응기능을제공하기위한하드웨어기반의고성능침입탐지기술을설명한다. 이는기가비트이더넷환경과같은고속네트워크환경에적합한기술로써, 하드웨어가갖는리소스의한계를최대한극복할수있는침입탐지기법을제공한다. 본논문의구성은 II장에서침입탐지시스템에대한기존의연구결과및동향들에대해서살펴보고, III장에서하드웨어기반의고성능침입탐지기술의구성요소와수행메커니즘에대해서기술한다. IV장에서는설명된기술의구현결과및적용환경을기술하며, 마지막으로 V장은결론및최신연구동향에대해기술한다. Ⅱ. 관련연구 지금까지최고의보안제품이라는보편적인인식하에방화벽이도입되었으나, 점점다양해지는침입행위들에대응하기위해서침입탐지시스템이나가상가설망등의보안장비들이부각되기시작했다. 더나아가최근에는침입방지시스템의개념이침입 탐지시스템의개념을포괄하고있다. 이는유사한개념이지만, 능동적대처능력측면에서차별화된다. 침입탐지시스템의주기능이네트워크상에서발생하는악의적침입행위를탐지하고, 이에대해사전에정의된정책에따라경고메시지전송등을수행하는것이라면, 침입방지시스템은침입을탐지하는것뿐만아니라, 침입이일어나는것을근본적으로방어하는것을목적으로하는능동적대응개념을포함하는솔루션이다. 무엇보다도이러한시스템들모두정확한침입탐지능력에바탕을두고있다고할수있는데, 이와같은침입탐지시스템은공공기관에서높은예산을집행하고있을정도로그중요성이높이인식되고있으며, 국내외적으로여러제품들이연구개발되고있다. 그러나, 기존의침입탐지시스템은방대한데이터분석에따른성능문제및오판등과같은많은문제를가지고있다. 현재의침입탐지시스템이지니고있는기술적한계, 즉문제점은무엇보다도패킷분실률및침입탐지율과같은침입탐지시스템의성능문제라할수있다. 성능은꾸준히여러개발자들에의해서개선되고는있으나, 이는돈과시간이많이소요되는작업이다. 그럼에도불구하고성능개선은무엇보다도중요한해결과제이다. 또한, 점점고속화, 대용량화되어가는네트워크환경은이에대한중요성을더욱증가시키고있다. 여러워킹그룹에서이러한성능상의요구를수용하기위한연구가진행되고있으며, 실제로많은상업제품들이개발되었다. 대부분 100Mbps 이하환경에서의탐지성능을보증하고 200Mbps까지동작가능하며, 일부핵심기술을개발한업체에선기가비트이더넷환경까지지원하고있다. 이러한기술들은고속트래픽모니터링과메모리관리, 데이터베이스관리및커널의컨트롤이가능해야하며, 그만큼좋은인프라가앞선기술을만들어내고있다고볼수있다. 그러나, 이들에대한성능분석결과가불분명하고명확한속도향상기법은제시되고있지못하다. 이와같은필요성을충족시키기위한기술로써고속침입탐지기술을하드웨어로만들기위한노력들이있었으나, 대다수 52
김병구외 / 하드웨어기반의고성능침입탐지기술 하드웨어보안시스템들은제한된리소스의한계로인해서적용될수있는패턴의수에제약을가지고있다. 따라서, 이에대한최대한의적용이가능하면서실시간으로침입탐지기능을수행하는고속의하드웨어를만드는것이쉽지않았다. 따라서, 본논문에서는이러한성능개선의관점에서하드웨어기반의고성능침입탐지기술을설명하고, 이를통한고성능의트래픽분석및탐지기능을제공하고자하였다. 소프트웨어기반의시스템과는달리하드웨어기반의시스템은메모리상의제약을동반하기때문에수많은유해트래픽패턴들을효율적으로적용할수있는기법이요구된다. 따라서, 본논문에서는제한된메모리상에최대한의유해트래픽패턴들을효율적으로배치, 적용하면서도성능저하가발생하지않는침입탐지기술을설명한다. Ⅲ. 고성능침입탐지기술 1. 패턴매칭기법 하드웨어기반의고성능침입탐지기술은기본적으로고속의패턴매칭기술을기반으로이루어진다. 가령, 특정패턴을갖는단일패킷을침입으로 판정할수도있으나, 특정패턴을갖는여러패킷을분석하여침입으로판정할수도있다. 또한, 침입판정에대한정확도를높이기위해서세션상태정보와같은여러종류의정보를활용하기도한다. 이와같은패턴매칭기법은패킷헤더와페이로드에대한분석을수행하며, 기적용되어있는공격시그니처에기반하여해당패킷이공격패킷인지아닌지의유무를판단하게된다. 즉, 침입탐지기능을수행하기위해서는이와같은공격시그니처들을하드웨어메모리상에적재하고있어야한다. 기본적으로이와같은시그니처들은대부분페이로드정보를가지고있으며, 이부분에대한패턴매칭수행은대부분의침입탐지시스템에서의성능저하를유발한다 [3],[4]. 따라서, 이에대한효율적인메모리배치및매칭기법이요구된다. ( 그림 1) 은상기의목적을위해서패킷페이로드에대한스트링패턴매칭기법을보인다. 이는기본적으로해시값에기반한매칭기법이며, 일정단위의서브스트링단위로스트링매칭을수행한다. ( 그림 1) 에서와같이, 우선각시그니처페이로드는일정단위의서브스트링단위로나뉘어하드웨어메모리에적재되며, 메모리에적재되는위치는해당서브스트링의해시값을키로사용한다. 이후, 패킷이유입되면유입패킷의페이로드부분을해당크 aaaa Arriving Packet Hash Key i th Substring Prev_Ptr Alarm If Last Substring in a Signature aaa H(y) Key & Prev_Ptr Comparisons Yes Table Block 1 Prev Match Address - H(y) - H = 1 n n... Table Block 2 [{ C << ( n 1)} + { C Table Block n n >> (9 n)}] 9 %2 ( 그림 1) 스트링패턴매칭기법 53
기의서브스트링단위로이동해가면서해시값을구하고, 해당해시값을키로하여저장되어있는서브스트링정보와바로매칭하는방식으로스트링패턴매칭을수행한다. 이와같은수행은메모리블록마다동시에수행되며, 이를통해서즉각적인매칭유무를알아내게된다. < 표 1> 은이와같은스트링패턴매칭기법을사용한본연구진의 ATPS 시스템과다른기법들과의성능비교를나타낸다 [5]-[8]. < 표 1> 에서와같이, ATPS 시스템은 Logic Cells/Char 의값이 0.9로다른기법들에비해서메모리사용측면이월등히좋음을알수있다. 비록, 성능에서는떨어지는결과를나타내고있으나, 이는 125MHz 의클럭속도에맞추어개발된프로토타입이기때문이며기술적으로는 10.7Gbps의성능까지제공될수있다. 이외에, 패킷헤더부분에대한패턴매칭기법은 ( 그림 2) 에서와같이, TCP/IP 프로토콜헤더를구성하는필드들의크기에따라 8비트, 16비트, 32비트의 TCAM을기본으로하여매칭을수행한다 [9]. 이는최종적으로 256비트의매칭결과를출력하기 때문에최대 256개의헤더조합에대한매칭을수행할수있다. 이에대한결과는스트링패턴매칭수행과유기적으로상호동작하며, 이를통해서최종침입유무를판단하게된다. 2. 휴리스틱분석기법휴리스틱분석기법을이용한고성능침입탐지기술은패킷량과시간임계치에기반한유해트래픽감지기법이다. 일반적으로서비스거부공격이나포트스캔공격과같은네트워크상의이상유해트래픽은다량의패킷발생을특징으로하기때문에 [10], 하나의패킷이공격패턴에일치되더라도이를공격으로판정하기는어렵다. 따라서, 동일한패턴의패킷이다량으로유입되었을때침입으로판정하는것이보다높은정확도를제공하게된다. 여기에서동일한패턴에대한패킷분석은앞서설명한패턴매칭기법을동일하게사용한다. ( 그림 3) 은상기의목적을위해서패킷량과시간임계치에기반한휴리스틱분석기법을개략적으로도시한개념도이다. < 표 1> 패턴매칭기법성능비교 Description Input Bits Device Throughput (Gbps) Logic Cells/Char State Tables 64 Altera EP20K400E 10.1 15 Pre-decoded CAMs 32 Virtex2 6000 9.7 3.56 Granidt 32 VirtexE 1000 2.2 15.2 Parallel Comparators 32 Altera EP20K 2.9 10.6 ATPS[ETRI] 32 Virtex II Pro 2.0 0.9 0111_1111~0000_0000 16bits Field Lookup Map (128 Entries) 1011_1111~1000_0000 1111_1111~1100_0000 8bits Field Lookup Map (64 Entries) 32bits Field Lookup Map (64 Entries) TCAM Lookup Map Rule Combination Check Map Match Address Field Sequence Address 256 32 256bits Results 256bits Results 256bits Match Result Update (Prev. & Current) Sequence Check Map ( 그림 2) 헤더패턴매칭기법 54
김병구외 / 하드웨어기반의고성능침입탐지기술 ( 그림 3) 에서와같이, 공격패턴에일치하는패킷이최초유입되면초기상태에서패킷량에대한카운트가증가되면서진행상태로전이된다. 여기에서, 공격패턴에일치하는패킷이계속적으로유입되어카운트가기정의된임계치에도달하면최종상태로전이되어경보가발생하게된다. 그러나, 카운트에만의존한상태전이는소량의패킷에대한장기간의카운트에의한경보발생가능성이있기때문에시간임계치에따른상태전이가요구된다. 따라서, 타이머에의한시간임계치를측정하고, 시간임계치에도달한경우에진행상태를초기상태로재전이한다. 이와같은방식은서비스거부공격및포트스캔공격과같은네트워크상의이상유해트래픽에대한탐지정확도를높일수있도록도와준다. Attack traffic Timer 초기상태 time_over 진행상태 최종상태 Alert message count = 0 count ++ count==count_threshold time_threshold time_over time_over time_over ( 그림 3) 휴리스틱분석기법 마지막으로, ( 그림 4) 는상기의휴리스틱분석기법에쓰이는목적지 IP 엔트리관리기법을보여준다. 서비스거부공격과포트스캔공격은단일목적지 IP에대해서이루어지기때문에한정된하드웨어메모리상에서각목적지 IP를전부추적하기는어렵다. 때문에, 타이머및공격패턴에일치된패킷의빈도에따라지속적으로목적지 IP 엔트리를관리해줄필요가있으며, 이를통해서제한된메모리상에서의효율적인공격탐지가가능하다. 3. 세션관리기법침입탐지시스템이가지고있는문제점중하나가오탐률이라고앞장에서기술한바있다. 지금까지오탐률을줄이기위한많은방법들이연구되어왔는데, SPI 기술은침입탐지에세션상태정보를이용하여오탐률을상당히줄일수있는기술이다. SPI 기능이없는침입탐지시스템은 stick 이나 snot 과같은툴에의해엄청난잘못된경보가발생하여제대로된기능을수행하기가어렵다. SPI 기능을제대로수행하기위해서는효율적인세션관리기법이필수적인데, 기가비트네트워크환경에서패킷지연이나손실없이, 즉성능저하없이 100만세션이상을관리및추적하여패턴매칭과같은침입탐지기법에필요한상태정보를실시간으로생성해낼수있어야한다. IP arrived recently Link_3 (Count=4) IP_0 IP_1 IP_2 IP_q Timer = 100 Link_2 (Count=3) IP_0 IP_1 IP_2 IP_p Timer = 50 Link_1 (Count=2) IP_0 IP_1 IP_2 IP_m Link up Timer = 10 Link_0 (Count=1) IP_0 IP_1 IP_2 IP_n New tail Timer = 2 ( 그림 4) 목적지 IP 엔트리관리기법 55
실시간세션상태기반침입탐지기능을수행하기위해서는효율적인세션테이블관리기법이필수적이다. 이를위해본논문에서는 2중해시구조와 N-way set associative table 구조를사용하고있다. 우선패킷이입력되면패킷파서를거쳐세션테이블에필요한필드들을미리추출한다. 추출된 5-tuple( 프로토콜, 소스와목적지의 IP 주소, 포트번호 ) 정보를입력으로받아 2중해시기는 Hash1 (x) 와 Hash2(x) 함수를이용하여해당세션엔트리를인덱스하고관리한다. 여기서사용되는 Hash1 (x) 와 Hash2(x) 함수는 XOR 함수나 CRC 함수등임의의적합한함수일수있다. 첫번째해시함수인 Hash1(x) 는보다빠른세션테이블검색을위해, hash collision을허용하는각각의 hash set을포인트하는인덱스를생성하는데사용된다. 두번째해시함수인 Hash2(x) 는 Hash1(x) 에의해포인트된 hash set 안에서각각의세션엔트리를구별하는데사용되는 hash address를생성하는데사용된다. 세션테이블의각 hash set 안에는 N개의세션엔 트리를포함할수있어, N-way set associative session table 구조를하고있다. ( 그림 5) 의세션테이블은하나의세션엔트리가 32bit length 를갖는 32-way set associative session table을구성한것이다. 하나의세션엔트리에는 current state, time stamp, hash address를포함하고있다. Current state는현재해당세션의연결상태정보를포함하고있고, time stamp는세션테이블이 full 이되었을때어떤세션엔트리를삭제할것인가를결정하는데이용되고, hash address는동일한 hash set 안에서각각의세션엔트리를구별하기위해사용된다. 여기서 time stamp 는내부타이머에의해해당세션이접근될때마다갱신된다. 세션테이블의 hash set이 full 이되어더이상해당 hash set에새로운세션을할당할수없을때, 현재타이머의시간과세션엔트리의 time stamp를비교하여가장오래된세션을새로운세션으로대체한다. 즉 LRU 알고리듬을적용한다. 또한 TCP 세션중에는 RST이 5-Tuple Hash Key Generator Hash1(x) Hash2(x) Session Table 512bits(32bits 16 Entries) Hash Table 1 2... 15 16 2 17 SRAM #1(64Mb) Hash Table Current State(3) Time Stamp(6) Hash Address(23) 1 2... 15 16 32bits 2 17 SRAM #2(64Mb) ( 그림 5) 세션테이블구조 56
김병구외 / 하드웨어기반의고성능침입탐지기술 나 FIN 패킷을보내지않고종료되는경우가발생하는데, 이러한세션은세션테이블에서적극적으로제거해줘야한다. 이때에도세션엔트리의 time stamp를이용하여관리자가정해놓은특정 timeout 임계치 (threshold) 를넘으면해당세션엔트리를바로삭제한다. 세션테이블이 full이되어, 즉해당 hash set이 full이되어기존의세션중에아직종료가되지않은것이새로운세션으로대체되면잘못된세션상태정보를생성하게되므로세션테이블관리기법에있어서세션이 full out 될확률은아주중요하다. 이것은침입탐지오탐률로직결되기때문이다. 세션테이블각각의 hash set에할당되는세션의개수분포는식 (1) 과같은정규분포를따른다. 1 1 2 f ( x) = exp{ ( x µ ) } (1) 2π 2σ 2 µ Z = X (2) σ a µ ( ) ( µ b P a < X < b = P < Z < ) (3) σ σ 이를 (2) 와 (3) 을이용하여표준화한후, 32-way set associative session table에서세션이 full out 될확률을계산하면 P{X>32} = P{Z>8.3} 이다. 이것은 8.3 시그마로거의 0% 에가깝다. 결국, 본논문의 2중해시구조와 N-way set associative table 구조를이용한세션테이블관리기법은최소한의하드웨어리소스를사용하면서도원하는기능과성능을모두만족시킬수있는장점을갖는다. Ⅳ. 시스템구현및적용 본논문에서설명한하드웨어기반의고성능침입탐지기술은기존의침입탐지시스템이지닌성능문제를개선하고자개발되었다. 즉, 기가비트이더넷환경과같은고속네트워크환경에서의보다정확한고속침입탐지기능을제공하고, 이를통해보 다빠른대응이가능하도록하고자하였다. 본연구진에서는이를바탕으로한프로토타입으로써 ATPS 시스템을개발하였다. 기본적으로 ATPS 시스템의하드웨어로직은 Xilinx FPGA 상에서동작하도록구현되었으며 [11], CPU를통해침입패턴이탐지정책으로써적용되도록하였다. ( 그림 6) 은 ATPS 시스템의일환으로제작된프로토타입보드를나타내며, 이를여러도메인으로구성된시험망내에설치하여지속적으로시험운용하고있다. 본논문에서기술된고성능침입탐지기술을적용한 ATPS 시스템은고속의네트워크환경에적용되는것을목표로시험되고있으며, 수많은패턴의공격유형들과서비스거부공격및포트스캔공격과같은이상유해트래픽들에대한빠른징후포착및대응을수행할수있도록해준다는측면에서대규모네트워크환경에적용되어보안제어를용이하게해줄수있는장점을가지고있다. ( 그림 6) ATPS 보드 Ⅴ. 결론및최신연구동향 본논문에서는기가비트이더넷환경과같은고속네트워크환경에적합한보안제어기능을제공하기위한기반기술로써, 하드웨어기반의고성능침입탐지기술을설명하였다. 또한, 이러한기술의필요성과수행기법들에대해서간략히설명하였다. 무엇보다도, 이러한기술을바탕으로자체개발한 57
ATPS 시스템을통해서여러유형의침해행위들과이상유해트래픽에대한고성능의침입탐지기능을제공하고자하였다. 또한, 이와같은유해트래픽에대한이상징후를보다빨리탐지해냄으로써패킷처리에대한고속화를추구함과동시에네트워크를통한침해행위로부터의피해를최소화하고자노력하였다. 앞으로는여러시험을통해서나오는문제점들을보완하고, 보다정확한침입탐지기능을제공하기위한기법들을연구해나가고자한다. 즉고속화되어가는네트워크환경에서의보다나은성능향상과오탐률을낮추기위해서, 보다효율적인패킷처리메커니즘을추가적으로고려하고자한다. 이러한연구는보다많은데이터를고속으로정확하게처리함으로써간혹놓치기쉬운여러위협으로부터자신의네트워크를보호하는데도움을줄것이다. 이외에, 최근에는기존의시그니처기반의공격탐지방법으로는어려운, 즉공격패턴이알려지지않은 zero-day attack과같은공격이이루어지는상황에서네트워크의상태를파악하기위한이상상태 (anomaly) 분석방법에대한연구도활발히진행되고있으며, 이를통한시그니처자동생성기법들도활발히논의되고있다. ATPS FPGA 약어정리 Adaptive Threat Prevention System Field Programmable Gate Array 용어해설 서비스거부공격 : 시스템의정상적인동작을방해하는공격수법으로, 대량의데이터패킷을통신망으로보내거나이메일로보내는식의공격 FPGA: 이미설계된하드웨어를반도체로생산하기직전최종적으로하드웨어의동작및성능을검증하기위해제작하는중간개발물형태의집적회로 (IC). 반도체제조업자측에서보면양산되어일반적용도로사용되므로범용 IC의범주에속하고, 사용자측에서보면사용자요구에맞게프로그래밍하여사용할수있으므로주문형반도체 (ASIC) 범주에속한다. LRU Least Recently Used SPI Stateful Packet Inspection 참고문헌 [1] Byoung-Koo Kim, Jong-Su Jang, Sung-Won Sohn, and Tai M. Chung, Design and Implementation of Intrusion Detection System Base on Object- Oriented Modeling, in Proc. of the Int l Conf. on Security and Management, June 2002, pp.10-15. [2] C. Kruegel, F. Valeur, G. Vigna, and R. Kemmerer, Stateful Intrusion Detection for High-Speed Networks, in Proc. of the IEEE Symp. on Security and Privacy, 2002, pp.266-274. [3] M. Roesch. Snort-Lightweight Intrusion Detection for Networks, in Proc. of the USENIX LISA 99 Conf., Nov. 1999. [4] S. Kumar and E. Spafford, A Pattern Matching Model for Misuse Intrusion Detection, in Proc. of the 17th National Computer Security Conf., Oct. 1994, pp.11-21. [5] M. Aldwairi, T. Conte, and P. Franzon, Configurable String MatchingHardware for Speeding Up Intrusion Detection, in ACM SIGARCH Computer Architecture News, Mar. 2005, pp.99-107. [6] I. Sourdis and D. Pnevmatikatos, Pre-decoded CAMs for Efficient and High-Speed NIDS Pattern Matching, in Proc. of 12th IEEE Symp. on Field Programmable Custom Computing Machines, Apr. 2004. [7] M. Gokhale, D. Dubois, A. Dubois, M. Boorman, S. Poole, and V. Hogsett, Granidt: Towards Gigabit Rate Network Intrusion Detection Technology, in Proc. of the Int l Conf. of Field Programmable Logic and Applications, 2002. [8] Y. Cho, S. Navab, and W. Mangione-Smith, Specialized Hardware for Deep Network Packet Filtering, in Proc. of Int l Conf. on Field Programmable Logic and Application, Sep. 2002. [9] W. Richard Stevens, TCP/IP Illustrated Volume I: The Protocols, Addison Wesley, 1994. [10] Thomas Ptacek and Timothy Newsham, Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection, Secure Networks Inc., 1998. [11] http://www.xilinx.com 58