웹 서버 취약성, 걱정 뚝
상태바
웹 서버 취약성, 걱정 뚝
  • 승인 2006.06.26 00:00
  • 댓글 0
이 기사를 공유합니다

정책 개발·관리와 구성·정확성 등 평가 … 임퍼바가 최고
WAF(Web Application Firewall)는 레이어 7에서 스텔스 공격을 차단한다. 이번 리뷰에서는 이러한 네 가지 어플라이언스 네 개를 테스트 무대에 올려봤다. 이들 모두가 잘 해내긴 했지만 그 중에서도 특히 에디터스 초이스로 선정된 임퍼바 제품은 직관적인 인터페이스와 포괄적인 정책 개발 능력에 힘입어 경쟁자들을 너끈히 물리쳤다.

어떤 웹 사이트가 당신의 서버에서 돌아가고 있는지를 안다고 생각하는가? 우리도 그랬다. 우리는 자신있게 웹 애플리케이션 방화벽(WAF) 테스트를 시작했지만, 우리가 알지 못했던 사이트에 대한 요청이 들어오는 것을 목격했다. 그리고 바로 여기에는 취약성이 있었다.
우리는 업체측에서 테스트 중인 어플라이언스에 오래된 데이터를 남겨뒀을 것이라고 가정했지만, 물어본 모든 업체들은 절대 그렇지 않다고 주장했다. 때문에 NSLOOKUP을 실시해 봤는데, 그 결과 놀랍게도 우리 회사 프로그래머들 중 하나가 우리의 개발용 서버에서 비영리 웹 사이트를 운영하고 있다는 사실을 발견했다.
경험에서 나온 소리를 무시하지 말라. 당신의 웹 서버에서 무엇이 돌아가고 있는지를 정확히 알고 싶다면 웹 애플리케이션 방화벽, 즉 WAF가 톡톡히 제몫을 해낼 것이다. 소프트웨어나 애플리케이션 형태로 사용 가능한 WAF는 애플리케이션 계층에서 작동하며, 딥 패킷 점검(Deep Packet Inspection)을 이용해 웹 애플리케이션의 내부 활동을 나타내면서 비보안 프로그래밍에 의해 가능해진 공격들을 막아준다.
우리는 WAF 어플라이언스 업체들에게 본지 시러큐스 대학 리얼월드 랩으로 장비를 보내줄 것을 요청했다. 그리고 HTTP 트래픽을 점검하고, SQL 투입, 버퍼 범람, 폼필드 조작, 세션 하이재킹, 경로 유출(path traversal), 강제 브라우징(forceful browsing) 등과 같은 일상적인 웹 공격을 애플리케이션 계층에서 탐지 및 중단하는 결정을 내릴 수 있어야 한다는 조건을 제시했다.
우리 기준을 통과한 제품은 브리치 시큐리티(Breach Se curity), 시트릭스 시스템즈(Citrix Systems), F5 네트웍스(F5 Networks), 임퍼바(Imperva), 넷컨티넘(NetCon tinuum) 및 프로티그리티(Protegrity) 등 6개 제품이었다. 하지만 시트릭스가 일찌감치 테스트를 지원하는 데 필요한 기술 자원이 부족하다며 물러섰고, 프로티그리티의 경우에는 우리가 그 어플라이언스를 처음 평가해 보고 나서 제외시키기로 결정했다. 이유는 정책 빌더와 보고 인터페이스에 세부적인 부분이 너무 많이 빠져 있었기 때문이다. 프로티그리티 엔지니어와 함께 첫 테스트를 하는 동안에 이 어플라이언스는 유효 URL로 가는 트래픽을 계속해서 차단했다. 로그에서는 사이트가 왜 차단당하는지에 대해 어떠한 설명도 찾을 수가 없었으며, 이 문제를 해결하느라 업체측 지원팀이 몇 시간을 고생했지만 별 소용이 없었다.

