인터넷에서 어떤 웹사이트에 접속할 때, 우리는 단순히 www.example.com을 입력합니다. 하지만 그 뒤에서는 전 세계 수만 개의 네트워크가 서로 “이 IP 주소는 우리 쪽으로 오면 됩니다”라고 약속을 주고받으며 길을 만듭니다. 그 약속의 언어가 바로 BGP(Border Gateway Protocol, 경계 경로 프로토콜)입니다. 그런데 이 BGP는 1989년 설계된 이래 거의 그대로 쓰이고 있고, 설계 당시의 “성선설”이 지금까지도 인터넷 안정성의 약한 고리로 남아 있습니다.
이번 글에서는 BGP가 정확히 무엇이고, 왜 그토록 취약하다는 평가를 받는지, 그리고 실제로 어떤 대형 사고가 있었으며 2025년 현재 어떤 대응책이 표준으로 자리 잡고 있는지를 정리해 보겠습니다.
목차
BGP란 무엇인가
인터넷은 사실 하나의 거대한 단일 네트워크가 아닙니다. KT, SK브로드밴드, LG U+, 구글, 아마존, 클라우드플레어 등 각자 독립적으로 운영되는 수만 개의 네트워크가 모여 만들어진 “네트워크들의 네트워크”입니다. 이 각각의 네트워크 단위를 AS(Autonomous System, 자율 시스템)라고 부르며, 모든 AS에는 고유한 번호(ASN)가 부여됩니다. 예를 들어 KT는 AS4766, 구글은 AS15169입니다.
BGP는 바로 이 AS 사이에서 라우팅 정보를 교환하는 프로토콜입니다. 한 AS가 자기 네트워크에 속하는 IP 주소 범위(prefix, 예: 208.65.152.0/22)를 이웃 AS에 광고하면, 그 이웃 AS는 자신의 라우팅 테이블에 “이 prefix로 가려면 그 AS를 거치면 된다”고 기록합니다. 이 광고가 다시 다음 이웃에게 전파되면서, 결과적으로 전 세계 라우터가 모든 IP 대역으로 가는 길을 학습하게 됩니다.
비유하자면 BGP는 인터넷의 “외교 프로토콜”에 가깝습니다. 각 나라(AS)가 “우리 쪽으로 보내는 우편물은 이쪽 항구로 들어오면 됩니다”라고 이웃 나라에 알리고, 그 이웃이 다시 다른 나라에 그 정보를 전달하는 식입니다. 그런데 이 외교 통신에는 인증도, 검증도, 진위 확인도 없습니다.
BGP는 어디서 왜 취약한가
설계상의 근본 원인: 신뢰 기반(trust-by-default)
BGP가 표준화된 1989년은 인터넷이 학술·연구 기관 중심의 선의 공동체였습니다. 당시 RFC 1163, 그리고 지금까지 쓰이는 BGP-4(RFC 4271, 2006년)도 같은 가정을 이어받았습니다. 즉, 이웃 AS가 보내는 광고는 모두 진실이라고 믿는 것이 기본 동작입니다. 누군가 거짓말을 한다는 시나리오 자체가 설계에 반영되어 있지 않습니다.
구체적으로 BGP에는 다음 세 가지가 빠져 있습니다.
- 출발지 검증(Origin Validation)의 부재: 어떤 AS가 “이 prefix는 내 것입니다”라고 광고했을 때, 실제 그 IP 대역을 할당받은 주체가 맞는지 확인할 수단이 표준에 없습니다.
- 경로 무결성(Path Integrity)의 부재: 광고가 거쳐 온 AS 경로(AS Path)도 위조하거나 단축해 더 매력적으로 보이게 만들 수 있습니다.
- 피어 인증의 약함: BGP는 TCP 위에서 동작하는데, 기본 상태에서는 같은 IP를 흉내 낸 패킷 주입에 취약합니다. MD5 인증이나 TCP-AO가 권고되지만 강제는 아닙니다.
주요 취약점 유형
이러한 설계상의 빈틈은 크게 세 가지 형태의 위협으로 나타납니다.
| 유형 | 설명 | 발생 원인 |
|---|---|---|
| BGP Hijacking | 공격자가 자신이 소유하지 않은 IP prefix를 자기 것이라고 광고하여 트래픽을 가로채는 행위 | 악의적 공격, 또는 설정 실수 |
| Route Leak | 고객 → 공급자 방향으로만 흘러야 할 경로가 다른 공급자에게 새어 나가, 의도치 않은 우회를 발생시키는 현상 | 주로 라우팅 정책 오설정 |
| BGP Session Hijacking | BGP 세션의 기반 TCP 연결을 표적으로 삼아 패킷을 주입, 세션을 끊거나 잘못된 경로를 강제 주입하는 공격 | 약한 세션 인증 |
이 중 BGP Hijacking은 “더 구체적인 prefix(more-specific) 광고” 형태로 자주 일어납니다. 라우터는 더 좁은 범위의 prefix를 우선하기 때문에, 정상 prefix가 /22일 때 누군가 같은 대역을 /24로 쪼개 광고하면 거의 모든 트래픽이 공격자 쪽으로 빨려 들어갑니다.
실제로 일어난 BGP 사고
이 취약성은 학문적인 이야기가 아닙니다. 지난 20년 동안 전 세계가 한 줄짜리 라우터 명령어 때문에 인터넷을 잃어버린 사건이 여러 차례 있었습니다.
2008년 파키스탄 유튜브 차단 사고
2008년 2월 24일, 파키스탄 정부는 자국 내 유튜브 접속을 차단하기 위해 파키스탄 텔레콤(AS17557)에 IP 차단 조치를 지시했습니다. 그런데 이 회사는 차단용으로 만든 208.65.153.0/24 경로를 자국 내부가 아니라 상위 통신사 PCCW(AS3491)에 그대로 광고해 버렸습니다.
유튜브의 정상 prefix는 208.65.152.0/22였는데, 파키스탄이 광고한 /24가 더 구체적이었기 때문에 전 세계 라우터들이 이 광고를 우선했습니다. 결과적으로 약 두 시간 동안 전 세계 인터넷의 3분의 2가 유튜브 트래픽을 파키스탄으로 보냈고, 유튜브는 글로벌 다운 상태가 되었습니다. 의도는 자국 차단이었지만, 영향은 지구 반대편까지 미쳤습니다.
2021년 페이스북 7시간 글로벌 장애
2021년 10월 4일 오전 11시 51분(EST), 페이스북·인스타그램·왓츠앱·메신저가 동시에 전 세계에서 사라졌습니다. 외부 공격이 아니었습니다. 페이스북 백본 네트워크의 일상적 점검 명령이 잘못 실행되면서, 페이스북이 인터넷에 광고하던 모든 BGP 경로가 한꺼번에 회수(withdraw)되었기 때문입니다.
DNS 서버는 살아 있었지만 그 서버로 가는 길 자체가 사라졌습니다. 더 심각한 것은 페이스북 사옥 내부의 보안카드 인증, 모니터링, VPN까지 같은 인프라에 묶여 있었다는 점입니다. 엔지니어들은 데이터센터에 직접 차를 몰고 가서 수동으로 라우터를 복구해야 했고, 서비스는 약 7시간 만인 오후 6시 28분(EST)에야 정상화되었습니다. BGP 광고 한 줄이 사라지자 회사 자체가 인터넷에서 지워진 것입니다.
2021년 KT 전국 인터넷 마비
2021년 10월 25일 오전 11시 16분, KT 부산국사에서 라우터 교체 작업 중 작업자가 명령어 입력 시 exit를 누락했습니다. 이 한 줄 누락 때문에 BGP 프로토콜이 교환해야 할 수십만 건의 경로 정보가 라우팅 도메인 내부 프로토콜인 IS-IS로 잘못 흘러들어갔습니다.
IS-IS는 평소 1만 건 내외만 다루도록 설계된 프로토콜이라 이 폭주를 견디지 못했습니다. 30초도 안 되어 부산에서 시작된 장애는 서울을 거쳐 전국으로 확산되었고, KT 인터넷 가입자 약 1,650만 명이 약 90분간 인터넷·전화·신용카드 결제 모두를 잃었습니다. 초기에는 DDoS로 의심되었지만 결국 단순 설정 실수로 결론났습니다.
어떻게 막을 수 있을까: RPKI를 중심으로
BGP의 근본 설계를 통째로 바꾸는 것은 현실적으로 불가능합니다. 대신 인터넷 커뮤니티는 BGP에 검증 레이어를 덧붙이는 방향으로 보안을 발전시켜 왔습니다.
RPKI / ROA / ROV
RPKI(Resource Public Key Infrastructure, 자원 공개키 기반구조)는 IP 주소 자원의 진짜 소유자가 누구인지를 암호학적으로 증명하는 체계입니다. 인터넷 자원을 할당하는 RIR(APNIC, ARIN 등)을 최상위 인증기관으로 두고, IP 대역을 받은 조직이 ROA(Route Origin Authorization)이라는 디지털 서명 객체를 발행합니다. ROA에는 “이 prefix는 어떤 ASN이 광고할 수 있다”는 정보가 들어 있습니다.
그리고 라우터는 ROV(Route Origin Validation)을 켜서, 들어오는 BGP 광고를 ROA와 대조합니다. 일치하면 valid, 불일치면 invalid로 분류해 invalid 광고를 폐기합니다. 이 절차가 2008년 파키스탄 사례 같은 “출발지 위조형” 하이재킹의 상당수를 막아 줍니다.
다만 RPKI도 만능은 아닙니다. RPKI는 출발지(origin)만 검증합니다. 즉 “이 prefix를 광고할 자격이 있는 AS냐”는 확인하지만, “광고가 거쳐 온 AS Path가 진짜냐”는 검증하지 못합니다. 이 빈자리를 메우기 위해 BGPsec과 ASPA(Autonomous System Provider Authorization)가 IETF에서 표준화되어 점진적 배포 중입니다.
그 외의 모범 사례
- Prefix Filtering: 모든 피어링 지점에서 명시적인 prefix 화이트리스트를 적용해, 비현실적인 광고를 입구에서 거른다.
- BGP 세션 인증: TCP MD5 또는 TCP-AO를 사용해 BGP 세션 자체를 보호한다.
- TTL Security(GTSM): 직접 연결된 eBGP 피어에 대해 TTL 255만 허용하여 원격 패킷 주입을 차단한다.
- MANRS 가입: MANRS(Mutually Agreed Norms for Routing Security)는 ISP·IXP·CDN 등이 라우팅 보안 모범 사례를 상호 약속하는 글로벌 이니셔티브입니다.
- BGP 모니터링: 자기 prefix가 다른 AS에서 광고되는지, RPKI valid 상태가 깨지는지 실시간 감시한다.
2025년 BGP 보안 동향
2025년은 BGP 보안에서 의미 있는 분기점이 되었습니다.
- 미국 FCC의 RPKI 권고: 미국 연방통신위원회는 2025년 1월 1일부터 ISP에게 RPKI 기반 ROA 발행과 ROV 적용을 적극 시행하도록 권고했습니다. 사실상 미국 통신 인프라가 RPKI를 기본값으로 받아들인 시점입니다.
- NIST SP 800-189 Revision 1 초안: 미국 국립표준기술연구소는 2025년 1월 BGP 보안 가이드라인 개정 초안을 공개했습니다. 이 문서는 RPKI·ROA·ROV를 BGP 라우팅 보안의 권장 기술로 명시하고, BGPsec과 라우팅 모니터링까지 권고 범위에 포함시켰습니다.
- RPKI 배포 현황: 2025년 5월 기준으로 전 세계 IPv4 prefix 중 RPKI ROA가 발행된 비율은 50%를 넘었고, 주요 Tier-1 사업자 대다수가 ROV를 활성화했습니다. 한국에서도 KISA와 KRNIC을 중심으로 ROA 발행이 꾸준히 늘고 있습니다.
마무리
BGP는 인터넷이라는 외교 무대의 공용어이지만, 그 언어 자체에는 거짓말 탐지기가 없습니다. 1989년식 신뢰 모델 위에서 우리는 35년 넘게 인터넷을 운영해 왔고, 그 사이 누적된 사고는 BGP의 진짜 위험이 악의적 공격뿐 아니라 일상적인 설정 실수에서도 동등하게 발생함을 보여줍니다.
다행히 RPKI는 더 이상 실험이 아닙니다. 2025년 시점에서는 사실상 인터넷 라우팅 보안의 기본값이 되어 가고 있으며, BGPsec·ASPA 같은 후속 기술도 점진적으로 그 빈자리를 메우고 있습니다. 네트워크를 운영한다면 자기 prefix에 ROA가 발행되어 있는지, 업스트림이 ROV를 켜고 있는지를 한 번쯤 점검해 볼 가치가 충분합니다.
인터넷은 여전히 신뢰로 동작합니다. 다만 그 신뢰의 형식이 “성선설”에서 “암호학적 증명”으로 천천히 바뀌고 있는 것뿐입니다.
“BGP는 무엇이고, 어디서 왜 취약한걸까?”에 대한 2개의 생각
댓글은 닫혔습니다.