rpki

2 개의 포스트

cloudflare

BGP AS PATH의 첫 번째 AS 강제하기 (새 탭에서 열림)

최근 BGP 하이재킹에서 공격자는 사용하지 않는 ASN을 이용해 실제 자신의 ASN을 AS_PATH에서 제거하고, 존재하지 않는 네트워크 경로를 위조하고 있다. RPKI-ROV나 ASPA만으로는 이런 공격을 완전히 막기 어려우므로, 고객이 광고한 경로의 첫 번째 ASN이 실제 BGP 피어의 ASN과 일치하는지 검증하는 **First AS 검사**가 필요하다. 통신사업자는 이 검사를 강제함으로써 위조된 AS_PATH가 상위 네트워크로 전파되는 것을 차단할 수 있다. ## 위조된 AS_PATH를 이용한 경로 하이재킹 - Spamhaus가 보고한 여러 하이재킹 사례에서 공격자는 사용되지 않는 ASN을 활용해 비정상적인 AS_PATH를 만들었다. - 공격 목적은 다음과 같다. - 실제 공격자의 ASN을 경로에서 숨김 - 자신이 해당 prefix의 발신자인 것처럼 위장 - 트래픽을 공격자가 원하는 경로로 유도 - 트래픽 가로채기 또는 추가 공격 수행 - BGP UPDATE의 AS_PATH는 일반적으로 경로를 구성하는 네트워크들의 순서를 나타내지만, BGP 자체는 기본적으로 이 값을 신뢰한다. - 따라서 공격자가 AS_PATH를 조작해도 중간 네트워크가 별도 검증을 하지 않으면 해당 경로가 정상 경로처럼 전파될 수 있다. ## Orange S.A. prefix 사례 - Orange S.A.의 `90.98.0.0/15` prefix에 대해 다음과 같은 경로가 관측됐다. ```text 48237 1299 199524 270118 17072 41128 ``` - AS1299는 Arelion의 Tier 1 네트워크이므로, 경로 오른쪽에 있는 ASN들은 일반적으로 고객-프로바이더 관계를 나타낸다. - 이 경로를 그대로 해석하면 다음과 같은 비정상 관계가 된다. - AS41128: Orange France가 보유하지만 사용되지 않는 ASN - AS17072: 주로 멕시코에서 운영되는 ISP - AS270118: 멕시코 소재 호스팅 사업자 - AS199524: 글로벌 피어링 사업자인 Gcore - 즉, 사용되지 않는 Orange ASN이 멕시코 ISP와 호스팅 사업자를 거쳐 Gcore와 Tier 1 사업자에 연결된 것처럼 보인다. - 이 관계는 현실적으로 매우 부자연스럽기 때문에 AS_PATH가 공격자에 의해 위조됐다고 판단할 수 있다. ## Cloudflare ASN을 포함한 또 다른 사례 - `47.1.0.0/16`, `47.2.0.0/16` 하이재킹에서는 다음 경로가 관측됐다. ```text 199524 270118 17072 13335 36429 ``` - 여기에는 Cloudflare의 ASN인 `13335`가 포함돼 있었지만, Cloudflare는 Charter가 보유한 현재 미사용 ASN `36429`와 직접적인 인접 관계가 없다고 확인했다. - 따라서 Cloudflare ASN은 실제 경로에 참여한 것이 아니라 공격자가 만든 가짜 상위 경로에 포함된 것으로 보인다. - 실제 트래픽은 멕시코 ISP나 Cloudflare를 거치지 않고 Gcore의 시카고 피어링 네트워크 뒤쪽으로 전달됐다. - 이 사례에서는 왼쪽에서 처음으로 신뢰할 수 있는 공통 ASN인 Gcore의 `199524`까지는 실제 전파 경로일 가능성이 높고, 그 오른쪽의 나머지 경로는 위조된 것으로 추정된다. ## 공격자가 사용한 것으로 추정되는 방식 공격자는 다음 순서로 하이재킹을 수행한 것으로 분석된다. - 사용되지 않거나 “parked” 상태인 prefix를 직접 BGP에 광고한다. - 자신의 로컬 ASN을 AS_PATH에서 완전히 제거한다. - 실제로 존재하지 않는 고객-프로바이더 관계를 포함한 가짜 AS_PATH를 구성한다. - 해당 경로를 Gcore와 같은 상위 네트워크에 전달한다. - 상위 네트워크가 고객 ASN과 AS_PATH의 첫 ASN을 검증하지 않으면 경로가 수락된다. - 이후 해당 경로가 상위 프로바이더와 피어를 통해 인터넷 전체로 전파된다. ## First AS 검사의 역할 - BGP 피어가 경로를 광고할 때 AS_PATH의 첫 번째 ASN은 일반적으로 해당 피어의 ASN이어야 한다. - 예를 들어 AS64502가 AS64501로부터 경로를 받았다면, 경로의 첫 ASN이 AS64501인지 확인해야 한다. - 이 검사가 활성화돼 있으면 공격자가 자신의 ASN을 제거한 뒤 다른 ASN으로 시작하는 경로를 광고할 수 없다. - First AS 검사는 다음 공격을 차단하는 데 유용하다. - 자신의 ASN을 AS_PATH에서 제거하는 위조 - 다른 네트워크를 최초 발신자인 것처럼 가장하는 공격 - 가짜 상위 경로를 이용한 트래픽 유인 - BGP의 AS_PATH는 경로 선택과 루프 방지에도 사용된다. - 라우터는 AS_PATH 길이와 정책 등을 바탕으로 최적 경로를 선택한다. - 이미 자신의 ASN을 거친 경로는 루프 방지를 위해 거부할 수 있다. - 운영자는 특정 ASN을 우회하거나 선호하도록 AS_PATH를 정책에 활용할 수 있다. - 하지만 AS_PATH는 원래 신뢰 기반으로 설계됐기 때문에 AS prepend처럼 정상적인 조작도 가능하고, 공격자가 경로를 줄이거나 위조하는 것도 가능하다. ## RPKI-ROV와 ASPA만으로는 부족한 이유 - RPKI ROA는 특정 prefix를 어떤 ASN이 원점(origin)으로 광고할 수 있는지 인증한다. - ASPA는 특정 ASN의 유효한 프로바이더 목록을 선언한다. - 그러나 공격자가 다음 조건을 만족하면 기존 검증을 우회할 가능성이 있다. - RPKI-ROV상 유효한 origin ASN을 AS_PATH에 포함 - 합법적인 ASPA 상위 ASN을 경로에 포함 - 자신의 ASN은 AS_PATH에서 제거 - 예시에서는 AS64506이 ROA를 만들고, ASPA에 유효한 프로바이더로 AS64503을 등록했다. - 공격자 AS64505가 자신의 ASN을 제거하고 AS64506에서 시작하는 것처럼 광고하면, First AS를 검사하지 않는 AS64502는 이를 수락할 수 있다. - 결과적으로 경로가 RPKI-ROV상 유효하고 더 짧은 경로로 보이면서 AS64506으로 향하는 트래픽을 가로챌 수 있다. - 따라서 RPKI와 ASPA는 중요한 보안 수단이지만, 피어 ASN과 AS_PATH 첫 ASN의 일치 여부를 확인하는 First AS 검사를 대체하지 못한다. ## 실용적인 권고 - 모든 BGP 세션에서 First AS 검사를 활성화하고 강제해야 한다. - 고객 경로를 수신할 때 다음을 검증하는 것이 바람직하다. - AS_PATH 첫 ASN이 실제 고객 또는 피어 ASN과 일치하는지 - 고객이 광고할 수 있는 prefix인지 - RPKI-ROV 상태가 유효한지 - ASPA상 프로바이더 관계가 허용되는지 - RPKI-ROV와 ASPA는 origin 및 경로 관계 검증에 사용하고, First AS 검사는 자신의 ASN을 숨긴 경로 위조를 차단하는 방어선으로 함께 운용해야 한다.

