본문 바로가기

Util

https/SNI 차단 우회&대응

불과 그저께까지 대한민국의 불법사이트 차단은 

URL 차단과 DNS차단으로 이루어졌습니다. 


URL 차단은 마이너한 사이트들이나 해외사이트들에서. 

https 프로토콜로 우회할 수 있었습니다. 


DNS 오염/차단은 국내 굵직한 불법사이트들에서. (밤토끼, 토렌트킴 등)

국내 통신사 DNS가 아니라 클라우드플레어의 1.1.1.1 등을 이용하거나 DNS over Https 를 사용해 우회했습니다. 

DNS 차단은 사용자가 요청한 사이트가 불법사이트에 해당되면 해당 주소의 IP를 연결해주지 않고 warning.or.kr로 변경해 접속을 막는 방식이고 2018년 국내 불법사이트에 적용되었습니다.


그러나 이제 SNI 필드를 이용한 차단이 이루어집니다. 

인증서를 주고받는 과정에서는 평문으로 통신한다는 것을 이용한 것이고, 정부가 https 프로토콜의 보안취약점을 이용한 것입니다. 따라서 이제 https 프로토콜로 우회할 수 없습니다. 

SNI 암호화(ESNI)가 크롬 등에서 지원되려면 올해 하반기에나 가능하리라 생각합니다.

우회 (PC)

https://github.com/ValdikSS/GoodbyeDPI/releases 에서 최신버전을 받고 압축을 풉니다.

운영체제가 32비트라면 x86 폴더로, 64비트라면 x86_64 폴더로 들어갑니다. 

goodbyedpi.exe 를 실행합니다. 


아래와 같은 화면이 나오면 최소화하고 평소처럼 서핑하면 됩니다. 

 

service_install_russia_blacklist.cmd 파일을 관리자권한으로 실행하면 서비스에 등록되어 컴퓨터가 부팅될 때 자동 실행됩니다. 혹 나중에 서비스를 제거하시려면 service_remove.cmd 을 실행하시면 됩니다.


GUI 버전을 받으신 분은 goodbyedpi.exe 실행하시고 Start 누른 뒤 트레이에 넣고 서핑하면 됩니다.

GoodByeDPI_GUI_64Bit.zip 

 

 

 

개발자에 따르면, 302 리디렉션(워닝 등으로 접속주소가 바뀌는)을 받으면 이 프로그램이 요청을 차단하고, 패킷의 조각화와 약간의 header 변경을 사용한다고 하네요.


* 파폭에선 ESNI (SNI 암호화)를 지원하는데, 이건 아직 클라우드플레어의 DNS서버를 사용하지 않는 사이트에서는 먹히지 않습니다. 

우회(모바일)

(수정) 현재 모바일에서는 Intra 같은 어플은 추가로 막힌 것 같습니다. 

1.1.1.1 어플을 사용하시면 되겠습니다.