프로토콜 추적
문제
독일어 원문
AS666 möchte den Netzwerkverkehr für AS1 abfangen. Welchen Angriff kann AS666 durchführen? Beschriften Sie den Pfeil AS666→AS3 mit einer passenden BGP-Announcement. Wie kann dieser Angriff verhindert werden?
한국어 해석
AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오.
BGP announcement · routing table simulator
| Destination prefix | Selected next hop | AS_PATH | Reason |
|---|---|---|---|
| 10.10.10.0/24 | AS2 | AS2 AS1 | legitimate route |
| 10.10.11.0/24 | AS2 | AS2 | legitimate route |
same-prefix는 route policy/AS_PATH, /28은 longest-prefix match를 훈련합니다. 원 복기 메모의 복수 후보를 구분해 표시합니다.
단계별 힌트
막혔을 때만 한 단계씩 여세요. 정답을 바로 읽는 것보다 기억을 꺼내는 시간이 중요합니다.
- 첫 힌트: 그림의 공격 화살표에는 AS1과 같은 `10.10.10.0/24`와 더 짧아 보이는 `path: AS666`을 넣는다.
- AS1의 legitimate route `10.10.10.0/24; path: AS2 AS1`을 읽는다.
- AS666이 같은 prefix에 `path: AS666`을 광고한다.
- 같은 /24 후보에서 AS_PATH 길이 2와 1을 비교한다.
- RPKI/ROV와 prefix filtering을 방어로 연결한다.
- 함정: longest-prefix match와 shortest AS_PATH를 섞기
- 함정: RPKI가 AS_PATH 위조까지 모두 막는다고 쓰기
- 후속 점검: Sub-prefix hijack이 same-prefix hijack보다 강한 이유는 무엇인가?
채점 기준으로 내 답안 점검하기
- BGP prefix hijacking을 쓴다.
- 목적지 prefix 10.10.10.0/24를 정확히 쓴다.
- path를 AS666으로 광고한다.
- RPKI/ROA 검증 또는 엄격한 prefix filtering을 방어로 쓴다.
답안 슬롯 자가 점검 — 실제로 말하거나 쓴 항목만 체크하세요.
0/4 slots
프로토콜/시나리오 프레임 보기
AS666
AS3
malicious BGP announcement `to: 10.10.10.0/24; path: AS666`
AS666 can inject BGP announcements with false origin/path information
route filtering, RPKI/ROA with origin validation and maxLength, BGPSec for AS_PATH integrity where deployed
RPKI origin validation does not by itself validate the entire AS_PATH; BGPSec does not by itself authorize prefix ownership; deployment is incomplete
정답과 핵심 해설 확인하기
BGP prefix hijacking. AS666은 `to: 10.10.10.0/24; path: AS666`을 AS3에 광고한다. AS3는 기존 AS2 AS1보다 짧은 경로를 선택할 수 있다. RPKI/ROA 기반 Route Origin Validation과 prefix filtering으로 막는다.
개념부터 다시 보는 상세 풀이
BEGINNER LESSON
네트워크 보안: 이 문제를 처음부터 이해하기
ZERO-BASE START
정말 아무것도 모른다고 가정하고 시작합니다
전문 용어를 알고 있다고 가정하지 않습니다. 먼저 일상적인 장면을 보고, 그 장면의 사람과 행동에 실제 보안 용어를 하나씩 붙인 뒤, 시스템에서 일어나는 순서를 따라갑니다.
기초 개념 01
네트워크에서 누가 누구에게 무엇을 보내는가
1타 강사식 시작: 이름은 잠시 가리고 장면부터 봅시다
IP address가 아파트 건물 주소라면 port는 몇 호인지, protocol은 택배 봉투를 어떤 양식으로 쓰는지, router는 다음 물류 센터를 고르는 역할에 가깝다.
지금은 이 비유를 완벽히 외울 필요가 없습니다. 누가 무엇을 가지고 있고, 무엇을 하려 하며, 어느 지점에서 문제가 생기는지만 찾으면 됩니다.
이제 실제 용어를 하나씩 붙여 봅시다
네트워크는 여러 장치가 정해진 protocol에 따라 packet 또는 message를 주고받는 시스템이다. Client는 서비스를 요청하는 쪽, server는 서비스를 제공하는 쪽이다. IP address는 네트워크에서 장치를 찾는 주소이고 port는 한 장치 안에서 어떤 프로그램과 통신할지 구분하는 번호다. Router는 목적지 네트워크를 보고 packet을 다음 경로로 전달한다.
TERMS FROM ZERO
전문 용어를 한 단어씩 풀기
아래 단어는 이미 안다고 가정하지 않습니다. 먼저 쉬운 뜻을 읽고, 본문에서 같은 단어가 나오면 이 정의로 다시 바꾸어 읽으세요.
Packet
네트워크에서 header와 payload를 갖고 전달되는 데이터 단위입니다.
IP address
IP 계층에서 출발지와 목적지 host/interface를 식별하는 주소입니다.
Port
한 host 안에서 어떤 application/service가 데이터를 받을지 구분하는 번호입니다.
Protocol
통신 참여자가 message 형식과 순서를 해석하기로 합의한 규칙입니다.
프로그램이나 프로토콜 안에서는 다음 순서로 움직입니다.
- 송신자와 수신자를 먼저 적는다.
- 출발지·목적지 IP와 port를 구분한다.
- 중간 장치가 내용을 읽는지 단순히 전달하는지 구분한다.
- 응답이 어느 방향으로 돌아오는지 그린다.
왜 여기서 많이 틀릴까요?
하나의 port 번호가 그 port를 이용하는 데이터의 의미까지 보장하지는 않는다.
조건을 생략하거나 서로 다른 기능을 같은 것으로 취급했는지 확인하세요. 정답 문장을 외우는 것보다 틀린 이유를 말할 수 있어야 변형 문제를 풀 수 있습니다.
기초 개념 02
Internet의 길 안내: AS, prefix, BGP announcement
1타 강사식 시작: 이름은 잠시 가리고 장면부터 봅시다
각 AS를 도시, prefix를 동네, BGP announcement를 ‘이 동네로 가는 길은 우리 도시를 통과한다’는 안내판으로 생각하면 된다.
지금은 이 비유를 완벽히 외울 필요가 없습니다. 누가 무엇을 가지고 있고, 무엇을 하려 하며, 어느 지점에서 문제가 생기는지만 찾으면 됩니다.
이제 실제 용어를 하나씩 붙여 봅시다
Internet은 하나의 네트워크가 아니라 Autonomous System(AS)이라는 큰 네트워크들의 연결이다. IP prefix는 10.10.10.0/24처럼 연속된 주소 범위를 나타내며 /24는 앞의 24개 bit가 같은 주소들을 하나의 네트워크로 묶는다는 뜻이다. BGP는 AS끼리 ‘이 prefix로 가려면 나를 거쳐라’라는 경로 정보를 교환하는 protocol이다. Announcement에는 목적지 prefix, 경로에 포함된 AS들의 AS_PATH, next hop과 여러 route attribute가 들어갈 수 있다.
TERMS FROM ZERO
전문 용어를 한 단어씩 풀기
아래 단어는 이미 안다고 가정하지 않습니다. 먼저 쉬운 뜻을 읽고, 본문에서 같은 단어가 나오면 이 정의로 다시 바꾸어 읽으세요.
Autonomous System
하나의 관리 정책 아래 운영되는 IP network 집합이며 AS 번호로 식별됩니다.
Prefix
`203.0.113.0/24`처럼 연속된 IP 주소 범위를 나타냅니다.
BGP announcement
어떤 prefix로 가는 route와 path 정보를 이웃 AS에 알리는 message입니다.
AS_PATH
해당 route가 거쳐 온 AS 번호의 순서로 loop 방지와 route 선택에 사용됩니다.
프로그램이나 프로토콜 안에서는 다음 순서로 움직입니다.
- 목적지 prefix가 무엇인지 찾는다.
- 누가 origin AS라고 주장하는지 확인한다.
- AS_PATH가 어떤 순서의 AS를 나타내는지 읽는다.
- 기본 BGP 정보가 항상 진실이라고 암호학적으로 보장되지는 않음을 기억한다.
왜 여기서 많이 틀릴까요?
BGP message가 정상 형식이라는 사실과 그 안의 경로 주장이 사실이라는 것은 별개다.
조건을 생략하거나 서로 다른 기능을 같은 것으로 취급했는지 확인하세요. 정답 문장을 외우는 것보다 틀린 이유를 말할 수 있어야 변형 문제를 풀 수 있습니다.
기초 개념 03
BGP hijack과 longest-prefix routing
1타 강사식 시작: 이름은 잠시 가리고 장면부터 봅시다
‘서울로 가는 길’ 안내와 ‘서울 101번 건물로 가는 길’ 안내가 동시에 있으면 101번 건물에는 더 구체적인 두 번째 안내를 따르는 것과 같다.
지금은 이 비유를 완벽히 외울 필요가 없습니다. 누가 무엇을 가지고 있고, 무엇을 하려 하며, 어느 지점에서 문제가 생기는지만 찾으면 됩니다.
이제 실제 용어를 하나씩 붙여 봅시다
BGP hijack은 권한 없는 AS가 다른 조직의 IP prefix에 도달할 수 있다고 광고해 traffic을 잘못 끌어오는 공격이다. Router는 여러 경로가 있을 때 먼저 목적지 IP와 가장 긴 prefix가 일치하는 longest-prefix match를 적용한다. /28은 /24보다 더 구체적인 작은 범위이므로 겹치는 주소에 대해서는 /28 경로가 선택된다.
TERMS FROM ZERO
전문 용어를 한 단어씩 풀기
아래 단어는 이미 안다고 가정하지 않습니다. 먼저 쉬운 뜻을 읽고, 본문에서 같은 단어가 나오면 이 정의로 다시 바꾸어 읽으세요.
BGP hijack
잘못되거나 악의적인 route announcement로 traffic이 다른 AS로 향하게 되는 사건입니다.
Longest-prefix match
Router가 목적지 IP를 포함하는 route 중 가장 구체적인 prefix를 우선하는 forwarding 규칙입니다.
Origin AS
BGP path에서 해당 prefix를 최초로 광고한 AS입니다.
RPKI / ROV
어떤 AS가 prefix를 origin으로 광고할 권한이 있는지 검증하는 체계와 절차입니다.
프로그램이나 프로토콜 안에서는 다음 순서로 움직입니다.
- 정상 prefix와 공격자가 광고한 prefix를 비교한다.
- 목적지 주소에 두 prefix가 모두 일치하는지 본다.
- 일치하면 prefix length가 더 긴 route를 선택한다.
- 길이가 같으면 local preference, AS path 등 추가 BGP 정책을 본다.
왜 여기서 많이 틀릴까요?
AS_PATH가 짧다는 이유만 보기 전에 longest-prefix match가 먼저 경로 후보를 결정한다는 점을 확인한다.
조건을 생략하거나 서로 다른 기능을 같은 것으로 취급했는지 확인하세요. 정답 문장을 외우는 것보다 틀린 이유를 말할 수 있어야 변형 문제를 풀 수 있습니다.
핵심부터 말하면 그림의 공격 화살표에는 AS1과 같은 `10.10.10.0/24`와 더 짧아 보이는 `path: AS666`을 넣는다.
이 글에서 익힐 것
AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오.
이 문항에 연결된 3개 기초 개념과 12개 전문 용어를 자신의 말로 설명한다.
정의만 외우지 않고 구체적인 입력·message·code 흐름을 단계별로 재현한다.
시험 답안에서 결론과 근거, 조건 또는 한계를 함께 쓴다.
이 문제가 어려운 이유
문제 문장은 짧지만 초보자가 이미 안다고 가정하는 용어와 중간 단계가 숨어 있습니다. 이 페이지에서는 ‘AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오.’를 바로 외우지 않고, 아래 연결 개념을 일상 장면에서 시작해 실제 시스템 순서로 바꿉니다.
문제가 묻는 것
AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오.
문제가 요구하는 동사와 답의 개수를 먼저 표시하고, 등장 주체·입력·처리 순서·보안 효과·남는 한계를 차례로 적습니다.
먼저 알아야 할 개념
-
네트워크에서 누가 누구에게 무엇을 보내는가
네트워크는 여러 장치가 정해진 protocol에 따라 packet 또는 message를 주고받는 시스템이다. Client는 서비스를 요청하는 쪽, server는 서비스를 제공하는 쪽이다. IP address는 네트워크에서 장치를 찾는 주소이고 port는 한 장치 안에서 어떤 프로그램과 통신할지 구분하는 번호다. Router는 목적지 네트워크를 보고 packet을 다음 경로로 전달한다.
IP address가 아파트 건물 주소라면 port는 몇 호인지, protocol은 택배 봉투를 어떤 양식으로 쓰는지, router는 다음 물류 센터를 고르는 역할에 가깝다.
-
Internet의 길 안내: AS, prefix, BGP announcement
Internet은 하나의 네트워크가 아니라 Autonomous System(AS)이라는 큰 네트워크들의 연결이다. IP prefix는 10.10.10.0/24처럼 연속된 주소 범위를 나타내며 /24는 앞의 24개 bit가 같은 주소들을 하나의 네트워크로 묶는다는 뜻이다. BGP는 AS끼리 ‘이 prefix로 가려면 나를 거쳐라’라는 경로 정보를 교환하는 protocol이다. Announcement에는 목적지 prefix, 경로에 포함된 AS들의 AS_PATH, next hop과 여러 route attribute가 들어갈 수 있다.
각 AS를 도시, prefix를 동네, BGP announcement를 ‘이 동네로 가는 길은 우리 도시를 통과한다’는 안내판으로 생각하면 된다.
-
BGP hijack과 longest-prefix routing
BGP hijack은 권한 없는 AS가 다른 조직의 IP prefix에 도달할 수 있다고 광고해 traffic을 잘못 끌어오는 공격이다. Router는 여러 경로가 있을 때 먼저 목적지 IP와 가장 긴 prefix가 일치하는 longest-prefix match를 적용한다. /28은 /24보다 더 구체적인 작은 범위이므로 겹치는 주소에 대해서는 /28 경로가 선택된다.
‘서울로 가는 길’ 안내와 ‘서울 101번 건물로 가는 길’ 안내가 동시에 있으면 101번 건물에는 더 구체적인 두 번째 안내를 따르는 것과 같다.
예제로 확인하기
-
네트워크에서 누가 누구에게 무엇을 보내는가을 이 문제에 대입하기
IP address가 아파트 건물 주소라면 port는 몇 호인지, protocol은 택배 봉투를 어떤 양식으로 쓰는지, router는 다음 물류 센터를 고르는 역할에 가깝다.
송신자와 수신자를 먼저 적는다.
출발지·목적지 IP와 port를 구분한다.
중간 장치가 내용을 읽는지 단순히 전달하는지 구분한다.
응답이 어느 방향으로 돌아오는지 그린다.
위 순서를 문제 문장 ‘AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오.’에 적용하면, 이 문항의 핵심 결론은 BGP prefix hijacking. AS666은 `to: 10.10.10.0/24; path: AS666`을 AS3에 광고한다. AS3는 기존 AS2 AS1보다 짧은 경로를 선택할 수 있다. RPKI/ROA 기반 Route Origin Validation과 prefix filtering으로 막는다.입니다.
-
Internet의 길 안내: AS, prefix, BGP announcement을 이 문제에 대입하기
각 AS를 도시, prefix를 동네, BGP announcement를 ‘이 동네로 가는 길은 우리 도시를 통과한다’는 안내판으로 생각하면 된다.
목적지 prefix가 무엇인지 찾는다.
누가 origin AS라고 주장하는지 확인한다.
AS_PATH가 어떤 순서의 AS를 나타내는지 읽는다.
기본 BGP 정보가 항상 진실이라고 암호학적으로 보장되지는 않음을 기억한다.
위 순서를 문제 문장 ‘AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오.’에 적용하면, 이 문항의 핵심 결론은 BGP prefix hijacking. AS666은 `to: 10.10.10.0/24; path: AS666`을 AS3에 광고한다. AS3는 기존 AS2 AS1보다 짧은 경로를 선택할 수 있다. RPKI/ROA 기반 Route Origin Validation과 prefix filtering으로 막는다.입니다.
-
BGP hijack과 longest-prefix routing을 이 문제에 대입하기
‘서울로 가는 길’ 안내와 ‘서울 101번 건물로 가는 길’ 안내가 동시에 있으면 101번 건물에는 더 구체적인 두 번째 안내를 따르는 것과 같다.
정상 prefix와 공격자가 광고한 prefix를 비교한다.
목적지 주소에 두 prefix가 모두 일치하는지 본다.
일치하면 prefix length가 더 긴 route를 선택한다.
길이가 같으면 local preference, AS path 등 추가 BGP 정책을 본다.
위 순서를 문제 문장 ‘AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오.’에 적용하면, 이 문항의 핵심 결론은 BGP prefix hijacking. AS666은 `to: 10.10.10.0/24; path: AS666`을 AS3에 광고한다. AS3는 기존 AS2 AS1보다 짧은 경로를 선택할 수 있다. RPKI/ROA 기반 Route Origin Validation과 prefix filtering으로 막는다.입니다.
정답까지 사고 과정
AS1의 legitimate route `10.10.10.0/24; path: AS2 AS1`을 읽는다.
AS666이 같은 prefix에 `path: AS666`을 광고한다.
같은 /24 후보에서 AS_PATH 길이 2와 1을 비교한다.
RPKI/ROV와 prefix filtering을 방어로 연결한다.
시험장에서는 이렇게 쓰기
핵심 해설
BGP prefix hijacking. AS666은 `to: 10.10.10.0/24; path: AS666`을 AS3에 광고한다. AS3는 기존 AS2 AS1보다 짧은 경로를 선택할 수 있다. RPKI/ROA 기반 Route Origin Validation과 prefix filtering으로 막는다.
자주 틀리는 지점
longest-prefix match와 shortest AS_PATH를 섞기
RPKI가 AS_PATH 위조까지 모두 막는다고 쓰기
채점 포인트
BGP prefix hijacking을 쓴다.
목적지 prefix 10.10.10.0/24를 정확히 쓴다.
path를 AS666으로 광고한다.
RPKI/ROA 검증 또는 엄격한 prefix filtering을 방어로 쓴다.
한 줄로 기억하기
그림의 공격 화살표에는 AS1과 같은 `10.10.10.0/24`와 더 짧아 보이는 `path: AS666`을 넣는다.
스스로 확인하기
Sub-prefix hijack이 same-prefix hijack보다 강한 이유는 무엇인가?
RPKI ROA의 maxLength가 /28 공격 판단에 왜 중요한가?
AI 구두시험용 프롬프트
한 문항만 풀어라. 먼저 정답을 열지 말고 90초 안에 답안을 말한 뒤, css-ws2025-26-network-bgp-002의 채점 프레임으로 스스로 채점하라. 문제: AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오.
학습 기록