최근 수정 시각 : 2025-12-30 11:13:02

BCP 38


1. 개요

BCP 38은 출발지 IP 위조를 방지하기 위해 네트워크 경계에서 출발지 주소를 검증하고, 정상적이지 않은 출발지 주소에서 유입된 패킷을 차단하도록 권고하는 운영 모범사례이다. 핵심 개념은 소스 IP 검증(Source Address Validation)으로, 특정 링크를 통해 들어온 패킷의 소스 IP가 실제로 해당 고객 또는 해당 네트워크에서 할당될 수 있는 주소인지를 확인하는 것이다.

2. 상세

BCP 38이 적용되지 않은 네트워크 장비에서는 소스 IP가 위조된 패킷이 그대로 인터넷으로 전달될 수 있다. 이는 IP 스푸핑을 기반으로 한 DRDoS 공격을 가능하게 만든다는 점에서 매우 위험하다.

DRDoS의 특성상 실제 공격자를 추적하기 어렵고, 소량의 트래픽만으로도 수십~수백 배로 증폭된 공격을 발생시킬 수 있기 때문에, BCP 38은 개별 서비스나 서버 차원의 방어책이 아닌 인터넷 전체 차원에서 반드시 이행되어야 하는 핵심적인 보안 수칙으로 간주된다.

3. 적용 방식

BCP 38의 적용 방식은 네트워크 구조와 운영 환경에 따라 달라지지만, 공통적인 목표는 출발지 IP가 위조된 패킷이 네트워크 외부로 유출되지 않도록 차단하는 것이다.

3.1. ACL 기반

가장 단순한 방식은 고객 또는 하위 네트워크별로 허용된 IP 대역을 명시적으로 지정하고, 해당 대역을 벗어난 소스 IP를 가진 패킷을 차단하는 ACL 기반 필터링이다. 이 방식은 정확성이 높지만, 고객 수가 많아질수록 운영 부담이 증가할 수 있다.

3.2. uRPF 기반

보다 자동화된 방식으로는 uRPF(Unicast Reverse Path Forwarding)가 사용된다. uRPF는 라우팅 테이블을 참조하여, 패킷의 소스 IP로 되돌아가는 경로가 정상적으로 존재하는지를 검사한다.

Strict uRPF는 역방향 경로가 해당 인터페이스로 정확히 일치할 경우에만 패킷을 허용하며, 단일 회선 환경에서 효과적이다.

Loose uRPF는 소스 IP에 대한 경로가 라우팅 테이블에 존재하기만 하면 패킷을 허용하여, 멀티홈 환경에서의 오탐 가능성을 줄이는 대신 스푸핑 차단 효과는 상대적으로 낮다.

멀티홈 또는 비대칭 라우팅 환경에서는 strict 방식 적용 시 정상 트래픽이 차단될 수 있으므로, 네트워크 구조에 맞춘 정책 설계가 필요하다.

4. 미적용 사례

BCP 38이 적용되지 않은 네트워크에서는 내부 호스트가 임의의 소스 IP를 설정한 패킷을 외부로 전송하는 것이 가능해진다. 이 경우 해당 네트워크는 의도하지 않게 DRDoS 공격의 발원지 또는 중계지 역할을 하게 될 수 있다.

실제로 일부 소규모 ISP, 기업 네트워크, 가정용 인터넷 회선, 또는 설정이 미흡한 IDC 환경에서는 여전히 소스 IP 스푸핑이 가능한 사례가 관측된다. 특히 멀티홈 구성의 복잡성, 운영 부담, 그리고 자신의 네트워크가 직접 피해를 입지 않는다는 인식으로 인해 BCP 38 적용이 지연되는 경우가 많다.

이러한 미적용 환경의 존재로 인해 memcached, NTP, DNS와 같은 UDP 기반 반사·증폭 공격이 현재까지도 실효성을 유지하고 있으며, 이는 인터넷 전반의 보안 수준을 저하시키는 구조적 문제로 이어진다.

4.1. 국내 적용 현황

한국의 경우 일부 가정용 인터넷 회선 환경에서 BCP 38이 완전하게 적용되지 않은 사례가 지속적으로 관측되고 있다. 특히 SKT, LG U+ 등 주요 통신사의 가정용 회선에서 출발지 IP 위조가 가능한 환경이 확인된 바 있으며, 이는 소스 IP 검증이 해당 구간의 네트워크 경계에서 강제되지 않음을 시사한다.

이러한 환경에서는 내부 단말이 임의의 소스 IP를 설정한 패킷을 외부로 송출할 수 있어, 의도하지 않게 DRDoS 공격의 발원지로 악용될 가능성이 존재한다. 이는 개별 사용자의 문제가 아니라, 가정용 회선 구간에 대한 BCP 38 적용이 미흡한 구조적 한계에서 비롯된 문제로 볼 수 있다.