
인터넷의 핵심 프로토콜인 BGP(Border Gateway Protocol)는 전 세계 네트워크 간의 경로 정보를 교환하는 중요한 역할을 담당합니다. 하지만 BGP의 설계 상 보안 취약점으로 인해 BGP 하이재킹 공격이 꾸준히 발생하고 있습니다. 이러한 위협에 대응하기 위해 개발된 RPKI(Resource Public Key Infrastructure)는 BGP 경로의 유효성을 검증하는 강력한 보안 메커니즘입니다.
BGP 하이재킹이란?
BGP 하이재킹은 악의적인 공격자가 자신이 소유하지 않은 IP 주소 블록에 대한 잘못된 경로 정보를 BGP를 통해 전파하여 트래픽을 가로채는 공격입니다. 이러한 공격은 다음과 같은 심각한 문제를 야기할 수 있습니다:
- 트래픽 가로채기: 정상적인 목적지로 향하는 데이터가 공격자의 네트워크로 우회
- 서비스 중단: 잘못된 경로로 인한 연결 실패
- 데이터 탈취: 민감한 정보의 무단 수집
- 경제적 손실: 서비스 중단으로 인한 비즈니스 영향
국내 BGP 하이재킹 실제 사례
2022년 카카오 서비스 장애 사건
2022년, 카카오의 지도·포털·QR 체크인 등 주요 서비스에서 약 1시간 동안 오류가 발생해 사용자들의 접속이 제한됐습니다. 당시 카카오는 서비스 장애의 원인으로 'IP 하이재킹'이라 불리는 'BGP(Border Gateway Protocol) 교란 행위'를 지목했습니다.
이 사건은 BGP의 근본적인 보안 취약점이 국내 주요 서비스에 미치는 실질적인 영향을 보여준 대표적인 사례입니다. 악의적인 공격이 아닌 설정 오류로 인한 것이었지만, 결과적으로 수백만 사용자들이 서비스 이용에 차질을 겪었습니다.
2021년 KT 전국 통신망 장애
2021년, KT의 인터넷 서비스가 전국적으로 85분 간 끊기는 대규모 장애가 발생했습니다. 조사 결과 이 사고는 KT 협력업체 직원이 네트워크 설정 작업 중 'exit' 명령어를 제대로 입력하지 않아 발생한 것으로 드러났습니다.
이 사건은 복잡한 네트워크 시스템이 사소한 실수 하나로도 쉽게 멈출 수 있음을 여실히 보여준 사례로, BGP 설정 오류가 얼마나 큰 파급 효과를 가져올 수 있는지를 실증했습니다.
해외 사례: 2008년 파키스탄 유튜브 차단 사건
2008년 파키스탄은 예언자 무함마드를 모독한 영상을 공개했다는 이유로 파키스탄텔레콤을 통해 자국내 유튜브 접속을 차단했습니다. 당시 파키스탄텔레콤이 잘못된 경로 정보를 전파했고, 그 결과 전 세계적으로 유튜브 접속이 차단되는 사고가 발생했습니다.
이는 한 국가의 BGP 설정 오류가 글로벌 인터넷 서비스에 미치는 영향을 보여주는 극단적인 사례입니다.
BGP 사고 현황
한국인터넷진흥원(KISA)에 따르면 BGP 경로 변조로 인한 사고는 지난해에만 전세계적으로 1만건 이상 발생했으며, 이중 180건은 인터넷 중단 사태까지 번졌습니다. 이러한 통계는 BGP 보안이 더 이상 미룰 수 없는 시급한 과제임을 보여줍니다.

RPKI란 무엇인가?
RPKI의 정의
RPKI(Resource Public Key Infrastructure)는 인터넷 번호 자원(IP 주소, AS 번호)의 소유권을 암호학적으로 증명하고, BGP 경로 공지의 유효성을 검증하기 위한 공개키 기반 구조입니다.
RPKI는 RFC 6480 시리즈에서 정의되며, 인터넷 라우팅 보안을 크게 향상시키는 핵심 기술입니다.
RPKI의 핵심 구성 요소
1. ROA (Route Origin Authorization)
ROA는 특정 IP 프리픽스가 특정 AS에서 발원할 수 있음을 증명하는 암호학적 객체입니다. ROA에는 다음 정보가 포함됩니다:
- IP 프리픽스: 보호하고자 하는 IP 주소 블록
- 최대 길이: 허용되는 가장 구체적인 서브넷 마스크
- AS 번호: 해당 프리픽스를 공지할 수 있는 AS
- 유효 기간: ROA의 만료 시점
2. 인증서 계층 구조
RPKI는 계층적 인증서 구조를 사용합니다:
- 신뢰 앵커(Trust Anchor): 최상위 인증 기관 (보통 RIR)
- CA 인증서: 중간 인증 기관
- EE 인증서: 최종 엔티티 인증서 (ROA 서명용)
3. 저장소 시스템
RPKI 객체들은 분산된 저장소에 보관되며, 다음과 같은 프로토콜을 통해 접근할 수 있습니다:
- RSYNC: 전통적인 동기화 프로토콜
- RRDP (RPKI Repository Delta Protocol): RFC 8182에서 정의된 새로운 프로토콜

