1. 개요

터널링 프로토콜의 보안 취약점이 발견돼 420만 개 이상의 인터넷에 연결된 호스트가 공격에 노출 [1][2]
> 터널링 프로토콜 : 두 네트워크 간에 데이터를 전송할 때, 데이터를 캡슐화하여 다른 네트워크 프로토콜의 데이터 패킷 안에 포함시켜 안전하고 효율적으로 전달할 수 있도록 해주는 네트워크 통신 프로토콜
- VPN 서버, 가정용 라우터, 인터넷 핵심 라우터, 모바일 네트워크 게이트웨이, 콘텐츠 전송 네트워크 노드 등 다양한 호스트가 공격에 취약
- 서비스 거부 공격부터 비인가 네트워크 접근까지 다양한 악성 활동을 가능하게 함

2. 주요내용

- IPIP/IP6IP6, GRE/GRE6, 4in6, 6in4 프로토콜에서 인증과 암호화를 지원하지 않아 외부에서 패킷을 변조 또는 악용할 수 있는 문제가 발견
> 스캐닝 (Standard tunnel, Subnet-spoofing, Spoofing, 6to4 & IPv4-mapped address, Tunneled ICMP Echo/Reply, Tunneled ICMP TTL Expired)을 통해 전체 IPv4 주소공간(37억개)과 1,000만 개의 IPv6 주소를 스캔

[사진 1] 스캔 방법 및 결과 요약

- 스캔 결과 약 430만 개의 취약한 호스트 중 약 190만 개의 호스트가 스푸핑이 가능한 것으로 확인

[사진 2] 터널링 프로토콜 별 취약한 호스트 및 스푸핑 가능한 호스트의 갯수

구분 설명
IPIP
(IP-in-IP)
IPv4 패킷을 또 다른 IPv4 패킷 안에 캡슐화하여 전송
- 구현이 간단하나 암호화와 인증을 제공하지 않음
- 외부 헤더 : 터널링의 시작점(출발지)과 끝점(목적지) 정보 등
- 내부 헤더 : 원래 IPv4 패킷 정보
IP6IP6
(IPv6-in-IPv6)
IPv6 패킷을 또 다른 IPv6 패킷 안에 캡슐화하여 전송
- IPv6 전용 네트워크 환경에서 최적화되어 있지만, IPv6 인프라가 필요
- 외부 헤더 : 터널링의 시작점(출발지)과 끝점(목적지) 정보 등
- 내부 헤더 : 원래 IPv6 패킷 정보
GRE
(Generic Routing Encapsulation)
IP 패킷뿐만 아니라 다양한 프로토콜을 캡슐화할 수 있음
- 다양한 프로토콜을 캡슐화할 수 있어 여러 목적으로 사용가능하나, 암호화 기능이 없음
- 외부 헤더 : 터널링의 시작점(출발지)과 끝점(목적지) 정보 등
- 내부 헤더 : 원래 패킷 정보
GRE6
(Generic Routing Encapsulation IPv6)
GRE의 IPv6 버전으로, IPv6 패킷을 캡슐화하거나 GRE 터널을 IPv6 네트워크 상에서 운용
- GRE의 다양성을 유지하면서, IPv6 환경에 최적화되어 있지만, 암호화 기능이 없음
- 외부 헤더 : 터널링의 시작점(출발지)과 끝점(목적지) 정보 등
- 내부 헤더 : 원래 패킷 정보
GUE
(Generic UDP Encapsulation) 
UDP 패킷 안에 다양한 프로토콜을 캡슐화하여 전송
- 다양한 프로토콜을 캡슐화 할 수 있으며, UDP를 사용해 단순하고 효율적이나 신뢰성이 부족
- 외부 헤더 : 터널링의 시작점(출발지)과 끝점(목적지) 정보 등
- 내부 헤더 : 원래 패킷 정보
4in6
(IPv4-in-IPv6)
IPv4 패킷을 IPv6 패킷에 캡슐화하여 전송하며, IPv6 네트워크를 통해 IPv4 트래픽을 전송할 수 있음
- IPv6 네트워크 상에서 IPv4 지원을 용이하게 할 수 있으나, 패킷 크기가 커져 MTU 문제가 발생할 수 있음
- 외부 헤더 : 터널링의 시작점(출발지)과 끝점(목적지) 정보 등
- 내부 헤더 : 원래 IPv4 패킷 정보
6in4
(IPv6-in-IPv4)
IPv6 패킷을 IPv4 패킷으로 캡슐화하여 전송하며, IPv4 네트워크를 통해 IPv6 트래픽을 전송할 수 있음
- IPv4 전용 네트워크에서 IPv6 지원을 용이하게 할 수 있으나, 터널 끝점이 고정되어 있어야 하며, 보안을 제공하지 않음
- 외부 헤더 : 터널링의 시작점(출발지)과 끝점(목적지) 정보 등
- 내부 헤더 : 원래 IPv6 패킷 정보

[사진 3] 터널링 프로토콜별 상위 3개 포트/도메인

공격자는 터널링 헤더를 조작해 접근 제어를 우회하고 서비스 거부 공격 등의 악성 행위를 수행할 수 있음
> 외부 헤더 : 출발지 공격자 IP, 목적지 취약한 호스트 IP
> 내부 헤더 : 출발지 취약한 호스트 IP, 목적지 공격 대상 IP
취약한 호스트가 외부 헤더 중 출발지 IP(=공격자 IP)를 제거하고, 내부 헤더를 확인해 목적지로 전달
내부 헤더의 출발지 IP가 신뢰할 수 있는 호스트 IP인 경우 네트워크 필터를 우회할 수 있음 

[사진 4] 공격 과정 요약

[영상 1] 공격 설명

- 4개의 CVE가 할당

취약점 영향 받는 프로토콜
CVE-2024-7595 [4] GRE 및 GRE6
CVE-2024-7596 [5] GUE
CVE-2025-23018 [6] IPv4-in-IPv6 및 IPv6-in-IPv6
CVE-2025-23019 [7] IPv6-in-IPv4

 

- 대응방안

> 인증 및 암호화 프로토콜(IPsec, WireGuard 등)을 사용해 터널링 트래픽 보호
> 라우터와 미들박스에 트래픽 필터링 구현
> 악의적인 터널링 패킷에 대한 심층 패킷 검사(DPI)
> 암호화되지 않은 터널링 패킷 모두 차단

3. 참고

[1] https://papers.mathyvanhoef.com/usenix2025-tunnels.pdf
[2] https://www.top10vpn.com/research/tunneling-protocol-vulnerability/
[3] https://www.youtube.com/watch?v=eFZsM3khrSk&t=157s
[4] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-7595
[5] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-7596
[6] https://nvd.nist.gov/vuln/detail/CVE-2025-23018
[7] https://nvd.nist.gov/vuln/detail/CVE-2025-23019
[8] https://thehackernews.com/2025/01/unsecured-tunneling-protocols-expose-42.html
[9] https://www.dailysecu.com/news/articleView.html?idxno=163202

+ Recent posts