인터넷에서 사용자가 어떤 웹사이트에 접속할 때,
우리는 보통 "도메인 주소를 입력하면 서버로 바로 연결된다"고 생각합니다.
예를 들어 브라우저에 google.com, youtube.com, cloudflare.com 같은 주소를 입력하면
그 서비스의 서버로 이동한다고 생각합니다.
하지만 실제 인터넷은 그렇게 단순하게 움직이지 않습니다.
사용자의 패킷은 여러 통신사, 클라우드 사업자, 중간 네트워크를 거쳐 목적지까지 이동합니다.
이때 "어느 IP 대역으로 가려면 어느 네트워크를 거쳐야 하는가"를 알려주는 핵심 프로토콜이 BGP입니다.
BGP는 인터넷 전체의 길 안내 시스템과 비슷합니다.
문제는 이 길 안내 시스템이 기본적으로 "상대 네트워크가 말하는 경로 정보를 어느 정도 믿는 구조"라는 점입니다.
그래서 어떤 네트워크가 "이 IP 대역은 나한테 오면 된다"고 잘못 광고하거나,
악의적으로 거짓 광고를 하면 트래픽이 원래 목적지가 아닌 곳으로 이동할 수 있습니다.
이런 현상을 BGP hijacking이라고 합니다.
한 줄로 정리하면 다음과 같습니다.
BGP hijacking은 원래 자신이 소유하지 않은 IP 대역을 자기 것처럼 광고하여,
인터넷 트래픽을 잘못된 네트워크로 끌고 가는 공격 또는 사고입니다.
1. BGP란 무엇인가?
BGP는 Border Gateway Protocol의 줄임말입니다.
BGP는 서로 다른 네트워크들이 "어떤 IP 대역으로 가려면 어떤 경로를 이용해야 하는지"를
주고받는 인터넷의 대표적인 라우팅 프로토콜입니다.
여기서 라우팅은 패킷이 목적지까지 가는 길을 정하는 과정입니다.
예를 들어 사용자가 어떤 웹사이트에 접속한다고 가정해보겠습니다.
내 PC → 집 공유기 → 통신사망 → 여러 중간 네트워크 → 웹사이트 서버
이런 식으로 패킷은 여러 네트워크를 지나갑니다. 이때 각 네트워크는 목적지 IP 주소를 보고
"이 패킷은 어느 방향으로 보내야 하는가?"
를 판단해야 합니다.
그 판단에 사용되는 정보가 라우팅 정보입니다.
BGP는 특히 서로 다른 큰 네트워크 사이에서 사용됩니다.
예를 들어 다음과 같은 네트워크들이 있습니다.
- KT 같은 통신사 네트워크
- SK 같은 통신사 네트워크
- AWS 같은 클라우드 네트워크
- Google 같은 서비스 사업자 네트워크
- Cloudflare 같은 CDN 및 보안 사업자 네트워크
- 대학교나 연구기관의 대형 네트워크
이들은 각자 독립적으로 운영되는 네트워크입니다. 이런 독립 네트워크 단위를 AS라고 합니다.
2. AS와 ASN이란?
AS는 Autonomous System의 줄임말입니다.
AS는 하나의 라우팅 정책으로 운영되는 독립적인 네트워크 단위입니다.
쉽게 말하면 "인터넷 안에서 독립적으로 길 안내 정책을 운영하는 큰 네트워크"라고 보면 됩니다.
예를 들어 어떤 회사가 전 세계에 데이터센터를 가지고 있고,
자기 IP 대역을 직접 운영한다면 하나의 AS를 가질 수 있습니다.
통신사, 클라우드 사업자, 대형 인터넷 기업들이 대표적인 AS 운영자입니다.
ASN은 Autonomous System Number의 줄임말입니다.
ASN은 AS에 붙는 고유 번호입니다.
예를 들어 다음처럼 생각할 수 있습니다.
AS11111: 어떤 회사의 네트워크
AS22222: 어떤 통신사의 네트워크
AS33333: 어떤 클라우드 사업자의 네트워크
BGP에서는 네트워크를 이름이 아니라 ASN으로 구분합니다.
예를 들어 AS11111이 다음처럼 말할 수 있습니다.
"나는 203.0.113.0/24 대역으로 갈 수 있다."
그러면 이웃 AS는 그 정보를 듣고 자신의 라우팅 테이블에 반영합니다.
3. Prefix란 무엇인가?
Prefix는 IP 주소의 범위를 의미합니다.
예를 들어 203.0.113.0/24라는 표기가 있다고 가정해보겠습니다.
이것은 203.0.113.0부터 203.0.113.255까지의 IP 주소 범위를 의미합니다.
IP 하나만 말하는 것이 아니라 IP 묶음을 말하는 것입니다.
BGP는 보통 IP 하나하나를 광고하지 않습니다. IP를 일정 범위로 묶어서 광고합니다. 그 묶음이 prefix입니다.
예시는 다음과 같습니다.
203.0.113.0/24
→ 203.0.113.0 ~ 203.0.113.255 범위
203.0.113.0/25
→ 203.0.113.0 ~ 203.0.113.127 범위
203.0.113.128/25
→ 203.0.113.128 ~ 203.0.113.255 범위
여기서 헷갈리기 쉬운 부분이 있습니다.
/24, /25, /26에서 숫자가 커질수록 범위는 더 작아집니다.
/24보다 /25가 더 구체적인 경로입니다.
/24는 큰 도로 안내판이고, /25는 더 세부적인 골목 안내판이라고 생각하면 됩니다.
5. BGP는 어떻게 동작하는가?
BGP의 기본 동작은 "광고"입니다.
네트워크가 다른 네트워크에게 경로 정보를 알려주는 것을 의미합니다.
예를 들어 AS11111이 203.0.113.0/24 대역을 가지고 있다고 가정합니다.
그러면 AS11111은 이웃 AS에게 다음처럼 알립니다.
"203.0.113.0/24로 가려면 나에게 보내면 된다"
이웃 AS는 이 정보를 받고, 필요하면 또 다른 이웃 AS에게 전달합니다.
이 과정을 통해 경로 정보가 인터넷 전체로 퍼집니다.
흐름은 다음과 같습니다.
1. 어떤 AS가 자신의 IP prefix를 BGP로 광고
2. 이웃 AS가 그 광고를 받음
3. 이웃 AS는 자신의 정책에 따라 해당 경로를 받아들일지 결정
4. 받아들인 경로는 다시 다른 AS로 전파될 수 있음
5. 전 세계 라우터들은 이 정보를 바탕으로 목적지까지의 경로를 선택
예를 들어 정상 상황은 다음과 같습니다.
AS100: 나는 203.0.113.0/24 대역을 가지고 있다.
AS200: 알겠다. 203.0.113.0/24로 가는 트래픽은 AS100으로 보내겠다.
AS300: 나도 AS200을 통해 AS100으로 갈 수 있겠구나.
이렇게 라우팅 정보가 퍼지면서 인터넷 경로가 만들어집니다.
5. BGP 경로 선택에서 중요한 원리
BGP는 여러 경로 중 하나를 선택해야 합니다.
이때 여러 기준이 사용됩니다.
대표적으로 다음과 같은 요소들이 있습니다.
- Local Preference
- AS Path 길이
- Origin type
- MED
- eBGP와 iBGP 여부
- Router ID
- Prefix 길이
입문 단계에서 가장 먼저 이해해야 할 핵심은 Prefix 길이와 Longest Prefix Match입니다.
Longest Prefix Match는 더 구체적인 경로를 우선하는 원리입니다.
예를 들어 라우터가 다음 두 경로를 알고 있다고 가정해보겠습니다.
203.0.113.0/24 → 정상 네트워크
203.0.113.0/25 → 다른 네트워크
사용자가 203.0.113.10으로 접속하려고 하면, 이 IP는 두 경로에 모두 포함됩니다.
203.0.113.10은 203.0.113.0/24에도 포함됩니다.
203.0.113.10은 203.0.113.0/25에도 포함됩니다.
이 경우 라우터는 더 구체적인 경로인 /25를 선택합니다.
/24보다 /25가 우선됩니다.
이 원리는 BGP hijacking에서 매우 중요합니다.
공격자나 잘못 설정된 네트워크가 정상 prefix보다 더 구체적인 prefix를 광고하면,
많은 라우터들이 그 경로를 더 정확한 경로라고 판단할 수 있기 때문입니다.
6. BGP Hijacking이란 무엇인가?
BGP hijacking은 어떤 AS가 자신이 소유하지 않은 IP prefix를 자기 것처럼 광고하는 행위입니다.
정상적으로는 YouTube의 IP 대역은 YouTube 또는 Google 쪽 AS가 광고해야 합니다.
Amazon의 DNS 서버 IP 대역은 Amazon이 광고해야 합니다.
Cloudflare의 1.1.1.1 대역은 Cloudflare가 광고해야 합니다.
그런데 다른 AS가 갑자기 다음처럼 광고한다고 가정해보겠습니다.
"그 IP 대역은 나한테 오면 된다."
이 광고가 다른 네트워크들에게 받아들여지면, 원래 목적지로 가야 할 트래픽이 엉뚱한 네트워크로 이동할 수 있습니다.
정상 상황:
사용자 → ISP → 정상 AS → 실제 서버
BGP hijacking 상황:
공격자 AS: "그 IP 대역은 나에게 보내면 된다."
사용자 → ISP → 공격자 AS
이렇게 되면 여러 문제가 발생할 수 있습니다.
첫째, 트래픽이 버려질 수 있습니다.
이 경우 사용자는 서비스에 접속하지 못합니다. 장애처럼 보입니다.
둘째, 트래픽이 중간에서 관찰될 수 있습니다.
공격자가 중간 경로에 위치하면 통신 내용을 훔쳐보거나 분석하려고 시도할 수 있습니다.
셋째, 가짜 사이트로 유도될 수 있습니다.
특히 DNS와 결합되면 사용자가 정상 사이트에 접속한다고 생각했지만 실제로는 가짜 사이트로 연결될 수 있습니다.
넷째, 서비스 지연이 발생할 수 있습니다.
트래픽이 비정상적인 경로로 우회하면서 지연 시간이 늘어날 수 있습니다.
7. BGP Hijacking이 가능한 이유
BGP hijacking이 가능한 가장 큰 이유는 BGP가 기본적으로 신뢰 기반으로 설계되었기 때문입니다.
BGP는 오래전에 만들어진 프로토콜입니다.
당시 인터넷은 지금처럼 거대하고 복잡한 상업 인터넷이라기보다,
제한된 기관과 네트워크들이 서로 연결되는 구조에 가까웠습니다.
그래서 "상대 네트워크가 거짓말하지 않을 것"이라는 신뢰가 어느 정도 전제되어 있었습니다.
문제는 현재 인터넷이 전 세계 수많은 사업자와 네트워크로 이루어져 있다는 점입니다.
모든 네트워크가 항상 정확한 설정을 한다고 보장할 수 없습니다.
악의적인 네트워크도 있을 수 있고, 단순 설정 실수도 발생할 수 있습니다.
BGP 자체만으로는 다음 질문에 완벽히 답하기 어렵습니다.
"이 AS가 정말 이 prefix를 광고할 권한이 있는가?"
이 검증이 부족하기 때문에 잘못된 경로 광고가 전 세계로 퍼질 수 있습니다.
8. BGP Hijacking의 대표 유형
BGP hijacking은 크게 몇 가지 유형으로 볼 수 있습니다.
첫 번째는 Origin hijacking입니다.
Origin hijacking은 어떤 AS가 남의 prefix를 자기 AS에서 시작된 것처럼 광고하는 방식입니다.
예를 들어 원래는 AS100이 203.0.113.0/24를 광고해야 하는데, AS999가 같은 prefix를 광고하는 것입니다.
두 번째는 More-specific prefix hijacking입니다.
이 방식은 더 구체적인 prefix를 광고하는 방식입니다.
정상 AS가 203.0.113.0/24를 광고하고 있는데, 공격자가 203.0.113.0/25를 광고하는 식입니다.
라우터는 더 구체적인 경로를 선호하기 때문에 공격자의 경로가 선택될 가능성이 높습니다.
세 번째는 Route leak입니다.
Route leak은 hijacking과 조금 다릅니다.
원래 특정 범위 안에서만 전달되어야 할 라우팅 정보가 잘못된 방향으로 새어 나가는 현상입니다.
예를 들어 고객에게서 받은 경로를 다른 상위 통신사에게 부적절하게 전달하거나,
특정 피어링 관계에서만 사용되어야 할 경로가 전 세계로 퍼지는 경우가 있습니다.
BGP hijacking과 route leak은 원인은 다를 수 있지만,
결과적으로 인터넷 트래픽이 잘못된 경로로 이동하거나 서비스 장애를 일으킬 수 있다는 점에서 비슷합니다.
9. BGP hijacking 사례
실제 사례 1: 2008년 Pakistan Telecom의 YouTube Hijacking
가장 유명한 BGP hijacking 사례 중 하나는 2008년 YouTube 사건입니다.
2008년 2월 24일 Pakistan Telecom은 YouTube 접속을 차단하기 위해
YouTube와 관련된 IP prefix를 내부적으로 잘못 광고했습니다.
문제는 이 광고가 파키스탄 내부에서만 끝나지 않고,
upstream provider였던 PCCW Global을 통해 전 세계 인터넷으로 전파되었다는 점입니다.
당시 YouTube는 208.65.152.0/22 prefix를 광고하고 있었습니다.
그런데 Pakistan Telecom은 208.65.153.0/24를 광고했습니다.
여기서 중요한 점은 /24가 /22보다 더 구체적인 prefix라는 점입니다.
208.65.152.0/22
→ 더 넓은 범위
208.65.153.0/24
→ 더 좁고 구체적인 범위
인터넷의 많은 라우터들은 더 구체적인 /24 경로를 선택했습니다.
그 결과 전 세계의 YouTube 트래픽 일부가 YouTube가 아니라 Pakistan Telecom 쪽으로 이동하게 되었습니다.
문제는 Pakistan Telecom이 실제로 YouTube 서비스를 제공할 수 있는 네트워크가 아니었다는 점입니다.
결국 많은 사용자가 YouTube에 접속하지 못하는 글로벌 장애가 발생했습니다.
이 사건의 흐름은 다음과 같이 정리할 수 있습니다.
1. YouTube는 정상적으로 208.65.152.0/22를 광고하고 있었습니다.
2. Pakistan Telecom이 208.65.153.0/24를 잘못 광고했습니다.
3. PCCW Global이 이 경로를 전 세계로 전파했습니다.
4. 많은 라우터들이 더 구체적인 /24 경로를 선택했습니다.
5. YouTube로 가야 할 트래픽이 Pakistan Telecom으로 향했습니다.
6. 결과적으로 전 세계적인 YouTube 접속 장애가 발생했습니다.
이 사례의 핵심은 "더 구체적인 prefix 광고가 인터넷 전체 경로를 바꿀 수 있다"는 점입니다.
또한 이 사건은 BGP가 광고된 prefix의 소유권을 기본적으로 강하게 검증하지 않는다는 문제를 잘 보여줍니다.
https://www.ripe.net/about-us/news/youtube-hijacking-a-ripe-ncc-ris-case-study/
실제 사례 2: 2018년 Amazon Route 53 / MyEtherWallet 사건
2018년에는 Amazon Route 53 DNS 서비스와 관련된 BGP hijacking 사건이 발생했습니다.
Route 53은 AWS에서 제공하는 DNS 서비스입니다. DNS는 도메인 이름을 IP 주소로 바꿔주는 시스템입니다.
예를 들어 사용자가 myetherwallet.com에 접속하면, DNS는 이 도메인에 해당하는 IP 주소를 알려줍니다.
그런데 공격자는 BGP hijacking을 이용해
Amazon Route 53 DNS 서버로 향하는 일부 트래픽을 자신들이 통제하는 쪽으로 우회시켰습니다.
이 사건이 위험했던 이유는 단순히 웹사이트 접속이 느려지거나 끊기는 문제가 아니었기 때문입니다.
DNS 응답이 조작되면 사용자는 정상 도메인에 접속한다고 생각하지만,
실제로는 공격자가 만든 가짜 사이트로 이동할 수 있습니다.
흐름은 다음과 같습니다.
1. 사용자가 myetherwallet.com에 접속하려고 합니다.
2. 사용자의 DNS resolver가 Route 53 쪽 DNS 서버에 질의하려고 합니다.
3. 공격자는 BGP hijacking으로 Route 53 DNS 서버 IP 대역 일부를 가로챕니다.
4. DNS 질의가 정상 Amazon DNS 서버가 아니라 공격자가 통제하는 서버 쪽으로 이동합니다.
5. 공격자는 myetherwallet.com에 대해 가짜 IP 주소를 응답합니다.
6. 사용자는 정상 사이트에 접속했다고 생각하지만, 실제로는 가짜 MyEtherWallet 사이트에 접속합니다.
7. 일부 사용자는 개인 키나 지갑 정보를 입력했고, 암호화폐 피해가 발생했습니다.
이 사건의 핵심은 BGP hijacking이 DNS와 결합될 경우 매우 위험해질 수 있다는 점입니다.
서버 자체가 해킹되지 않아도 문제가 발생할 수 있습니다.
MyEtherWallet의 실제 서버가 직접 뚫리지 않았더라도,
사용자를 가짜 사이트로 보내면 결과적으로 계정 정보나 자산을 탈취할 수 있습니다.
이 사건은 BGP hijacking이 단순한 네트워크 장애가 아니라 금전 피해로 이어질 수 있음을 보여줍니다.
https://www.thousandeyes.com/blog/amazon-route-53-dns-and-bgp-hijack
실제 사례 3: 2020년 Rostelecom BGP Hijacking 사건
2020년 4월에는 러시아 통신사 Rostelecom과 관련된 대규모 BGP hijacking 사건이 발생했습니다.
이 사건에서는 Google, Facebook, Akamai, Cloudflare, Amazon 등
대형 인터넷 기업과 클라우드 사업자에 속한 수천 개의 prefix가 영향을 받았습니다.
특히 ThousandEyes 분석에 따르면,
Rostelecom이 8,000개 이상의 prefix에 대해 잘못된 BGP 경로를 광고한 것으로 보고되었습니다.
이 사건이 중요한 이유는 피해 대상이 작은 서비스가 아니었다는 점입니다.
전 세계적으로 매우 큰 네트워크 운영 능력을 가진 대형 기업들의 prefix도
BGP 경로 오염의 영향을 받을 수 있다는 것을 보여주었습니다.
흐름은 다음과 같이 볼 수 있습니다.
1. Rostelecom이 여러 대형 서비스의 prefix에 대해 잘못된 경로를 광고했습니다.
2. 일부 네트워크들이 이 경로 광고를 받아들였습니다.
3. Google, Facebook, Akamai, Cloudflare, Amazon 등으로 가야 할 일부 트래픽이
Rostelecom 쪽으로 향할 수 있는 상태가 되었습니다.
4. 이로 인해 일부 트래픽이 비정상적인 경로로 이동하거나 blackhole 처리될 수 있었습니다.
여기서 blackhole은 트래픽이 목적지까지 가지 못하고 중간에서 버려지는 상태를 의미합니다.
이 사건은 BGP 보안에서 필터링이 얼마나 중요한지 보여줍니다.
만약 이웃 AS나 고객 AS가 광고해도 되는 prefix만 엄격하게 필터링했다면,
잘못된 경로가 더 넓게 퍼지는 것을 줄일 수 있었을 것입니다.
이 사례의 핵심은 "한 AS의 잘못된 광고가 전 세계 인터넷 서비스에 영향을 줄 수 있다"는 점입니다.
https://www.thousandeyes.com/blog/rostelecom-route-hijack-highlights-bgp-security
실제 사례 4: 2024년 Cloudflare 1.1.1.1 사건
2024년 6월 27일에는 Cloudflare의 1.1.1.1 DNS resolver 서비스가
BGP hijacking과 route leak의 영향을 받은 사건이 있었습니다.
1.1.1.1은 Cloudflare가 운영하는 공개 DNS resolver입니다.
사용자는 1.1.1.1을 DNS 서버로 설정해 도메인 이름을 IP 주소로 변환할 수 있습니다.
이 사건에서 일부 사용자는 1.1.1.1에 접근하지 못하거나 서비스 품질 저하를 경험했습니다.
Cloudflare는 원인을 BGP hijacking과 route leak이 섞인 문제로 설명했습니다.
이 사례는 BGP hijacking과 route leak이 현실에서 완전히 분리된 형태로만 나타나는 것이 아니라,
복합적으로 나타날 수 있음을 보여줍니다.
흐름은 다음과 같이 이해할 수 있습니다.
1. 1.1.1.1로 가야 할 정상 경로가 존재했습니다.
2. 일부 잘못된 BGP 경로 정보가 인터넷에 전파되었습니다.
3. 특정 지역이나 특정 네트워크의 사용자는 1.1.1.1로 가는 트래픽이 잘못된 방향으로 이동했습니다.
4. 그 결과 DNS 질의가 정상적으로 처리되지 않거나 지연되었습니다.
5. 일부 사용자는 인터넷 접속 자체가 느려지거나 특정 사이트 접속에 문제가 생긴 것처럼 느낄 수 있었습니다.
이 사례에서 중요한 점은 DNS 서비스의 특성입니다.
DNS는 인터넷 사용의 출발점에 가깝습니다.
사용자가 웹사이트에 접속하려면 먼저 도메인을 IP로 바꿔야 합니다.
따라서 DNS resolver에 문제가 생기면 사용자는 웹사이트 서버가 정상이어도 접속 장애처럼 느낄 수 있습니다.
BGP 문제는 단순히 특정 서버 하나의 문제가 아니라, DNS 같은 인터넷 기반 서비스 전체에 영향을 줄 수 있습니다.
https://blog.cloudflare.com/cloudflare-1111-incident-on-june-27-2024/
10. BGP Hijacking으로 발생할 수 있는 피해
BGP hijacking이 발생하면 다음과 같은 피해가 생길 수 있습니다.
첫째, 서비스 장애가 발생할 수 있습니다.
트래픽이 원래 서버가 아닌 잘못된 네트워크로 가면 사용자는 웹사이트나 서비스에 접속하지 못합니다.
2008년 YouTube 사건이 대표적인 예입니다.
둘째, 트래픽 감청 가능성이 생깁니다.
공격자가 트래픽을 자신이 통제하는 네트워크로 우회시킨 뒤 다시 정상 목적지로 보내면,
사용자는 문제를 눈치채기 어려울 수 있습니다.
이 경우 공격자는 중간에서 트래픽을 관찰하려고 시도할 수 있습니다.
셋째, 피싱 사이트로 유도될 수 있습니다.
DNS 트래픽이 조작되면 사용자는 정상 도메인에 접속한다고 생각하지만 실제로는 가짜 사이트에 접속할 수 있습니다.
2018년 MyEtherWallet 사건이 이런 위험성을 보여줍니다.
넷째, 서비스 지연이 발생할 수 있습니다.
패킷이 최적 경로가 아닌 먼 경로로 우회하면 지연 시간이 증가합니다.
사용자는 웹사이트가 느려졌다고 느낄 수 있습니다.
다섯째, 보안 정책이 우회될 수 있습니다.
기업이나 기관은 IP 기반 접근 제어를 사용하는 경우가 있습니다.
그런데 트래픽 경로가 비정상적으로 바뀌면 기존 보안 정책이 예상한 방식대로 동작하지 않을 수 있습니다.
11. 방어 방법
방어 방법 1: Prefix Filtering
Prefix filtering은 이웃 AS나 고객 AS가 광고해도 되는 prefix만 허용하는 방식입니다.
예를 들어 어떤 고객 AS가 원래 203.0.113.0/24만 광고해야 한다면,
상위 ISP는 그 고객이 다른 prefix를 광고하지 못하도록 필터링해야 합니다.
예시는 다음과 같습니다.
정상 허용:
AS64500 → 203.0.113.0/24 광고 허용
차단:
AS64500 → 8.8.8.0/24 광고 차단
AS64500 → 1.1.1.0/24 광고 차단
AS64500 → 208.65.153.0/24 광고 차단
이 방식은 기본적이지만 매우 중요합니다.
잘못된 경로 광고가 처음부터 상위 네트워크로 전파되지 않으면 대규모 장애로 이어질 가능성이 줄어듭니다.
방어 방법 2: RPKI, ROA, ROV
RPKI는 Resource Public Key Infrastructure의 줄임말입니다.
RPKI는 어떤 AS가 어떤 IP prefix를 광고할 수 있는지 암호학적으로 검증하기 위한 체계입니다.
쉽게 말하면"이 IP 대역은 이 AS가 광고해도 된"는 증명서를 만드는 시스템입니다.
여기서 ROA와 ROV라는 개념이 나옵니다.
ROA는 Route Origin Authorization의 줄임말입니다.
ROA는 특정 prefix를 어떤 AS가 origin으로 광고할 수 있는지 명시한 객체입니다.
예시는 다음과 같습니다.
Prefix: 203.0.113.0/24
Origin AS: AS64500
Max Length: /24
이 뜻은 다음과 같습니다.
203.0.113.0/24는 AS64500이 광고할 수 있다.
그리고 최대 /24까지만 허용한다.
만약 다른 AS가 이 prefix를 광고하면 RPKI 검증 결과 Invalid가 될 수 있습니다.
ROV는 Route Origin Validation의 줄임말입니다.
ROV는 실제 BGP 광고를 ROA와 비교해서 유효한지 확인하는 과정입니다.
예를 들어 다음과 같은 상황을 생각해볼 수 있습니다.
ROA:
203.0.113.0/24는 AS64500이 광고 가능
BGP 광고:
AS64599가 203.0.113.0/24 광고
검증 결과:
Invalid
RPKI를 적용한 네트워크는 이런 Invalid 경로를 차단하거나 우선순위를 낮출 수 있습니다.
다만 RPKI가 모든 문제를 완벽하게 해결하는 것은 아닙니다.
RPKI의 기본 기능은 "origin AS가 맞는가"를 검증하는 데 강합니다.
하지만 전체 AS Path가 정상인지, 중간 경로가 정책적으로 올바른지까지 완벽히 검증하는 것은 별도의 문제입니다.
그래도 RPKI는 BGP hijacking을 줄이는 데 매우 중요한 기술입니다.
방어 방법 3: BGP Monitoring
BGP monitoring은 내 prefix가 인터넷에서 어떻게 광고되고 있는지 지속적으로 감시하는 것입니다.
예를 들어 우리 낭만 회사가 203.0.113.0/24를 운영한다고 가정합니다.
정상 상태:
203.0.113.0/24 → AS64500에서 광고
이상 상태:
203.0.113.0/24 → AS64599에서도 광고
203.0.113.0/25 → 알 수 없는 AS에서 광고
203.0.113.128/25 → 알 수 없는 AS에서 광고
이런 일이 발생하면 즉시 알림을 받아야 합니다.
BGP hijacking은 빠르게 퍼질 수 있기 때문에, 탐지 속도가 중요합니다.
늦게 발견하면 이미 많은 사용자가 잘못된 경로로 이동한 뒤일 수 있습니다.
방어 방법 4: MANRS
MANRS는 Mutually Agreed Norms for Routing Security의 줄임말입니다.
MANRS는 인터넷 라우팅 보안을 위해 네트워크 운영자들이 지켜야 할 모범 사례를 정리한 활동입니다.
핵심은 다음과 같습니다.
- 잘못된 라우팅 정보가 퍼지지 않도록 필터링하기
- 스푸핑된 IP 트래픽을 막기
- 라우팅 정보를 정확하게 등록하고 관리하기
- 장애나 보안 사고가 발생했을 때 연락 가능한 정보를 유지하기
BGP 보안은 한 회사만 잘한다고 완성되지 않습니다.
인터넷은 여러 AS가 연결된 구조이기 때문에, 많은 네트워크 운영자가 함께 안전한 라우팅 정책을 적용해야 합니다.
12. 정리
BGP는 인터넷의 핵심 라우팅 프로토콜입니다.
서로 다른 AS들은 BGP를 통해 자신이 도달 가능한 IP prefix를 광고하고,
다른 AS들은 이 정보를 바탕으로 트래픽을 전달합니다.
하지만 BGP는 기본적으로 신뢰 기반 구조를 가지고 있습니다.
그래서 어떤 AS가 잘못된 prefix를 광고하거나,
자신이 소유하지 않은 prefix를 자기 것처럼 광고하면 트래픽이 엉뚱한 곳으로 이동할 수 있습니다.
이것이 BGP hijacking입니다.
BGP hijacking은 단순한 문제가 아닙니다.
2008년 Pakistan Telecom의 YouTube 사건은 더 구체적인 prefix 광고 하나가
전 세계적인 서비스 장애로 이어질 수 있음을 보여주었습니다.
2018년 Amazon Route 53 / MyEtherWallet 사건은
BGP hijacking이 DNS 조작과 결합되면 금전 피해로 이어질 수 있음을 보여주었습니다.
2020년 Rostelecom 사건은 한 AS의 잘못된 경로 광고가
Google, Facebook, Amazon, Cloudflare 같은 대형 서비스에도 영향을 줄 수 있음을 보여주었습니다.
2024년 Cloudflare 1.1.1.1 사건은 BGP hijacking과
route leak이 DNS 같은 인터넷 기반 서비스의 안정성에도 영향을 줄 수 있음을 보여주었습니다.
결국 BGP hijacking은 서버를 직접 해킹하는 공격이 아닙니다.
인터넷의 길 안내 정보인 라우팅 정보를 속여서, 트래픽의 이동 경로 자체를 바꾸는 공격입니다.
따라서 인터넷 라우팅 보안을 위해서는
prefix filtering, RPKI, ROA, ROV, BGP monitoring, MANRS 같은 보안 대책이 필요합니다.
BGP는 인터넷을 연결하는 핵심 기술이지만,
그만큼 잘못된 경로 정보 하나가 전 세계적인 장애와 보안 사고로 이어질 수 있습니다.
그래서 BGP 보안은 단순한 네트워크 운영 이슈가 아니라,
인터넷 전체의 신뢰성과 안정성을 지키는 중요한 보안 영역이라고 볼 수 있습니다.
"한번의 실수가 엄청난 결과를 불러온다. 그러니 더 열심히 공부하자"
'Network' 카테고리의 다른 글
| 케이블을 하나하나 따라가며 랩실 랙 네트워크 구조 파악하기 (0) | 2026.05.28 |
|---|---|
| OPNsense에서 IPsec Site-to-Site VPN 연결하기 (0) | 2026.05.27 |
| CML Teleport에 등록하기 (0) | 2026.05.15 |
| AI 바이브 코딩으로 구현한 TCP/UDP 영상 스트리밍 프로토콜 비교 분석 (0) | 2026.05.02 |
| AWS Hyperplane (0) | 2026.03.16 |