cloudflare

ASPA: 인터넷 라 (새 탭에서 열림)

인터넷 라우팅의 핵심 프로토콜인 BGP는 설정 오류나 악의적인 공격으로 인해 트래픽이 엉뚱한 경로로 흐르는 '경로 리크(Route Leak)' 취약점을 안고 있습니다. 이를 해결하기 위해 기존의 목적지 검증 기술인 ROA를 넘어, 전체 이동 경로를 암호화 기술로 보호하는 새로운 표준인 ASPA(Autonomous System Provider Authorization)가 도입되고 있습니다. 클라우드플레어는 이러한 흐름에 발맞춰 ASPA 채택 현황을 실시간으로 추적할 수 있는 모니터링 기능을 Radar 서비스에 추가하며 더욱 안전한 인터넷 환경 구축을 지원합니다. ### ASPA의 개념과 필요성 * **기존 RPKI(ROA)의 한계**: 현재 사용되는 ROA(Route Origin Authorization)는 특정 IP 주소를 선언할 권한이 있는 AS(자율 시스템)가 누구인지, 즉 '목적지'만 확인하며 트래픽이 거치는 중간 경로는 검증하지 못합니다. * **경로 검증의 도입**: ASPA는 각 AS가 자신의 상위 프로바이더(Upstream Provider) 목록을 RPKI 시스템에 공식적으로 등록하게 함으로써, 데이터가 승인된 네트워크 체인을 통해서만 이동하는지 확인합니다. * **디지털 인증 기반**: ASPA 레코드는 일종의 인증서 역할을 하여, 수신 측 네트워크가 BGP 내의 AS_PATH를 보고 해당 경로가 사전에 정의된 상위 공급자 관계와 일치하는지 대조할 수 있게 합니다. ### "Valley-Free" 원리를 이용한 리크 탐지 * **상향 및 하향 램프 검증**: 인터넷 라우팅은 일반적으로 고객에서 프로바이더로 올라갔다가(Up-Ramp), 다시 목적지 고객으로 내려가는(Down-Ramp) 산 모양의 계층 구조를 가집니다. * **경로 일관성 확인**: ASPA는 경로의 양단에서 검증을 시작합니다. 출발지부터 상위 프로바이더로 이어지는 체인과 목적지부터 거꾸로 올라오는 체인이 정상적으로 만나는지 확인하여 경로의 유효성을 판단합니다. * **계곡(Valley) 현상 방지**: 고객 네트워크가 두 대형 프로바이더 사이에서 원치 않는 중계 역할을 할 때 발생하는 '경로 리크'는 ASPA 검증 과정에서 두 체인이 연결되지 않는 '단절'로 나타나며, 시스템은 이를 즉시 차단 대상으로 식별합니다. ### 위조된 근원지 하이재킹 방어 * **공격 차단**: 공격자가 실제 목적지 AS인 것처럼 속이면서 가짜 BGP 경로를 생성하는 '위조된 근원지 하이재킹(Forged-origin hijack)' 상황에서 ASPA는 강력한 방어 수단이 됩니다. * **관계의 진실성**: 공격자가 경로 상에 존재하더라도 피해 네트워크가 사전에 정의한 '승인된 프로바이더' 목록에 공격자가 포함되어 있지 않다면, 해당 경로는 유효하지 않은 것으로 간주되어 거부됩니다. * **기술적 한계**: 다만, 프로바이더가 자신의 고객에게 직접 가짜 경로를 광고하는 특수한 형태의 위조 공격 등은 ASPA만으로는 완벽하게 방어하기 어려운 영역으로 남아 있습니다. 인터넷 보안 강화를 위해 네트워크 운영자는 자신의 AS에 대한 ASPA 레코드를 발행하고, 클라우드플레어 Radar와 같은 도구를 통해 전 세계적인 ASPA 채택 추이를 주시하며 라우팅 보안 표준을 준수할 것을 권장합니다.