나이지리아의 작은 회사가 구글을 74분 동안 마비시킬 수 있었던 이유
[보안뉴스 문가용 기자] 2018년 11월 12일, 나이지리아의 작은 ISP(인터넷 업체)가 네트워크 인프라를 업데이트 하다가 실수를 저질렀다. 그러면서 인터넷이라는 이 거대한 시스템이 얼마나 유약하고 깨지기 쉬운지가 드러났다. 아프리카에 있는 작은 업체의 실수 하나가 구글을 74분 동안 마비시켰으니 말이다.

[이미지 = iclickart]
무슨 일이 일어났던 걸까? 이를 알기 위해서는 인터넷 라우팅의 구조에 대한 기본적인 이해가 필요하다. 인터넷 사용자인 필자가 브라우저를 열고 HypotheticalDomain.com이라는 이름을 입력하고 엔터 키를 눌렀다고 하자. 필자의 컴퓨터는 웹 요청을 생성하고, 이를 HypotheticalDomain.com 서버들로 전송한다. 서버들은 필자와 다른 나라에 있을 수도 있다. ISP 업체는 내 컴퓨터로부터 나온 요청을, 제대로 목적지에 전달하기 위해 인터넷을 가로질러야 한다. 이 때 매번 새로운 경로를 개척할 수 없으니, ISP 업체나 인터넷 기반 시설을 담당하는 조직들은 라우팅 테이블이라는 것을 보관한다. 라우팅 테이블 유지 및 관리에 사용되는 기준 규정을 경계 경로 프로토콜(Border Gateway Protocol, BGP)이라고 부른다.
BGP는 ‘동적 경로’를 설정하는 프로토콜이다. 무슨 뜻이냐면, 라우팅 테이블 상에 올라있는 정보가 변할 때마다 자동으로 업데이트 한다는 것이다. 인터넷 상에서 A 지점으로부터 B 지점까지 가는 데에는 다양한 경로가 있을 수 있다. BGP는 이 다양한 경로 중 최고의 경로, 즉 가장 짧은 경로를 파악하는 것이다. 이 경로가 바뀔 때마다 라우팅 테이블을 업데이트 한다. 인터넷에 연결된 누군가가 라우터를 끄고 다시 켤 때마다 이 경로들이 전부 바뀔 수 있다. 이런 소소한 변화까지 다 고려해 라우팅 테이블을 업데이트 하는 게 BGP의 몫이다.
또한 인터넷은 여러 개의 자율 시스템(autonomous system, AS)으로 구성되어 있다. 현재 시점에는 64000여 개 정도 된다. 각각의 자율 시스템에는 ‘자율 시스템 번호(ASN)’라는 것이 할당된다. 이 번호를 할당하는 건 인터넷 할당 번호 관리 기관(Internet Assigned Numbers Authority, IANA)이다. ISP들마다 최소 한 개 이상의 AS를 보유하고 있다. 구글처럼 큰 회사의 경우는 자신들만의 경계 경로 설정을 위한 기반시설과 고유의 ASN을 보유하고 있다.
AS는 옆에 있는 AS들과 연결된다. 이렇게 이웃에 있는 AS를 ‘피어(peer)’라고도 부른다. 이런 ‘피어들과의 연결’을 통해 AS들은 자신들이 보유하고 있는 경로를 바깥으로 알린다. 이렇게 각 AS가 보유하고 있으며, 다른 AS에 알려주는 경로를 ‘네트워크 프리픽스(network prefix)’라고 부른다. AS가 네트워크 프리픽스를 이웃 AS인 피어들에 전파하면, 전파를 받은 피어들은 이 정보를 다시 자신들의 피어에 전달한다. 이렇게 해서 인터넷 상의 경로들이 이어진다. 이 때문에 한국에 있는 ISP 회사가 호주에 있는 서버로 웹 요청을 보낼 수 있는 것이다.
그렇다면 11월 12일에는 정확히 무슨 일이 일어났던 걸까? 먼저 여기에는 IXP라는 조직이 연루되어 있다. IXP란 ‘인터넷 엑스체인지 포인트’의 준말로, 인터넷 교환 지점의 뜻을 가지고 있다. 나이지리아에도 이런 지점이 있는데, 이를 IXPN(Internet Exchange Point of Nigeria)라고 부른다. IXP들은 나이지리아와 같은 개발도상국에서 흔히 찾을 수 있는데, 지역 내 ISP들이 서로 ‘피어 연결’을 성립하고 데이터를 교환하는 중앙 관리소 역할을 한다. 이 IXP들이 있기 때문에 통신비가 절감된다. 왜냐하면 ISP가 서로 직접 연결을 하지 않는 이상, IXP가 없다면 먼 길을 돌아야 하기 때문이다.
그렇기 때문에 IXP는 먼 나라에 있는 대형 기업이나 서비스들을 자국 네티즌들에게 가깝게 가져다주는 역할을 하기도 한다. 나이지리아의 ISP들과 구글 사이에도 IXPN이 있었다. 나이지리아의 인터넷 사용자들은 이 IXPN을 통해 구글에 접속할 수 있었던 것이다. 이런 상황을 활성화시키기 위해 구글은 자신의 ‘네트워크 프리픽스’, 즉 경로를 나이지리아에 있는 ISP ‘피어’들에게 발표했다. 무슨 말이냐면 구글이 나이지리아 ISP들로 통하는 고속도로를 냈다는 것이다. IXPN을 거치는 건 구불구불한 국도를 이용하는 것과 같았다.
이렇게 피어들 사이에서 협약을 맺고, 서로의 경로를 알리는 건, 사용자와 ISP들에 이득이 되어야 한다. 그래서 예를 들어 구글은 구글 사용자들만이 고속도로를 사용할 수 있도록 조치를 취한다. 즉 네트워크 프리픽스를 광고할 때, 자신이 보유하고 있는 것만 알려지도록 필터 장치를 마련한다는 것이다. 그런데 이 필터 장치들은 인터넷 기반 구조를 지키는 안전 장치가 되기도 한다. 왜냐하면 이 필터가 없다면, AS들이 계속해서 경로들을 인터넷 여기저기에 알리고, 이것이 무분별하게 쌓이면 전 세계의 인터넷 트래픽 경로들이 마구 바뀌기 때문이다. 구글의 고속도로가 뒤엉키게 된다는 뜻이다.
그리고 문제의 11월 12일, 나이지리아의 ISP인 메인원 케이블 컴파니(MainOne Cable Company)는 자사가 보유한 라우팅 기반 시설에 대한 유지 보수 점검을 실시했다. 그러다가 ‘필터 장치’의 설정에서 실수를 저질렀다. 자신의 보유하지 않은 경로인 구글의 프리픽스 212개를 이웃의 AS들에 몽땅 알린 것이다. 이를 BGP 유출(BGP leaking)이라고도 부른다.
그런데 메인원의 BGP 피어 중에 중국의 대형 통신사인 차이나 텔레콤(China Telecom)이 있었다. 메인원이 광고한 ‘프리픽스’들을 그대로 접수했다. 그리고 이를 다시 자신의 피어들에게 전달했다. 이 피어 중에는 러시아의 트랜스텔레콤(Transtelecom)이 있었고, 여기서도 구글의 프리픽스가 접수돼 전달됐다. 이 시점에서는 이미 구글의 프리픽스가 인터넷 곳곳에 전달됐고, 거의 모든 AS들이 212개의 구글 프리픽스에 대해 알게 되었다.
그 결과 구글을 통과하는 트래픽이 전 세계로부터 날아들었다. 구글로 곧바로 도착했을 수도 있는 트래픽이 러시아, 중국, 나이지리아의 여러 AS를 통과해야만 했다. 이런 혼란이 74분이나 지속됐다. 사용자 입장에서는, 구글의 서비스를 74분 동안 사용할 수 없었다는 뜻이 된다. 왜? 경로 중에 중국과 러시아의 전 국가적인 검열 프로그램이 있었기 때문이다. 연결이 된다고 하더라도 나이지리아 등을 통과했기 때문에 고통스러울 정도로 느렸다.
이 사건이 우리에게 알린 교훈은 무엇일까? 인터넷이라는 구조 전체를 지탱하고 있는 약한 지점이 드러났다는 것이다. 라우팅 테이블, 즉 여러 경로를 관리하는 ‘지도’의 기반인 BGP는 ‘신뢰’를 바탕으로 만들어져 있다. 피어와 피어 사이의 연결 역시 ‘신뢰’를 바탕에 깔고 있다. 옆 AS에서 오는 정보는 무조건 정확하고 옳을 거라는 전제다. 그래서 그 정보를 의심하지도 않고, 거르지도 않았을 때, 나이지리아의 작은 회사가 구글을 사실상 마비시킬 수 있었던 것이다. 누군가 악의적으로 이 BGP를 하이재킹했다고 생각해보라. 인터넷에 무슨 일이 일어날까 상상하는 게 그리 어렵지 않을 것이다.
다행히 여기에는 해결책이 존재한다. BGP 경로 관련 광고 정보를 인증하는 것이다. 이는 웹사이트의 인증과 비슷한 구조로 이뤄진다. 이 때 사용되는 방식은 자원 공개 키 인프라(Resource Public Key Infrastructure, RPKI)라고 하는데, BGP 정보를 인증하는 데 필요한 시그니처를 암호화 해서 보호한다. 또 경로 출처 확인(Route Origin Validation, ROV)이라는 것도 있다. 프리픽스 광고 정보가, 실제 보유자로부터 나온 것인지 확인하는 방식이다. 이런 방법들이 있긴 하지만 실제 도입률은 그리 높지 않다. RPKI와 ROV의 도입률을 어떻게 해서든 높이지 않으면, 구글만 마비되고 그치지 않을 것이다.
3줄 요약
1. 인터넷의 경로를 관리하는 규약, BGP. 필터링 제대로 적용하지 않으면 트래픽이 여기 저기 흩어지게 됨.
2. 나이지리아의 작은 회사에서 BGP 설정 잘못하는 바람에 구글이 사실상 마비되는 사태 벌어짐.
3. RPKI와 ROV라는 BGP 보호 기술 있으나, 제대로 도입되지 않고 있어 문제.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>