
최근에 인터넷 검열법 등으로 인한 얘기가 많습니다.
물론 불법복제 등 잘못된 사이트의 경우 차단 혹은 폐쇄 등의 강력조치가 필요하겠지만 국가가 나서서 특정 사이트에 대한 차단을 진행하기 때문에 스팀의 지역락처럼 애매한 경우가 생길 수 있습니다. (논의되는 사전검열과는 또 다른 문제입니다)
적절한 사이트가 차단되더라도 외국사이트라면 굳이 절차를 거치며 소명신청을 하지 않을 것이기 때문에 접속혹은 구매를 위해서는 우회 등의 방법을 사용하게 될 것입니다
예를 들어 예전에 일본에만 발행된 출간물을 구매하기 위해 사용했던 멜론북스가 지금은 차단상태이기 때문에 우회가 필요합니다.
이런 상황에서 사용하는 것은 일반적으로 2가지 방법입니다.
1. 유니콘https와 goodbyedpi로 처럼 목적지 IP는 그대로 두고 DNS/SNI/DPI 식별을 회피하는 방식
2. VPN(Virtual Private Network)처럼, 트래픽을 외부 VPN 서버를 통해 보내 실제 목적지와 접속 IP를 바꾸는 방식 이에 대해
이해하기 위해서는 기본적인 용어를 알아야합니다. 자세한 설명은 생략하겠습니다.
DNS(Domain Name System): 도메인 이름에 대한 IP를 받는 서버입니다.
SNI(Server Name Indication): HTTPS/TLS 접속 초기에 클라이언트가 서버에게 “나는 이 도메인에 접속하려고 한다”고 알려주는 정보입니다.
DPI(Deep Packet Inspection): 패킷의 IP/포트만 보는 것이 아니라, 패킷 내부의 프로토콜 정보까지 깊게 검사하는 기술입니다. 여러가지 방법론을 적용할 수 있습니다.
DNS/SNI/DPI 식별을 우회
먼저 1번 방식입니다. 이 중 유니콘 HTTPS를 예를 들어 보겠습니다.

그림에 직접 쓰여있듯이 SNI를 통한 차단을 우회하는 방식을 사용할 것으로 보입니다.
TLS Handshake 초기에 ClientHello에 들어가는 SNI 도메인 이름을 보고 차단하는 것이기 때문에 이 ClientHello의 패킷 Segment를 일부러 분할시켜 우회를 하는 것입니다.
어짜피 실제로 도달하는 것은 도메인을 보는게 아니라 IP를 보고 가는 것이기 때문에 SNI를 가린다고 해서 서버까지의 네트워크 전달 자체가 불가능해지는 것은 아닙니다.
IP차단이 되었다면 불가하겠지만, 목적 서버가 CDN을 거친다면(혹은 클라우드) 실제 IP를 획득하기 어렵고 기본적으로 유저는 도메인을 통해 접근하기 때문에 도메인만 차단하는 것이 관리가 간단합니다.
TLS Handshake가 완료된 뒤에는 암호화 되어 내부의 패킷 내용을 알 수 없기 때문에 차단 우회가 가능하게됩니다.
이제 해당 방식으로만은 불가능한 사례에 대해 알아보겠습니다.
1. 목적지 IP 자체가 차단된 경우 : 차단하는 장비가 도메인이 아니라 IP를 통해서 차단한다면 SNI를 숨기더라도 접속이 불가할 것입니다.
2. 사이트가 국가의 IP를 차단한 경우: 이는 목적 서버가 특정 국가의 접속을 막는 경우입니다. 이 때는 정상적으로 서버단에 도착하더라도 서버 앞단에서 패킷을 막기 때문에 응답을 받을 수 없습니다.
3. SNI우회를 대응한 경우 : 장비가 정밀 동작해 우회 방식에 대해 대응한다면 우회가 불가할 수 있습니다. 등등 다른 방법도 있을 수 있습니다.
현재로서 이슈가 된 것은 CloudFlare가 Http 451 응답을 주며 차단하는 것인데 이또한 위의 방법을 CDN에서 자체적으로 적용한 것이라고 볼 수 있겠습니다.
CDN(Content Delivery Network)
CDN은 간단하게 생각하면 일종의 중계서버로 컨텐츠 제공자가 패킷을 받기 전에 미리 받아 여러가지 기능을 해줍니다.
기본적으로는 정적 데이터를 캐싱하여 빠른 응답을 줄 수 있으며, 이를 통해 실제 서버에 도달하는 패킷의 수를 줄여줍니다.
또한 보안 등의 역할도 CDN단에서 일부 처리해줄 수 있습니다.
추가적으로 클라이언트 유저가 보내는 데이터는 CDN으로 보내지기 때문에 종단에 위치하는 실제 서버의 IP를 가리기도 합니다.
이로 인해 부적절한 사이트는 IP차단을 회피하며 비교적 쉬운 도메인 변경을 택합니다.
다만 이제는 이 CDN이 국가의 요청을 받아서 주체적으로 차단을 진행하기 때문에 특정 CDN을 사용하는 사이트라면, CDN이 특정 국가 유저를 차단하는 등 선제적인 조치가 가능해집니다.
이러하면 앞으로는 유니콘 같은 SNI우회 방식으로도 쉽게 우회할 수 있는 사이트가 줄어들 수 있습니다.
VPN을 통한 우회
VPN을 사용하면 유저의 패킷이 VPN을 거쳐 실제 서버로 가게됩니다.

