눈송이: Tor의 자원 봉사 브라우저 다리
Snowflake는 지금까지 구축된 가장 영리한 검열 우회 인프라 중 하나입니다. 이는 일반 웹 브라우저를 검열된 국가의 사용자가 Tor에 접근할 수 있도록 돕는 자원 봉사 프록시로 전환합니다. Firefox 또는 Chrome 확장 프로그램을 설치하면 브라우저가 이란이나 러시아에 있는 누군가에게 조용히 WebRTC 연결을 전달하기 시작합니다. 이것이 바로 그것이고, 어떻게 작동하며, 검열에 비해 잘 확장되는 이유입니다.
전체 기사 본문은 아래에 영어로 제공됩니다.
Snowflake의 정의
Snowflake는 Tor 네트워크용 플러그형 전송 장치입니다. 플러그형 전송은 Tor 트래픽을 다른 것처럼 위장하므로 Tor 핸드셰이크의 인식 가능한 형태를 차단하는 국가는 위장된 트래픽을 쉽게 차단할 수 없습니다. Snowflake는 Tor를 Zoom, Google Meet 및 모든 브라우저 기반 화상 회의 앱을 지원하는 것과 동일한 프로토콜인 일반 WebRTC 화상 통화 트래픽으로 위장합니다.
시스템에는 세 가지 역할이 있습니다.
- 클라이언트(검열된 국가의 Tor 사용자)는 Tor에 연결하려고 하지만 표준 릴레이는 차단됨.
- 브로커는 클라이언트를 자원 봉사 프록시와 일치시킵니다.
- 프록시(자유 국가에서 Snowflake 브라우저 확장 또는 독립 실행형 프로그램을 실행하는 자원 봉사자)는 클라이언트로부터 암호화된 WebRTC 연결을 수락하고 이를 Tor 항목 릴레이로 전달합니다.
에서 검열관의 관점에서 보면 사용자는 일반적인 P2P 화상 통화를 하는 것처럼 보입니다. 사용자 관점에서 보면 Tor에 연결되어 있습니다.
실제 작동 방식
- 클라이언트의 Snowflake 플러그인은 브로커에게 사용 가능한 프록시를 요청합니다.
- 브로커는 현재 실행 중이고 세션을 기꺼이 수행할 자원 프록시를 찾습니다.
- 브로커는 연결 세부 정보(WebRTC 신호)를 반환합니다. 정보).
- 클라이언트는 WebRTC의 표준 NAT 통과 기술(STUN, ICE)을 사용하여 자원 봉사 프록시에 대한 직접 UDP 연결을 설정합니다.
- 자원 봉사 프록시는 WebRTC 연결을 통해 암호화된 Tor 데이터를 수신하고 이를 Tor 항목 릴레이로 전달합니다.
- Tor 트래픽은 진행 중인 WebRTC로 위장하여 프록시를 통해 사용자에게 다시 흐릅니다. 트래픽.
주요 통찰력: WebRTC 연결은 현대 인터넷의 모든 곳에서 가능합니다. 모든 브라우저가 이를 지원합니다. 모든 NAT 통과 트릭은 잘 알려져 있으며 널리 배포됩니다. 모든 WebRTC를 차단하면 Zoom, Google Meet, Discord 및 수많은 웹 앱이 중단됩니다. 검열관은 이를 원하지 않기 때문에 Snowflake의 변장은 정말 효과적입니다.
자원 봉사 측
자유 국가의 누구나 최소한의 노력으로 Snowflake 프록시가 될 수 있습니다.
- Firefox, Chrome, Brave 및 Edge용 브라우저 확장 - 설치하고 토글을 클릭하면 브라우저가 시작됩니다. Proxying.
- 웹사이트에 내장된 배지 — 모든 페이지 방문자가 페이지에 있는 동안 임시 프록시로 전환하는 한 줄 스크립트입니다. 언론 자유를 지지하는 여러 뉴스 사이트에는 이러한 내용이 포함되어 있습니다.
- 독립형 명령줄 프로그램 전용 프록시 실행용
- Docker 컨테이너 서버에서 실행용
결정적으로 Snowflake 프록시 실행에는 포트 전달, 고정 IP 또는 고정 IP가 필요하지 않습니다. 모든 라우터 구성. WebRTC의 NAT 통과는 이 모든 것을 처리합니다. 이는 2024년에 Snowflake를 약 140,000개의 고유 프록시 IP로 동시에 확장한 속성입니다. 이는 기존 Tor 브리지의 수동 구성보다 훨씬 많은 것입니다.
실제 영향
Snowflake는 이란 정부가 인터넷 검열을 극적으로 강화한 2022년 이란의 Mahsa Amini 시위 중에 전 세계적으로 유명해졌습니다. Snowflake가 포함된 Tor 브라우저를 설치하는 방법을 설명하는 페르시아어 가이드는 소셜 미디어와 암호화된 메시징 앱을 통해 퍼집니다. 자유 국가에서 자원 봉사 참여가 급증했습니다.
러시아(러시아 정부가 수십 개의 웹 사이트를 차단한 2022년 우크라이나 침공 이후)와 벨로루시(2020~2021년 정치적 탄압 기간 동안)에서도 유사한 사용량이 급증했습니다.
2024년까지 Tor 프로젝트 지표 표시:
- ~140,000개의 고유 프록시 IP가 동시에 활성화됩니다.
- ~35,000명의 일일 사용자가 Snowflake를 통해 연결됩니다.
- ~29TB의 일일 트래픽 Relayed.
검열관이 이를 차단하는 방법
브라우저 지문
정교한 검열관은 때때로 일반적인 화상 통화 패턴과 일치하지 않는 미묘한 기능을 통해 Snowflake로 위장한 WebRTC 트래픽을 식별할 수 있습니다. 완화 방법은 순전히 자원 봉사자의 수입니다. 일부 지문이 표시되더라도 모든 지문을 차단하면 움직이는 표적 문제가 됩니다.
브로커 차단
토르 프로젝트에서 운영하는 브로커는 중앙화된 관문입니다. Snowflake는 domain fronting를 사용하여 브로커 연결을 위장합니다. 요청은 주요 CDN 도메인(Cloudflare, Azure, Fastly)에 대한 것으로 보이지만 내부적으로 브로커로 라우팅됩니다. 브로커를 차단한다는 것은 전체 CDN을 차단하는 것을 의미하는데, 대부분의 국가에서는 부수적 피해에 대해 이를 수행하기를 꺼립니다.
이 잔액은 시간이 지남에 따라 기울어졌습니다. 클라우드 공급자는 정기적으로 네트워크(2018년 Google, 2018년 AWS)에서 도메인 프론팅을 비활성화하여 Snowflake가 공급자 간에 마이그레이션하도록 했습니다. 군비경쟁은 계속됩니다.
인터넷 완전 끊김
가장 효과적인 검열은 인터넷을 끄는 것입니다. 이란은 2022년 며칠 동안 이런 일을 했습니다. 추산에 따르면 이란 경제에 하루 미화 3,700만 달러의 비용이 소요됩니다. 이 옵션은 특별한 상황을 위해 예약되어 있으며 일상적인 검열 도구로 지속 가능하지 않습니다.
자원 봉사 프록시에 대한 합법적인 노출
이것은 Snowflake의 조용한 디자인 승리 중 하나입니다. Volunteer Snowflake 프록시는 entry 노드 역할만 하며 트래픽 into Tor 외부로 전달하지 않습니다. Tor 트래픽을 해독하여 실제 대상으로 보내는 출구 노드는 릴레이가 전달하는 모든 것에 대해 출구 IP가 비난을 받기 때문에 릴레이와 관련된 법적 위험의 대부분을 부담합니다.
A Snowflake 프록시는 일반 텍스트 트래픽을 확인하지 않으며 대상에 직접 연결하지 않습니다. 단지 암호화된 Tor 바이트를 Tor 항목 릴레이로 전달합니다. 프록시 운영자는 어떤 콘텐츠가 전달되고 있는지 알 수 없습니다.
즉, Tor 자체를 범죄화한 러시아, 이란, 중국과 같은 국가에서는 Tor 관련 인프라를 실행하는 것이 법적으로 위험할 수 있습니다. Snowflake는 자유 국가의 자원봉사자에게 가장 안전합니다.
Snowflake와 기타 플러그형 전송 비교
- obfs4 — Tor를 임의 바이트로 위장합니다. 검열관이 무작위 패턴을 찾아낼 수 없을 때 효과적이지만 지속적인 군비 경쟁으로 인해 최근 검열이 심한 네트워크에서는 신뢰성이 떨어졌습니다.
- meek-azure / meek-google — 터널은 HTTPS를 통해 주요 CDN 도메인으로 연결됩니다. 효과적이지만 느리고 비용이 많이 들고(CDN은 대역폭을 청구함) CDN 정책 변경에 취약합니다.
- Snowflake — WebRTC 및 자원 봉사 프록시를 사용합니다. 자연스럽게 확장되고 관련 없는 서비스를 중단하지 않고 차단하기 어렵고 대기 시간이 짧으며 Tor 프로젝트와 사용자 모두에게 무료입니다.
2026년에 Snowflake는 검열이 심한 네트워크 사용자에게 가장 권장되는 플러그형 전송 장치입니다. obfs4는 WebRTC 자체가 차단되는 상황에 대한 대체 수단으로 남아 있습니다.
역사
Snowflake는 전직 Google 엔지니어이자 콘서트 피아니스트인 Serene에 의해 만들어졌으며 2016년 1월에 처음 프로토타입을 게시했습니다. 브라우저 확장 지원은 2019년에 도착했습니다. Rust로 작성되고 자금을 지원받은 Snowstorm라는 크게 업그레이드된 독립 실행형 버전 Open Tech Fund에 의해 2023년 2월 베타 테스트에 들어갔습니다.
시스템은 Tor Browser 및 Android Tor 클라이언트 Orbot에 번들로 포함되어 있어 자체 우회 도구를 컴파일할 수 없는 사용자가 액세스할 수 있습니다. 대부분의 사람들의 경우 Tor 브라우저를 설치하고 브리지 구성에서 "snowflake"를 선택하는 것이 전체 사용자 측 설정입니다.
자원 봉사 방법
- Firefox, Chrome, Brave 또는 Edge에서
snowflake.torproject.org를 방문하세요. - "브라우저에 추가"를 클릭하여 설치하세요. 확장 프로그램.
- 확장 프로그램 아이콘을 클릭하고 켜십시오.
- 브라우저를 계속 실행하세요. 확장 프로그램은 주변 대역폭을 사용하여 백그라운드에서 프록시됩니다.
대역폭에 미치는 영향은 실제적이지만 일반적으로 미미합니다. 데이터 통신 연결을 사용하는 사용자는 주의해야 합니다. 무제한 가정용 광대역 사용자는 일반적으로 이를 눈치채지 못합니다. 보다 야심찬 자원봉사자의 경우 소규모 VPS에서 독립 실행형 프로그램을 실행하면 연중무휴 24시간 가용성이 제공됩니다.
자주 묻는 질문
- Snowflake 프록시 실행은 무엇을 합니까?
- 브라우저(또는 서버)를 검열된 국가의 사용자가 Tor 네트워크에 연결하는 데 도움이 되는 자원 릴레이로 전환합니다. 이란이나 러시아의 누군가가 Tor를 사용하려고 시도하고 표준 릴레이가 차단되면 브라우저는 위장된 WebRTC 트래픽을 사용하는 임시 브리지가 됩니다.
- Snowflake 프록시를 실행하는 것이 합법적인가요?
- 자유 국가에서는 그렇습니다. Snowflake 프록시는 입력 노드 역할만 합니다. 일반 텍스트를 보거나 실제 대상에 연결하지 않고 암호화된 Tor 트래픽을 Tor 항목 릴레이로 전달합니다. 이는 Tor 종료 노드를 실행하는 것보다 법적 위험이 훨씬 낮습니다. Tor 자체를 범죄화하는 국가(러시아, 이란, 중국, 벨로루시)에서는 Tor 인프라를 실행하는 것이 위험을 수반합니다.
- Snowflake는 얼마나 많은 대역폭을 사용합니까?
- 수요에 따라 가변적입니다. 일반적인 브라우저 확장 자원 봉사자들은 보통 기간에는 하루에 수십에서 수백 MB를 보고하며 검열 이벤트가 급증하는 동안에는 더 많은 경우도 있습니다. 확장 기능을 사용하면 대역폭 제한을 설정할 수 있습니다. 종량제 또는 제한 연결을 사용하는 사용자의 경우 인식이 중요합니다.
- 검열관이 Snowflake를 차단할 수 있나요?
- 어려움을 겪습니다. WebRTC를 완전히 차단하면 Zoom, Google Meet, Discord 및 대부분의 최신 화상 회의도 중단됩니다. 이는 대부분의 정부가 피할 수 있는 부수적 피해입니다. 주요 CDN을 통한 도메인 프론팅으로 인해 브로커를 식별하기가 어렵습니다. 정교한 검열 장치는 때때로 Snowflake로 위장한 WebRTC 트래픽을 식별할 수 있지만, 새로운 자원 봉사 프록시가 지속적으로 유입되면서 특정 IP를 차단하는 것이 효과적이지 않습니다.
- Snowflake는 VPN과 어떻게 다릅니까?
- VPN은 귀하가 신뢰하는(또는 비용을 지불하는) 하나의 서버를 통해 트래픽을 라우팅하고 하나의 명백한 종료 IP를 제공합니다. Snowflake는 Tor 네트워크를 위한 플러그형 전송입니다. 이는 검열을 우회하기 위해 Tor 트래픽을 위장한 다음 트래픽이 종료되기 전에 Tor의 3홉 회로를 통해 흐릅니다. Snowflake plus Tor는 Tor의 익명성 속성을 제공합니다. VPN은 신뢰할 수 있는 단일 홉을 제공합니다. 다양한 문제에 대한 다양한 도구.