능동형 침입차단시스템
상태바
능동형 침입차단시스템
  • 승인 2006.05.26 00:00
  • 댓글 0
이 기사를 공유합니다

Tech Guide 능동형 침입차단시스템
효과적인 애플리케이션 보장, 능동형 IPS 부상
다양한 기능·지능적인 아키텍쳐 고려해야 … 2세대 IPS로 각광

효과적인 IPS(Intrusion Prevention System)를 위해 그간 IPS 솔루션은 진화를 거듭해왔다. 각 고객사의 네트워크 및 시스템 행위 패턴을 학습을 통해 지능적으로 분석해 분석한 내용을 바탕으로 공격을 탐지해내는 능동형 침입차단시스템(Behavioral IPS)은 차세대 IPS의 새로운 모델로 주목받고 있다.
이번호에 능동형 침입차단 시스템 모델이란 무엇인지 알아보고 오탐지를 최소화하기 위해서는 어떤 조건들이 필요한지 살펴본다. <편집자>

정범식
라드웨어코리아 세일즈 엔지니어
brianj@radware.co.kr

이미 능동형 침입차단시스템(Behavioral IPS)이란 말은 다양한 매스컴을 통해 수차례 소개됐기 때문에 그리 낯선 용어는 아닐 것이다. 초기 몇몇 능동형 침입차단 시스템이란 제품이 출시됐을 때는 매우 획기적이었지만 그 기대에 비해 많은 오탐지로 실망을 주었던 기억이 있을 것이다. 스스로 공격 패턴을 감지해 관리자가 항상 관리하고 필터를 만들지 않아도 되며, 새로운 공격 패턴에 대해 제로 데이(zero-day) 방어가 가능하다고 알려졌지만 실제 상황에선 적절한 대응을 하지 못했기 때문이다.
그럼 가장 큰 오탐지의 원인은 무엇이었을까? 여러 가지 다양한 원인이 있었겠지만 특정 트래픽의 임계치 값을 초과할 경우(예로 대학교의 합격자발표 혹은 쇼핑몰사이트의 한시적 이벤트 등) 급격한 트래픽을 외부 공격으로 간주해 서비스를 차단시킬 경우가 대표적인 한 예가 될 것이다. 그렇다면 좀더 지능적으로 판단할 수는 없는 것일까? 매일매일 새로운 패턴의 보다 강력하고 보다 확산력이 강한 웜 혹은 바이러스의 공격에 대해 그에 해당하는 필터를 업체에서 제공할 때까지 하염없이 기다려야 하는 것일까? 요즘의 웜은 워낙 다양하고 강력해서, 설사 필터로 막는다 해도 이미 서비스는 불가능 상태이거나 매우 느린 서비스를 보여줄 것이 불 보듯 뻔하다.
이번에 소개할 능동형 침입차단 시스템 이론은 위에서 언급한 1세대 능동형 침입차단 시스템 개념의 단점을 보안하고 보다 지능적이고 사고적인 이론이다. 그렇다면 과연 어떻게 동작되는 것일까? 아래 <그림 1>을 보자.

