💡 IT 핵심 지식 (Core)/🔒사이버 보안

WAF(웹 방화벽)의 동작 방식과 우회 공격 사례 : 웹 애플리케이션 방어 메커니즘 분석 및 필터 회피 기법

praymeyer2025 2025. 12. 14. 07:24
WAF(웹 방화벽)의 블랙리스트, 화이트리스트, 이상 탐지 모델 등 핵심 동작 방식과 리버스 프록시 배포 구조를 심도 있게 다룹니다. 또한 WAF의 필터링 로직을 우회하는 다중 인코딩, 주석 삽입, 파라미터 분할/불일치 등의 고도화된 공격 사례를 분석하여 웹 애플리케이션 보안의 취약점을 깊이 이해합니다.

🛡️ WAF(Web Application Firewall)는 전통적인 네트워크 방화벽(Layer 3/4)의 한계를 극복하기 위해 등장했으며, 웹 애플리케이션 계층(Layer 7) 트래픽을 전문적으로 분석하여 방어하는 시스템입니다. WAF의 주요 역할은 SQL Injection, XSS(Cross-Site Scripting), 파일 업로드 취약점 등 웹 애플리케이션 자체의 논리적 허점을 노리는 공격을 실시간으로 탐지하고 차단하는 것입니다. 심화 과정인 본 포스팅에서는 WAF의 근본적인 동작 모델, 아키텍처 배포 방식, 그리고 이러한 방어막을 뚫으려는 고도화된 우회(Evasion) 공격 기법들을 분석하겠습니다.

✨ 핵심 원리: Layer 7 트래픽 분석을 통한 HTTP/S 취약점 방어

WAF는 단순히 포트 번호나 IP 주소를 확인하는 기존 방화벽과 달리, HTTP/S 프로토콜의 헤더, URL, 쿠키, POST 데이터 등 실제 요청 내용(Payload)을 파싱(Parsing)하여 애플리케이션 수준의 공격 패턴을 식별합니다.

🧠 1. WAF의 핵심 동작 모델: 블랙리스트, 화이트리스트, 이상 탐지

WAF가 공격을 탐지하는 방식은 크게 세 가지 모델로 나뉘며, 실제 환경에서는 이들을 혼합하여 사용합니다.

  • 블랙리스트 (Blacklist / Signature-based): 알려진 공격 패턴 데이터베이스와 트래픽을 비교하여 차단합니다. 변종 공격에는 취약합니다.
  • 화이트리스트 (Whitelist / Positive Security Model): 정상적인 트래픽 패턴을 정의하고, 이를 벗어나는 모든 요청을 차단합니다. 새로운 공격 방어에 가장 강력하지만, 유지 보수 비용이 높습니다.
  • 이상 탐지 (Anomaly Detection): 정상 행위를 학습하고, 이 기준에서 크게 벗어나는 비정상적인 트래픽 양상(예: 갑작스러운 요청 속도 급증)을 탐지합니다.

WAF는 시그니처 기반(블랙리스트), 화이트리스트 기반, 또는 이상 행위 탐지 모델을 조합하여 공격을 식별합니다.출처:AI이미지 생성도구

⚙️ 2. WAF의 배포 방식과 검사 원리 (리버스 프록시 vs. 투명 프록시)

WAF의 성능과 네트워크 영향은 배포 방식에 따라 달라집니다.

  • 리버스 프록시 (Reverse Proxy Mode): WAF가 외부 인터넷과 웹 서버 사이에 위치하여 서버 IP를 숨기고 트래픽을 완전히 종단(Termination)하여 검사한 후 서버로 전달합니다. SSL/TLS Offloading 등의 추가 기능을 수행할 수 있습니다.
  • 투명 프록시 / 브리지 모드 (Transparent/Bridge Mode): WAF가 네트워크 경로 중간에 투명하게(In-line) 배치되어 IP나 포트를 변경하지 않고 통과시키면서 검사만 수행합니다. 기존 네트워크 구성 변경이 최소화됩니다.

WAF의 배포 방식(리버스 프록시 vs. 투명 프록시)에 따라 네트워크 경로에 미치는 영향과 기능 수행 방식이 달라집니다.출처:AI이미지 생성도구

🧪 3. WAF 우회 공격 사례 1: 인코딩 및 주석 삽입 기법

