2021-09-24 14:05 (금)
[기고] 웹 애플리케이션 방화벽의 과거, 현재, 그리고 미래
상태바
[기고] 웹 애플리케이션 방화벽의 과거, 현재, 그리고 미래
  • 길민권
  • 승인 2016.01.04 02:13
이 기사를 공유합니다

“기업 공격 60%, 보안 툴 우회하는 웹 애플리케이션 통해 발생한 것”
포지티브 테크놀로지스(Positive Technologies. 지사장 우병기)는 올해, 가트너가 발표한 ‘매직 쿼드런트, 웹 애플리케이션 방화벽 부문’에서 비저너리 기업으로 선정되었습니다. 이를 계기로 Positive Technologies의 웹 애플리케이션 방화벽 제품, 나아가서는 웹 애플리케이션 방화벽 전반에 관한 논의가 일어났습니다.

 
이것은 가트너 매직 쿼드런트 SIEM 부문이 2009년에 도입되었고 가트너 매직 쿼드런트 웹 애플리케이션 방화벽 부문이 지난해 처음 발표되기 시작했다는 점을 고려해 볼 때 이해가 갈만한 현상입니다. 그리고 아직도 웹 애플리케이션 방화벽을 일반 네트워크 방화벽이나 IPS와 구분하지 못하는 경우도 많습니다.
 
이번 글을 통해 이 같은 혼돈을 없애고, 아울러 공격기법의 고도화라는 맥락에서 경계 보안의 발전에 대한 일반적인 개요를 전달하는 시간을 가져볼까 합니다.  
 
1. 과거: 패킷 필터

 

처음에는 ‘방화벽’이라는 말이 신뢰할 수 있는 내부 네트워크와 인터넷 사이의 네트워크 필터를 가리켰습니다. 이 필터는 OSI 모델의 네트워크와 채널 수준 기준으로 의심스러운 네트워크 패킷들을 차단하는 데 사용됐습니다. 다시 말해서, 소스 및 목적지 IP 주소, 단편화 플래그, 포트 번호 등에만 집중할 수 밖에 없었습니다.
 
그 이후로, 방화벽의 기능은 계속해서 확장되어 세션 수준의 게이트웨이와 네트워크 연결 상태의 추적이 가능한 방화벽 등에도 적용되기에 이르렀습니다. 이들 2세대 방화벽은 활성 TCP 세션과 관련된 패킷을 점검할 수 있게 되는 등 품질과 효율성 면에서 발전을 이뤘습니다.
안타깝게도 이러한 형태의 방어는 시스템 아키텍처와 서비스 오류를 무시하는 애플리케이션 수준의 취약점들이 익스플로잇되는 오늘날의 대부분의 사이버 위협(80%)에는 사실상 무용지물입니다. 설상가상으로, 특정 포트, 주소, 또는 프로토콜(방화벽 작동의 주요 방식)등을 차단하면 적법한 애플리케이션들까지도 차단될 수 있습니다. 그렇기 때문에 방화벽이 보다 심층적인 패킷 컨텐츠 분석을 실시함으로써 애플리케이션 작동 방식을 제대로 이해할 수 있어야 한다는 필요성이 제기됩니다.
 
2. 침입 탐지 시스템/침입 차단 시스템(IDS/IPS)

 

곧이어 침입 탐지 시스템(IDS)과 침입 차단 시스템(IPS)이 등장했습니다. IDS와 IPS는 TCP 패킷의 데이터 필드를 조사하고 특정 서명을바탕으로 애플리케이션 수준에서 모니터링을 실행할 수 있습니다. IDS는 스위치의 SPAN 포트에서 리스닝을 실행하기 때문에 내외부 공격의 탐지가 모두 가능합니다.
 
