2021.02.02

“인터넷이 지구 반대편을 연결하는 방법” BGP의 개념과 동작 원리

Keith Shaw | Network World
종이에 직선을 그려서 A 지점에서 B 지점으로 가는 최선의 경로를 찾기는 쉽다. 그러나 A 지점이 컴퓨터에 있고 B 지점이 지구 반 반퀴 너머의 웹사이트에 있다면 간단치 않은 일이 된다. 

지구 반대편의 경우, 글로벌 인터넷에 사용되는 라우팅 프로토콜인 BGP(Border Gateway Protocol)를 사용해서 도달 가능성과 라우팅 정보를 기반으로 최신 네트워크 조건을 평가해 최선의 경로를 찾을 수 있다. BGP는 인터넷을 구성하는 대규모 네트워크 사이에서 데이터 패킷을 전달하는 방법을 관리하며, 인터넷이 효율적으로 작동할 수 있게 해준다. 
 
ⓒ Getty Images Bank
 

경계 게이트웨이 프로토콜이란?

BGP는 인터넷을 이어 붙이는 딱풀이자 인터넷의 우편 서비스 역할을 해왔다. BGP를 휴대폰의 GPS 애플리케이션에 비유하기도 한다. 미국 보스턴에서 로스앤젤레스로 차를 운전해서 간다면, GPS 앱은 도로 조건과 교통 정체, 운전자의 유료 도로 선택 여부에 대한 지식을 사용해 최적의 경로를 결정한다. 최단경로가 항상 최적의 경로는 아니다. BGP는 끊임없이 업데이트되는 인터넷 내비게이션과 같다. 라우터는 이 지도에서 각 시점에 최적의 경로를 선택한다. 

IETF의 정의에 따르면 BGP의 주 기능은 “다른 BGP 시스템과 네트워크 도달 가능성 정보를 교환하는 것”이다. BGP는 원활하게 작동하면서 이런 개별 시스템이 상호 연계해 인터넷을 형성하도록 한다. 

인터넷을 네트워크의 네트워크라고 한다. 인터넷에서는 대규모 조직이 관리하는 개별 네트워크로 구성된 그룹이 다른 대규모 조직에 의해 관리되는 다른 네트워크 그룹과 연결된다. 이와 같은 네트워크 그룹을 자율 시스템(Autonomous System, AS)이라고 하며, AS가 있는 대규모 조직으로는 ISP(Internet Service Provider), 대규모 정부기관, 대학, 과학기관 등이 포함된다. 

각 AS는 네트워크 내에서 트래픽이 이동하는 방법에 관한 규칙과 정책을 만든다. 홈 컴퓨터는 ISP가 관리하는 AS의 일부일 수 있으며, ISP는 자체 AS 내에의 다른 노드를 오가는 트래픽을 처리한다. 그러나 이 AS 너머에 있는 사이트에 액세스하려고 시도하는 경우에는 BGP가 개입한다. 

AS 조직은 조직 간에 트래픽이 네트워크 사이를 이동할 수 있도록 하는 피어링(Peering) 계약을 맺는다. AS 네트워크 엣지의 BGP 라우터는 피어에 트래픽을 전달할 수 있는 IP 주소의 프리픽스(prefix)를 ‘광고’한다. 즉 다른 AS가 알 수 있도록 널리 알린다. 이런 광고는 각 라우터의 라우팅 테이블을 업데이트하는 데 사용되는 네트워크 프리픽스 선언을 통해 정기적으로 이뤄진다. 
 

AS 간의 피어링 계약 

BGP 라우터는 AS 피어링 계약에 설정된 의사 결정 알고리즘과 정책을 사용해서 프리픽스 선언을 통해 수집하는 데이터를 분석하고 그 시점에 각 패킷 스트림을 보낼 최적의 피어를 선택한다. 대부분의 경우 네트워크 홉의 수가 가장 적은 경로가 선택되지만, 혼잡과 지연으로 인해 더 긴 경로의 속도가 더 빠를 수도 있다. 트래픽이 AS를 통과해 이동하여 다른 AS에 연결된 다른 BGP 라우터에 도달하면 데이터가 목적지 사이트가 위치한 AS에 도달할 때까지 이 프로세스가 반복된다. 

대부분의 경우 컴퓨터, 전화기 및 기타 디바이스는 인터넷에 연결하기 위해 ISP를 사용한다. 이와 같은 액세스 서비스 업체의 네트워크는 최종적으로 인터넷 백본에 액세스할 때까지 계속해서 더 큰 ISP 네트워크에 연결된다. 시작 지점의 트래픽은 이 네트워크 계층을 통과해서 백본까지 올라간 다음 다시 목적지 IP 주소를 향해 내려간다. 

