Application Security Gateway

Application Security Gateway는 웹 서버를 안전하게 방어하는 보안제품을 말한다.

웹방화벽은 애플리케이션 레벨에 대한 분석 기술을 바탕으로, HTTP/HTTPS 프로토콜에 대한 트래픽을 감시하여 공격을 탐지하고 해당 공격이 웹 서버에 도달하기 전에 차단하여 웹 서버를 안전하게 방어하는 보안제품으로 이러한 웹방화벽의 주요 기술 구조는 다음과 같다.

타 보안제품과의 일반적인 차이점

웹방화벽은 일반적으로 설치위치 및 동작방식이 방화벽, L7 스위치, IDS/IPS와 비슷하지만 다음과 같은 차이점들이 존재한다.

구분 설명
방화벽과의 차이점 • 기존 네트워크 방화벽은 대개 네트워크 레벨에서 동작하며 지정된 프로토콜과 서비스(3, 4계층)에 대해서만 접근을 허용하고 통과 여부 관리
• 웹방화벽은 통과한 데이터라 하더라도 동적인 애플리케이션 운용환경(7계층) 아래에서 사용자가 정상적인 행위를 하는지 여부까지 검증하는 역할 수행하여, 기존 방화벽보다 더 높은 수준의 보안 서비스(애플리케이션에 대한 보다 섬세한 서비스) 제공 가능
L7 스위치와의 차이점 • 레이어7 스위치는 네트워크의 대역폭 관리와 제어, 로드밸런싱이 주 기능이며 이와 더불어 트래픽 필터링을 통해 유해 트래픽을 차단할 수 있으며, 이 기능 때문에 보안장비로도 활용되고 있음
• 그러나, 레이어7 스위치의 보안기능은 네트워크 트래픽에 국한된 것이기 때문에 HTTP, HTTPS에 대한 전문적인 보안을 제공하지 못함
IDS/IPS와의 차이점 • IPS 또한 전체 네트워크 보안에 초점이 맞춰져 실제 패킷에 대한 검사가 없기 때문에 이에 따라 위ㆍ변조에 대한 보안이 불가능하며, 특히 IDS와 IPS의 서명 방식은 지속적인 업데이트가 필요한 형태로 새로운 웜이나 바이러스 공격, 해킹에 대한 차단 기능은 불가능함
• IDS, IPS는 웜을 막기 위해 설계된 제품이어서 쿠키 변조, 세션 하이재킹, 폼필드 변조, 파라미터 변조 같은 웹 애플리케이션 정보 이외의 새로운 패턴의 공격이나 해킹에는 속수무책인 경우가 다반사임
• IPS는 시그니처 기반의 패턴형태로 인식하지만, 웹방화벽은 자기학습 기능을 활용해 일단 공격으로 스스로 간주하도록 설계되어 있기 때문임
기존 보안제품의 한계(이미지)

웹 애플리케이션에 대한 특화된 취약점 대응

일반적으로 방화벽이나 IDS/IPS는 네트워크/전송 계층 분석을 통해 공격을 탐지하지만 웹방화벽은 애플리케이션 계층 분석을 통한 접근제어와 침입방지 기능을 수행한다.

보안커널(Security kernel)(이미지)

최근 지원 영역을 애플리케이션레벨까지 확장한 DPI(Deep Packet Inspection) 방화벽이나 IPS가 출시되고 있으나, 애플리케이션 레벨 방어에서 한계를 갖고 있다.

이들은 주로 시그너쳐에 의존한 패턴 매칭으로 애플리케이션 영역의 ‘이미 알려진’ 공격을 차단하기 때문에, 패턴으로 제작되지 않는 웹 애플리케이션 공격을 탐지하거나, 기업에서 자체적으로 개발한 웹 애플리케이션의 취약점을 이용한 시그너쳐를 제공하지 못하는 한계가 있다. 또한 네트워크 계층과 함께 애플리케이션레벨의 패킷 컨텐츠 필터링을 수행함으로써 성능이 급격히 저하되는 현상을 발생시킨다.

IPS의 경우 방화벽보다 많은 애플리케이션 계층 공격을 방어한다고 해도, 일반적이고 모든 프로토콜을 지원한다는 면에서 한계를 드러내며, SSL 내부에 숨어있는 암호화된 공격 등에 대한 탐지가 불가능하다.

부적절한 입력값이나 접근통제, 질의 조작, XSS(크로스 사이트 스크립팅) 취약점 등으로 인한 데이터 노출이나 변조, 공격도구 업로드, 인증 및 권한 우회, 시스템 명령 시행, 서비스 방해 등을 방지하는데 있어 웹방화벽이 보다 뛰어난 보안성을 제공한다.

이는 애플리케이션레벨 분석 기술과 단순 패턴 매치가 아닌 정규화(normalization) 기술 등을 바탕으로 보다 특화된 검사 엔진을 탑재함으로써 가능하다. 또한 URL에 따른 접근제어 기능과 암호화된 SSL 트래픽을 자체적으로 복호화, 검사하는 기능은 다른 보안 시스템과 차별성을 갖게 한다.

웹방화벽의 해킹 대응책(이미지)

능동적인 보안 학습 모델 사용(Positive Security Model)