보안 메커니즘의 향상을 위해 IDS와 IPS에 디코더(TCP 패킷 필드 파싱)와 프리프로세서(애플리케이션 수준의 프로토콜 파싱, 예를 들어HTTP)를 사용하기 시작했습니다. IPS Snort에서 프리프로세서가 사용되자 패킷 필터에 비해 경계 보안 효율성이 크게 향상되었습니다. 패킷 필터는 애플리케이션 수준에서 패킷을 점검하지만(layer7 모듈의 IPTables), 세션, 쿠키, 애플리케이션 작동 논리와의 연관성을 무시하고 패킷 단위로 점검이 실행된다는 커다란 문제점은 여전히 해결되지 않았습니다.
 
바이러스 확산을 막기 위해 프록시 서버가, 부하 밸런싱을 위해 리버스 프록시 서버도 등장했습니다. 프록시 서버와 리버스 프록시 서버는 기술적인 측면에서는 다르지만 애플리케이션 수준에서 완전히 동작할 수 있다는 공통점이 있습니다. 즉, 두 개의 TCP 연결(프록시에서 클라이언트, 클라이언트에서 프록시)이 설정된 뒤에는 트래픽 분석이 애플리케이션 수준에서만 실행됩니다.
 
3. 만능 NGFW/UTM

 

침입 탐지 시스템은 UTM(unified threat management, 통합 위협 관리)와 NGFW(next generation firewall, 차세대 방화벽) 솔루션들의 등장으로 한 단계 발전했습니다. UTM과 NGFW의 차이점은 마케팅 때문에 억지로 만들어진 것이지, 기능은 사실상 같습니다. 이 두 가지 소프트웨어 솔루션들은 여러제품들(바이러스 백신, IDS/IPS, 패킷 필터, VPN 게이트웨이, 라우터, 밸런서 등)의 기능들을 하나의 장치에 통합하려고 했습니다. 하지만 동시에, UTM, NGFW의 공격 탐지는 앞서 언급한 프리프로세서 기능의 구식 기술을 기반으로 실행됩니다.
 
웹 애플리케이션의 세부 사항들을 보면 웹 서버로 단일 사용자 세션이 실행되는 동안 여러 개의 TCP 연결이 설정될 수 있다는 것을 알 수 있습니다. 다수의 TCP 연결은 서로 다른 주소로부터 개방돼 있지만 공통의 세션 식별자(동적 식별자일 가능성이 높음)를 갖고 있습니다. 그리고 이것은 또 다른 결론을 이끌어냅니다. 정확한 웹 트래픽 보안을 보장하려면 완전한 기능을 제공하는 리버스 프록시 서버기반의 플랫폼이 필요하다는 것입니다.
 
그러나 기술만 다르다고 해서 웹 애플리케이션 보안이 특별한 것은 아닙니다. 웹 애플리케이션 보호: 웹 애플리케이션 방화벽에 대한 요구사항을 간략하게 말하자면, 웹 애플리케이션이 다른 애플리케이션과 다른 점은 다양성과 상호작용성입니다. 그러나 이러한 특징 때문에 일반 방화벽이 차단하지 못하는 새로운 세대의 위협들이 생겨났습니다. Positive Technologies는 2014년에 발생한 기업에 대한 공격의 60%가 일반 보안 툴을 우회하는 웹 애플리케이션을 통해 발생한 것으로 추정하고 있습니다.
 
자, 이제 데이터 전송에 HTTP, HTTPS을 사용하는 애플리케이션들을 위한 방화벽인 웹 애플리케이션 방화벽이 등장할 차례입니다. 웹 애플리케이션 방화벽과 기존 보안 시스템들과의 기능상 차이점은 아래와 같습니다.
 
