Article@next_hopself·2026년 6월 3일·0

Enforcing the First AS in BGP AS PATHs

Quick Summary

이 글은 위조된 BGP AS PATH를 이용한 라우트 하이재킹 사례를 분석하고, 외부 BGP 피어가 보낸 경로의 첫 번째 AS가 실제 피어 AS와 일치하는지 확인하는 First AS 강제가 인터넷 라우팅 보안의 기본 방어선임을 설명한다.

@next_hopselfblog.cloudflare.com원문 보기
Enforcing the First AS in BGP AS PATHs 관련 대표 이미지

🖼️ 인포그래픽

Enforcing the First AS in BGP AS PATHs 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

Enforcing the First AS in BGP AS PATHs 내용을 설명하는 본문 이미지

💡 한 줄 요약

이 글은 위조된 BGP AS_PATH를 이용한 라우트 하이재킹 사례를 분석하고, 외부 BGP 피어가 보낸 경로의 첫 번째 AS가 실제 피어 AS와 일치하는지 확인하는 First AS 강제가 인터넷 라우팅 보안의 기본 방어선임을 설명한다.

📌 핵심 요약

  • 최근 보고된 라우트 하이재킹 사례에서는 공격자가 사용되지 않는 ASN을 악용하고, 실제 네트워크 경로처럼 보이도록 AS_PATH를 위조해 트래픽을 의도하지 않은 방향으로 유도하려 한 정황이 제시된다.
  • Orange France의 미사용 ASN과 멕시코 기반 ISP, 호스팅 사업자, Gcore 등이 한 경로에 나타난 사례는 관계상 부자연스러우며, Cloudflare의 ASN이 실제 인접 관계가 없는 경로에 포함된 사례도 위조 가능성을 뒷받침한다.
  • 글은 공격자가 자신의 ASN을 AS_PATH에 넣지 않고, 합법적으로 보이는 원점 AS나 상위 AS를 이용하면 RPKI-ROV나 ASPA만으로는 특정 위조 경로를 막기 어렵다고 설명한다.
  • BGP의 AS_PATH는 경로 선택과 루프 방지에 쓰이지만 신뢰 기반으로 설계되어 조작될 수 있으므로, 수신한 외부 경로의 첫 번째 AS가 설정된 피어 AS와 일치하는지 검사하는 First AS enforcement가 중요하다.
  • 저자들은 Cloudflare의 테스트 프리픽스에 일부러 잘못된 First AS를 붙여 Tier 1 네트워크를 대상으로 측정하려 했고, 일부 장비가 RFC 7606식 경로 철회 대신 세션 리셋을 일으킬 수 있어 지속적 공개 측정에는 한계가 있음을 확인했다.

🧩 주요 포인트

  1. 최근 보고된 라우트 하이재킹 사례에서는 공격자가 사용되지 않는 ASN을 악용하고, 실제 네트워크 경로처럼 보이도록 AS_PATH를 위조해 트래픽을 의도하지 않은 방향으로 유도하려 한 정황이 제시된다.
  2. Orange France의 미사용 ASN과 멕시코 기반 ISP, 호스팅 사업자, Gcore 등이 한 경로에 나타난 사례는 관계상 부자연스러우며, Cloudflare의 ASN이 실제 인접 관계가 없는 경로에 포함된 사례도 위조 가능성을 뒷받침한다.
  3. 글은 공격자가 자신의 ASN을 AS_PATH에 넣지 않고, 합법적으로 보이는 원점 AS나 상위 AS를 이용하면 RPKI-ROV나 ASPA만으로는 특정 위조 경로를 막기 어렵다고 설명한다.
  4. BGP의 AS_PATH는 경로 선택과 루프 방지에 쓰이지만 신뢰 기반으로 설계되어 조작될 수 있으므로, 수신한 외부 경로의 첫 번째 AS가 설정된 피어 AS와 일치하는지 검사하는 First AS enforcement가 중요하다.
  5. 저자들은 Cloudflare의 테스트 프리픽스에 일부러 잘못된 First AS를 붙여 Tier 1 네트워크를 대상으로 측정하려 했고, 일부 장비가 RFC 7606식 경로 철회 대신 세션 리셋을 일으킬 수 있어 지속적 공개 측정에는 한계가 있음을 확인했다.

🧠 상세 정리

1. 문제 제기: 위조된 AS_PATH를 이용한 라우트 하이재킹

글은 Spamhaus가 보고한 최근 라우트 하이재킹 사례를 계기로, 공격자가 사용되지 않는 자율 시스템 번호, 즉 ASN을 악용한 정황에 주목한다. 핵심은 공격자가 목적지로 향하는 BGP 경로의 AS_PATH를 실제와 다르게 꾸며 트래픽을 예상 밖의 경로로 보내려 했다는 점이다. 이렇게 위조된 경로는 공격자의 정체를 숨기면서 자신이 특정 BGP 프리픽스의 원점인 것처럼 보이게 만들 수 있다. 저자들은 이 유형의 공격을 막는 간단한 방어로, BGP 피어가 광고한 경로의 첫 번째 AS가 실제 피어 AS와 일치하는지 확인하는 기본 검증을 제시한다.