물론 BGP를 AS 내의 라우팅에도 사용할 수 있지만, 이 역할을 하는 다른 라우팅 프로토콜도 있으므로 필수는 아니다. BGP가 사용되는 경우 이를 iBGP(Interior Border Gateway Protocol)라고 한다.

네트워크 운영자가 자체 네트워크 내의 라우팅을 제어하고 다른 ISP와 라우팅 정보를 교환하는 데는 AS 번호(ASN)를 사용한다. ASN은 인터넷 할당 번호 관리 기관(IANA)에 의해 할당되며, 지역 인터넷 레지스트리를 통해 ISP와 기타 네트워크 운영자에 배포된다. IP 주소와 마찬가지로 ASN에도 16비트(2바이트)와 32비트(4바이트) 번호가 포함된다. 2021년 1월을 기준으로 전 세계 ASN의 수는 약 10만 개이며, 그중 약 29%가 미국에 있다.
 

BGP 하이재킹이란? 

ASN이 지속적으로 인터넷에 가입하고 트래픽을 위한 새로운 경로를 제공하면서 BGP 광고의 수도 증가하고 있으며, 이에 따라 공격 표면도 갈수록 넓어지고 있다. 각 AS는 자사가 소유한 IP 주소와 공유하는 라우팅 정보를 제공한다. BGP는 이 정보를 진실이라고 가정하는데, 이것이 BGP 하이재킹 문제로 이어진다.  

공격자는 라우터가 자신에게 할당되지 않은 프리픽스를 광고하도록 BGP 라우팅 테이블을 조작한다. 이러한 위조 광고에 따라 정상적인 경로보다 더 나은 경로가 있는 것으로 나타나면 트래픽이 그 경로로 이동할 수 있다. 이 경로는 인증 정보를 훔치고 맬웨어를 다운로드하고 기타 피해를 유발하는 활동을 하는 악성 서버로 연결된다. 그 사이 최종 사용자는 합법적인 사이트를 방문 중이라고 생각한다. 

BGP 하이재킹의 유명한 사례로, 2018년 러시아의 한 ISP가 실제로는 아마존 DNS 서버 그룹에 속한 IP 프리픽스 번호를 잘못 발표한 사건이 있다. 암호화폐 사이트에 로그인을 시도하던 사용자들이 위조 사이트로 리디렉션되면서 해커들은 15만 2,000달러 상당의 암호화폐를 훔쳤다. 

잘 알려진 또 다른 사고로, ISP인 파키스탄 텔레콤(Pakistan Telecom)은 2008년 사용자들의 유튜브 접속을 차단하기 위해 유튜브 사이트에 대한 자체 BGP 경로를 광고했다. 그러나 이 새로운 경로는 ISP의 상위 서비스 업체로도 발표되고 이후 인터넷의 나머지 부분까지 브로드캐스팅됐다. 결과적으로 유튜브에 대한 웹 요청이 파키스탄 텔레콤으로 전달되면서 유튜브가 대규모 중단 사고를 일으키고 파키스탄 텔레콤 역시 마비됐다. 
 

BGP 하이재킹 대처 방법 

BGP 하이재킹에 대한 방어 전략은 여러 가지다. 악성 행위자가 운영하는 것으로 알려진 네트워크에서 오는 인바운드 네트워크 트래픽을 차단하는 IP 주소 프리픽스 필터링을 사용하는 방법도 그중 하나다. 또 다른 방법은 의심스러운 지연의 증가, 네트워크 성능 하락 또는 잘못된 방향으로 가는 인터넷 트래픽 등 하이재킹 시도를 나타낼 수 있는 징후를 감시하는 BGP 하이재킹 탐지 모니터링이다. 

더 확실한 방안으로는 BGPsec이 있다. 보안 확장 프로그램인 BGPsec은 광고된 경로에 대해 암호화 검증을 사용하고 백본 라우터가 경로 업데이트 광고에 디지털 서명을 적용할 수 있도록 한다. 이렇게 하면 승인되지 않은 공격자가 AS에 대한 악성 경로를 광고하기가 더 어렵게 되고 잘못된 구성도 차단된다. 그러나 이 방법을 구현하기 위해서는 전체 인터넷이 거의 동시에 이를 채택해야 한다. 전체 인터넷이 스스로를 업데이트하기 위해 10분 동안 다운된다고 발표하는 상황을 상상해 보자. 사람들이 어떻게 받아들일지는 충분히 짐작할 수 있을 것이다. 
 

MANRS  