웹방화벽이 IPS를 포함한 보안제품과의 가장 큰 차이점 중 하나는 해킹 패턴 비교을 위해서 보안 학습 모델을 사용하는 것이다.
보안 학습 모델은 웹 컨텐츠에 관한 지식을 이용해 사용자가 웹애플리케이션과 어떤 방법으로 상호작용하는지를 실시간 트래픽을 이용하여 반복적으로 확인하며 정상적인 결과를 White List로 작성하는 것이다.
웹방화벽에서는 사전 등록된 정당한 요청만을 허용(white List)하며 White list에 규정되지 않은 행위는 위험 요소로 구분하며 온라인 분석을 통해 기존 정책에 대한 조정을 능동적으로 권고하게 된다.

Positive Security Model(능동적 보안 학습 모델)(이미지)

이러한 보안 학습 모델의 주요 특징은 다음과 같다.

  • 시그니처 기반의 패턴매칭형식에 비하여 오탐(False Positive)의 가능성이 적음
  • Zero-Day 공격, Unknown 공격에 대한 능동적 대처 가능
  • 관리자 및 보안책임자가 각 애플리케이션별 보안 정책의 다양한 부분별 효과 및 정확성에 대해 URL 정책별로 이해 가능

SSL Session에 대한 보안 검사 수행

웹방화벽에서는 SSL(Secure Socket Layer) 프로토콜을 사용하여 종단간 암호화된 웹트랜잭션을 검사하기 위하여 웹서버의 비공개키를 이용하여 암호화된 트래픽 안의 웹공격을 탐지할 수 있다.
또한, 웹방화벽에서는 웹서버에서 처리해야될 SSL 기능을 대신 처리하기 때문에 웹서버의 가용성을 높여줄 수 있다.

패킷 검사 기법(이미지)

웹서버에 대한 투명성 제공

웹방화벽 구성 시 Revers Proxy 방식을 이용할 경우 웹서버의URL, OS, IP 등 정보를 사용자에게 유출시키지 않음으로써 웹서버에 대한 투명성 제공이 가능하다.

주요기능

웹방화벽의 주요기능은 다음과 같다.

  • OWASP Top10 해킹 공격에 대한 실시간 탐지 및 차단
  • 국가정보원 8대 홈페이지 취약점에 대한 탐지 및 차단
  • 웹애플리케이션의 트래픽 분석을 통한 제어기능 및 프로파일기능(HTTP메서드 제어, URI파라미터 제어)
  • URL제어(사용자 정의, 유해차단 데이터베이스)
  • 아파치 IIS 등 웹서버의 잘 알려진 취약점 공격탐지
  • 비정상 HTTP 트래픽 실시간 탐지 및 차단
  • HTTP, SQL, 웜 관련 알려진 취약성 공격 탐지 및 차단
  • 스노트(Snort)서명 기반 공격 탐지 및 차단
  • Zero-day, 웜 바이러스 즉각 탐지 및 차단
  • 알려지지 않은 공격탐지 및 차단
  • 시스템 자체에 대한 공격 탐지 및 방어
  • SSL(HTTP) 통신탐지
  • 주민등록번호,신용카드번호 유출 방지
  • 쿠키값 보호
  • 웜, 바이러스에 대한 사용자 작성 서명 기반 탐지
  • 웹 서버 클로킹 (Cloaking)
  • 실시간 모니터링(리포팅)및 로그
  • 다양한 운영모드(패스워드/액티브 모드, 네거티브/포지티브 모드)
  • 사용자 투명성
  • 기본적인 네트워크 방화벽

운영방식

보호 대상 웹 서버가 결정되면 웹 서버 한 대만 보호 할 수도 있고 웹 서버 FARM을 구성해 여러 대의 웹 서버를 보호 할 수도 있으며, 보호 대상 웹 서버에 위치와 네트워크 구성에 따라 프록시 모드, 트랜스페어런트 모드, 라우팅 모드로 나눌 수 있다.

프록시 모드

웹방화벽이 네트워크 구성상 물리적으로 웹 서버 앞에 위치하지 않고 스위치와 연결되어, DNS에서 웹 서버의 IP를 웹방화벽 IP로 설정하여 클라이언트들이 웹 서버 이용시 반드시 웹방화벽을 거치게 한다.

프록시 모드 구성도(이미지)

트랜스페어런트 모드

웹방화벽이 물리적으로 웹 서버 앞에 위치하게 되어 물리적 구성 이외에 보호 대상 웹 서버의 IP, 게이트웨이 등의 변화는 전혀 발생하지 않으며, 장애 시 네트워크에서 웹방화벽 제거 및 바이패스 기능으로 웹 서비스의 정상작동이 가능하다.

트랜스페어런트 모드 구성도(이미지)

라우팅 모드

웹방화벽이 물리적으로 웹 서버 앞에 위치하게 되나 트랜스페어런트 모드와 달리 서로 다른 네트워크 사이에 구성되어 라우터의 역할을 하며 보호 대상 웹 서버가 속한 네트워크에서 볼 때는 게이트웨이 역할도 하게 된다. 물리적인 구성으로는 트랜스페어런트 모드와 같다.

라우팅 모드 구성도(이미지)

시스템 구성요소

웹방화벽을 구축하기 위해서는 일반적으로 아래와 같은 2개의 기본요소들로 구성된다.

설명
서버엔진 • 웹 서버의 네트워크 앞단에서 전송 데이터들을 검사하여 외부로부터의 공격을 탐지 및 차단하고 웹 서버의 안전성을 높여주는 핵심 구성 요소
관리콘솔 • 서버엔진을 운영하기 위한 관리자용 콘솔(UI)