RPKI 구현 방법
1. ROA 생성 과정
ROA를 생성하기 위한 단계별 과정은 다음과 같습니다:
단계 1: 인증서 획득
- 해당 지역의 RIR(지역 인터넷 레지스트리)에 RPKI 인증서 신청
- 인증서 발급 후 개인키와 공개키 쌍 생성
단계 2: ROA 객체 생성
# OpenSSL을 사용한 ROA 생성 예시
openssl cms -sign -in roa-template.json -out example-roa.roa \
-signer ee-certificate.pem -inkey private-key.pem \
-outform DER -nodetach -binary
단계 3: 저장소에 게시
- 생성된 ROA를 RPKI 저장소에 업로드
- RRDP 또는 RSYNC를 통해 전 세계에 배포
RPKI 성공 사례: X(트위터) 서비스 보호
지난 2022년 러시아의 우크라이나 침공 당시 소셜미디어 단속을 위해 X(트위터) 대역을 하이재킹하려는 시도가 있었지만, X는 RPKI 기술에 따른 ROA 인증 등록이 돼있었기 때문에 중단 없이 서비스됐다.
이 사례는 RPKI의 실질적인 효과를 보여주는 대표적인 성공 사례입니다. 전쟁 상황에서도 BGP 하이재킹 시도를 차단하며 서비스 연속성을 보장했습니다.
국내 RPKI 도입 현황과 과제
2022년 6월 기준 OECD 국가 38개 중 RPKI도입이 최하위 수준이다.
지난해 11월 기준으로 RPKI 적용률은 0.7%, RPKI로 필터링한 경우는 0.27%에 그친다.
미국 RPKI 필터링 현황이 69.37%, 중국이 21.94% 인 것과 크게 차이가 난다.
국내 ISP들이 RPKI 도입을 망설이는 주요 이유들:
- 장애 우려: 라우터 구성 변경에 따른 서비스 중단 위험
- 인식 부족: RPKI 기술에 대한 이해도 부족
- 비용 문제: 구축 및 운영 비용 부담
- 인프라 요구: 국내 인증 전담 기구 설치 필요성
박정섭 한국인터넷진흥원 인프라보호단장은 "SK텔레콤, KT, LG유플러스와 세종텔레콤 등 국내 주요 ISP들과 RPKI적용에 관해 논의 중"이라며 "다만 ISP들이 RPKI 도입시 운영 중인 인터넷 서비스 라우터 구성 변경에 따른 장애 등을 우려하고 있고, 또 인증 전담 기구를 국내에 설치해 달라는 등 미리 안정성을 확보해줬으면 좋겠다는 요구사항이 있는 상황"이라고 설명했습니다.
RPKI 캐시 서버 설치
대표적인 RPKI 검증 소프트웨어:
- Routinator: NLnet Labs에서 개발한 Rust 기반 RPKI 검증기
- FORT: 멕시코 NIC에서 개발한 C 기반 검증기
- OctoRPKI: Cloudflare에서 개발한 Go 기반 검증기
Routinator 설치 및 설정 예시
# Routinator 설치 (Ubuntu/Debian)
sudo apt update
sudo apt install routinator
# 신뢰 앵커 초기화
routinator init
# RPKI 캐시 서버 실행
routinator server --rtr [::]:3323 --http [::]:8080