2. Orange France 관련 사례와 부자연스러운 AS 관계

저자들은 Orange S.A. 소유 프리픽스 90.98.0.0/15와 관련된 하이재킹 사례를 BGP UPDATE 메시지로 살펴본다. 해당 AS_PATH에는 48237, 1299, 199524, 270118, 17072, 41128이 순서대로 나타나는데, AS1299가 Tier 1 네트워크라는 점을 고려하면 오른쪽에 있는 AS들은 상위 제공자 관계를 암시하게 된다. 그러나 AS41128은 Orange France의 미사용 ASN이고, AS17072와 AS270118은 멕시코 기반 ISP 및 호스팅 제공자이며, AS199524는 글로벌 피어링을 가진 Gcore다. 이 조합은 미사용 Orange France ASN이 멕시코 사업자를 거쳐 Gcore와 Tier 1으로 올라간다는 매우 부자연스러운 구조를 만들기 때문에 위조 경로라는 해석을 강화한다.

3. Cloudflare ASN이 포함된 또 다른 위조 경로 정황

다른 사례에서는 AS36429를 원점으로 하는 47.1.0.0/16과 47.2.0.0/16 프리픽스 하이재킹 경로에 Cloudflare의 주 ASN인 AS13335가 포함되어 있었다. 제시된 AS_PATH는 199524 270118 17072 13335 36429였지만, 원문은 Cloudflare가 현재 사용되지 않는 Charter 소유 AS36429와 인접 관계를 갖고 있지 않다고 명확히 밝힌다. 따라서 이 경로는 Cloudflare의 ASN을 가짜 상위 네트워크 중 하나처럼 삽입한 위조 경로로 볼 수 있다. 또한 Spamhaus가 지적했듯 해당 하이재킹 경로는 실제 전달 경로에서 멕시코 ISP나 Cloudflare 네트워크를 지나지 않고, Gcore의 시카고 피어링 뒤 네트워크로 이어졌다고 설명된다.

4. 공격 전략과 Gcore 앞에서의 First AS 검증 누락 가능성

저자들은 관측된 경로가 공통으로 나타나는 가장 왼쪽 AS, 이 경우 AS199524까지 위조된 것으로 합리적으로 결론 내릴 수 있다고 본다. 글이 제시하는 공격 전략은 먼저 ‘주차된’ 프리픽스에 대해 BGP 공지를 시작하고, 공격자의 로컬 ASN을 AS_PATH에 넣지 않은 채 경로 전체를 위조한 뒤, 이를 Gcore인 AS199524에 광고하는 방식이다. 이때 Gcore가 고객 ASN과 첫 번째 AS가 일치하는지 확인하고 강제하는 절차를 건너뛰었다면, 위조 경로가 수락되어 상위 제공자와 피어로 전파될 수 있다. 글은 ASPA가 이런 위조 경로 일부를 무효화하는 데 도움이 되지만, 공격자가 RPKI-ROV상 유효한 원점 AS나 합법적 ASPA 상위 AS만 넣는 식으로 우회할 수 있다고 지적한다.

5. AS_PATH의 역할과 신뢰 기반 설계의 취약점

BGP에서 AS_PATH는 경로가 어떤 자율 시스템들을 거치는지 기록하는 속성이며, 글은 이를 택배가 여러 운송사를 거칠 때 남는 처리 기록에 비유한다. 이 속성은 목적지까지 어떤 경로가 더 나은지 판단하는 경로 선택에 쓰이고, 이미 자기 네트워크를 지난 경로를 거부해 루프를 막는 데도 쓰인다. 운영자는 AS_PATH를 정책적으로 검사해 특정 AS를 피하거나 일부러 경유하도록 만들 수 있으며, 예상치 못한 BGP 이상 현상의 영향을 줄이는 데도 활용할 수 있다. 그러나 BGP는 기본적으로 신뢰 위에 세워졌기 때문에 AS_PATH는 쉽게 조작될 수 있고, 합법적 트래픽 조정처럼 보이는 AS prepending부터 악의적 경로 단축이나 원점 공격까지 다양한 방식으로 악용될 수 있다.

6. 원점 위조 공격에서 First AS 강제가 필요한 이유

