본문 바로가기

Security/용어정리

웹방화벽

최근 네트워크 보안에 있어 가장 크게 이슈가 되고 있는 분야 중 하나가 웹 어플리케이션 보안으로 최근 국내에서 발생하고 있는 전체 해킹 시도 중 80% 이상이 웹 취약점을 이용한 웹 해킹으로 추산되고 있을 정도로 그 피해 사례는 심각하다.

과거에는 웹 해킹이 홈페이지 초기 화면 변조 차원에 머물렀으나, 현재는 웹 컨텐츠 변조 뿐 아니라 웹 서버를 경유한 내부 시스템 침투 및 고객 정보 유출로까지 이어지는 등 웹 취약점을 이용한 사이버 공격의 위협은 급속히 향상되고 있다.

웹 어플리케이션 보안 개요
- 웹 어플리케이션 보안은 홈페이지 자체에 대한 보안 뿐 아니라, 웹 프로토콜을 기반으로 하는 모든 서비스와 어플리케이션 데이터 및 기반 정보 시스템에 대한 보안을 의미하는데 최근 웹 어플리케이션 보안이 크게 이슈가 되고 있는 이유는 다음과 같다.
웹 서비스는 특성상 외부에 필수적으로 오픈 (Open) 될 수 밖에 없는 구조를 가지고 있으며, 파급 및 전파 효과가 매우 뛰어나다.
● 웹 어플리케이션 취약점을 이용한 공격은 방화벽이나 침입탐지시스템과 같은 보안 솔루션으로는 분석 및 차단이 불가능하다.
● 웹 서버 해킹을 경유하여 기업 내부의 중요 데이터에 대한 접근 및 외부 유출이 가능하다.
● 웹 환경은 점차 복잡화되고 있는데 비해 웹 해킹을 위한 도구나 해킹 기술은 보편화, 공개화되고 있다.

특히, 오늘날 웹 서비스 환경은 과거와 달리 단순 웹 서버로만 구성되는 것이 아니라, 다양한 구성요소 및 데이터베이스를 포함한 매우 복잡한 계층적 구조로 이루어져 있기 때문에 웹 어플리케이션 보안 구축은 매우 까다로운 작업이라 할 수 있다.
< 웹 어플리케이션 아키텍처 >

오늘날 가장 대표적인 웹 어플리케이션 보안 이슈 및 웹 해킹 유형으로는 전 세계적인 웹 보안 관련 기구인 OWASP에서 정의한 OWASP Top10 리스트가 있으며, 그 주요 내용 및 공격유형은 아래와 같다.

웹 어플리케이션 보안 전략
일반적으로 웹 해킹은 웹 어플리케이션 코드상 오류나 잘못된 환경 설정과 같은 어플리케이션 레벨의 취약접을 악용하여 발생하는 경우가 많기 때문에 방화벽이나 침입탐지시스템과 같은 기존이 보안솔루션으로는 분석 및 방어가 쉽지 않은 특성이 있다.

특히, 웹 어플리케이션 설계 및 개발 단계에서 관리자 / 사용자 인증처리 부분의 입력 값 검증 부재나 데이터베이스 접근 권한과 같은 중요 로직에서 예외 처리나 보안성 검토가 미흡한 것은 치명적일 수 있는데, 일반적인 웹 어플리케이션 보안 고려 사항은 다음과 같다.
안전한 웹 서비스 운영을 위한 대표적인 보안 전략은 웹 어플리케이션의 보안 코딩 (Secure Coding)을 통한 취약점 최소화 작업과 전문적인 웹 어플리케이션 보안 솔루션을 도입을 통한 불법적인 접근이나 해킹 시도 차단, 그리고 지속적인 보안 모니터링 프로세스가 있다.