시스코 라우터에서 RPKI 설정
기본 RPKI 설정
시스코 IOS-XR에서 RPKI를 설정하는 방법:
# RPKI 캐시 서버 설정
rpki server 192.168.1.100
transport tcp port 3323
username rpki-user
password rpki-password
refresh-time 3600
response-time 3600
purge-time 7200
# BGP에서 RPKI 검증 활성화
router bgp 65001
bgp bestpath origin-as allow invalid
address-family ipv4 unicast
bgp origin-as validation enable
address-family ipv6 unicast
bgp origin-as validation enable
neighbor 10.1.1.1
address-family ipv4 unicast
send-community extended
origin-as validation enable
RPKI 상태 확인 명령어
# RPKI 서버 연결 상태 확인
show rpki server
# RPKI 캐시 테이블 확인
show rpki table
# BGP 경로의 RPKI 검증 상태 확인
show bgp ipv4 unicast rpki table
show bgp ipv6 unicast rpki table
# 특정 프리픽스의 RPKI 상태 확인
show bgp ipv4 unicast 192.0.2.0/24 detail
# RPKI 통계 정보 확인
show rpki summary
고급 RPKI 정책 설정
# Invalid 경로에 대한 로컬 선호도 조정
route-policy RPKI_POLICY
if validation-state is invalid then
set local-preference 50
elseif validation-state is not-found then
set local-preference 100
elseif validation-state is valid then
set local-preference 200
endif
end-policy
# BGP 네이버에 정책 적용
router bgp 65001
neighbor 10.1.1.1
address-family ipv4 unicast
route-policy RPKI_POLICY in
주니퍼 라우터에서 RPKI 설정
주니퍼 Junos RPKI 기본 설정
# RPKI 세션 설정
set routing-options validation group rpki-validators
set routing-options validation group rpki-validators session 192.168.1.100
set routing-options validation group rpki-validators session 192.168.1.100 port 3323
set routing-options validation group rpki-validators session 192.168.1.100 refresh-time 3600
set routing-options validation group rpki-validators session 192.168.1.100 hold-time 7200
set routing-options validation group rpki-validators session 192.168.1.100 record-lifetime 7200
# BGP에서 RPKI 검증 활성화
set protocols bgp group external-peers validation-database rpki-validators
set routing-options validation traceoptions file rpki-validation
set routing-options validation traceoptions flag all
주니퍼 RPKI 확인 명령어
# RPKI 세션 상태 확인
show validation session
# RPKI 데이터베이스 확인
show validation database
# BGP 경로의 RPKI 상태 확인
show route validation-state invalid
show route validation-state valid
show route validation-state unknown
# 특정 프리픽스 RPKI 상태 확인
show route 192.0.2.0/24 validation-state detail
# RPKI 통계 확인
show validation statistics
주니퍼 RPKI 정책 설정
RPKI 구현 시 고려사항
1. 성능 영향
- RPKI 검증은 추가적인 CPU 자원을 소모합니다
- 대량의 경로를 처리하는 환경에서는 성능 모니터링이 필요합니다
- 캐시 서버의 응답 시간과 네트워크 지연을 고려해야 합니다
2. 가용성 관리
- 여러 RPKI 캐시 서버를 구성하여 단일 장애점을 방지합니다
- 캐시 서버 장애 시 백업 서버로의 자동 전환 메커니즘을 구현합니다
3. 정책 수립
- Invalid 경로에 대한 처리 방침을 명확히 정의해야 합니다
- 점진적 배포를 통해 서비스 영향을 최소화합니다
RPKI 모니터링 및 운영
로그 분석
# 시스코 IOS-XR 로그 예시
show logging | include RPKI
show logging | include BGP.*INVALID
# 주니퍼 Junos 로그 예시
show log messages | match validation
show log rpki-validation
알림 설정
RPKI 관련 중요 이벤트에 대한 알림을 설정합니다:
- RPKI 캐시 서버 연결 실패
- Invalid 경로 수신 증가
- ROA 만료 임박
결론
RPKI는 BGP 하이재킹과 같은 라우팅 보안 위협에 대응하는 강력한 도구입니다. 카카오와 KT 사례에서 보듯이 국내에서도 BGP 관련 사고가 실제로 발생하고 있으며, 이러한 문제들은 RPKI 도입을 통해 상당 부분 예방할 수 있습니다.
시스코와 주니퍼 라우터 모두 RPKI를 완벽하게 지원하며, 적절한 설정과 모니터링을 통해 안전한 네트워크 환경을 구축할 수 있습니다. 국내 ISP들의 우려사항들도 단계적 배포와 테스트베드 구축을 통해 해결 가능합니다.
전 세계적으로 연간 1만 건 이상의 BGP 사고가 발생하는 현실을 고려할 때, RPKI 도입은 더 이상 선택이 아닌 필수입니다. 미국(69.37%)과 중국(21.94%)의 RPKI 필터링 비율에 비해 우리나라의 0.27%는 시급한 개선이 필요한 수준입니다.
인터넷의 라우팅 보안은 모든 네트워크 운영자의 공동 책임입니다. 국내 통신 3사와의 지속적인 논의와 정부의 예산 지원을 통해 RPKI를 조속히 도입하여, 더 안전하고 신뢰할 수 있는 인터넷 환경을 만들어 나가야 합니다.
'IT기술' 카테고리의 다른 글
| 2024-2025년 소셜 엔지니어링 해킹 기법: AI 시대의 새로운 사이버 위협과 대응 전략 (0) | 2025.06.22 |
|---|---|
| 양자 네트워킹이란? 미래 인터넷의 혁신적 기술과 응용 분야 완벽 가이드 (0) | 2025.06.22 |
| AI 추론 방식 완전 분석: 규칙 기반부터 엣지 추론까지 (0) | 2025.06.20 |
| 엔비디아 MGX vs HGX vs DGX: AI 데이터센터 플랫폼 완벽 비교 (0) | 2025.06.19 |
| 이스라엘 vs 이란 사이버전: 현대 전쟁의 새로운 전장 (0) | 2025.06.19 |
댓글