각 기능에 대해 자세히 알아보도록 하겠습니다.

 
◇멀티프로토콜 보안
웹 애플리케이션 방화벽의 경우, 기능의 전문성이 제한적이기 때문에 HTTP, HTTPS가 아니면 프로토콜 문제들로부터 시스템을 방어할 수 없습니다. 그러나 HTTP를 기반으로 하지 않는 데이터 교환 툴들이 너무 다양하기 때문에 전문 시스템만이 처리할 수 있습니다. 예를들어, 일부 변수들과 값들은 example.com/animals?dogs=32&cats=23 또는 example.com/animals?dogs=32&cats=23 포맷으로 전송됩니다. 또, 일부는 쿠키와 HTTP 헤더를 사용해 애플리케이션 파라미터를 전송합니다.
 
아울러, 첨단 웹 애플리케이션 방화벽 모델들은 XML, JSON, 기타 최신 포털 및 모바일 애플리케이션의 프로토콜 등을 분석할 수도 있습니다. 특히, 이 기능은 HPC, HPP, Verb Tampering 공격 등 대다수의 방화벽 우회 방식들에 대한 대응이 가능합니다.
 
◇IP 평판
IP 평판 기술은 블랙 및 화이트 리소스 목록을 기반으로 하며, 모든 경계 보안 도구들이 동등하게 사용할 수 있습니다. 하지만, IP 평판기술의 실질적 가치가 과대평가되어 있는 것이 사실입니다. Positive Technologies 전문가들은 몇 달 동안이나 무심결에 멀웨어를 유저들에게 배포하게 되었지만 블랙리스트에는 포함되지 않았던 유명 통신사들을 알게 되었습니다. 안타깝게도, 정부 웹사이트도 바이러스 확산의 원인이 될 수 있을 정도로 멀웨어 삽입 경로는 굉장히 다양합니다. 적법한 리소스들도 차단될 수 있다는 것도 IP 평판 기술의 단점입니다.
 
◇공격 서명
공격 탐지에 대한 서명 접근 방식은 널리 사용되고 있습니다. 하지만 웹 애플리케이션 방화벽에서 사용이 가능한 정확한 트래픽 프리프로세싱만이 적절한 서명 사용 기능을 제공합니다. 프리프로세싱에 결함이 존재하는 경우, 공격 서명이 다루기 힘들 정도로 과도하게 많아질 수 있습니다. 또한, 관리자는 예를 들면 파라미터를 평문과 백분율 기호가 있는 16자리 코드로 전송할 가능성을 반영하려고 하는 작성자의 매우 복잡한 정규 표현식을 처리할 수 없게 됩니다.
 
◇자동 학습 및 행동 분석
공격자는 애플리케이션 수준의 공격을 실행하기 위해 서명 분석 방식을 무용지물로 만들어버리는 제로데이 취약점을 익스플로잇합니다. 이에 대응하려면, 네트워크 트래픽과 시스템 저널을 분석하여 올바른 애플리케이션 동작 모델을 생성하고 이를 바탕으로 이상 시스템 행동을 탐지해야 합니다. 웹 애플리케이션 방화벽은 아키텍처의 특성상, 전체 사용자 연결 세션을 점검하기 때문에 NGFW보다 더 철저한 행동 분석이 가능하며, 자동 툴을 통한 공격 탐지가 가능합니다(스캐닝, 브루트포스, DDos, 사기, 봇넷 등).
 
대부분의 경우, 행동 분석 모델의 학습이라고 하면 운영자가 화이트 트래픽을 취하여 보안 툴에 제공한다는 것을 암시합니다. 그러나 추후의 사용자 행동은 바뀔 수 있습니다. 프로그래머는 기술 사양의 수정 사항에 따라 인터페이스를 조정하고, 설계자는 ‘예뻐 보이게’ 만들며, 광고 캠페인은 촛점을 다른 곳으로 옮겨 놓는 일을 합니다. 양심적인 사용자를 위한 행동 기법을 단 한 번에 설계할 수는 없는 일입니다. 한편, 실질적인 ‘그레이 트래픽’을 사용하여 학습할 가능성은 소수의 소프트웨어 솔루션으로만 통합되는데, 그러한 솔루션은 전부 웹 애플리케이션 방화벽입니다.
 
