934. 라우팅 프로토콜 인증 방어망 (BGP 보안 설계)

⚠️ 이 문서는 전 세계 인터넷의 길을 알려주는 핵심 내비게이션(BGP 등 라우팅 프로토콜)이 해커에 의해 위조되거나 끊기는 대참사(라우팅 하이재킹)를 막기 위해, 라우터들끼리 대화를 나눌 때 비밀번호(MD5/SHA 해시)를 섞어 진짜 친구인지 검증하고 방어하는 BCP(Best Current Practice) 설정 기술을 다룹니다.

핵심 인사이트 (3줄 요약)

  1. 본질: 해커가 중간에 몰래 가짜 라우팅 정보(경로)를 보내서 트래픽을 가로채거나, 라우터 간의 TCP 세션에 가짜 '종료(RST)' 패킷을 쏴서 네트워크 연결을 무너뜨리는 공격을 막는 것이 **라우팅 인증(Routing Authentication)**이다.
  2. 가치: 국가 간 통신이나 대규모 데이터센터의 생명줄인 BGP 라우팅이 해커의 거짓말 한마디에 의해 마비되거나 도청당하는 초유의 사태를 원천적으로 방지하는 인프라의 핵심 방호벽이다.
  3. 기술 체계: 라우터 간에 주고받는 모든 경로 업데이트 패킷에 비밀번호 기반의 MD5/SHA 암호학적 해시(MAC) 도장을 찍어 변조를 막고(무결성), 가짜 리셋 패킷(RST 스푸핑)을 구조적으로 무시하게 만드는 BCP 보안 설정을 라우터 OS에 적용한다.

Ⅰ. 개요: 거짓말쟁이 내비게이션 (Context & Necessity)

"유튜브로 가는 가장 빠른 길은 나한테 있어! 다 나한테 패킷을 보내!" 만약 해커가 네트워크에 몰래 자신의 노트북을 라우터인 척 꽂고, 엉터리 경로 정보(BGP Update)를 방송하면 어떻게 될까? 주변 라우터들은 이 거짓말을 철떡같이 믿고 수백 기가바이트의 유튜브 트래픽을 해커의 노트북으로 쏟아버린다. 해커는 이를 엿듣거나(도청), 감당 못해 버리면서 전 세계적인 통신 마비(블랙홀)를 일으킨다. 이게 바로 악명 높은 **BGP 하이재킹(Route Hijacking)**이다.

또한, 라우터 A와 라우터 B가 BGP 통신을 위해 맺고 있는 TCP 파이프에, 해커가 가짜로 TCP RST(연결 강제 종료) 패킷을 쏴버리는 TCP 세션 탈취 및 끊기 공격도 발생할 수 있다.

이처럼 가장 밑바닥 인프라인 라우팅 프로토콜이 털리는 것을 막기 위해, 시스코(Cisco), 주니퍼(Juniper) 등은 라우터끼리 깐깐하게 암호를 대고 소통하는 **라우팅 프로토콜 인증(Authentication)**과 **BCP(최고 권장 방어 설정)**을 필수적으로 도입했다.

📢 섹션 요약 비유: 도로에 교통경찰이 "우회전하세요"라고 지시하는데, 그 사람이 진짜 경찰인지 범죄자가 경찰복을 입고 거짓말을 하는지 모릅니다. 그래서 라우터(경찰)들끼리 무전을 할 때는 무조건 끝에 "우리끼리만 아는 비밀 암호(MD5 해시)"를 덧붙여서 말하게 만들어 가짜를 걸러내는 기술입니다.


Ⅱ. 라우팅 인증 및 방어의 2가지 핵심 축

1. MD5 / SHA 인증 기반 해시 키 연동 (패킷 위변조 방어)

가장 보편적인 방어책이다. 라우터 A와 B 설정 파일에 똑같은 비밀번호(secret_key)를 저장해 둔다.

  • 라우터 A가 경로 정보를 보낼 때, [데이터 + 비밀번호]를 믹서기에 갈아 **해시값(MD5/SHA)**을 만들어 패킷 꼬리표에 붙여 보낸다. (비밀번호 원본은 전송 안 됨)
  • 라우터 B는 패킷을 받아 자기가 가진 비밀번호를 넣어 똑같이 갈아보고, 꼬리표 값과 일치하는지 비교한다 (MAC 검증).
  • 해커가 중간에서 경로 데이터를 위조해서 보내더라도, 해커는 라우터의 비밀번호를 모르기 때문에 올바른 해시값을 만들어 낼 수 없다. 라우터 B는 해시값이 틀리면 패킷을 즉시 쓰레기통에 버린다(Drop).

2. TCP 세션 탈취 및 RST 스푸핑 우회 (GTSM / TTL 보안)