능동형 침입차단 시스템 시스템의 동작원리
<그림 1>에서 내, 외부 패킷이 처음으로 들어오는 곳으로 RT(Real Time) 통계(Statistics)에서 들어오게 된다. 이곳에서 인바운드 및 아웃바운드 트래픽 양을 측정하고, 끊임없이 학습(Learning) 모듈과 퍼지 로직 엔진(Fuzzy Logic Engine) 모듈로 트래픽을 보내게 된다. 퍼지 로직 엔진 모듈은 한마디로 어노말리(Anomaly) 공격을 각 등급에 맞게끔 판단하는 엔진으로 어택의 등급을 10단계로 구분하며 이는 다시 3가지(Attack, Suspicious, Normal)로 판단한다. 또한 학습 모듈에 의해 끊임없이 최적화된다. 만약 퍼지 로직 모듈에 의해 공격등급이 높게 나왔다면 풋프린트 룩업(Footprint Lookup) 모듈로 보내져서 약 17가지 항목을 AND나 OR 연산으로 최적의 필터를 자동으로 만들게 된다. 만약 17중 몇 가지의(<그림 1>은 4가지를 선택했다) 항목을 선택해 필터를 만들고 <그림 1>의 차단 정책(Blocking Rule) 모듈에 대입한 결과가 최적화될 때까지 위의 과정을 반복 후 최종적인 자동필터를 완성하게 된다.
그렇다면 퍼지 로직 모듈은 어떤 기준을 근거로 공격인지 아니면 일반 트래픽인지를 구분하는 것일까? 아래 <그림 2>를 보면 X, Y, Z 축 3가지 항목을 기준으로 공격, 의심(Suspicious), 정상(Normal) 등으로 분하는 것을 볼 수 있다.
즉 X, Y 및 Z 항목의 수치가 일치하는 점을 기준으로 결과가 결정이 된다. 위의 <그림 2>는 신규사이트 첫 오픈 시 폭주가 되는 시점에서 측정한 퍼지 로직 상태다. Y축에 초당 비정상적인(Abnormal) 패킷이 다량 증가하지만 X축은 단순 TCP 분포를 나타내며, Z축 또한 공격 등급 정도가 중간 정도 측정되어 결과적으로 의심스러운(Suspicious) 단계로 서비스되는 애플리케이션에는 전혀 문제를 주지 않는다. 만약 특정한 임계치 값이 초과됐을 경우 서비스 차단이라는 예전 방식의 IPS였다면 과연 어떻게 되었을까? 당연히 허용 임계치를 초과하기 때문에 애플리케이션 서비스가 차단됐을 것이다. 임계치를 풀어 버리게 되면 언제 어떤 공격에 노출될지 모르기 때문에 한시도 방심할 수 없게 될 것은 자명한 일이다.

<그림 3>은 위의 <그림 2>와 Y축의 값은 비슷하지만 상대적으로 X축의 값과 Z축의 값이 상대적으로 높게 측정되어 세점의 교차점이 공격 지점(Attack Area)에 놓여있는 것을 볼 수 있다. 이처럼 다양한 여러 가지 상황과 계속적인 학습기능으로 보다 다양하고 강력한 외부 공격으로부터 애플리케이션 서비스를 보장받을 수 있게 된다. 즉 진정한 애플리케이션의 보장을 위해 IPS의 기능이 자가 학습(Self-Learning)과 자가 조정(Self-Adjusting) 그리고 자가 수집(Self-Correcting) 기능을 모두 겸비해야만 한다.
이번엔 불특정 다수가 아닌 특정 IP 혹은 특정 IP 대역에 대한 정책을 논의해보자. 한 예를 들어 이미 잘 알고 있는 IP나 IP대역은 아래 <그림 4>처럼 W/B(White/Black) 리스트를 미리 정의하여 굳이 패킷분석을 할 필요 없이 바이패스 시키고 반대로 차단하고자 미리 정의된 IP 혹은 IP대역은 블랙 리스트에 등록이 되어 검색엔진을 거치지 않고 버려지게 된다. 그 외 알려지지 않은 IP혹은 IP대역은 검색 엔진을 통과해 허용여부를 판단하게 된다. 이런 초반 필터링을 통해 모든 패킷을 분석할 경우의 수가 줄어들게 되어 보다 빠르고 신속한 트래픽 처리가 이뤄지게 된다.
패킷분석 처리과정이 필요 시 주기적으로 업데이트된 다양한 공격 패턴에 대해 우선적으로 분석이 이뤄지고, 공격 DB에 없는 공격패턴에 대해서는 Behavioral 모듈을 통과해 허용여부를 판단하게 된다. 그 외 Syn-공격(Attack)과 스테이트풀 인스펙션(Statefull Inspection)이 필요한 경우 보다 면밀한 전문분석 모듈을 통해 유입의 허용 유무를 판단하게 된다. 그리고 맨 마지막으로 QoS 스케줄링 모듈을 통해 애플리케이션 서비스의 보장성을 유지하게 된다.
어느 대학교의 학교 홈페이지 서비스가 너무 느리거나 심지어는 아예 서비스 불능상태인 경우가 빈번해 조사를 하게 됐다. 물론 이 학교는 기존에 IPS 장비와 QoS 장비 모두 사용 중에 있었으며, 외부로부터의 공격이나 해킹 시도는 없었다. 조사 결과 학교 내부에서 웹 트래픽(TCP 80)의 사용률이 95%를 넘었으며 몇몇 특정 IP의 사용이 대부분을 잠식하고 있음을 알았다. 요즘의 P2P는 특정포트가 아닌 웹포트인 TCP 80포트로 서비스 지원하고 있었다. 이에 대해 특정 IP는 그룹웨어나 웹서버가 아닌 일반 클라이언트 PC였고 방화벽에서 ACL을 이용해 차단했으나 곧 IP주소가 변경되어 또다시 서비스 지연 사태가 일어나고 있었다.
이 경우 과연 어떠한 정책이 필요로 할 것인가? 웹 트래픽이므로 TCP 80 포트를 막을 수도 없고 내부 특정 IP를 차단하더라도 DHCP 서비스를 사용함으로 IP가 바뀌기 때문에 이 방법도 불가능하다.
지능형 IPS 장비는 특정 IP 혹은 IP 대역을 설정하여 각 IP기준으로 서비스를 허용하는 트래픽 사이즈를 지정할 수 있다. 이렇게 되면 아무리 IP를 변경하더라도 각 IP에 대해 허용된 임계값이 정의돼 있으므로 애플리케이션의 서비스는 곧 정상화될 수 있게 된다.