◇사용자 보호
이 글에서 소개하는 경계 보안 장비는 웹 애플리케이션을 포함하는 서버들의 방어를 전문으로 합니다. 그런데, 웹 애플리케이션 클라이언트가 타깃인 또 하나의 공격 유형(예, CSRF)이 존재합니다. 공격 트래픽이 보안이 적용된 경계를 통과하지 않기 때문에 얼핏 보아서는공격 트래픽을 방어하기가 불가능해 보입니다.
 
공격 시나리오를 살펴보도록 합시다. 사용자가 은행 사이트로 접속해 인증 프로세스를 거쳐 또 다른 탭에서 감염된 리소스를 엽니다. 은행 관련 사용자 세션이 아직 종료되지 않았기 때문에 브라우저는 필요한 모든 인증 데이터를 제공하게 되고, 다른 창에 로딩된 JavaScript는 비밀리에 송금을 하라는 요청을 생성하게 됩니다. 이와 같은 상황에서는 은행 소프트웨어에 인증 알고리즘 취약점이 존재한다는 것이 매우 분명해집니다. 각 웹 페이지마다 고유의 토큰이 생성되는 경우라면, 이 같은 문제는 존재하지 않을 것입니다.안타깝게도, 소프트웨어 개발자들이 이러한 취약점들을 포함시키는 일이 발생하고 있습니다. 이에 일부 웹 애플리케이션 방화벽은 유사한 보안 메커니즘을 웹 폼으로 독립적으로 구현하여 클라이언트의 요청, 데이터, URL, 쿠키 파일 등을 보호합니다.
 
◇취약점 스캐너 통합
경계 보안 장비는 웹 애플리케이션을 보호할 뿐만 아니라 공격 모니터링도 실시합니다. 학습된 모니터링 기능은 보호되는 소프트웨어 결점들에 대한 이해를 기반으로 하기 때문에 관련성이 없는 공격 시도는 무시하고 기존 취약점을 익스플로잇할 수 있는 공격 시도들만 구별해 냅니다.
가장 좋은 웹 애플리케이션 방화벽의 예를 보면, 서비스 취약점 스캐너가 블랙박스 모드나 동적 분석 모드(DAST)로 작동합니다. 이러한스캐너는 공격자가 노리는 취약점을 빠르게 실시간으로 스캐닝하는 데 사용될 수 있습니다.
 
◇가상 패치
잘 알려진 취약점들이라 해도 즉각적인 수정이 가능한 경우는 거의 없습니다. 코드 패치 제공에는 시간과 리소스가 필요합니다. 그렇다보니, 중요한 비즈니스 프로세스가 중단되는 경우도 발생합니다. 외부 업체의 소프트웨어가 사용되는 경우, 수정이 아예 불가능할 수 있습니다. 따라서, ID, IPS, UTM, NGFW에 대한 개별 위협을 차단하려면 사용자 서명이 사용되어야 합니다. 사용자 서명을 생성하려면 공격 메커니즘에 대한 심층적인 파악이 선행되어야 합니다. 그렇지 않을 경우, 사용자 서명은 위협을 간과할 뿐만 아니라 다수의 오탐을 발생시킬 것입니다.
 
대부분의 최신 웹 애플리케이션 방화벽은 가상 패치에 대한 자동 접근 방식을 구현하고 있습니다. 이를 위해, 소스 코드 분석기(SAST, IAST)가 사용되고 있습니다. 소스 코드 분석기는 코드에 존재하는 취약한 문자열을 보여줄 뿐만 아니라, 특정 값의 익스플로잇을 생성합니다. 이렇게 생성된 익스플로잇은 코드가 수정될 때까지 웹 애플리케이션 방화벽으로 전송되어 가상 패치가 자동 생성되도록 합니다.
 