만약에 한국 -> 한국에 위치한 CDN(차단!) -> 서버의 구조였다면,
한국 -> 일본(VPN) -> 일본에 위치한 CDN -> 서버로 이동하기 때문에 차단되지 않을 것입니다.
(물론 VPN에는 다른 효과적인 기능들이 많지만 논점이 달라 언급하지 않았습니다)
다만 CDN이 국가에 따라 차단한 것이 아니라 사이트 자체를 더 이상 지원하지 않도록 차단한것이라면 접근이 불가하겠습니다.
또한 중국이나 미얀마같은 국가는 VPN서버 자체를 막아버리기 때문에 이러한 강경한 조치가 이루어진다면 VPN사용도 불가할 수 있습니다.
다만 VPN의 경우 우회 외에도 여러 방식으로 사용되고 있기 때문에 이를 아예 막는 것은 현실적으로는 어려울 것 같습니다.
VPN도 막힌다면 Tor(토르, 토어)브라우저를 사용해볼 수 있을 것입니다.
Tor는 사용자의 인터넷 트래픽을 여러 개의 중간 서버를 거쳐 보내, 접속자의 실제 IP와 최종 목적지를 한 곳에서 동시에 알기 어렵게 만드는 익명화 네트워크입니다.
VPN은 로그를 보통 보관하며, 보관하지 않는다는 정책을 가지더라도 결국에는 해당 VPN회사를 믿어야하므로
완전한 익명성을 위해서도 사용됩니다.
그렇지만 Tor는 위에서 말했듯이 트래픽을 Tor노드에서 빙빙돌려 보내기 때문에 속도 자체가 느려진다는 단점이 있습니다.
결론적으로는 유니콘과 VPN이 다른 점은
우회 방식이 다르다는 것입니다.
유니콘은 HTTPS의 SNI 검열을 우회하며,
VPN은 패킷이 VPN 서버를 거쳐 송수신되기 때문에 각종 차단을 우회할 수 있습니다.
그런 일이 없었으면 하지만, 사용하던 적법한 사이트가 차단된다면 이러한 방법 등을 사용할 수 있겠네요
'CS > 프밍 잡지식' 카테고리의 다른 글
| 함수의 호출규약 알아보기 (cdecl, stdcall, +) (0) | 2026.06.17 |
|---|---|
| [직렬화 버퍼] string 다루기 (0) | 2026.05.08 |
| Overlapped I/O 알아보기 - 2 (0) | 2025.12.09 |
| Overlapped I/O 알아보기 - 1 (0) | 2025.12.04 |
| 컴퓨터의 시간측정 응용 - FixedUpdate (1) | 2025.07.03 |