블랙리스트(시그니처) 기반의 WAF를 무력화시키는 가장 흔한 방법은 공격 페이로드(Payload)를 필터링 로직이 인식하지 못하도록 **난독화(Obfuscation)**하는 것입니다.

  • 다중/혼합 인코딩: WAF 필터가 하나의 특정 인코딩 방식만 디코딩하도록 설계된 취약점을 이용해, URL 인코딩과 HTML 엔티티 인코딩 등을 혼합하여 WAF를 통과합니다.
  • 주석 삽입 (Comment Injection): WAF 필터가 SELECT와 FROM 사이의 공백 패턴만 감지하도록 설계되었다면, 그 사이에 SQL 주석(/* */)을 삽입하여 필터를 우회하고, SQL 엔진은 이를 정상 명령어로 실행합니다.
  • NULL 바이트 삽입 (Null Byte Injection): %00과 같은 NULL 바이트를 문자열 끝에 삽입하여, 웹 서버가 이 부분을 문자열의 끝으로 인식하게 만들어 파일 경로 등을 조작합니다.

우회 공격은 필터의 정규 표현식 로직이 탐지하지 못하도록 페이로드에 불필요한 인코딩, 주석 등을 삽입하는 방식으로 이루어집니다.출처:AI이미지 생성도구

🔗 4. WAF 우회 공격 사례 2: 파라미터 분할(Splitting)과 불일치(Mismatch)

WAF가 요청을 파싱하고 서버로 전달하는 과정에서의 논리적 오류를 이용하는 심화 기법입니다.

  • 파라미터 분할 (Parameter Splitting): HTTP 요청 헤더에 **CRLF(%0D%0A)**와 같은 개행 문자를 삽입하여 하나의 요청을 여러 개로 분할, WAF가 요청 전체를 제대로 분석하지 못하게 만듭니다. (HTTP Request Smuggling과 관련됨)
  • 파라미터 불일치 (Parameter Mismatch): 서버 환경이 여러 개의 파라미터가 중복될 때(예: id=1&id=2) 이를 처리하는 방식과 WAF가 필터링을 수행하는 방식이 다를 때 발생합니다. 공격자는 WAF가 정상 값만 검사하도록 유도하고 서버는 악성 값만 실행하도록 만듭니다.

WAF와 웹 서버의 파싱 로직 불일치(Mismatch)를 악용하여, WAF가 정상적인 값만 검사하도록 유도하고 서버에는 악성 코드를 전달합니다.출처:AI이미지 생성도구

 

✅ 요약 및 방어 원칙 💯

🆔 모델 ⚙️ 동작 방식 🔑 주요 우회 공격 🛡️ 방어 원칙
블랙리스트 시그니처 기반 패턴 매칭 다중/혼합 인코딩, 주석 삽입 디코딩 정규화 (모든 인코딩 처리)
화이트리스트 허용된 정상 패턴 정의 - (우회 공격 방어에 강함) 최소 권한 원칙 기반 정책 유지
우회 기법 파싱/로직 불일치 이용 파라미터 분할, 중복 파라미터 파싱 표준화 (WAF와 서버의 파싱 규칙 통일)

👉WAF의 우회 공격을 효과적으로 방어하기 위해서는 단순한 블랙리스트 패턴 업데이트를 넘어, WAF 단에서 모든 인코딩을 **디코딩 및 정규화(Normalization)**하여 공격 페이로드를 필터링해야 합니다. 또한 WAF와 웹 서버/WAS 간의 HTTP 파싱 규칙을 통일시켜 로직 불일치 취약점을 제거해야 합니다.

📚 출처

  • OWASP (Open Web Application Security Project): Top 10 Vulnerabilities & Evasion Techniques
  • RFC 7230 (HTTP/1.1 Message Syntax and Routing): HTTP Request Smuggling
  • 웹 보안 아키텍처: 리버스 프록시 기반의 보안 구현

👉 함께 보면 도움되는 글: 로드 밸런서 vs 리버스 프록시: 트래픽 관리자의 역할 분담

 

로드 밸런서 vs 리버스 프록시: 트래픽 관리자의 역할 분담

로드 밸런서와 리버스 프록시의 핵심 차이점(목적, 기능 범위)을 분석합니다. 로드 밸런서의 부하 분산 및 헬스 체크 기능과 리버스 프록시의 보안, 캐싱, SSL 종료 기능을 비교하고, 현대 웹 서비

praymeyer2025.tistory.com