웹 코드 보안 코딩 (Secure Coding)
- 이는 웹 개발 및 설계 단계부터 보안을 최우선으로 고려하여 부적절한 파라미터 값이나 환경 설정상 오류, 프로그래밍 오류등과 같은 취약점을 최소화하여 컨텐츠 변조나 ID 도용을 통한 권한 획득 등과 같은 공격에 대처하는 것이다.
이는 가장 궁극적인 웹 보안 전략으로 웹 해킹에 대한 방어효과가 탁월하다고 할 수 있는데, 프로젝트 진행의 특성상 보안 준수보다는 일정에 쫒겨 그 구현이나 기능 자체에 초점이 맞춰지는 경우가 많기 때문에 현실적으로 적용이 쉽지 않다.
또한, 현실적으로 개발 단계에서부터 보안을 최우선으로 고려하여 진행되는 프로젝트는 극히 드물기 때문에 최소한 중요 보안 모듈 및 입력 값 루틴에 대한 별도의 점검 작업이나 웹 취약점 점검 도구를 적절히 활용한 지속적인 웹 소스 수정 전략이 권장된다.

웹 보안 솔루션 도입
- 웹 어플리케이션 보안 솔루션은 프로그래밍 오류에 의한 역기능 및 취약점을 최소화하고 외부의 해킹 시도 및 위협으로부터 핵심적인 웹 어플리케이션을 보호하는 기능을 하며, 대표적으로 소스코드 감사도구 (Auditing Tool) 와 웹 취약점 스캐너 (Web Scanner), 그리고 웹 방화벽 (Web Firewall) 등이 있다.

웹방화벽

- 외부로부터 유입되는 웹 프로토콜을 필터링하여 웹 어플리케이션 취약점 보완 및 웹 해킹 공격에 대한 대응 프로세스를 수립하며, 기존 보안솔루션과는 달리 네트워크 계층이 아닌 어플리케이션 레벨에서 분석 및 차단 기능을 수행한다.
- 어플리케이션 레벨에 대한 분석 기술을 바탕으로 HTTP/HTTPS 프로토콜에 대한 트래픽을 감시하여 공격을 탐지하고 해당 공격이 웹서버에 도달하기 전에 차단하여 웹서버를 보호한다는 취지이다.
< 웹 방화벽 포지셔닝 >
앞에서 살펴본 웹 보안 솔루션 중 소스코드 감사도구와 취약점 스캐너의 경우 웹 컨텐츠 취약점 분석 및 사전 보안성 검토의 목적으로 사용되는데 비해 웹 방화벽은 실제 웹 해킹 공격에 대한 분석과 대응을 담당하는데 주요 기능은 다음과 같다.
● OWASP 및 SANS 등에서 정의한 주요 웹 어플리케이션 취약점 대응 가이드라인을 기반으로 침해 모니터링 및 탐지/차단 기능 제공
● 현재 알려졌거나 알려지지 않은 (Zero-Day Attack) 보안 위협으로부터 완벽한 방어 기능 수행
● 어플리케이션 레벨에서 발생하는 서비스 거부 공격으로부터 방어기능 수행
● SSL, PKI 등과 같은 암호화된 전송 데이터 분석 및 차단기능 제공
● 실시간 컨텐츠 모니터링을 통한 컨텐츠 변조 감시 및 복구 기능 제공

웹 방화벽의 분류 1 (설계 방식이나 아키텍처, 또는 물리적 구성 방식에 따른 분류)
네트워크 기반 웹 방화벽 (Network Based WAF)
- 네트워크 기반 웹 방화벽은 방화벽 (Firewall)이나 침입 방지 시스템 (IPS)과 유사하게 네트워크 구간에 인라인 트랜스패런트 및 프락시 방식으로 구성되며 전송되는 웹 트래픽에 대한 분석 및 차단 기능을 수행한다.
장점
- 단일 장비로 다수의 웹 서버에 대한 보안과 해킹 시도를 차단할 수 있다
- 특히 트랜스패런트 (Transparent) 방식으로 구성할 경우, 기존 웹 시스템이나 클라이언트 환경에서 별도의 변경이나 수정이 불필요하다
단점
- 대용량 웹 트래픽이 발생하는 사이트나 SSL (Secure Socket Layer)과 같은 암호화된 데이터 전송이 많을 경우 웹 방화벽의 성능에 의해 서비스 지연이 발생할 수 있으며, 특히 이 기종의 웹 시스템이 존재하는 사이트의 경우에는 최적화된 보안 기능구현을 위하여 추가적인 검증이 필요한 경우가 많다.

