2. Netzwerksicherheit · 실제 시험 Abschnitt 2.3
2.3. BGP (Border Gateway Protocol)
BGP announcement, AS666의 공격, 공격 후 AS3 routing table을 시험지 1–3번과 그림 순서대로 분석합니다.
이 페이지는 비슷한 주제를 임의로 다시 묶지 않고 실제 시험지의 Chapter → subsection → 소문제 순서를 그대로 따릅니다.
ACTUAL EXAM · VERBATIM TRANSCRIPT
시험지 원문 1:1 전사
아래 내용은 해설자가 바꿔 쓴 요약이 아닙니다. 실제 시험 전사본의 문장·순서·수치·배점·코드·표를 그대로 두고, Markdown 기호만 읽기 쉬운 제목·표·코드 모양으로 표시했습니다.
2.3. BGP (Border Gateway Protocol) (10 Punkte)
1. Welche Informationen sind in BGP-Announcements (BGP-Ankündigungen) enthalten? (2 Punkte)
2. In Abb. 2 sehen Sie ein Beispielnetzwerk mit BGP-Announcements von AS1, AS2 und AS3. AS666 möchte den Netzwerkverkehr für AS1 abfangen.
• Welchen Angriff kann AS666 durchführen? (1 Punkt)
• Beschriften Sie in Abb. 2 den Pfeil von AS666 zu AS3 mit einer BGP-Announcement, die einen entsprechenden Angriff auf AS1 durchführt. (2 Punkte)
• Wie können Angriffe dieser Art verhindert werden? (1 Punkt)
[AS 1: 10.10.10.0/24]
-- to: 10.10.10.0/24; path: AS1 --> [AS 2: 10.10.11.0/24]
[AS 2: 10.10.11.0/24]
-- to: 10.10.10.0/24; path: AS2 AS1 --> [AS 3: 10.10.12.0/24]
-- to: 10.10.11.0/24; path: AS2 --> [AS 3: 10.10.12.0/24]
[AS 666: 10.10.13.0/24] ---------------------------> [AS 3: 10.10.12.0/24]Abbildung 2: BGP-Beispielnetzwerk mit Angriff
3. Füllen Sie die Routing-Tabelle (Tabelle 1) von AS3 nach dem Angriff aus. (4 Punkte)
| Präfix | Path | Anzahl Hops |
|---|---|---|
Tabelle 1: Routing Table AS3 nach dem Angriff
근거: CSS_Altklausur_WiSe_2526.pdf 및 computersystemsicherheit_wise25-26_questions_only.md · Abschnitt 2.3
VISUAL MAP
BGP 공격 분석 순서 왼쪽에서 오른쪽으로 읽은 뒤 아래 실제 소문제에서 같은 순서를 반복합니다.- 01 Prefix·AS_PATH
- 02 거짓 announcement
- 03 AS3 수신
- 04 route 선택
- 05 table 작성
FIXED SOLVING METHOD
이 묶음의 고정 풀이 순서
- 각 announcement에서 prefix와 AS_PATH를 분리합니다.
- 공격자가 어떤 prefix와 path를 주장해야 하는지 씁니다.
- AS3가 받은 모든 후보 route를 나열합니다.
- 같은 prefix끼리 route 선택 기준을 적용합니다.
- 선택된 prefix, path, hop 수를 표의 각 행에 씁니다.
ZERO-BASE CONCEPT LESSONS
이 묶음을 풀기 전에 필요한 개념
카드를 열고 닫는 방식 대신 한 방향으로 이어지는 글로 구성했습니다. 비유 → 용어의 쉬운 뜻 → 실제 작동 → 시험에서의 경계 순서로 천천히 읽으세요.
기초 개념 01
Internet의 길 안내: AS, prefix, BGP announcement
먼저 장면으로 이해해 봅시다. 각 AS를 도시, prefix를 동네, BGP announcement를 ‘이 동네로 가는 길은 우리 도시를 통과한다’는 안내판으로 생각하면 된다.
이제 전문 용어를 붙이면 다음과 같습니다. 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 선택에 사용됩니다.
실제 시스템에서는 이렇게 작동합니다. 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가 들어갈 수 있다.
- 목적지 prefix가 무엇인지 찾는다.
- 누가 origin AS라고 주장하는지 확인한다.
- AS_PATH가 어떤 순서의 AS를 나타내는지 읽는다.
- 기본 BGP 정보가 항상 진실이라고 암호학적으로 보장되지는 않음을 기억한다.
여기서 넘지 말아야 할 경계: BGP message가 정상 형식이라는 사실과 그 안의 경로 주장이 사실이라는 것은 별개다.
11. BGP·Prefix·AS_PATH 독립 강의 →기초 개념 02
BGP hijack과 longest-prefix routing
먼저 장면으로 이해해 봅시다. ‘서울로 가는 길’ 안내와 ‘서울 101번 건물로 가는 길’ 안내가 동시에 있으면 101번 건물에는 더 구체적인 두 번째 안내를 따르는 것과 같다.
이제 전문 용어를 붙이면 다음과 같습니다. 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으로 광고할 권한이 있는지 검증하는 체계와 절차입니다.
실제 시스템에서는 이렇게 작동합니다. BGP hijack은 권한 없는 AS가 다른 조직의 IP prefix에 도달할 수 있다고 광고해 traffic을 잘못 끌어오는 공격이다. Router는 여러 경로가 있을 때 먼저 목적지 IP와 가장 긴 prefix가 일치하는 longest-prefix match를 적용한다. /28은 /24보다 더 구체적인 작은 범위이므로 겹치는 주소에 대해서는 /28 경로가 선택된다.
- 정상 prefix와 공격자가 광고한 prefix를 비교한다.
- 목적지 주소에 두 prefix가 모두 일치하는지 본다.
- 일치하면 prefix length가 더 긴 route를 선택한다.
- 길이가 같으면 local preference, AS path 등 추가 BGP 정책을 본다.
여기서 넘지 말아야 할 경계: AS_PATH가 짧다는 이유만 보기 전에 longest-prefix match가 먼저 경로 후보를 결정한다는 점을 확인한다.
11. BGP·Prefix·AS_PATH 독립 강의 →ACTIVE RECALL
이 페이지를 닫기 전 확인
- BGP announcement의 핵심 두 정보는?
- Same-prefix hijack은 무엇을 거짓으로 주장하나요?
- ROV가 확인하는 것은 무엇인가요?
QUESTION-BY-QUESTION COMMENTARY
실제 시험 소문제별 해설
시험지의 번호와 순서를 그대로 유지했습니다. 각 항목을 열어 원문 → 쉬운 개념 설명 → 이번 문제의 단계별 풀이 → 답안 → 함정 순서로 읽으세요.
ACTUAL EXAM SUBSECTION 2.3
2.3. BGP (Border Gateway Protocol)
3개 학습 항목 · 10점
2.3.1 BGP-Announcements에는 어떤 Informationen이 포함되는가? 기존 71문항 학습 번호 29 · 2점 단답형
2.3.1 · 실제 시험 원문
한국어로 요구사항만 풀어 읽기
BGP-Announcements에는 어떤 Informationen이 포함되는가?
TERMS FOR 2.3.1
이 소문제의 중요한 용어부터 이해하기
전문 용어를 알고 있다고 가정하지 않습니다. 아래 정의의 굵은 용어를 문제 문장 속 같은 단어와 바꾸어 읽은 뒤 풀이로 넘어가세요.
URL의 scheme, host, port 세 요소로 정해지는 Browser 보안 경계입니다.
작은 예: https://example.com과 http://example.com은 scheme이 달라 다른 origin입니다.
네트워크에서 header와 payload를 갖고 전달되는 데이터 단위입니다.
IP 계층에서 출발지와 목적지 host/interface를 식별하는 주소입니다.
한 host 안에서 어떤 application/service가 데이터를 받을지 구분하는 번호입니다.
통신 참여자가 message 형식과 순서를 해석하기로 합의한 규칙입니다.
하나의 관리 정책 아래 운영되는 IP network 집합이며 AS 번호로 식별됩니다.
`203.0.113.0/24`처럼 연속된 IP 주소 범위를 나타냅니다.
어떤 prefix로 가는 route와 path 정보를 이웃 AS에 알리는 message입니다.
이 소문제만을 위한 0부터 시작하는 미니 강의
아래 설명은 이 과목의 선행 지식을 가정하지 않습니다. 개념 → 비유의 대응 → 눈으로 읽는 구조 → 작은 예제 순서로 읽은 뒤 실제 시험 풀이로 넘어가세요.
1 · 먼저 알아야 할 개념
BGP(Border Gateway Protocol)는 서로 다른 Autonomous System 사이에서 인터넷 목적지에 도달하는 경로 정보를 교환하는 inter-domain routing protocol이다. Router가 웹 페이지 내용이나 DNS 이름을 광고하는 것이 아니라 IP 주소 범위로 가는 reachability를 알린다.
광고의 핵심 목적지는 IP prefix다.
10.10.10.0/24처럼 network address와 prefix length를 함께 써서 어떤 주소 집합에 도달할 수 있는지 표현한다.AS_PATH는 해당 route가 지나온 AS 번호의 순서이며 맨 끝 쪽에서 origin AS를 파악할 수 있다. AS는 이 목록에 자기 번호가 이미 있으면 loop로 보고 route를 거부할 수 있고, 다른 정책 조건이 같을 때 더 짧은 AS_PATH를 선호할 수도 있다.
실제 BGP UPDATE에는 NEXT_HOP, ORIGIN, MED, communities 같은 path attributes도 존재한다. 그러나 이 시험의 2점 핵심 답은 destination network prefix와 AS_PATH/origin reachability 정보다.
2 · 일상 장면으로 먼저 잡기
택배 회사가 이웃 회사에 '우편번호 64289 구역은 회사 30→회사 20을 거쳐 배달할 수 있다'고 알리는 장면
비유의 경계 실제 BGP UPDATE encoding과 route selection은 우편회사 비유보다 복잡하며 AS_PATH가 짧다고 항상 선택되는 것은 아니다. Local policy가 더 높은 우선순위를 가질 수 있다.
어느 destination network에 도달 가능한가
어떤 AS 순서를 거쳐 origin에 가는가
그 prefix를 처음 광고한 AS는 누구인가
NEXT_HOP, ORIGIN, MED, communities 등
먼저 '어디로'인 prefix와 '어떤 AS 경로로'인 AS_PATH를 한 쌍으로 읽는다.
AS40이 연구망 prefix를 AS70에 알리기
주어진 것과 목표 AS20이
198.51.100.0/24를 origin하고 AS40이 그 route를 배웠다. AS40은 이웃 AS70에 이를 재광고하려 한다.AS40이 destination prefix
198.51.100.0/24를 UPDATE의 NLRI에 넣는다.왜? 어느 IP 범위에 대한 reachability인지 receiver가 알아야 하기 때문이다.
중간 결과 AS70은 route의 목적지 범위를 정확히 식별할 수 있다.
AS40이 자신의 ASN을 prepend해 AS_PATH를
AS40 AS20으로 만든다.왜? 경로가 AS40을 거쳐 origin AS20에 이른다는 사실과 loop 정보를 전달하기 위해서다.
중간 결과 AS70은 path 길이 2와 origin AS20을 읽을 수 있다.
AS40이 NEXT_HOP 등 필요한 attribute와 함께 UPDATE를 AS70에 보낸다.
왜? AS70이 실제로 어느 이웃 router로 packet을 전달할지 알아야 하기 때문이다.
중간 결과 AS70의 RIB-In에 하나의 후보 route가 저장된다.
AS70이 정책을 적용해 best path 여부를 결정한다.
왜? Announcement는 후보 경로이지 수신 즉시 무조건 forwarding table이 되는 것은 아니기 때문이다.
중간 결과 선택되면 AS70의 routing/forwarding 상태에 route가 반영된다.
예제 결론 BGP announcement는 목적지 prefix와 그곳까지의 AS 경로를 중심으로 전달하는 reachability 주장이다.
실제 시험으로 옮기기 시험 답에는
IP-Präfix와AS_PATH/Origin-AS를 먼저 써 2점 핵심을 채우고 NEXT_HOP 같은 추가 attribute는 보조 설명으로만 둔다.이번 문제는 이 단계로 풀어야 했습니다
먼저 문제에서 직접 주어진 값과 최종적으로 구할 값을 분리합니다. 그다음 각 값·용어·경로를 왜 선택했는지 확인하며, 앞 단계의 중간 결과를 다음 단계의 입력으로 사용합니다.
먼저 문제를 식과 조건으로 정리하기
계산을 시작하기 전에 주어진 것과 구할 것을 분리합니다. 그다음 아래 관계식을 위에서 아래로 사용하면, 숫자가 어디서 왔는지 놓치지 않을 수 있습니다.
강사가 문제의 요구사항을 쉬운 말로 바꾸면
시험 문장이 요구하는 것: BGP-Announcements에는 어떤 Informationen이 포함되는가?
이 문제의 풀이 전략: 이 소문제에서는 프로토콜 범위 → 목적지 필드 → 경로 필드 → 의미 결합 → 선택적 보강 순서로 진행합니다. 마지막에는 ‘BGP announcement는 destination IP prefix와 AS_PATH/origin 등 path attributes를 담는다.’라는 교정 기준으로 답을 다시 확인합니다.
문제에서 주어진 정보
BGP-Announcements에는 어떤 Informationen이 포함되는가?
BGP는 AS 사이에서 IP network reachability를 교환하는 routing protocol이라고 고정한다.
Domain name이나 application port 정보를 핵심으로 쓰지 않았는가?
최종적으로 구해야 하는 것
여유가 있으면 NEXT_HOP과 기타 path attributes가 route selection에 쓰인다고 덧붙인다.
BGP announcement는 특정 IP prefix가 도달 가능하다는 정보를 전달한다. 핵심에는 destination network prefix와 그 prefix까지의 AS_PATH가 있으며, 이를 통해 origin AS도 알 수 있다. 실제 UPDATE에는 NEXT_HOP과 여러 path attributes도 들어갈 수 있다. 2점 답안에서는 prefix와 AS_PATH/origin을 빠짐없이 쓰는 것이 우선이다.
사용할 공식·판정 관계
프로토콜 범위 → 목적지 필드 → 경로 필드 → 의미 결합 → 선택적 보강
먼저 '어디로'인 prefix와 '어떤 AS 경로로'인 AS_PATH를 한 쌍으로 읽는다.
프로토콜 범위
구체적으로 BGP는 AS 사이에서 IP network reachability를 교환하는 routing protocol이라고 고정한다.
여기서 검산 Domain name이나 application port 정보를 핵심으로 쓰지 않았는가?
다음 단계로 여기서 확인한 내용을 다음 ‘목적지 필드’ 단계의 출발점으로 사용합니다.
목적지 필드
구체적으로 Announcement에는
10.10.10.0/24같은 destination network prefix가 포함된다.여기서 검산 단일 IP만 쓰지 않고 prefix length까지 언급했는가?
다음 단계로 여기서 확인한 내용을 다음 ‘경로 필드’ 단계의 출발점으로 사용합니다.
경로 필드
구체적으로 AS_PATH는 receiver에서 origin까지 거치는 AS sequence를 나타내며 origin AS 정보도 제공한다.
여기서 검산 AS_PATH를 router의 MAC address 목록으로 혼동하지 않았는가?
다음 단계로 여기서 확인한 내용을 다음 ‘의미 결합’ 단계의 출발점으로 사용합니다.
의미 결합
구체적으로 전체 메시지는 '이 prefix는 이 AS path를 통해 도달 가능하다'는 claim이라고 설명한다.
여기서 검산 두 필드를 별도 단어로만 나열하지 않고 관계를 설명했는가?
다음 단계로 여기서 확인한 내용을 다음 ‘선택적 보강’ 단계의 출발점으로 사용합니다.
선택적 보강
구체적으로 여유가 있으면 NEXT_HOP과 기타 path attributes가 route selection에 쓰인다고 덧붙인다.
여기서 검산 추가 필드 때문에 prefix와 AS_PATH 핵심이 묻히지 않았는가?
다음 단계로 앞 단계의 결과를 모아 채점 가능한 최종 답안으로 정리합니다.
정답과 해설
network prefix와 그 prefix까지의 AS path/origin reachability 정보가 핵심이다.
정답이 이렇게 되는 이유
BGP announcement는 특정 IP prefix가 도달 가능하다는 정보를 전달한다. 핵심에는 destination network prefix와 그 prefix까지의 AS_PATH가 있으며, 이를 통해 origin AS도 알 수 있다. 실제 UPDATE에는 NEXT_HOP과 여러 path attributes도 들어갈 수 있다. 2점 답안에서는 prefix와 AS_PATH/origin을 빠짐없이 쓰는 것이 우선이다.
초보자가 가장 자주 뒤집는 지점
잘못된 생각 BGP announcement는 한 domain의 DNS A record와 가장 가까운 router의 IP만 보낸다.
왜 틀렸나 BGP는 DNS 이름이 아니라 IP prefix 단위 reachability를 AS 사이에 교환하며 AS_PATH가 핵심이다.
고쳐 말하면 BGP announcement는 destination IP prefix와 AS_PATH/origin 등 path attributes를 담는다.
한 문제만 더: 개념이 정말 연결됐는지 확인
질문
prefix=203.0.113.0/24, AS_PATH=AS30 AS10이면 receiver 관점에서 origin AS와 path의 AS 수는 무엇인가?정답 Origin은 AS10이고 표시된 AS_PATH의 AS 수는 2개다.
이 문제의 오답 함정
이 소문제를 점수로 바꾸는 6개의 작은 훈련
해설을 닫은 상태에서 1번부터 수행하세요. 정답을 읽은 직후보다 직접 문제 지도를 만들고 답을 꺼낸 뒤 채점할 때 기억이 더 정확해집니다. 작성 내용과 복습 판정은 이 브라우저에 자동 저장됩니다.
해설을 보지 말고 주어진 정보 → 구할 것 → 사용할 공식·판정 관계를 한 줄씩 복원하세요.
막힐 때만 첫 단서 열기
BGP는 인터넷에서 '이 prefix로 가려면 이 AS path를 통해 갈 수 있다'고 말한다.
BGP-Announcements에는 어떤 Informationen이 포함되는가?
정답 문장만 말하지 말고 근거·중간값·메시지 흐름 중 이 문항에 필요한 것을 빈 종이에 남기세요.
작성한 뒤에만 아래 기준을 열고, 실제로 쓴 항목만 체크하세요.
답안 작성 후 채점 기준 열기
답안 슬롯 자가 점검 — 실제로 말하거나 쓴 항목만 체크하세요.
0/3 slots
조건 변형: 원문의 핵심 조건 하나를 반대로 바꾸고, 기존 정답에서 어느 문장과 근거를 수정해야 하는지 두 문장으로 설명하세요.
고칠 답안: IP address 하나만 쓰고 prefix를 빼먹기
복구 힌트: BGP는 인터넷에서 '이 prefix로 가려면 이 AS path를 통해 갈 수 있다'고 말한다.
오답의 첫 잘못된 전제를 한 줄로 지우고, 올바른 조건과 결론을 두 줄로 다시 쓰세요.
채점 전 예상과 실제 채점 결과가 달랐는지 확인한 뒤 상태를 남기세요. ‘숙달’은 근거와 중간 과정까지 무힌트로 재현했을 때만 선택합니다.
모든 훈련을 마친 뒤 핵심 정답 다시 확인
network prefix와 그 prefix까지의 AS path/origin reachability 정보가 핵심이다.
2.3.2 AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오. 기존 71문항 학습 번호 30 · 4점 프로토콜 추적
2.3.2 · 실제 시험 원문
한국어로 요구사항만 풀어 읽기
AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오.
TERMS FOR 2.3.2
이 소문제의 중요한 용어부터 이해하기
전문 용어를 알고 있다고 가정하지 않습니다. 아래 정의의 굵은 용어를 문제 문장 속 같은 단어와 바꾸어 읽은 뒤 풀이로 넘어가세요.
URL의 scheme, host, port 세 요소로 정해지는 Browser 보안 경계입니다.
작은 예: https://example.com과 http://example.com은 scheme이 달라 다른 origin입니다.
Shell에서 명령 연결·redirection 등 특별한 문법 의미를 갖는 문자입니다.
작은 예: 세미콜론 `;`은 앞 명령을 끝내고 다음 명령을 시작할 수 있습니다.
네트워크에서 header와 payload를 갖고 전달되는 데이터 단위입니다.
IP 계층에서 출발지와 목적지 host/interface를 식별하는 주소입니다.
한 host 안에서 어떤 application/service가 데이터를 받을지 구분하는 번호입니다.
통신 참여자가 message 형식과 순서를 해석하기로 합의한 규칙입니다.
하나의 관리 정책 아래 운영되는 IP network 집합이며 AS 번호로 식별됩니다.
`203.0.113.0/24`처럼 연속된 IP 주소 범위를 나타냅니다.
이 소문제만을 위한 0부터 시작하는 미니 강의
아래 설명은 이 과목의 선행 지식을 가정하지 않습니다. 개념 → 비유의 대응 → 눈으로 읽는 구조 → 작은 예제 순서로 읽은 뒤 실제 시험 풀이로 넘어가세요.
1 · 먼저 알아야 할 개념
Prefix hijacking은 권한 없는 AS가 다른 AS의 IP prefix에 대한 route를 광고해 트래픽을 자신에게 끌어오는 공격이다. 같은 prefix를 광고하는 same-prefix hijack과 더 구체적인 prefix를 광고하는 sub-prefix hijack을 구분한다.
시험 그림에서 AS1은
10.10.10.0/24를 origin한다. 정상적으로 AS3가 받은 route는 AS2가 전달한to: 10.10.10.0/24; path: AS2 AS1이므로 AS3 밖의 AS hop 수는 2다.AS666은 AS3의 BGP neighbor이며 거짓 UPDATE를 보낼 수 있다.
to: 10.10.10.0/24; path: AS666을 보내면 같은 /24에 대해 AS_PATH가 1인 새 후보가 AS3의 RIB-In에 생긴다.시험의 단순화된 조건에서는 다른 높은 우선순위 정책이 같다고 보고 짧은 AS_PATH
AS666이 정상AS2 AS1보다 선택될 수 있다. 실제 인터넷 BGP는 local preference와 사업 정책 등을 먼저 볼 수 있어 shortest path만의 프로토콜은 아니다.RPKI의 ROA는 어떤 ASN이 어떤 prefix와 허용 최대 길이를 origin할 수 있는지 공개한다. Route Origin Validation으로 AS666의 unauthorized origin을 invalid로 거부할 수 있지만 전체 AS_PATH의 진실성까지 RPKI가 증명하는 것은 아니며, prefix filtering과 필요 시 BGPsec 같은 보완책이 있다.
2 · 일상 장면으로 먼저 잡기
정상 표지판에는 '10번 창고는 2번 도로→1번 도로'라고 적혀 있는데 도둑이 '10번 창고는 내 666번 도로 바로 뒤'라는 더 짧은 가짜 표지판을 세우는 장면
10.10.10.0/24AS2 AS1비유의 경계 실제 route 선택은 단순 도로 길이만 보지 않고 운영 정책을 우선할 수 있다. 또한 hijacker가 traffic을 버리면 DoS, 원래 목적지로 relay하면 interception 가능성이 생긴다.
to: 10.10.10.0/24; path: AS2 AS1, 길이 2to: 10.10.10.0/24; path: AS666, 길이 1동일 /24, 다른 조건 동일 → 짧은 AS666 선택 가능
ROA가 AS1만 허용하면 AS666 origin은 invalid
Sender, receiver, 같은 prefix, 두 AS_PATH 길이, origin 권한 검증을 한 줄씩 대조한다.
AS90이 AS5의
/24를 가로채는 축소 예제주어진 것과 목표 Receiver AS40은 정상 route
192.0.2.0/24; path: AS20 AS5를 알고 있다. 이웃 AS90이 같은 prefix를 공격하려 한다.AS90이 AS40에
prefix=192.0.2.0/24, AS_PATH=AS90인 UPDATE를 보낸다.왜? 자신을 해당 prefix의 짧은 origin route처럼 보이게 하려는 것이다.
중간 결과 AS40의 RIB-In에 정상 경로와 malicious 경로 두 후보가 존재한다.
AS40이 다른 정책 조건이 같다는 단순화 아래 AS_PATH 길이 2와 1을 비교한다.
왜? 동일 prefix 후보 중 best path를 고르기 위해서다.
중간 결과 AS90 path가 선택되어 forwarding next hop이 AS90으로 바뀔 수 있다.
AS40이 ROA를 조회해 AS5만
/24origin으로 허용됐는지 검사한다.왜? 메시지 내용이 아닌 prefix origin 권한을 검증하기 위해서다.
중간 결과 AS90 route가 RPKI-invalid가 되어 strict ROV 정책에서 거부된다.
AS40 운영자가 customer prefix filter도 적용한다.
왜? AS90이 계약상 광고할 수 없는 prefix를 경계에서 차단하기 위해서다.
중간 결과 거짓 route가 best-path 단계에 들어오기 전에 제거될 수 있다.
예제 결론 공격자는 피해자와 같은 prefix에 짧은 자기 AS_PATH를 광고하고, receiver가 믿으면 route state와 실제 traffic 방향이 공격자 쪽으로 바뀐다.
실제 시험으로 옮기기 축소 예제 값을 그대로 시험 값
10.10.10.0/24, sender AS666, receiver AS3, 정상 pathAS2 AS1, 공격 pathAS666으로 치환한다.이번 문제는 이 단계로 풀어야 했습니다
먼저 문제에서 직접 주어진 값과 최종적으로 구할 값을 분리합니다. 그다음 각 값·용어·경로를 왜 선택했는지 확인하며, 앞 단계의 중간 결과를 다음 단계의 입력으로 사용합니다.
먼저 문제를 식과 조건으로 정리하기
계산을 시작하기 전에 주어진 것과 구할 것을 분리합니다. 그다음 아래 관계식을 위에서 아래로 사용하면, 숫자가 어디서 왔는지 놓치지 않을 수 있습니다.
강사가 문제의 요구사항을 쉬운 말로 바꾸면
시험 문장이 요구하는 것: AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오.
이 문제의 풀이 전략: 이 소문제에서는 공격 이름 → 정상 상태 읽기 → 공격 메시지 작성 → AS3 상태 변화 → 방어 순서로 진행합니다. 마지막에는 ‘AS666→AS3: `to: 10.10.10.0/24; path: AS666`이 공격용 announcement다.’라는 교정 기준으로 답을 다시 확인합니다.
문제에서 주어진 정보
AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오.
AS666이 AS1의 prefix를 권한 없이 origin처럼 광고하므로 same-prefix BGP prefix hijacking이라고 쓴다.
DNS poisoning이나 ARP spoofing이라고 부르지 않았는가?
최종적으로 구해야 하는 것
AS1을 authorized origin으로 둔 RPKI ROA와 ROV, 이웃이 허용된 prefix만 광고하게 하는 prefix filtering을 제시한다.
AS666은 AS1의 `10.10.10.0/24`를 자기 origin처럼 광고하는 BGP prefix hijacking을 수행할 수 있다. AS666→AS3 메시지는 `to: 10.10.10.0/24; path: AS666`이다. 시험의 단순화된 선택에서는 이 1-hop path가 정상 `AS2 AS1` 2-hop path보다 짧아 AS3가 공격 route를 선택할 수 있다. RPKI/ROA 기반 Route Origin Validation과 엄격한 prefix filtering으로 권한 없는 AS666 origin 광고를 거부할 수 있다.
사용할 공식·판정 관계
공격 이름 → 정상 상태 읽기 → 공격 메시지 작성 → AS3 상태 변화 → 방어
Sender, receiver, 같은 prefix, 두 AS_PATH 길이, origin 권한 검증을 한 줄씩 대조한다.
공격 이름
구체적으로 AS666이 AS1의 prefix를 권한 없이 origin처럼 광고하므로 same-prefix BGP prefix hijacking이라고 쓴다.
여기서 검산 DNS poisoning이나 ARP spoofing이라고 부르지 않았는가?
다음 단계로 여기서 확인한 내용을 다음 ‘정상 상태 읽기’ 단계의 출발점으로 사용합니다.
정상 상태 읽기
구체적으로 AS3는 AS2에게서
10.10.10.0/24; path: AS2 AS1을 받아 AS1까지 2-hop 후보를 가진다.여기서 검산 피해 prefix와 정상 AS_PATH를 그림 그대로 옮겼는가?
다음 단계로 여기서 확인한 내용을 다음 ‘공격 메시지 작성’ 단계의 출발점으로 사용합니다.
공격 메시지 작성
구체적으로 Sender AS666 → Receiver AS3 화살표에 정확히
to: 10.10.10.0/24; path: AS666을 쓴다.여기서 검산
10.10.13.0/24처럼 AS666 자신의 prefix를 공격 대상으로 잘못 쓰지 않았는가?다음 단계로 여기서 확인한 내용을 다음 ‘AS3 상태 변화’ 단계의 출발점으로 사용합니다.
AS3 상태 변화
구체적으로 같은 /24의 후보 중 단순화된 조건에서 길이 1인 AS666 path가 길이 2인 AS2 AS1보다 선호되어 AS3 route가 AS666으로 바뀔 수 있다.
여기서 검산 동일 prefix의 AS_PATH 비교와 longest-prefix rule을 섞지 않았는가?
다음 단계로 여기서 확인한 내용을 다음 ‘방어’ 단계의 출발점으로 사용합니다.
방어
구체적으로 AS1을 authorized origin으로 둔 RPKI ROA와 ROV, 이웃이 허용된 prefix만 광고하게 하는 prefix filtering을 제시한다.
여기서 검산 RPKI가 전체 AS_PATH를 완전히 인증한다고 과장하지 않았는가?
다음 단계로 앞 단계의 결과를 모아 채점 가능한 최종 답안으로 정리합니다.
정답과 해설
BGP prefix hijacking. AS666은 `to: 10.10.10.0/24; path: AS666`을 AS3에 광고한다. AS3는 기존 AS2 AS1보다 짧은 경로를 선택할 수 있다. RPKI/ROA 기반 Route Origin Validation과 prefix filtering으로 막는다.
정답이 이렇게 되는 이유
AS666은 AS1의
10.10.10.0/24를 자기 origin처럼 광고하는 BGP prefix hijacking을 수행할 수 있다. AS666→AS3 메시지는to: 10.10.10.0/24; path: AS666이다. 시험의 단순화된 선택에서는 이 1-hop path가 정상AS2 AS12-hop path보다 짧아 AS3가 공격 route를 선택할 수 있다. RPKI/ROA 기반 Route Origin Validation과 엄격한 prefix filtering으로 권한 없는 AS666 origin 광고를 거부할 수 있다.초보자가 가장 자주 뒤집는 지점
잘못된 생각 AS666은 자신의
10.10.13.0/24를 더 길게 광고하거나 AS_PATH에AS3 AS666을 넣어야 AS1 traffic을 받는다.왜 틀렸나 가로채려는 destination은 AS1의
10.10.10.0/24이고 sender는 광고 시 자기 ASN AS666을 path에 넣는다. Receiver AS3는 수신 UPDATE의 AS_PATH에 미리 들어가지 않는다.고쳐 말하면 AS666→AS3:
to: 10.10.10.0/24; path: AS666이 공격용 announcement다.한 문제만 더: 개념이 정말 연결됐는지 확인
질문 AS666이
10.10.10.0/25만 광고하면 same-prefix hijack인가, sub-prefix hijack인가? 왜 더 강할 수 있는가?정답 Sub-prefix hijack이다. Forwarding은 일반적으로 더 구체적인 longest prefix를 먼저 선택하므로
/25가/24보다 우선될 수 있다.이 문제의 오답 함정
이 소문제를 점수로 바꾸는 6개의 작은 훈련
해설을 닫은 상태에서 1번부터 수행하세요. 정답을 읽은 직후보다 직접 문제 지도를 만들고 답을 꺼낸 뒤 채점할 때 기억이 더 정확해집니다. 작성 내용과 복습 판정은 이 브라우저에 자동 저장됩니다.
해설을 보지 말고 주어진 정보 → 구할 것 → 사용할 공식·판정 관계를 한 줄씩 복원하세요.
막힐 때만 첫 단서 열기
그림의 공격 화살표에는 AS1과 같은 `10.10.10.0/24`와 더 짧아 보이는 `path: AS666`을 넣는다.
AS666이 AS1의 트래픽을 가로채려 한다. 공격 이름, AS666→AS3에 보낼 BGP announcement, 방어책을 쓰시오.
정답 문장만 말하지 말고 근거·중간값·메시지 흐름 중 이 문항에 필요한 것을 빈 종이에 남기세요.
작성한 뒤에만 아래 기준을 열고, 실제로 쓴 항목만 체크하세요.
답안 작성 후 채점 기준 열기
답안 슬롯 자가 점검 — 실제로 말하거나 쓴 항목만 체크하세요.
0/4 slots
조건 변형: 흐름의 중간 메시지·광고·표 행 하나를 제거하거나 공격자가 바꿨다고 가정하세요. 바로 다음 상태가 무엇인지 sender, receiver, content, security impact 순서로 추적하세요.
고칠 답안: longest-prefix match와 shortest AS_PATH를 섞기
복구 힌트: 그림의 공격 화살표에는 AS1과 같은 `10.10.10.0/24`와 더 짧아 보이는 `path: AS666`을 넣는다.
오답의 첫 잘못된 전제를 한 줄로 지우고, 올바른 조건과 결론을 두 줄로 다시 쓰세요.
채점 전 예상과 실제 채점 결과가 달랐는지 확인한 뒤 상태를 남기세요. ‘숙달’은 근거와 중간 과정까지 무힌트로 재현했을 때만 선택합니다.
모든 훈련을 마친 뒤 핵심 정답 다시 확인
BGP prefix hijacking. AS666은 `to: 10.10.10.0/24; path: AS666`을 AS3에 광고한다. AS3는 기존 AS2 AS1보다 짧은 경로를 선택할 수 있다. RPKI/ROA 기반 Route Origin Validation과 prefix filtering으로 막는다.
2.3.3 공격 이후 AS3의 Routing-Tabelle를 채우라. 기존 71문항 학습 번호 31 · 4점 라우팅 표
2.3.3 · 실제 시험 원문
한국어로 요구사항만 풀어 읽기
공격 이후 AS3의 Routing-Tabelle를 채우라.
TERMS FOR 2.3.3
이 소문제의 중요한 용어부터 이해하기
전문 용어를 알고 있다고 가정하지 않습니다. 아래 정의의 굵은 용어를 문제 문장 속 같은 단어와 바꾸어 읽은 뒤 풀이로 넘어가세요.
네트워크에서 header와 payload를 갖고 전달되는 데이터 단위입니다.
IP 계층에서 출발지와 목적지 host/interface를 식별하는 주소입니다.
한 host 안에서 어떤 application/service가 데이터를 받을지 구분하는 번호입니다.
통신 참여자가 message 형식과 순서를 해석하기로 합의한 규칙입니다.
하나의 관리 정책 아래 운영되는 IP network 집합이며 AS 번호로 식별됩니다.
`203.0.113.0/24`처럼 연속된 IP 주소 범위를 나타냅니다.
어떤 prefix로 가는 route와 path 정보를 이웃 AS에 알리는 message입니다.
해당 route가 거쳐 온 AS 번호의 순서로 loop 방지와 route 선택에 사용됩니다.
이 소문제만을 위한 0부터 시작하는 미니 강의
아래 설명은 이 과목의 선행 지식을 가정하지 않습니다. 개념 → 비유의 대응 → 눈으로 읽는 구조 → 작은 예제 순서로 읽은 뒤 실제 시험 풀이로 넘어가세요.
1 · 먼저 알아야 할 개념
Routing table의 각 행은 destination prefix와 그 목적지로 가기 위해 선택된 path를 연결한다. 시험의
Anzahl Hops는 AS3 밖에서 AS_PATH에 나타난 AS 수로 세며, AS3 자신의 local network는 외부 AS를 거치지 않아 0이다.AS3가 직접 연결된 이웃 AS2에게서 받은
path: AS2는 1 hop이고, AS2가 AS1 route를 전달하면path: AS2 AS1은 2 hops다. 직접 이웃 AS666의 own route는path: AS666으로 1 hop이다.공격 후
10.10.10.0/24에는 정상AS2 AS1과 공격AS666두 후보가 있다. 시험은 다른 정책이 같다는 단순화를 사용하므로 AS_PATH가 더 짧은AS666을 선택한다.한 prefix의 hijack이 모든 목적지 route를 바꾸지는 않는다. AS2의
10.10.11.0/24, AS3의10.10.12.0/24, AS666의10.10.13.0/24는 각자의 기존 직접/local 경로를 유지한다.실제 router는 제어 plane의 BGP best route를 RIB에 넣고 forwarding에 쓸 경로를 FIB에 설치한다. 시험 표는 이 복잡한 내부를 생략하고 공격 후 선택 결과만 prefix·path·hop으로 묻는다.
2 · 일상 장면으로 먼저 잡기
AS3 우체국이 네 배송 구역마다 선택한 중간 물류센터 목록과 센터 수를 장부에 적는 장면
/24destination prefix10.10.12.0/24, 0 hop비유의 경계 실제 BGP에서 hop 수가 유일한 best-path 기준은 아니며 forwarding next hop과 전체 AS_PATH는 서로 다른 필드다. 이 표는 시험의 단순 표현을 따른다.
10.10.10.0/24Path
AS666, 1 hop — 공격 route가 선택됨10.10.11.0/24Path
AS2, 1 hop — 직접 이웃 AS210.10.12.0/24Path
local / AS3, 0 hops — AS3 자신의 network10.10.13.0/24Path
AS666, 1 hop — 직접 이웃 AS666먼저 네 prefix를 고정한 뒤 각 path 안의 AS 수를 hop으로 세고, local row만 0인지 확인한다.
AS8의 세 행 routing table 만들기
주어진 것과 목표 AS8은 자기 prefix
203.0.113.0/24, 이웃 AS4의198.51.100.0/24, 그리고 AS4를 거쳐 AS2의192.0.2.0/24를 안다.그림에 존재하는 destination prefix 세 개를 먼저 표의 행으로 옮긴다.
왜? 영향받지 않은 network를 빠뜨리거나 같은 prefix를 중복하지 않기 위해서다.
중간 결과 표에 세 개의 독립 행이 생긴다.
AS8 자신의
203.0.113.0/24에 pathlocal/AS8, hops 0을 쓴다.왜? 외부 AS를 거치지 않고 직접 소유한 network이기 때문이다.
중간 결과 Local row가 기준점이 된다.
이웃 AS4의 prefix에는 path
AS4, hops 1을 쓴다.왜? AS_PATH의 ASN이 하나이기 때문이다.
중간 결과 직접 이웃 row가 완성된다.
AS2 prefix에는 path
AS4 AS2, hops 2를 쓴다.왜? AS8에서 목적 origin까지 AS4와 AS2 두 AS를 거치기 때문이다.
중간 결과 각 path의 ASN 개수와 hop 수가 일치한다.
예제 결론 각 prefix를 독립 행으로 만들고 선택된 AS_PATH의 ASN 수를 세되 local route만 0으로 둔다.
실제 시험으로 옮기기 시험에서는 네 prefix를 쓰고
10.10.10.0/24행만 공격 routeAS666으로 교체한다.이번 문제는 이 단계로 풀어야 했습니다
먼저 문제에서 직접 주어진 값과 최종적으로 구할 값을 분리합니다. 그다음 각 값·용어·경로를 왜 선택했는지 확인하며, 앞 단계의 중간 결과를 다음 단계의 입력으로 사용합니다.
먼저 문제를 식과 조건으로 정리하기
계산을 시작하기 전에 주어진 것과 구할 것을 분리합니다. 그다음 아래 관계식을 위에서 아래로 사용하면, 숫자가 어디서 왔는지 놓치지 않을 수 있습니다.
강사가 문제의 요구사항을 쉬운 말로 바꾸면
시험 문장이 요구하는 것: 공격 이후 AS3의 Routing-Tabelle를 채우라.
이 문제의 풀이 전략: 이 소문제에서는 행 목록 고정 → 피해 prefix 후보 비교 → AS2 직접 route → AS3 local route → AS666 직접 route → 전체 검산 순서로 진행합니다. 마지막에는 ‘공격 행만 `10.10.10.0/24→AS666→1`, local 행은 `10.10.12.0/24→AS3/local→0`으로 쓴다.’라는 교정 기준으로 답을 다시 확인합니다.
문제에서 주어진 정보
10.10.10.0/24
AS2 AS1
AS666
AS2 10.10.11.0/24, AS3 10.10.12.0/24, AS666 10.10.13.0/24
최종적으로 구해야 하는 것
AS3 routing table의 Prefix, Path, Anzahl Hops 네 행
사용할 공식·판정 관계
선택한 path에 등장하는 AS 수를 센다.
행 목록 고정
구체적으로 그림의 AS1·AS2·AS3·AS666 network를 각각
10.10.10.0/24,10.10.11.0/24,10.10.12.0/24,10.10.13.0/24로 옮긴다.여기서 검산 네 prefix가 정확히 한 번씩 있는가?
다음 단계로 여기서 확인한 내용을 다음 ‘피해 prefix 후보 비교’ 단계의 출발점으로 사용합니다.
피해 prefix 후보 비교
구체적으로
10.10.10.0/24의 정상AS2 AS12 hops와 공격AS6661 hop을 비교해AS666, 1을 선택한다.여기서 검산 공격 후에도 정상 path를 남기지 않았는가?
다음 단계로 여기서 확인한 내용을 다음 ‘AS2 직접 route’ 단계의 출발점으로 사용합니다.
AS2 직접 route
구체적으로
10.10.11.0/24는 AS3의 직접 이웃 AS2가 origin하므로 pathAS2, hops 1이다.여기서 검산 Hijack과 무관한 AS2 prefix를 AS666으로 바꾸지 않았는가?
다음 단계로 여기서 확인한 내용을 다음 ‘AS3 local route’ 단계의 출발점으로 사용합니다.
AS3 local route
구체적으로
10.10.12.0/24는 AS3 자체 network이므로 pathlocal/AS3, hops 0이다.여기서 검산 자기 ASN을 외부 hop으로 세어 1을 쓰지 않았는가?
다음 단계로 여기서 확인한 내용을 다음 ‘AS666 직접 route’ 단계의 출발점으로 사용합니다.
AS666 직접 route
구체적으로
10.10.13.0/24는 직접 이웃 AS666의 own prefix이므로 pathAS666, hops 1이다.여기서 검산 AS1의 hijacked prefix와 AS666 own prefix를 서로 바꾸지 않았는가?
다음 단계로 여기서 확인한 내용을 다음 ‘전체 검산’ 단계의 출발점으로 사용합니다.
전체 검산
구체적으로 Hop 열은 순서대로 1, 1, 0, 1이고 공격 영향은
10.10.10.0/24행에만 나타난다.여기서 검산 각 path의 ASN 수와 hop 수가 일치하는가?
다음 단계로 앞 단계의 결과를 모아 채점 가능한 최종 답안으로 정리합니다.
정답과 해설
AS3 table: 10.10.10.0/24 → AS666 → 1 hop; 10.10.11.0/24 → AS2 → 1 hop; 10.10.12.0/24 → local/AS3 → 0 hop; 10.10.13.0/24 → AS666 → 1 hop.
정답이 이렇게 되는 이유
공격 후 AS3는 AS1의
10.10.10.0/24에 대해 더 짧아 보이는 공격 pathAS666을 선택하므로 1 hop으로 적는다. AS2의10.10.11.0/24는AS2, 1 hop이고 AS3 자신의10.10.12.0/24는 local/AS3, 0 hops다. AS666의10.10.13.0/24는 직접 이웃 routeAS666, 1 hop이다. 따라서 hop 열은 1, 1, 0, 1이며 다른 prefix까지 hijack된 것으로 바꾸면 안 된다.초보자가 가장 자주 뒤집는 지점
잘못된 생각 AS666이 공격했으므로 네 prefix 모두 path AS666이거나, AS3 자기 network도 path AS3라서 1 hop이다.
왜 틀렸나 BGP route는 destination prefix별로 독립적이며 공격 announcement는 AS1의 prefix만 겨냥한다. Local network는 외부 AS를 전혀 거치지 않는다.
고쳐 말하면 공격 행만
10.10.10.0/24→AS666→1, local 행은10.10.12.0/24→AS3/local→0으로 쓴다.한 문제만 더: 개념이 정말 연결됐는지 확인
질문 ROV가 AS666의 AS1-prefix route를 invalid로 거부한다면
10.10.10.0/24행은 어떤 정상 값으로 돌아가는가?정답 정상 path
AS2 AS1, 2 hops로 돌아간다. 단, 시험 공격 후 표 자체는 ROV를 적용하지 않은 상태다.이 문제의 오답 함정
이 소문제를 점수로 바꾸는 6개의 작은 훈련
해설을 닫은 상태에서 1번부터 수행하세요. 정답을 읽은 직후보다 직접 문제 지도를 만들고 답을 꺼낸 뒤 채점할 때 기억이 더 정확해집니다. 작성 내용과 복습 판정은 이 브라우저에 자동 저장됩니다.
해설을 보지 말고 주어진 정보 → 구할 것 → 사용할 공식·판정 관계를 한 줄씩 복원하세요.
막힐 때만 첫 단서 열기
그림의 네 network를 행으로 옮기고, AS_PATH에 적힌 AS 개수로 hop을 센다. AS3 자신의 network는 0 hop이다.
공격 이후 AS3의 Routing-Tabelle를 채우라.
정답 문장만 말하지 말고 근거·중간값·메시지 흐름 중 이 문항에 필요한 것을 빈 종이에 남기세요.
작성한 뒤에만 아래 기준을 열고, 실제로 쓴 항목만 체크하세요.
답안 작성 후 채점 기준 열기
답안 슬롯 자가 점검 — 실제로 말하거나 쓴 항목만 체크하세요.
0/4 slots
조건 변형: 흐름의 중간 메시지·광고·표 행 하나를 제거하거나 공격자가 바꿨다고 가정하세요. 바로 다음 상태가 무엇인지 sender, receiver, content, security impact 순서로 추적하세요.
고칠 답안: 영향 없는 prefix까지 모두 AS666으로 보내기
복구 힌트: 그림의 네 network를 행으로 옮기고, AS_PATH에 적힌 AS 개수로 hop을 센다. AS3 자신의 network는 0 hop이다.
오답의 첫 잘못된 전제를 한 줄로 지우고, 올바른 조건과 결론을 두 줄로 다시 쓰세요.
채점 전 예상과 실제 채점 결과가 달랐는지 확인한 뒤 상태를 남기세요. ‘숙달’은 근거와 중간 과정까지 무힌트로 재현했을 때만 선택합니다.
모든 훈련을 마친 뒤 핵심 정답 다시 확인
AS3 table: 10.10.10.0/24 → AS666 → 1 hop; 10.10.11.0/24 → AS2 → 1 hop; 10.10.12.0/24 → local/AS3 → 0 hop; 10.10.13.0/24 → AS666 → 1 hop.