첫 번째 예시는 AS64506이 RPKI ROA로 자신의 경로를 서명하고, ASPA 객체로 AS64503만 유효한 제공자로 지정했음에도 공격이 가능할 수 있음을 보여준다. 공격자인 AS64505가 자신의 ASN을 AS_PATH에서 제거하고 AS64506이 직접 원점인 것처럼 만들면, AS64502가 First AS를 강제하지 않는 상황에서 경로는 짧고 RPKI-ROV상 유효해 보일 수 있다. 심지어 고객 AS64501과 제공자 AS64502가 ASPA 검증을 하더라도, 경로 64502 64506에는 검증할 충분한 중간 정보가 없으므로 잘못된 계곡 구조를 찾지 못한다. 이 경우 기존 도구로 막을 수 있는 핵심 조치는 AS64502가 AS64505로부터 받은 경로의 첫 번째 AS가 실제 피어 AS와 맞는지 확인하고, 맞지 않으면 폐기하는 것이다.

7. AS_PATH 단축을 통한 트래픽 유인과 경제적 왜곡

두 번째 예시는 경로 위조가 보안 문제뿐 아니라 트래픽 수익 구조를 왜곡할 수 있음을 설명한다. AS64506이 AS64503과 AS64505라는 두 전송 제공자를 가지고 있고, AS64505가 트래픽 사용 비율에 따라 비용을 청구한다고 가정한다. AS64505가 자신의 ASN을 경로에서 제거하고, 피어 AS64504가 First AS를 강제하지 않으면, 멀리 있는 AS64501 입장에서는 AS64504를 통한 경로가 더 짧고 좋은 경로처럼 선택될 수 있다. 그 결과 AS64505가 AS64506으로 향하는 트래픽을 더 많이 처리하고 대가를 받는 반면, 다른 제공자인 AS64503은 비용을 받지 못하게 되어 정상적인 경로 선택과 정산 구조가 흔들린다.

8. 표준, 측정 실험, 그리고 실제 배포상의 한계

글은 외부 BGP 이웃을 설정할 때 운영자가 원격 AS를 지정하며, 수신한 AS_PATH의 첫 번째 AS가 이 값과 다르면 경로가 조작된 것이라고 설명한다. RFC 4271은 외부 피어에서 온 UPDATE의 왼쪽 첫 AS가 송신 피어의 AS와 같은지 확인할 수 있다고 명시하고, 맞지 않으면 Malformed AS_PATH로 처리하도록 한다. 이후 RFC 7606은 이런 오류 처리를 전체 세션 중단이 아니라 문제 경로만 철회하는 treat-as-withdraw 방식으로 다루도록 권고한다. 저자들은 Cloudflare 소유의 비주 ASN인 AS402542를 AS13335 앞에 일부러 넣어 Tier 1 이웃에게 테스트 경로를 광고했으며, 강제 검증을 하는 네트워크는 경로를 조용히 버리고 그렇지 않은 네트워크는 설치할 것으로 예상했다. 다만 일부 네트워크가 잘못된 AS_PATH를 받았을 때 경로만 철회하지 않고 BGP 세션을 리셋할 수 있어, 실제 트래픽에 영향을 주지 않는 지속적 공개 측정은 어렵다고 결론 낸다.

🧾 핵심 주장 / 시사점

  • RPKI ROA와 ASPA가 있어도 AS_PATH에서 공격자의 ASN 자체가 빠진 경우에는 검증할 정보가 부족해질 수 있으므로, First AS 검사는 더 복잡한 검증 체계 이전에 반드시 필요한 기본 안전장치다.
  • 위조 경로는 기술적으로는 단순한 문자열 조작처럼 보일 수 있지만, 실제로는 트래픽 탈취, 경로 은폐, 비용 정산 왜곡, 대규모 전파 위험을 동시에 만들 수 있다.
  • RFC 7606식 treat-as-withdraw 지원 여부는 보안 측정과 운영 안정성 모두에 중요하다. 잘못된 경로 하나 때문에 BGP 세션이 리셋되는 네트워크가 남아 있으면, 방어 검증을 적극적으로 측정하고 공개하는 일 자체가 어려워진다.

✅ 액션 아이템

  • 수신한 BGP 경로의 First AS가 피어 AS와 불일치하는지를 경로 단위로 점검해 위조 AS_PATH 징후를 선별한다.
  • 공격자가 미사용 ASN이나 합법적 상위 AS를 이용해 자기 AS를 숨기는 변조를 가정해 탐지 규칙에 First AS와 AS_PATH 결합 검증을 반영한다.
  • RFC 7606 기반 철회보다 세션 리셋이 발생하는 구간을 구분해 공개 측정 설계를 조정하고 지속 모니터링 가용성을 점검한다.

❓ 열린 질문

  • First AS 불일치 탐지는 어느 비율 이상을 임계치로 잡아 자동 경보나 정책 조치로 연결해야 하는가?
  • RPKI-ROV와 ASPA로는 걸러지지 않는 자체 AS 은닉형 AS_PATH 위조를 어떤 기준으로 구분해야 하는가?
  • 공개 측정에서 세션 리셋이 반복되는 장비를 포함할 때 장기 측정 결과의 신뢰도를 어떤 방식으로 보정할 것인가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.