많은 사람이 헷갈려하는 HTTPS 우회와 VPN 차이점
- 소울스틸
- 조회 수 1336
- 2022.09.04. 01:44
아마 내용 맞을거에요 ㅎㅎ.. 제가 예전부터 저 원리로 기억하고있었거든요. 근데 가끔 HTTPS 우회랑 VPN랑 헷갈려하시는 분들 계시길래 공유해봤습니다.
죄송하지만, 전제가 완전히 틀린 내용들이어서 말씀을 드려보자면...
그렇다면 애초에 유니콘에서 fake vpn을 구현해서 사용해야 될 이유도 없습니다. 근데 그정도 우회는 warning.or.kr이 처음 대두되던 때에 이미 조치가 된 부분입니다.
https 우회는 결국 통신사의 sni 취약점을 공략하는 dpi를 회피해야 하는건데요. 기법자체는 여러가지가 있을 수 있습니다. 쉬운거 2가지 정도 예를 들어보자면
- fragmentation (페이로드 쪼개서 보내기)
가 있습니다.
가령 fragmentation을 구현한다고 친다면 내용물을 적절히 쪼개야하니 소켓에서 흐르는 내용을 통제할 수 있어야 합니다. 안드로이드에서 vpn 서비스를 활용하면 시스템에서 흐르는 네트웍 데이터에 대한 라우팅 통제(vpn을 태울지, 아니면 그냥 안태울지)나 소켓에 대한 좀 더 심도있는 조작이 가능해지는데, 어디까지나 해당 앱에서 사용하는건 내부에 만든 fake vpn이지 무슨 국가변경을 하는 외부로 연결되는 통상적인 vpn endpoint를 만드는게 아닙니다. 당장 써보시면은 vpn을 타고 나간 IP주소가 같거든요. 자기 안에서 도는거죠.
vpn의 근본적인 의의는 '없던 내부망을 있는 것처럼 만들어' 주는겁니다. 국가 변경? 그런건 vpn을 익명을 위해 응용한 것에 불과한 서비스입니다.
좋은지적 감사합니다! 제가 지금은 VPN만을 사용하고 있는데, HTTPS 초기 차단당시 구글 DNS 서버 우회 방법을 사용해서 말씀하신 8.8.8.8로 수정해 사용했었거든요. 그 이후 더 보완된 부분이 많았었다는 것을 미처 파악하지 못했습니다 ㅠㅠ...
물론 말씀대로 DNS에서도 유해한(?) 도메인네임 체크는 같이 하기 때문에 변경 자체는 분명 의미가 있습니다. 다만 이것만 가지곤 차단의 근본적인 부분을 회피하는건 불가능하죠. 최신 정보들은 뭐 시간 되실때 보시면 되는것 아니겠습니까.
마지막 결론으로 현재 문제가 되는 sni 취약점이 해결되려면 tls의 clienthello 전체를 암호화하는 기술인 ech가 필요하고, 이를 위해 dns 통신에선 doh가 또 필요한데 이것이 완전히 구현되려면
1. 서비스 웹서버(네이버, 미코, 나무위키 등)에서 ech 지원 업데이트가 필요합니다. 특히 요즘처럼 클라우드플레어같은 방패막이를 쓰는 웹사이트들은 이쪽에서부터 지원이 필수겠죠. 아마 지원이 되는걸로 알고 있습니다.
2. dns에서 doh를 지원해야 합니다. (국내 통신사 dns에선 아마 가능성이 없을듯 합니다.)
3. 브라우저(크롬, 엣지, 파폭 등)에서도 ech 및 doh를 지원해야 합니다. 파폭은 작년 초부터 지원했다고 들었습니다.
이상입니다.