약간씩 다르게
결국 테스트 무대에는 네 가지 어플라이언스가 올랐으며, 이들 모두가 인상적인 모습을 보여줬다.
각각은 웹 애플리케이션 보호 방식에 있어 약간 다른 접근법을 택했다. 브리치게이트는 오프라인으로 실행되는데, 이 웹 애플리케이션 방화벽은 스위치의 미러드 포트나 허브를 통해 웹 서버로 접속 된다. 브리치는 이것이 장비가 단일 오류 지점이 되는 것을 막아주거나 대기시간을 없앤다고 주장하지만, 트래픽이 웹 애플리케이션 방화벽을 통과하지 않기 때문에 대기시간이 낮은 환경에서 공격이 탐지됐을 때 이를 차단하기가 마구잡이식이 되기 쉽다.
임퍼바의 시큐어스피어는 브리지의 역할을 한다. 우리는 웹 애플리케이션 방화벽을 우리 웹 서버 바로 앞에 배치하고 모든 트래픽이 이를 통과하도록 했다. 셋업하기는 쉬웠지만 이것은 오류 지점이나, 혹은 성능 병목현상 가능성이 있었다.
넷컨티넘의 NC-1100-AF와 F5의 애플리케이션 시큐리티 모듈이 있는 빅-IP(Big-IP with Application Security Module)는 몇 가지 모드로 돌아갈 수 있지만 우리는 이들을 역 프록시로 설정해 테스트했다. 이렇게 설정한 이유는 이 모드가 가장 안전하게 어플라이언스를 사용할 수 있는 모드이기도 했고, 업체 대표의 말에 따르면 이것이 가장 흔히 사용되는 모드였기 때문이다.
역 프록시 모드에서 이 웹 애플리케이션 방화벽은 클라이언트 브라우저와 웹 서버 사이의 중개인 역할을 한다. 셋업하기가 힘들고 얼마간의 대기시간이 있긴 했지만 대신 엄중한 보안을 얻을 수 있었다. NC-1100-AF는 테스트한 장비들 가운데 페일 오픈(fail open) 옵션이 없는 유일한 장비였다.
참가 제품들 가운데 일부는 전통적인 방화벽 기반에 뿌리를 두고 있지만, 반면에 침입 탐지 장비에서 진화한 것들도 있었다. 브리치게이트와 시큐어스피어(SecureSphere)는 처음부터 웹 애플리케이션 방화벽으로 만들어졌고, NC-1100-AF의 뿌리는 애플리케이션 보안 및 트래픽 관리에 있다. 그리고 빅-IP는 부하조절이 원래 영역이었다. 부하조절, SSL 가속화 및 캐싱 기능을 찾는 조직이라면 F5나 넷컨티넘 장비를 살펴봐야 한다.
네 가지 웹 애플리케이션 방화벽이 모두 인상적이긴 했지만, 그렇다고 해서 이들이 모든 취약성을 제거한다는 말은 아니다. 이들이 테스트나 코드 보안의 중요성을 덜어주지는 못하며, 패칭을 대체하는 것도 분명히 아니다. 하지만 이들은 가장 일반적인 웹 애플리케이션 공격 유형을 기반으로 규정을 식별하고 만들 수 있는 능력이 뛰어나다.
캐싱 서버나 웹 가속화, 그리고 부하 조절기와 같은 다른 서비스들과 계속 통합이 되고 있긴 하지만, 우리는 웹 애플리케이션 방화벽이 대부분의 기업 네트워크에서 없어서는 안될 부분이 될 것으로 예상하고 있다. 가트너는 모든 주요 애플리케이션 전달 컨트롤러들이 2007년까지 웹 애플리케이션 방화벽 기능을 포함하게 될 것으로 전망했다. 그리고 2008년이면 웹 애플리케이션 방화벽 및 애플리케이션 가속화 장비를 가진 조직의 80%가 하나의 컴비네이션 장비를 사용하게 될 전망이다.

