🛰️
BGP(경계 경로 프로토콜)란
전 세계 수많은 통신사와 대형 네트워크가 "어떤 IP 대역이 어느 네트워크로 가는 길인지" 서로 알려주는 데 쓰는 인터넷 핵심 라우팅 프로토콜입니다.
BGP(Border Gateway Protocol)는 집이나 회사 내부망에서 쓰는 라우팅 방식과 달리, 서로 다른 회사가 운영하는 네트워크끼리 경로 정보를 주고받기 위해 설계된 프로토콜입니다. 인터넷은 사실 하나의 거대한 네트워크가 아니라 통신사, 클라우드 업체, 대학, 기업 등이 운영하는 수많은 개별 네트워크가 BGP로 서로 연결된 "네트워크들의 네트워크"입니다.
🏢
자율 시스템(AS)이란
하나의 조직이 자체 정책으로 관리하는 IP 네트워크 묶음으로, 전 세계에서 겹치지 않는 고유한 AS 번호(ASN)를 부여받습니다.
통신사, 대형 클라우드 업체, 대학교, 대기업은 각각 하나 이상의 자율 시스템(Autonomous System)을 운영하며, 국제 인터넷 registry로부터 고유한 AS 번호를 할당받습니다. BGP는 정확히 말하면 "IP 주소끼리"가 아니라 "AS와 AS 사이"에 어떤 IP 대역으로 가는 경로가 있는지를 광고하고 교환하는 프로토콜입니다.
📢
경로 광고와 최적 경로 선택
각 AS는 자신이 책임지는 IP 대역을 이웃 AS에게 "이 대역은 나를 거쳐 가면 된다"고 광고하고, 이 정보가 인터넷 전체로 퍼져나갑니다.
한 AS가 특정 IP 대역(프리픽스)을 광고하면, 이를 받은 이웃 AS는 자신의 라우팅 테이블에 기록한 뒤 다시 자신의 다른 이웃에게 전달합니다. 이 과정이 반복되며 전 세계 라우터들은 특정 목적지까지 어떤 AS들을 거쳐야 하는지(AS 경로)를 알게 되고, 여러 경로 후보가 있을 경우 대표적으로 거쳐야 할 AS 개수가 더 적은 경로 등 정해진 기준에 따라 하나를 선택합니다.
🤝
피어링과 트랜짓 관계
규모가 비슷한 네트워크끼리는 서로 무료로 트래픽을 주고받는 피어링을, 소규모 네트워크는 큰 통신사에 비용을 내고 인터넷 전체 경로를 얻는 트랜짓 계약을 맺습니다.
대형 통신사나 콘텐츠 사업자들은 인터넷 교환 지점(IXP, Internet Exchange Point)에 모여 직접 회선을 연결하고 서로의 트래픽을 무료로 교환하는 "피어링(peering)" 관계를 맺기도 합니다. 반면 자체 회선망이 없는 중소 네트워크는 상위 통신사에 비용을 지불하고 인터넷 전체로 나가는 경로를 제공받는 "트랜짓(transit)" 계약을 이용합니다.
⚠️
BGP 하이재킹이란
자신이 관리하지 않는 IP 대역을 실수로 또는 의도적으로 광고해 다른 네트워크로 갈 트래픽을 엉뚱한 곳으로 끌어오는 현상입니다.
BGP는 기본적으로 "이웃 네트워크가 광고하는 정보는 맞는 정보일 것"이라고 신뢰하는 구조로 설계되어 있습니다. 그래서 한 AS가 설정 실수나 악의적인 목적으로 자신의 소유가 아닌 IP 대역을 광고하면, 그 대역으로 가야 할 트래픽 일부가 잘못된 경로로 흘러가는 BGP 하이재킹이 발생할 수 있습니다. 실제로 특정 통신사의 설정 실수 하나가 특정 대형 서비스로 향하던 트래픽을 전 세계적으로 마비시킨 사례가 여러 차례 보고된 바 있습니다.
🔓
BGP가 "신뢰" 기반으로 설계된 이유
1980년대 말 상대적으로 소수의 기관만 인터넷에 연결되어 있던 시절에 설계되어, 강력한 신원 검증 기능 없이 이웃의 광고를 그대로 받아들이는 구조로 만들어졌습니다.
BGP가 처음 만들어질 당시에는 인터넷에 연결된 네트워크 수가 지금보다 훨씬 적었고, 서로가 서로를 어느 정도 신뢰할 수 있는 환경이었습니다. 이 때문에 "이 광고가 정말 그 IP 대역의 정당한 주인에게서 나온 것인지"를 암호학적으로 검증하는 기능이 기본 설계에는 포함되어 있지 않았고, 이것이 오늘날까지 이어지는 구조적 보안 약점으로 지적됩니다.
🔏
RPKI로 경로를 검증하는 방법
어떤 AS가 어떤 IP 대역을 광고할 자격이 있는지 암호학적 인증서로 미리 등록해두고, 다른 네트워크가 이를 대조해 잘못된 광고를 걸러내는 보안 체계입니다.
RPKI(Resource Public Key Infrastructure)는 IP 주소 관리 기관이 "이 AS 번호가 이 IP 대역을 광고할 정당한 권한이 있다"는 내용을 암호학적으로 서명한 인증서(ROA)로 등록해두는 체계입니다. RPKI를 도입한 네트워크는 들어오는 BGP 광고가 이 인증서와 맞는지 검증해, 권한 없는 곳에서 나온 잘못된 광고를 자동으로 걸러낼 수 있습니다. 다만 전 세계 모든 네트워크가 이를 적용한 것은 아니라서, 도입률을 계속 높여가는 것이 인터넷 보안 커뮤니티의 과제로 남아 있습니다.
💥
왜 사소한 설정 실수가 전 세계 장애로 이어질까
한 네트워크의 라우터 설정 실수가 순식간에 전 세계 다른 네트워크로 전파되는 BGP의 특성 때문에, 국소적인 실수가 광범위한 접속 장애로 번질 수 있습니다.
특정 AS가 실수로 자신이 가진 것보다 훨씬 많은 IP 대역을 한꺼번에 광고하거나, 잘못된 경로 정보를 흘려보내면 이웃 AS들이 이를 그대로 받아들여 다시 전파하면서 오류가 인터넷 전역으로 급속히 퍼질 수 있습니다. 이 때문에 대형 인터넷 서비스나 클라우드 업체의 접속 장애 뉴스에서 "설정 오류로 인한 BGP 라우팅 문제"라는 원인이 자주 등장합니다.