그러나 희망은 있다. 2020년 9월, MANRS(Mutually Agreed Norms for Routing Security)라는 단체가 콘텐츠 전송 네트워크와 기타 클라우드 서비스에서 BGP를 보호하기 위한 필터와 암호화를 채택하도록 돕는 태스크 포스를 구성했다. 2014년에 설립된 이 단체는 6가지 보안 강화 조치로 정의되는 라우팅 보안의 기반을 추구하는데, 그중 5가지 행동은 의무적 구현 항목이다. 
6가지 조치는 다음과 같다. 
 
  • 부정확한 라우팅 정보 전파 차단 
  • 불법적 소스 IP 주소를 가진 트래픽 차단 
  • 글로벌 운영 커뮤니케이션 및 조율 촉진 
  • 글로벌 규모의 라우팅 정보 검증 촉진 
  • MANRS 도입 장려 
  • 피어링 파트너에게 모니터링 및 디버깅 툴 제공(선택) 

MANRS는 암호화 서명되어 신뢰성을 입증하는 공공 경로 데이터베이스인 라우팅 공개키 인프라(RPKI) 사용을 권장한다. RPKI 사용자는 제안하는 경로를 게시하고 데이터베이스를 확인해 다른 사용자의 경로를 확인하지만, 이 시스템으로 누출과 중단을 완전히 없애려면 모두가 이를 사용해야 한다. 그렇지 않은 경우 인터넷이 계속 움직이도록 하려면 BGP 라우터는 검증되지 않은 광고를 수락할 수밖에 없다. 

RPKI를 지원하도록 기업을 설득하기 위해 공개적으로 망신주기 전략을 택한 곳도 있다. 클라우드플레어(Cloudflare)가 개설한 “Is BGP Safe Yet?”이라는 웹사이트는 사용자들에게 RPKI를 구현하는 최신 ISP 목록과 현재 상황에 대한 FAQ를 제공한다. 더 중요한 점은 사용자가 버튼을 클릭해서 간단히 자신의 ISP가 안전한지 아닌지 여부를 볼 수 있다는 것이다. 

이 사이트는 회사의 홍보 활동 차원에서 만들어졌을 수도 있지만 이런 사이트가 존재한다는 것은 문제의 심각성이 계속되고 있음을 반증한다. editor@itworld.co.kr


2021.02.02

“인터넷이 지구 반대편을 연결하는 방법” BGP의 개념과 동작 원리

Keith Shaw | Network World
종이에 직선을 그려서 A 지점에서 B 지점으로 가는 최선의 경로를 찾기는 쉽다. 그러나 A 지점이 컴퓨터에 있고 B 지점이 지구 반 반퀴 너머의 웹사이트에 있다면 간단치 않은 일이 된다. 

지구 반대편의 경우, 글로벌 인터넷에 사용되는 라우팅 프로토콜인 BGP(Border Gateway Protocol)를 사용해서 도달 가능성과 라우팅 정보를 기반으로 최신 네트워크 조건을 평가해 최선의 경로를 찾을 수 있다. BGP는 인터넷을 구성하는 대규모 네트워크 사이에서 데이터 패킷을 전달하는 방법을 관리하며, 인터넷이 효율적으로 작동할 수 있게 해준다. 
 
ⓒ Getty Images Bank
 

경계 게이트웨이 프로토콜이란?

BGP는 인터넷을 이어 붙이는 딱풀이자 인터넷의 우편 서비스 역할을 해왔다. BGP를 휴대폰의 GPS 애플리케이션에 비유하기도 한다. 미국 보스턴에서 로스앤젤레스로 차를 운전해서 간다면, GPS 앱은 도로 조건과 교통 정체, 운전자의 유료 도로 선택 여부에 대한 지식을 사용해 최적의 경로를 결정한다. 최단경로가 항상 최적의 경로는 아니다. BGP는 끊임없이 업데이트되는 인터넷 내비게이션과 같다. 라우터는 이 지도에서 각 시점에 최적의 경로를 선택한다. 

IETF의 정의에 따르면 BGP의 주 기능은 “다른 BGP 시스템과 네트워크 도달 가능성 정보를 교환하는 것”이다. BGP는 원활하게 작동하면서 이런 개별 시스템이 상호 연계해 인터넷을 형성하도록 한다. 

인터넷을 네트워크의 네트워크라고 한다. 인터넷에서는 대규모 조직이 관리하는 개별 네트워크로 구성된 그룹이 다른 대규모 조직에 의해 관리되는 다른 네트워크 그룹과 연결된다. 이와 같은 네트워크 그룹을 자율 시스템(Autonomous System, AS)이라고 하며, AS가 있는 대규모 조직으로는 ISP(Internet Service Provider), 대규모 정부기관, 대학, 과학기관 등이 포함된다. 