학습에서 적응까지
모든 장비에는 몇 가지 학습(learning) 메커니즘이 내장돼 있었다. 임퍼바와 브리치 장비는 순수 학습 기반의 방화벽인 반면, F5와 넷컨티넘 장비의 학습 능력은 다소 한정적이다. 웹 애플리케이션 방화벽은 학습 모두에서 보통 차단이 아니라 모니터링용으로 셋업 된다. 트래픽 유형에 따라 어플라이언스가 적응(adaptation) 단계까지 도달하는 데는 며칠에서 몇 주가 걸릴 수도 있다.
적응 단계가 되면 웹 애플리케이션 방화벽에는 정책 세트를 역동적으로 만들기에 충분한 만큼의 웹 사이트 트래픽에 대한 정보가 쌓이게 된다. 이러한 정책은 입력물 종류, 트래픽 유형, 그리고 브리치에서처럼 HTTP 응답 등을 기반으로 한다. 전체적으로 웹 애플리케이션 방화벽은 테스트 환경을 학습하는 데서 뛰어난 능력을 발휘하긴 했지만, 여전히 우리가 가진 애플리케이션 지식을 기반으로 정책을 다시 조정해야 할 필요는 있었다.
우리 테스트 시나리오에서는 웹 서버 팜의 전면에 각각의 웹 애플리케이션 방화벽을 배치해, 조건에 맞는 데이터를 얻기 위해 서버 팜의 HTTP 트래픽을 모니터링하고 나가는 응답을 선택적으로 점검하도록 했다. 제품들은 ‘학습’을 할 수 있거나 없었으며, SSL 트래픽을 종료하는 부분은 우리가 요구하지 않았다.
우리는 이들이 폼 조작(form manipulation), 쿠키 탬퍼링(cokie tampering), SQL 투입(SQL injection), 세션 훔치기(session stealing), 강제 브라우징(force browsing) 및 기타 레이어 7 공격 같은 일상적인 공격 벡터들을 차단해 주리라 기대했다.
이러한 시나리오와 웹 관리 경험을 바탕으로, 우리는 각각의 웹 애플리케이션 방화벽을 평가하는 데 정책 개발, 관리 및 구성, 보고 및 장애관리, 정확도, 가격 등 다섯 가지 큰 기준을 사용했다.
정책 개발 부문에서는 어플라이언스가 학습 기반이든 아니든 정책을 구성하고 튜닝하는 데 있어서 유연성 정도를 평가했다. 우리에게 있어 정책 개발은 웹 애플리케이션 방화벽의 심장이라 할 수 있다. 브리치게이트는 튜닝하기 가장 간편했지만 가장 강력하다고 할 수는 없었다. 시큐어스피어는 등급분류(classification)와 시그니처 디테일(signature detail) 덕분에 NC-1100-AF와 빅-IP를 약간 앞섰다.
특히 우리는 시큐어스피어가 정책/시그니처을 방화벽 규정, 시그니처 규정 및 프로토콜 위반 규정 등과 같이 등급으로 구분하는 방식이 마음에 들었다. 게다가 시큐어스피어는 각 시그니처용으로 그 시그니처의 개요와 공격 정보, 영향받는 시스템, 외부 웹 레퍼런스, 그리고 폴스 포지티브(false positive)에 대한 세부 사항과 같은 정밀 정보 등을 보여줬다.
NC-1100-AF의 정책 매니저(policy manager)는 우리가 정책을 만들고 편집할 수 있게 도와주는 표현식 작성기(expression builder)며, 빅-IP는 정책 구성시 유용한 내장 크롤러(crawler)와 브라우저 리코더(browser recorder)를 제공한다.
정책 개발과는 별도로 웹 운영자는 역할 기반 관리에서부터 글로벌 방화벽 세팅 설정 등에 이르는 WAF 관리 및 구성 작업에 많은 시간을 보내게 될 것이다. 브리치게이트와 시큐어스피어에서 제공하는 관리 및 구성 툴은 사용하기 편리하고 직관적이지만, 강력한 툴셋을 제공하는 빅-IP와 NC-1100-AF에게 더 많은 점수를 주기로 했다.
모든 제품에는 일정 유형의 역할 기반 관리가 있었으나 빅-IP, 시큐어스피어, 그리고 NC-1100-AF의 경우 SOAP 보안 옵션과 같은 웹 서비스 제어 기능을 추가시켰다. 그러나 부하조절과 캐싱이 가능한 제품은 빅-IP와 NC-1100-AF뿐이다. 이들은 네거티브 정규 표현식(regular expression)과 같은 기능들을 제공해 인상적이었는데, 여기서는 이러한 표현식에 맞는 요청이 차단이 된다.
웹 애플리케이션 방화벽 장애관리와 보고 기능은 보안 환경에서 폴스 포지티브의 가능성을 최소화시키는 데 중요한 역할을 한다. 게다가 보고 기능은 제품의 가치를 입증해 주며, 어떤 경우에는 산업 규정을 준수하는 데 있어서도 결정적인 역할을 한다. 이 부문에서는 제품별로 큰 차이가 있었다.
브리치게이트를 제외한 전 제품에는 관리 인터페이스의 각 부분마다 작업 기반의 직관적인 도움말 기능이 내장돼 있는데, 이는 특히 어플라이언스를 셋업하고 구성할 때 매우 유용했다. 시큐어스피어와 브리치게이트는 경보 뷰어(alert viewer)에서 모든 이벤트를 그루핑할 수 있게 해줌으로써 우리가 수천 개의 유사한 취약성들을 스크롤링할 필요가 없었다. 이는 마치 윈도 이벤트 뷰어(Windows Event Vie wer)와 유사한 기능이다.
게다가 시큐어스피어와 빅-IP는 풀 패킷 요청을 볼 수 있게 해줬는데, 이는 잠재 공격을 조사할 때 유용했다. 시큐어스피어는 크고 포괄적인 빌트인 보고들에서 특히 높은 점수를 받았다. 우리는 시큐어스피어의 모든 보고서를 크리스탈 리포츠(Crystal Reports), PDF, 혹은 RTF 포맷으로 엑스포팅할 수 있었다. 이와는 대조적으로 빅-IP의 빌트인 보고서는 매우 좋지 못했으며, 브리치게이트 로그 데이터를 .TXT 파일로 엑스포팅할 수도 없었으며(시도할 때마다 에러가 났다), 때문에 분석을 수행하기가 힘들었다.

