네트워크

상태기반 검사(Stateful Inspection)에 대해 알아보겠습니다.

forward error correction Circle 2025. 7. 29. 08:29
반응형

Ⅰ. 상태기반 검사(Stateful Inspection)이란?

 네트워크 방화벽에서 사용되는 핵심 기술로, 단순히 개별 패킷만 검사하는 것이 아니라, 전체 연결(Session)의 상태와 맥락을 추적해 보다 정밀하고 강력한 보안을 제공합니다. 이 개념은 1990년대 Check Point社에 의해 처음 도입되었으며, 현재는 대부분의 방화벽에서 표준 기능으로 자리 잡고 있습니다.
 Stateless 방식이 각 패킷을 독립적으로 처리하는 데 반해, Stateful Inspection은 연결의 시작부터 종료까지의 흐름을 분석하여 비정상 트래픽이나 위장 공격을 효과적으로 차단합니다.

Ⅱ. 상태기반(Stateful) vs 무상태(Stateless) 비교

구분 Stateful Stateless
판단 기준 전체 세션(대화 흐름) 기억 각 패킷만 개별 확인
보안 수준 높음  낮음
속도 상대적으로 느림 빠름
활용 예 기업/기관 네트워크 보안 간단한 필터링

Ⅲ. 상태기반 검사(Stateful Inspection)의 주요 특징

 ⅰ. 상태 추적 기능
각 패킷이 어떤 세션에 속해 있는지를 실시간으로 추적합니다. 예를 들어 TCP 연결의 경우, 연결 요청(SYN), 연결 완료(ESTABLISHED), 연결 종료(FIN) 등의 상태 정보를 관리합니다.
 ⅱ. 맥락 기반 검사
단순히 출발지와 목적지 정보만 보는 것이 아니라, 세션의 전체 흐름과 맥락을 분석합니다. 예를 들어 요청 없이 들어온 응답 패킷은 차단할 수 있습니다.
 ⅲ. 다계층 지원
OSI 모델의 3계층(네트워크)부터 7계층(애플리케이션)까지 다양한 계층에서 검사할 수 있어, 프로토콜의 동작을 보다 정밀하게 제어할 수 있습니다.
 ⅳ. 자원 효율성
불필요한 패킷을 조기에 차단하여 네트워크 부하를 줄입니다. 다만, 고트래픽 환경에서는 상태 정보를 관리하기 위한 메모리 사용량이 증가할 수 있어 주의가 필요합니다.
 ⅴ. 보안 강화
SYN Flood, 세션 하이재킹 등과 같은 공격을 효과적으로 탐지하고 방어합니다. 이는 상태 정보 기반의 이상 행위 탐지 덕분입니다.

Ⅳ. 상태기반 검사(Stateful Inspection)의 구조와 동작 원리

 상태 테이블(State Table)을 중심으로 작동합니다. 이는 방화벽 내부의 동적 데이터베이스로, 모든 활성화된 연결 정보를 저장하고 관리합니다.

 ⅰ. Stateful Inspection 주요 구성 요소
   1) 연결 식별자: 출발지/목적지 IP와 포트, 프로토콜을 조합해 각 세션을 식별합니다.
   2) 상태 플래그: 세션의 현재 상태를 나타내는 값입니다.

                           예를 들어 TCP의 SYN_SENT, ESTABLISHED, FIN_WAIT 등이 있습니다.
   3) 타이머: 일정 시간 동안 활동이 없으면 세션 정보를 삭제해 자원을 회수합니다.
   4) 시퀀스 번호 추적: TCP의 순차성과 무결성을 확인해 스푸핑이나 세션 하이재킹을 방지합니다.
 ⅱ. Stateful Inspection  동작 과정
   1) 패킷 수신 시, 방화벽은 상태 테이블을 먼저 확인합니다.
   2) 기존 세션과 일치하는 경우 패킷을 통과시킵니다.
   3) 일치하지 않거나 비정상적인 경우에는 차단하거나 로깅합니다.

상태 테이블은 일반적으로 해시 구조로 구성되어 빠른 검색이 가능하며, 오래된 항목은 LRU(Least Recently Used) 알고리즘 등을 통해 자동으로 제거됩니다.

Ⅴ. 상태기반 검사(Stateful Inspection) 장·단점

구분 설명
장점 1) 보안강화 : 공격자가 보낸 패킷을 세션 정보 구분 가능
2) 정확한 판단 : 응답 패킷이 실제 요청에 대한 것인지 구별 가능
3) 불필요한 트래픽 차단 : 네트워크 효율성 증가
단점 1) 자원소모 : 상태 테이블을 유지하기 위해 많은 CPU, MEMORY 사용
2) 설정 복잡성 : 설정을 잘못할 경우 정상적인 연결 거부

Ⅵ. 프로토콜별 처리 방식

Stateful Inspection은 프로토콜의 특성에 따라 세션을 추적하고 검사하는 방식이 다릅니다.

 ⅰ. TCP
 연결 지향 프로토콜로, 방화벽은 3-way 핸드셰이크(SYN → SYN-ACK → ACK)를 기반으로 세션을 식별합니다. 시퀀스 번호 검증을 통해 위조된 패킷이나 비정상 연결을 차단하고, 세션 종료(FIN/RST)까지 상태를 추적합니다.
 ⅱ. UDP
 연결 상태가 없는 프로토콜이지만, Stateful Firewall은 요청과 응답의 흐름을 가상 세션 형태로 기록합니다. 응답 패킷이 적절한 시간 내에 올바른 포트로 도착하는지 확인한 후, 일정 시간이 지나면 세션을 폐기합니다.
 ⅲ.  ICMP 및 기타
 ICMP 에코 요청/응답, FTP의 데이터 채널 등은 애플리케이션 계층 연계 추적(Application Layer Gateway, ALG)을 통해 동적으로 세션을 생성하고 추적합니다.

반응형