네트워크 보안을 위한 BGP 하이재킹 탐지 및 방어 체계의 기술적 기초

증상 진단: BGP 하이재킹, 당신의 인터넷 트래픽이 납치되고 있음
전 세계 인터넷 라우팅의 근간을 이루는 BGP(Border Gateway Protocol)는 신뢰를 기반으로 동작합니다. 이 신뢰 체계가 악용될 때 발생하는 것이 BGP 하이재킹입니다. 증상은 명확하지 않을 수 있으나, 결과는 치명적입니다. 사용자는 정상적인 웹사이트에 접속하려 했으나, 트래픽이 악의적인 중간 서버를 경유하여 데이터가 유출되거나, 서비스가 완전히 차단될 수 있습니다. 구체적인 증상으로는 특정 국가 또는 지역에서만 접속 불가능해지는 현상, 평소보다 현저히 느린 해외 트래픽 속도, SSL 인증서 오류 경고 메시지 빈도 증가, 그리고 의심스러운 네트워크 홉(hop)이 트레이스루트(traceroute) 결과에 나타나는 경우를 들 수 있습니다. 이러한 현상이 발생한다면, 이는 단순한 네트워크 장애가 아닌, 경로 정보가 조작당했을 가능성을 즉시 의심해야 합니다.

원인 분석: 신뢰 기반 프로토콜의 구조적 취약성
BGP 하이재킹이 가능한 근본 원인은 BGP 프로토콜 자체의 설계 철학에 있습니다. BGP는 자율 시스템(AS) 간에 최적의 경로 정보를 교환하기 위해 만들어졌으나, 교환되는 경로 정보(프리픽스와 AS 경로)의 진위를 검증하는 메커니즘이 기본적으로 포함되어 있지 않습니다. 이는 마치 우편 시스템에서 발신지 주소를 아무나 쉽게 위조할 수 있는 것과 유사합니다, 공격자는 합법적인 isp나 기업과 같은 bgp 피어를 위장하거나, 취약한 bgp 세션을 탈취하여 잘못된 라우팅 정보를 전파합니다. 이 잘못된 정보는 BGP의 특성상 빠르게 전 세계 라우터로 퍼져나가며, 트래픽을 공격자가 통제하는 네트워크로 유도합니다. 목적은 다양할 수 있으나, 주로 데이터 도청, 서비스 거부(DDoS), 암호화폐 채굴 트래픽 리다이렉션, 또는 국가 차원의 인터넷 검열에 활용됩니다.
주의사항: BGP 하이재킹 탐지 및 대응은 일반 가정용 네트워크 수준이 아닌, ISP(인터넷 서비스 제공자) 또는 대규모 엔터프라이즈 네트워크 운영자 차원에서 수행해야 할 과제입니다, 그러나 네트워크 관리자나 보안 담당자는 아래 기술적 기초를 이해함으로써 자사 네트워크가 피해자가 되거나, 실수로 가해자가 되는 상황을 방지할 수 있습니다. 모든 설정 변경 전, 반드시 현재 라우팅 테이블 및 BGP 세션 설정을 백업해야 합니다.
해결 방법 1: 수동 모니터링 및 기본 무결성 검증
가장 기본적이지만 즉시 실행 가능한 방어선을 구축하는 방법입니다. 이 단계는 추가적인 프로토콜 도입 없이 현존하는 도구와 절차를 강화하는 데 중점을 둡니다.
우선, 네트워크 관리자는 정기적으로 자사가 광고(advertise)하는 IP 프리픽스와 AS 경로를 검증해야 합니다. 이는 RIR(지역 인터넷 레지스트리)의 WHOIS 데이터베이스와 자사의 내부 문서를 대조하여 수행합니다.
- BGP 모니터링 도구 활용:
BGPMon,RIPE Stat,Cloudflare Radar와 같은 공개 BGP 모니터링 서비스를 이용해 자사의 AS 번호와 IP 프리픽스에 대한 라우팅 변경 사항을 실시간으로 감시합니다. 특정 프리픽스에 대한 원치 않는 경로 발표(announcement)가 감지되면 즉시 경고를 받을 수 있도록 알림을 설정합니다. - 트레이스루트 정기 실행: 중요한 대외 서비스(예: 회사 웹사이트, 이메일 서버)에 대한 트레이스루트를 다양한 외부 지점(예: 다른 ISP, 다른 국가)에서 정기적으로 실행하고 결과를 기록합니다. 예상치 못한 AS 번호가 경로에 지속적으로 나타난다면 하이재킹 의심 필요.
- BGP 세션 보안 강화: BGP 피어와의 세션에 MD5 인증(비록 오래된 방식이지만) 또는 더 나은 TCP-AO(TCP Authentication Option)를 적용하여 세션 자체가 스푸핑되는 것을 방지합니다. 더불어, BGP TTL Security Hack(GTSM)을 구현하여 물리적으로 가까이 있지 않은 피어로부터의 세션 설정을 차단할 수 있습니다.
이 방법은 신속한 대응에 유용다만, 수동에 의존하기 때문에 탐지까지 시간이 지연될 수 있으며, 지속적인 인력 투입이 필요하다는 한계가 있습니다.
해결 방법 2: RPKI(Resource Public Key Infrastructure) 기반 출처 검증 구현
BGP 라우팅 정보의 진위를 암호학적으로 검증하는 근본적인 해결책입니다. RPKI는 IP 주소 블록과 AS 번호의 소유권을 디지털 인증서로 묶어, “이 AS 번호만이 이 IP 프리픽스를 광고할 권한이 있다”는 것을 증명하는 체계입니다.
구현은 크게 두 가지 단계로 나뉩니다. 먼저, IP 자원 소유자(보통 기업 또는 ISP)가 RIR에 자신의 자원을 인증서로 등록하는 ROA(Route Origin Authorization)를 생성합니다. 다음으로, 네트워크 운영자(라우터 운영자)가 이 ROA 정보를 바탕으로 들어오는 BGP 경로의 유효성을 검사합니다.
RPKI 구현 단계
- ROA 생성: 소유한 IP 프리픽스와 이를 광고할 권한이 있는 AS 번호를 지정하여 RIR(ARIN, RIPE NCC, APNIC 등)의 포털을 통해 ROA를 생성 및 발행합니다. 예: 프리픽스 203.0.113.0/24는 AS 65530에 의해서만 광고될 수 있도록 설정.
- RPKI 검증기(Relying Party) 설정: 네트워크 내부에
Routinator,Fort,rpki-client와 같은 RPKI 검증기 소프트웨어를 설치합니다. 이 소프트웨어는 전 세계 RPKI 저장소로부터 ROA 데이터를 끌어와(pull) 최신 상태로 유지합니다. - 라우터 구성: 시스코, 주니퍼, FRRouting 등 주요 라우터 벤더는 RPKI를 지원하는 BGP 확장인 ROV(Route Origin Validation) 기능을 제공합니다. 라우터를 구성하여 로컬 RPKI 검증기로부터 유효성 상태(Valid, Invalid, NotFound)를 받아 BGP 경로에 태그합니다.
router bgp 65530
bgp rpki server tcp 192.168.1.100 port 3323 refresh 600
위 예시는 라우터가 IP 주소 192.168.1.100의 검증기와 연결하도록 하는 시스코 IOS 설정의 일부입니다. - 라우팅 정책 적용: 최종적으로 라우팅 정책을 수정하여
Invalid상태로 태그된 경로는 수락하지 않거나 로컬 프리퍼런스(local preference)를 매우 낮게 설정하여 사실상 사용되지 않도록 합니다.Valid상태의 경로를 우선적으로 선택하도록 정책을 구성하면 보안성과 안정성을 동시에 높일 수 있습니다.
RPKI는 하이재킹 방어의 핵심 기술로 자리 잡았으며, 전 세계적으로 채택률이 빠르게 증가하고 있습니다. 그러나 모든 자원 소유자가 ROA를 생성하지 않으면 ‘NotFound’ 상태가 많아져 완벽한 보호를 제공하지 못할 수 있습니다.
해결 방법 3: BGP Flowspec을 활용한 실시간 공격 대응
BGP 하이재킹이 이미 발생하여 악성 트래픽이 유입되고 있을 때, 이를 신속하게 차단하는 기술입니다. BGP Flowspec은 BGP 프로토콜을 확장하여 라우터에 방화벽 같은 필터링 규칙(예: 특정 목적지/소스 IP, 포트, 프로토콜을 가진 트래픽 차단)을 전파할 수 있게 합니다.
전통적인 ACL(Access Control List) 변경은 각 라우터에 수동으로 접속해야 하는 번거로움이 있지만, Flowspec을 이용하면 네트워크 내 한 지점에서 규칙을 발표하기만 하면 해당 규칙이 BGP 네트워크 전반에 빠르게 퍼져나가 즉시 적용됩니다. 이는 대규모 DDoS 공격에 대한 완화 조치를 수초 내에 배포하는 데 실제로 효과적입니다.
- Flowspec 컨트롤 플레인 구축: 전용 Flowspec 컨트롤러(예: NOX, Ryu, 또는 벤더별 솔루션)를 도입하거나, 지원하는 라우터를 컨트롤러로 구성합니다. 이 장비는 위협 인텔리전스 피드나 모니터링 시스템으로부터 공격 패턴 정보를 받아 Flowspec 규칙으로 변환합니다.
- Flowspec 규칙 생성 및 발표: 공격 트래픽의 특징을 정의합니다. 특히, 표적이 된 서버 IP(203.0.113.1)로 향하는 모든 UDP 53포트(DNS) 트래픽을 차단하는 규칙을 생성합니다.
flow-spec rule: dst-ip 203.0.113.1/32, protocol udp, dst-port 53, action discard - 규칙 전파 및 적용: 컨트롤러는 이 규칙을 BGP 업데이트 메시지에 담아 내부 BGP 피어들에게 발표합니다. Flowspec을 지원하는 모든 라우터는 이 규칙을 받아 자동으로 하드웨어 가속 필터링(예: TCAM)에 적용하여 공격 트래픽을 근원지에 가까운 지점에서 차단합니다.
- 규칙 관리 및 철회: 공격이 종료되면, 컨트롤러에서 해당 Flowspec 규칙의 철회(withdraw)를 발표하여 정상 트래픽 흐름을 복원합니다. 모든 규칙의 생명주기를 중앙에서 관리해야 합니다.
BGP Flowspec은 매우 강력한 대응 도구이지만, 오용될 경우 정상 트래픽까지 차단하여 서비스 중단을 초래할 수 있으므로, 규칙 생성과 배포는 매우 신중하게 접근해야 합니다. 테스트 환경에서 충분한 검증 후 운영망에 적용하는 것이 필수적입니다.
주의사항 및 예방 체계 수립
위 기술들을 조합하여 다층적 방어 체계를 구축하는 것이 최선의 전략입니다. 단일 기술에 의존하는 것은 위험합니다.
- IRR(Internet Routing Registry) 등록 일관성 유지: RPKI ROA와 인터넷 라우팅 레지스트리(IRR)에 등록한 라우팅 정책 정보가 일치해야 합니다. 많은 ISP는 여전히 IRR 데이터를 라우팅 필터 생성에 참고합니다.
- 최대 프리픽스 길이 제한(Max Prefix Limit) 설정: 모든 BGP 피어 세션에 상대방이 발표할 수 있는 프리픽스 수의 최대치를 설정합니다. 이를 통해 악의적으로 대량의 위조 경로를 발표하는 공격을 차단할 수 있습니다.
- AS 경로 필터링 강화: 자사의 AS 번호가 예상치 못한 위치(예: 경로 중간)에 나타나는 경로를 필터링하는 정책을 수립합니다. 또한, Private AS 번호(64512-65534)가 인터넷 백본으로 유출되는 것을 차단합니다.
- 계획적 훈련 수행: 정기적으로 BGP 하이재킹 시나리오 기반의 대응 훈련을 실시합니다. 모의 공격을 탐지, 분석, RPKI/Flowspec을 활용한 차단, 그리고 관련 피어 및 고객과의 커뮤니케이션 절차를 팀원들이 숙지하도록 합니다.
전문가 팁: BGP 보안은 단순한 기술 구현을 넘어서는 커뮤니티적 노력입니다.
MANRS(Mutually Agreed Norms for Routing Security)와 같은 국제적 이니셔티브에 참여하십시오. MANRS는 필터링, 역방향 경로 검증, 전역 조정, 공개 문서화 등 네 가지 실천 강령을 제시하며, 참여 기관은 이행을 약속합니다. 이를 통해 네트워크 운영자 개별의 노력이 아닌, 전 세계 인터넷 라우팅 인프라의 전반적인 복원력(resilience)을 높이는 데 기여할 수 있습니다. 당신의 네트워크가 안전해지는 동시에, 전체 생태계의 보안 수준을 격상시키는 선순환 구조에 동참하는 것이 장기적이고 근본적인 해결책입니다.