호스트 기반 웹 방화벽 (Host Based WAF)
- 각 웹서버에 설치된 보안 에이전트와 마스터 서버, 그리고 관리자용 콘솔의 3-Tier 환경으로 구성되며, 웹 서버의 에이전트가 해킹 시도 및 이상 징후를 탐지하고 적용된 정책에 따라 차단 및 모니터링을 수행한다.
장점
- 웹 서버에 별도의 보안 모듈이 설치되므로 각 웹 어플리케이션 환경 별로 최적화된 독립적인 보안정책이 적용 가능
- 대용량 트래픽 환경에서도 웹 서비스의 성능 저하를 초래하지 않는다
단점
- 각 서버 별로 에이전트가 설치되어야 하고, 에이전트를 관리하기 위한 별도의 마스터 서버 배치 등이 필요하므로 대규모 웹 서비스 환경에서는 1차적으로 비용 문제와 분산 배치 및 운영에 따른 관리 편의성 이슈가 제기될 수 있다.
- 웹 방화벽 제품 자체의 안정성 여부와 장애 발생시 대처 방안 수립이 필요하며 실제 적용 시 웹 서버나 어플리케이션 서버의 내부 리소스 (CPU, Memory) 점유량과 소모량에 대한 충분한 사전 검증이 선행되어야 한다.



웹 방화벽의 분류 2 (내부 아키텍처 및 구현 알고리즘에 따른 분류)
프락시 방식 (Proxy Method)
- 웹 서버 앞 단에서 웹 방화벽이 클라이언트의 요청을 받아 필터링 처리 한 후, 다시 웹 서버와 재접속을 맺는 방식 (대리접속 방식)으로, 초창기의 소프트웨어 기반 및 하드웨어 기반 웹 방화벽에서 적용된 방식이다.
장점
- 대리접속 방식의 특성상 높은 보안수준 구현이 가능
- 실제 웹 서버 은닉 효과와 단일 차단 정책을 통해 전체 웹 서버를 보호 할 수 있다
단점
- HTTP 데이터 분석 및 전송을 위한 추가적인 재접속이 필요하므로 전체 서비스 속도가 저하될 수 있다
- 웹 방화벽이 80/TCP 포트로 동작하므로 실제 웹 서버에서는 별도의 포트를 적용하여 운영되는데, 최근 이를 악용한 우회 공격이 가능하다는 취약점으로 인한 추가적인 보안정책이나 별도의 보안 솔루션 구축이 필요
- 가용성 측면에서 해당 장비의 문제로 인하여 웹트래픽을 처리하지 못하는 경우 웹서비스 자체가 중단되는 등의 대단히 침해적인 요소를 가질 수 밖에 없다. 이를 해결하기 위해 웹 방화벽 앞단에 L4 장비 등을 두어 80 health ckeck를 수행하여 장비에 문제가 생길 경우 웹서버로 웹트래픽을 전달하는 구조를 고려하기도 하지만 구매 비용 초과를 초래할 수 있다.
    


필터링 방식 (Filtering Module Method)
- 웹 방화벽이 웹 서버의 플러그인 모듈처럼 동작하는 방식으로 클라이언트의 요청을 받은 웹 서버가 처리 대기 상태에서 보안 모듈에 의해 필터링 처리된 후 정상 트래픽에 대해서만 클라이언트에게 응답하는 방식
장점
- 최근 호스트 기반 웹 방화벽에서 많이 사용되고 있는데 웹 서비스 속도나 기존 네트워크 환경에 영향을 주지 않는다
단점
- 차단 정책은 해당 웹 서버에만 적용 (독자적인 보안관리 필요)
- 외부로부터 웹서버를 숨길 수 없다
    



'Security > 용어정리' 카테고리의 다른 글

OWASP Top10 2010  (0) 2010.07.22
정보 수집(Scan) 종류 및 탐지  (0) 2010.06.18