각 AS는 네트워크 내에서 트래픽이 이동하는 방법에 관한 규칙과 정책을 만든다. 홈 컴퓨터는 ISP가 관리하는 AS의 일부일 수 있으며, ISP는 자체 AS 내에의 다른 노드를 오가는 트래픽을 처리한다. 그러나 이 AS 너머에 있는 사이트에 액세스하려고 시도하는 경우에는 BGP가 개입한다. 

AS 조직은 조직 간에 트래픽이 네트워크 사이를 이동할 수 있도록 하는 피어링(Peering) 계약을 맺는다. AS 네트워크 엣지의 BGP 라우터는 피어에 트래픽을 전달할 수 있는 IP 주소의 프리픽스(prefix)를 ‘광고’한다. 즉 다른 AS가 알 수 있도록 널리 알린다. 이런 광고는 각 라우터의 라우팅 테이블을 업데이트하는 데 사용되는 네트워크 프리픽스 선언을 통해 정기적으로 이뤄진다. 
 

AS 간의 피어링 계약 

BGP 라우터는 AS 피어링 계약에 설정된 의사 결정 알고리즘과 정책을 사용해서 프리픽스 선언을 통해 수집하는 데이터를 분석하고 그 시점에 각 패킷 스트림을 보낼 최적의 피어를 선택한다. 대부분의 경우 네트워크 홉의 수가 가장 적은 경로가 선택되지만, 혼잡과 지연으로 인해 더 긴 경로의 속도가 더 빠를 수도 있다. 트래픽이 AS를 통과해 이동하여 다른 AS에 연결된 다른 BGP 라우터에 도달하면 데이터가 목적지 사이트가 위치한 AS에 도달할 때까지 이 프로세스가 반복된다. 

대부분의 경우 컴퓨터, 전화기 및 기타 디바이스는 인터넷에 연결하기 위해 ISP를 사용한다. 이와 같은 액세스 서비스 업체의 네트워크는 최종적으로 인터넷 백본에 액세스할 때까지 계속해서 더 큰 ISP 네트워크에 연결된다. 시작 지점의 트래픽은 이 네트워크 계층을 통과해서 백본까지 올라간 다음 다시 목적지 IP 주소를 향해 내려간다. 

물론 BGP를 AS 내의 라우팅에도 사용할 수 있지만, 이 역할을 하는 다른 라우팅 프로토콜도 있으므로 필수는 아니다. BGP가 사용되는 경우 이를 iBGP(Interior Border Gateway Protocol)라고 한다.

네트워크 운영자가 자체 네트워크 내의 라우팅을 제어하고 다른 ISP와 라우팅 정보를 교환하는 데는 AS 번호(ASN)를 사용한다. ASN은 인터넷 할당 번호 관리 기관(IANA)에 의해 할당되며, 지역 인터넷 레지스트리를 통해 ISP와 기타 네트워크 운영자에 배포된다. IP 주소와 마찬가지로 ASN에도 16비트(2바이트)와 32비트(4바이트) 번호가 포함된다. 2021년 1월을 기준으로 전 세계 ASN의 수는 약 10만 개이며, 그중 약 29%가 미국에 있다.
 

BGP 하이재킹이란? 

ASN이 지속적으로 인터넷에 가입하고 트래픽을 위한 새로운 경로를 제공하면서 BGP 광고의 수도 증가하고 있으며, 이에 따라 공격 표면도 갈수록 넓어지고 있다. 각 AS는 자사가 소유한 IP 주소와 공유하는 라우팅 정보를 제공한다. BGP는 이 정보를 진실이라고 가정하는데, 이것이 BGP 하이재킹 문제로 이어진다.  

공격자는 라우터가 자신에게 할당되지 않은 프리픽스를 광고하도록 BGP 라우팅 테이블을 조작한다. 이러한 위조 광고에 따라 정상적인 경로보다 더 나은 경로가 있는 것으로 나타나면 트래픽이 그 경로로 이동할 수 있다. 이 경로는 인증 정보를 훔치고 맬웨어를 다운로드하고 기타 피해를 유발하는 활동을 하는 악성 서버로 연결된다. 그 사이 최종 사용자는 합법적인 사이트를 방문 중이라고 생각한다. 

