FALCON으로 방화벽 정책 경로와 분배 대상 찾기

ISMS 환경에서 FALCON 방화벽 정책 분배 알고리즘이 인접 행렬과 재귀 탐색으로 경로를 식별하고, 다중 방화벽 정책 적용을 관리하는 방식을 다룹니다.

2026-08-14 · 최초 발행 2025-05-29

방화벽 정책은 경로를 알아야 정확히 배포된다

통합보안관리시스템(ISMS)에서 방화벽 정책을 관리할 때는 정책 내용만큼 적용 대상의 판단이 중요하다. 방화벽이 계층적으로 연결된 환경에서는 출발지와 목적지 사이에 어떤 장비가 놓이는지에 따라 정책을 배포해야 할 범위가 달라진다.

FALCON은 Firewall selection Algorism for policy CONtrol의 약자로, 이러한 정책 제어를 위한 방화벽 선택 알고리즘이다. 방화벽 사이의 연결 관계를 행렬로 관리하고, 패킷 경로에 포함되는 방화벽을 찾아 정책 분배의 모호성을 줄인다. 데이터베이스 접근 경로를 최적화하고 패킷 제어 효율과 응답 시간을 높이는 데도 목적이 있다.

연결 관계와 탐색에 사용하는 정보

FALCON은 ISMS의 ISM 서버가 관리하는 방화벽 구성 정보와 방화벽 인접 행렬을 바탕으로 동작한다. 인접 행렬은 네트워크에 있는 방화벽들의 직접 연결 관계를 테이블 형태로 저장한 것이다.

탐색에는 다음 정보가 사용된다.

  • FWsrc: 출발지 방화벽
  • FWdst: 목적지 방화벽
  • FWset: 탐색 과정에서 확보한 방화벽 집합
  • src_obj: 출발지 객체
  • dst_obj: 목적지 객체

이 정보로 패킷이 통과할 방화벽을 식별하고, 정책을 적용할 대상 집합을 구성한다.

인접 행렬로 표현한 방화벽 토폴로지

방화벽 A방화벽 B방화벽 C방화벽 D방화벽 E

위 연결 구조는 다음 인접 행렬로 기록할 수 있다.

방화벽 A B C D E
A 0 1 1 0 0
B 1 0 0 1 0
C 1 0 0 1 0
D 0 1 1 0 1
E 0 0 0 1 0

값이 1이면 두 방화벽이 직접 연결된 상태이고, 0이면 직접 연결되지 않았다는 뜻이다. 이 관계를 기반으로 FALCON은 현재 방화벽에서 다음으로 탐색할 후보를 찾는다.

목적지까지 이어지는 방화벽 집합을 찾는 방식

탐색은 출발지 방화벽과 목적지 방화벽, 그리고 현재까지 확인된 FWset에서 시작한다. 출발지와 직접 연결된 방화벽을 하나씩 확인하며 목적지인지 판단한다.

후보 방화벽이 목적지 방화벽과 같으면 해당 방화벽을 FWset에 넣고 결과를 GetFWset으로 반환한다. 목적지가 아니라면 이미 FWset에 포함되어 있는지 검사한다. 포함된 방화벽을 다시 탐색하면 순환 경로에서 무한 루프가 발생할 수 있으므로 이 경우에는 0(null set)을 반환하고 연산을 끝낸다.

아직 탐색하지 않은 방화벽이라면 FWset에 추가한 뒤, 그 방화벽을 새로운 출발지로 삼아 FALCON을 재귀 호출한다. 호출 결과는 함수 Call 스택을 통해 반환되며, 최종적으로 패킷이 통과해야 할 방화벽 집합이 결정된다.

FALCON 알고리즘의 의사 코드

PROCEDURE FALCON(FWsrc, FWdst, FWset, src_obj, dst_obj)
    FOR each inter_fw connected to FWsrc
        IF inter_fw = FWdst THEN
            ADD inter_fw to FWset
            RETURN FWset to GetFWset
            RETURN 0 (null set) for continued computation
        END IF

        IF inter_fw already exists in FWset THEN
            RETURN 0 (null set)
        END IF

        ADD inter_fw to FWset
        CALL FALCON(inter_fw, FWdst, FWset, src_obj, dst_obj) recursively
    END FOR
END PROCEDURE

정책 변경 시 확인할 적용 범위

본사와 지사를 연결하는 대규모 기업 네트워크에서 특정 서비스 접근 정책을 설정한다고 가정할 수 있다. 출발지는 지사 사용자 네트워크이고 목적지는 본사 데이터베이스 서버이며, 경로에는 지사 방화벽, 본사 경계 방화벽, 내부 방화벽이 포함된다. FALCON은 이 경로를 식별해 각 방화벽에 정책을 분배한다.

새로운 웹 서비스를 열어 외부 접근을 허용하는 경우도 같은 방식으로 다룬다. 외부 네트워크에서 웹 서버까지의 경로를 분석한 뒤, 경로 위의 모든 방화벽에 일관된 정책을 적용할 수 있다. 이때 누락된 장비나 불필요한 중복 적용을 줄이는 것이 핵심이다.

정책 관리와 보안 설계에의 활용

FALCON은 정책 변경 요청이 들어왔을 때 영향 범위를 분석하고 적용 과정을 자동화하는 정책 관리 시스템에 활용할 수 있다. 방화벽 연결 관계와 배치를 검토해 정책 처리 경로를 줄이는 네트워크 최적화에도 사용할 수 있다.

정책 적용 현황을 실시간으로 모니터링하고 규제 준수 여부 검증 및 보고서 생성을 지원하는 컴플라이언스 관리에도 연결할 수 있다. 새 네트워크를 설계할 때 방화벽 배치를 검토하거나, 보안 정책 적용을 시뮬레이션하는 용도로도 활용 가능하다.

이 방식은 필요한 방화벽에만 정책을 적용해 불필요한 정책 처리를 줄이고, 정책 일관성·투명성·추적성을 높이는 데 초점을 둔다.

FALCON++로 고려할 확장 방향

더 복잡한 네트워크와 정책 요구사항에는 FALCON의 기본 개념을 확장한 FALCON++를 고려할 수 있다. 다중 경로가 존재할 때 최적 경로 선택 알고리즘을 추가하고, 부하 분산 및 장애 대응 기능을 통합하는 방식이다.

네트워크 토폴로지 변화를 실시간으로 감지해 반영하거나 SDN(Software-Defined Networking) 환경과 통합하는 방향도 가능하다. 정책 충돌과 중복을 자동으로 감지하고, 보안 위험 분석 및 최적화 제안을 수행하는 고급 정책 분석도 확장 대상이다.

정책 요청FALCON++ 분석경로 식별정책 최적화충돌 분석정책 분배적용 확인결과 보고
방화벽 정책FALCON네트워크 보안ISMS재귀 알고리즘