장비간 기능 ‘일장일단’
우리는 신뢰할 수 없는 여지가 있는 성능 테스트를 수행하는 대신, 취약성 테스트의 정확성에 초점을 뒀다. 워치파이어(Watchfire)의 앱스캔(AppScan) 6.0을 이용해 우리는 각각의 어플라이언스에서 약 8천 개의 공격을 퍼부었으며, 그 결과는 비교적 괜찮은 수준이었다. 즉 거의 모든 공격이 차단됐으며, 차단되지 않은 것들은 취약성이 덜한 것들이었다.
예를 들어 워치파이어는 HTML 코멘트로 된 민감한 정보는 취약성으로 간주했지만, 어떤 어플라이언스로 페이지에서 코멘트를 스트라이핑하지 못했다. 비록 일부 코멘트가 취약성이 될 수 있다는 데 동의하긴 하지만 HRML 코멘트에 대해 웹 애플리케이션 방화벽이 자연어 프로세싱을 해야 한다고 기대할 수는 없는 일이다. 결론적으로 우리는 포지티브 보안 모델을 기반으로 하는 빅-IP와 NC-1100-AF에게 정확성 부문에서 보다 나은 점수를 주게 되었다.
마지막으로 우리는 가격을 평가해 보았다. 모든 웹 애플리케이션 방화벽이 이 부문에서는 경쟁력이 있었는데, 기본 모델은 약 3만 달러 정도로 예상하면 된다.
F5가 우리에게 보냈던 빅-IP는 6만5천 달러지만, 이 회사는 최근 테스트한 제품 만큼 강력하지 않으면서 부하조절 기능을 포함시키지 않고 가격은 2만8천 달러인 새 어플라이언스를 발표한 바 있다.
모든 장비들이 마음에 들긴 했지만 결국 임퍼바의 시큐어스피어가 에디터스 초이스로 선정됐다.
우리는 학습 기반의 방화벽을 좋아하는 성향이 있으며, 시큐어스피어에는 업데이트와 변경이 가능한 일련의 빌트인 시그니처들이 포함돼 있었다. 그 깔끔하고 편리한 인터페이스는 직관적이었으며, 포괄적인 정책 개발이 가능했다. 그리고 공격 정보와 심각성에 대해 우리를 호응케 했던 특정 시그니처들도 인상적이었다.
F5의 빅-IP는 트래픽 관리에 뿌리를 두고 있어 다루기가 가장 복잡한 장비였다. 넷컨티넘과 마찬가지로 F5는 포지티브 보안 모델을 사용하지만, 빅-IP 셋업이 그 스파이더링(spidering) 툴 덕분에 보다 간편했다. 이 제품의 한 가지 특장점은 차단되는 각각의 요청에 추적 번호(tracking num ber)를 배정하는 방식이다. 이것은 관리자나 엔드유저 모두에게 편리한데, 이들에게 무엇이 차단되는지에 대한 정보를 주고 관리자가 그 이유를 보다 깊이 추적할 수 있게 해주기 때문이다.
NC-1100-AF는 포지티브 보안 모델을 사용하며, 학습 기반이 아니다. 승인된 트래픽에서만 허용이 되는 이 모델을 좋아하는 사람들도 있겠지만, 우리로서는 셋업 시간이 너무 길었다. 물론 보다 강력한 보안을 위해 어느 정도의 시간 소모를 감수할 수는 있지만, 포지티브 모델이 과연 훨씬 시간이 적게 걸리는 학습 기반 웹 애플리케이션 방화벽에서 보기 힘든 수준으로 보호 기능을 강화시켜주는지 확신할 수 없었다.
브리치는 사용자 인터페이스에 있어 실행하기 가장 쉬운 장비였다. 하지만 브리치게이트에는 NC-1100-AF에서와 같은 시그니처 변경, 심층 보고(in-depth reporting), 다중 모드 작동 등과 같은 일부 고급 기능들이 없었다. 브리치는 경쟁사들보다 이 시장에 들어온지가 얼마되지 않지만, 장차 모습을 기대해 볼 만한 기반을 갖추고 있다.


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