minseoky.me
posts
others
Tunneling & VPN
터널링
VPN
임대 회선
VPN 암호화
VPN 사용 용도
은닉 채널(Covert Channel)
ackcmd의 패킷 전송 과정
은닉 채널과 방화벽 우회
🔒
security
터널링과 VPN
최민석
·
2024-06-01
Tunneling & VPN
터널링
-그림 1. 터널링에서의 패킷 캡슐화-
두 네크워크를 한 네트워크처럼 안전하게 사용할 수 있게 만드는 기술
터널링에서는 [그림-1]과 같이 터널링 장비를 지날 때 일반 라우터나 스위치처럼 원래 패킷에 있던 2계층이나 3계층 정보를 벗겨내지 않고 캡슐화를 수행
VPN
방화벽, 침입 탐지 시스템(IDS)과 함께 사용되는 가장 일반적인 보안 솔루션 중 하나
인터넷 회선을
임대 회선
처럼 사용할 수 있게 해주는 솔루션
VPN은 임대 회선과 비슷한 수준의 기밀성을 제공해야 함. -> 암호화 요구
VPN에서 사용하는 암호화 프로토콜에는
PPTP
,
L2TF
,
IPSec
,
SSL
등이 있음
임대 회선
-표 1. 일반회선과 전용회선 비교-
두 지점을 하나의 회선으로 연결하여 24시간 특정 개인 혹은 집단이 단독으로 사용할 수 있도록 하는 서비스
다수의 이용자가 공동으로 사용하는 공중망 서비스와는 달리 고객이 설비 일부를
독점
VPN 암호화
VPN이 임대 회선과 비슷한 수준의 기밀성을 제공해야 하는데 여기에는 암호화가 필요
PPTP:Point-to-Point Tunneling Protocol (취약한 암호 알고리즘 사용, 인증 부실)
L2TP: Layer 2 Tunneling Protocol(기밀성 제공하지 않음. IPSec와 함께 사용해야 함)
IPSec: IP Security 네트워크 계층에서 IP 패킷단위 암호화, 인증, 키관리(접근제어, 메시지인증, 개체인증, 기밀성, 재전송 공격 방지)
SSL: Secure Socket Layer 브라우저와 웹 서버 사이의 통신을 위한 세션 기반 프로토콜(상호인증, 메시지인증, 기밀성)
VPN 사용 용도
-그림 2. VPN을 이용한 외부에서의 접근-
-그림 3. VPN을 이용한 터널링-
집에서도 회사 내부 네트워크에 보안 상태로 접근
대부분 유동 IP 주소를 사용하므로 외부에서 접속할 경우 해킹에 노출될 위험이 높음
VPN을 이용하면 회사 밖에서도 회사 서버에 접근 가능
네트워크 트래픽이 암호화되어 사용자는 VPN 인증과 함께 방화벽을 통한 서비스 통제, 접근 대상 서비스 인증을 거치므로 임의 접근보다 훨씬 높은 수준의 보안을 유지할 수 있음
해외여행을 하면서 국내 게임 서버 이용
대부분의 온라인 게임은 그 국가의 IP 주소만 사용해 접속 가능
국내에 VPN 장비를 마련해두면 VPN 장비에 접속해 국내 IP 주소를 할당받아 국내 게임 서버에 접근 가능
은닉 채널(Covert Channel)
기본 통신 채널에 기생하는 것으로, 표면적인 목적 외의 정보나 은닉 메시지를 전송하기 위한 것
은닉 메시지는 다른 사람은 볼 수 없고 송신자와 수신자가 알 수 있도록 한 것
은닉 채널 자체가 암호화는 아님
ackcmd의 패킷 전송 과정
-그림 4. ackcmd의 패킷 전송 과정-
클라이언트와 서버 간의 TCP 통신에서는 SYN, ACK, FIN 등의 패킷을 사용한다.
ackcmd에서는 ACK 패킷만 사용한다. 즉,
세션이 성립되지 않는다.
따라서 방화벽이나 운영체제 연결 기록도 남지 않는다.
TCP의 ACK 패킷을 UDP처럼 사용하는 것과 같다고 생각할 수 있다.
세션 성립 없이 ACK만을 이용해 클라이언트와 서버가 주고받는 형태는 [그림 4]와 같다.
단순히 ACK 패킷만 주고받는 것처럼 보이지만 실제로는
ACK 패킷 안에 숨겨진 데이터
를 주고받는 것이다.
은닉 채널과 방화벽 우회
은닉 채널은 데이터를 숨겨 방화벽을 우외하는 데 사용하기도 함
공격자가 방화벽 안에 있는 웹 서버와 통신하려면?
-그림 5. ackcmd 패킷의 통신 포트-
[그림 5]는 공격자가 공격대상(웹 서버)의 중요 정보를 빼돌리려는 시나리오를 가정한다.
전제조건:
공격자 컴퓨터와 공격대상(웹 서버)에 ackcmd용 프로그램이 깔려 있어야 함.
두 호스트는 ACK 패킷으로만 서로 통신하며, 방화벽이 이를 알아채지 못 함.
이전 글
HTTP와 웹 구조
다음 글
인증 및 인가