BGP 하이재킹의 유명한 사례로, 2018년 러시아의 한 ISP가 실제로는 아마존 DNS 서버 그룹에 속한 IP 프리픽스 번호를 잘못 발표한 사건이 있다. 암호화폐 사이트에 로그인을 시도하던 사용자들이 위조 사이트로 리디렉션되면서 해커들은 15만 2,000달러 상당의 암호화폐를 훔쳤다. 

잘 알려진 또 다른 사고로, ISP인 파키스탄 텔레콤(Pakistan Telecom)은 2008년 사용자들의 유튜브 접속을 차단하기 위해 유튜브 사이트에 대한 자체 BGP 경로를 광고했다. 그러나 이 새로운 경로는 ISP의 상위 서비스 업체로도 발표되고 이후 인터넷의 나머지 부분까지 브로드캐스팅됐다. 결과적으로 유튜브에 대한 웹 요청이 파키스탄 텔레콤으로 전달되면서 유튜브가 대규모 중단 사고를 일으키고 파키스탄 텔레콤 역시 마비됐다. 
 

BGP 하이재킹 대처 방법 

BGP 하이재킹에 대한 방어 전략은 여러 가지다. 악성 행위자가 운영하는 것으로 알려진 네트워크에서 오는 인바운드 네트워크 트래픽을 차단하는 IP 주소 프리픽스 필터링을 사용하는 방법도 그중 하나다. 또 다른 방법은 의심스러운 지연의 증가, 네트워크 성능 하락 또는 잘못된 방향으로 가는 인터넷 트래픽 등 하이재킹 시도를 나타낼 수 있는 징후를 감시하는 BGP 하이재킹 탐지 모니터링이다. 

더 확실한 방안으로는 BGPsec이 있다. 보안 확장 프로그램인 BGPsec은 광고된 경로에 대해 암호화 검증을 사용하고 백본 라우터가 경로 업데이트 광고에 디지털 서명을 적용할 수 있도록 한다. 이렇게 하면 승인되지 않은 공격자가 AS에 대한 악성 경로를 광고하기가 더 어렵게 되고 잘못된 구성도 차단된다. 그러나 이 방법을 구현하기 위해서는 전체 인터넷이 거의 동시에 이를 채택해야 한다. 전체 인터넷이 스스로를 업데이트하기 위해 10분 동안 다운된다고 발표하는 상황을 상상해 보자. 사람들이 어떻게 받아들일지는 충분히 짐작할 수 있을 것이다. 
 

MANRS  

그러나 희망은 있다. 2020년 9월, MANRS(Mutually Agreed Norms for Routing Security)라는 단체가 콘텐츠 전송 네트워크와 기타 클라우드 서비스에서 BGP를 보호하기 위한 필터와 암호화를 채택하도록 돕는 태스크 포스를 구성했다. 2014년에 설립된 이 단체는 6가지 보안 강화 조치로 정의되는 라우팅 보안의 기반을 추구하는데, 그중 5가지 행동은 의무적 구현 항목이다. 
6가지 조치는 다음과 같다. 
 
  • 부정확한 라우팅 정보 전파 차단 
  • 불법적 소스 IP 주소를 가진 트래픽 차단 
  • 글로벌 운영 커뮤니케이션 및 조율 촉진 
  • 글로벌 규모의 라우팅 정보 검증 촉진 
  • MANRS 도입 장려 
  • 피어링 파트너에게 모니터링 및 디버깅 툴 제공(선택) 

MANRS는 암호화 서명되어 신뢰성을 입증하는 공공 경로 데이터베이스인 라우팅 공개키 인프라(RPKI) 사용을 권장한다. RPKI 사용자는 제안하는 경로를 게시하고 데이터베이스를 확인해 다른 사용자의 경로를 확인하지만, 이 시스템으로 누출과 중단을 완전히 없애려면 모두가 이를 사용해야 한다. 그렇지 않은 경우 인터넷이 계속 움직이도록 하려면 BGP 라우터는 검증되지 않은 광고를 수락할 수밖에 없다. 

RPKI를 지원하도록 기업을 설득하기 위해 공개적으로 망신주기 전략을 택한 곳도 있다. 클라우드플레어(Cloudflare)가 개설한 “Is BGP Safe Yet?”이라는 웹사이트는 사용자들에게 RPKI를 구현하는 최신 ISP 목록과 현재 상황에 대한 FAQ를 제공한다. 더 중요한 점은 사용자가 버튼을 클릭해서 간단히 자신의 ISP가 안전한지 아닌지 여부를 볼 수 있다는 것이다. 

이 사이트는 회사의 홍보 활동 차원에서 만들어졌을 수도 있지만 이런 사이트가 존재한다는 것은 문제의 심각성이 계속되고 있음을 반증한다. editor@itworld.co.kr


X