능동형 침입차단 시스템 도입시 고려사항
이번엔 비용적인 측면을 고려해보자. 아무리 장비가 성능이 월등하더라도 비용이 비싸면 도입시 매우 부담스러운 것은 당연할 것이다. 만약 장비가 필요한 포인트가 5군데 즉 라우터와 방화벽 사이, DMZ 구간의 서버 앞부분, 그 외 각 1, 2, 3층 고객들의 PC실 3곳 즉 5대의 IPS 장비가 필요로 하게 되는데 멀티세그먼트(Multi-Segment) 기능을 이용하면 한대의 장비로 5대 장비의 논리적 기능을 수행 할 수 있다.
스위치 기반의 IPS는 상당히 많은 물리적 포트를 지원하고 있게 되는데 이를 이용한 방법이며 <그림 5>에서처럼 실질적으로는 라우터와 방화벽 사이에 인풋/아웃풋 라인을 연결해 IPS 장비를 설치하고 나머지 4부분도 각 두 라인씩 서로 연결해 각 2포트당 정책을 별도로 할당할 수 있게 된다. 물리적인 연결 구성은 <그림 6>과 같다.
이 경우 반드시 고려해야 할 사항은 IPS 장비의 성능사항이다. IPS 장비는 정확한 성능을 나타내기 위해 반드시 설치될 장소의 여러 가지 상황을 정확히 인지하고 설치가 돼야 한다. 즉 전체 트래픽 특히 인/아웃 트래픽 및 서비스가 제공되는 애플리케이션들, 방화벽 혹은 스위치의 정책, 각 구간(VLAN)의 정책 등등 매우 많은 고려사항이 있으므로 사전에 숙지돼야 한다.

효율적인 애플리케이션을 위해 필요한 사항은 무엇들이 있을까?
<그림 7>을 보면 정말 다양하고 많은 기능이 필요로 한다는 것을 알 수 있을 것이다. 만약 IPS를 추가할 예정이 있다면 위와 같은 다양한 기능과 지능적인 아키텍처를 가지고 있는 장비를 면밀히 검토해 봐야 할 것이다. 단순하게 장비 도입 비용이나 처리속도만 고려하게 된다면 그 후 어떠한 결과가 나오리라는 것은 불 보듯 뻔 할 것이다.
현재 국외의 IPS 시장은 국내 시장보다 매우 활발하다. 국내와는 사뭇 다르게 점차적으로 도입이 되면서 IPS의 성능 및 신뢰도 같이 증가했기 때문이다. 초기 국내에 애플리케이션 보안을 위해 도입된 IPS의 기대는 효과가 크게 미치지 못했던 것은 사실이었지만 이러한 난관을 계기로 보다 강력하고 지능적인 행위기반 기능을 보유한 이른바 제 2세대의 IPS 시기가 도래한 것이다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.