◇상호 관계성 및 공격 체인
기존의 방화벽은 실제 위협을 탐지하기 위해 수동 점검이 요구되는 수 천 개의 의심스러운 인시던트들에 반응합니다. IPS 공급 업체들은 이러한 인시던트들이 나타날 위험성을 줄이기 위해 대부분의 웹 애플리케이션 서명을 비활성화하는 것을 선호한다고 가트너 소속 전문가들은 지적합니다.
대부분의 최신 웹 애플리케이션 방화벽들은 인시던트들을 자동으로 분류하고, 스파이 활동에서 데이터 절도와 백도어 설치까지 등 공격 체인을 탐지할 수 있습니다. 따라서, 정보 보안 기술자들은 수 천 개의 잠재적 공격 대신 정말로 중요한 메시지만 수신합니다.
 
◇향후 전망
웹 애플리케이션 방화벽은 공급 업체에 따라 다른 기능들을 탑재하고 있습니다. 최신 애플리케이션 수준의 방화벽에 가장 많이 장착되어 있는 기타 기능들은 다음과 같습니다.
-SSL트래픽 모니터링을 통한 추가 보안 기능: 가트너 소속 전문가들은 암호화된 트래픽을 확인하는 기능을 웹 애플리케이션방화벽이 기존 방화벽과 IPS와 차별화 되는 주요 기능 중 하나로 손꼽았습니다.
 
-인증서비스: 웹 애플리케이션 방화벽은 웹 애플리케이션의 유일한 진입점이 되거나, 혹은 인증 절차가 오작동하는 구식애플리케이션의 인증 중개 매체의 역할을 합니다.
 
-컨텐츠보안 정책(CSP) 지원으로 XSS를 비롯한 여러 공격들로부터 보호 등입니다.
 
Positive Technologies 전문가들은 앞으로 애플리케이션 수준의 방화벽이 발전해 나갈 주요 방향으로 다음과 같은 사항들을 제안합니다.
 
△사용자가 봇과 공격자를 탐지할 수 있도록 도와주는 새로운 알고리즘의 행동 분석(UBA). △HTML5 기반, XML 프로토콜 기반, 비 상관관계적 데이터베이스(NoSQL) 기반 중 최소 한 가지를 포함하는 애플리케이션의 보호. △온라인뱅킹, ERP 시스템, 통신, 미디어 애플리케이션 등 특정 애플리케이션 유형을 위한 웹 애플리케이션 방화벽.
 
이 글은 웹 애플리케이션 방화벽의 기술적 측면들만 다루었다는 점을 기억하십시오. 실제로는 조직적인 측면(예: 표준 컴플라이언스, 바이러스 백신, DLP 등 기타 보안 리소스들과의 연동)도 고려해야 합니다. 아울러 하드웨어, 소프트웨어, 가상 솔루션에서부터 SaaS, VAS, MSS의 클라우드 서비스에 이르기까지 개발 모델도 다양합니다.
 
★정보보안 대표 미디어 데일리시큐!★
 
[글. 우병기 포지티브 테크놀로지스 한국지사장 / brendon.woo@ptsecurity.com]

-Positive Technologies 소개: 이 회사는 취약점 진단, 컴플라이언스 관리, 위협 분석 솔루션 분야의 글로벌 리더로서, 전세계 1천 여 고객들에게 솔루션을 제공하고 있습니다. 개발 단계의 애플리케이션 보호, 네트워크 및 애플리케이션 취약점 진단, 규제요구사항과의 컴플라이언스, 실시간 공격 차단 등 비즈니스와 관련된 모든 보안 문제에 완벽히 대처합니다. 고객 및 연구에 대한 헌신과 노력의 결과, SCADA, 금융, 통신, 웹 애플리케이션, ERP 보안 분야에서 최고의 권위를 가지고 있다는 평가를 얻고 있으며 2012년 IDC 보고서*에서는 가장 빠르게 성장하는 보안 및 취약점 관리 기업으로 선정되기도 했습니다.

-시연요청: www.ptsecurity.com/kr/products/#af