BGP는 TCP 포트 179번을 쓴다. 해커가 적당히 IP와 시퀀스 넘버를 찍어 맞춘 가짜 TCP RST(초기화) 패킷을 보내면 두 라우터 간의 세션이 끊어질 수 있다 (RST 스푸핑).

  • MD5 적용 시 방어: MD5 인증을 켜면 TCP 헤더의 옵션 필드에 서명이 들어간다. 해커가 가짜 RST 패킷을 쏘더라도 서명이 없으므로 라우터가 가볍게 무시(우회)해버린다.
  • TTL 보안 기법 (GTSM, Generalized TTL Security Mechanism): 진짜 BGP 라우터들은 보통 서로 딱 달라붙어 있다(1 홉 거리). 따라서 보낼 때 TTL(수명) 값을 최대치인 255로 세팅해서 보낸다. 상대방 라우터가 받았을 때 TTL이 254가 아니면(즉, 해커가 멀리서 여러 라우터를 거쳐 보낸 해킹 패킷이라면) 얄짤없이 버려버리는 기발한 물리적 방어 설정(BCP)이다.
┌──────────────────────────────────────────────────────────────────────────┐
│           라우팅 MD5 인증 기반 방어 메커니즘 시각화 (BGP 하이재킹 방어)  │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│ [ 진짜 라우터 A ]                              [ 진짜 라우터 B ]         │
│  비밀번호: "korea123"                         비밀번호: "korea123"       │
│                                                                          │
│ 1. 경로 전송 ──[데이터 + MD5(데이터+korea123)]──▶ 2. 검증 완료! 수락⭕   │
│                                                                          │
│ 🚨 [ 해커 X ]                                                            │
│ "내가 라우터 A인 척 엉터리 경로를 줘야지!" (비번 모름)                   │
│                                                                          │
│ 3. 가짜 경로 전송 ──[엉터리 데이터 + 엉터리 해시]──▶ 4. 해시 불일치! ❌  │
│                                           (가짜 패킷 즉시 차단/Drop)     │
└──────────────────────────────────────────────────────────────────────────┘

Ⅲ. 실무 BCP (Best Current Practice) 설정 지침

네트워크 장비를 관리하는 엔지니어는 다음과 같은 업계 최고 보안 지침(BCP)을 라우터에 세팅해야 한다.

  1. 라우팅 인증(Authentication) 무조건 활성화
    • BGP, OSPF, EIGRP 등 모든 라우팅 프로토콜에 Clear-Text(평문) 비밀번호가 아닌 MD5나 더 강력한 SHA-HMAC 암호화를 걸어야 한다.
  2. 비밀번호 주기적 변경 (Key Rollover)
    • 비밀번호가 유출되면 끝이므로, 통신 끊김 없이 비밀번호를 교체할 수 있는 Key-Chain 설정을 걸어둔다.
  3. BGP 필터링 (Prefix Filtering & Bogon Block)
    • 인증을 통과한 진짜 라우터가 해킹당해서 미친 소리(사설 IP 10.0.0.0 대역을 인터넷으로 보내라고 등)를 할 수 있다. 이런 엉터리 IP(Bogon) 대역이나 지나치게 광범위한 경로는 받아들이지 않도록 Route-map 필터를 겹겹이 쳐두어야 한다.

Ⅳ. 결론

"라우터의 신뢰는 맹목적인 믿음이 아니라, 철저한 해시 검증에서 나온다." 과거 인터넷 초창기의 라우팅 프로토콜은 이웃 라우터가 선량할 것이라는 낭만적인 성선설을 바탕으로 설계되었다. 그러나 해커들이 국가 트래픽을 통째로 납치해 가는 BGP 하이재킹이 현실화되면서, 성선설은 버려지고 철저한 '의심과 인증'의 아키텍처로 진화했다. MD5/SHA 해시 키 연동과 RST 스푸핑을 막기 위한 다양한 BCP 설정은, 전 세계의 수백만 대 라우터가 서로의 멱살을 잡고 신분을 깐깐하게 확인하며 안전한 인터넷 지도를 그려나가는 최후의 파수꾼 역할을 하고 있다.


📌 관련 개념 맵

  • 보호 대상: BGP (Border Gateway Protocol), OSPF, EIGRP 등 동적 라우팅 프로토콜
  • 방어 기술: MD5/SHA 인증 (MAC, Message Authentication Code), BGP TTL 보안(GTSM)
  • 위협 공격: BGP 하이재킹 (Route Hijacking), TCP RST 스푸핑 (Session Reset), 블랙홀 라우팅
  • 관리 지침: BCP (Best Current Practice), Route Filtering, RPKI (935번 문서 참조)

👶 어린이를 위한 3줄 비유 설명

  1. 교통경찰(라우터)들이 서로 폰으로 전화를 걸어서 "오늘은 1번 도로가 뻥 뚫렸어!" 하고 길을 알려줘요.
  2. 그런데 웬 나쁜 악당(해커)이 경찰인 척 폰으로 전화를 걸어서 "저쪽 낭떠러지 길이 뚫렸어!" 하고 거짓말을 해서 자동차들을 위험에 빠뜨리는 사건이 발생했어요.
  3. 그래서 진짜 경찰들끼리 통화할 때는 무조건 말끝에 "우리만 아는 암호(MD5 해시)!"를 덧붙이기로 규칙을 정했답니다. 암호를 모르는 악당이 전화를 걸면 경찰들이 듣자마자 전화를 뚝 끊어버리게 된 거죠!