เกล็ดหิมะ: สะพานอาสาสมัครเบราว์เซอร์ของทอร์

13 นาทีอ่านการหลบเลี่ยง

Snowflake เป็นหนึ่งในโครงสร้างพื้นฐานเพื่อการหลบเลี่ยงการเซ็นเซอร์ที่ฉลาดที่สุดเท่าที่เคยสร้างมา มันเปลี่ยนเว็บเบราว์เซอร์ธรรมดาให้เป็นพร็อกซีอาสาสมัครที่ช่วยให้ผู้ใช้ในประเทศที่ถูกเซ็นเซอร์เข้าถึง Tor ติดตั้งส่วนขยาย Firefox หรือ Chrome แล้วเบราว์เซอร์ของคุณจะเริ่มส่งต่อการเชื่อมต่อ WebRTC อย่างเงียบๆ ให้กับใครบางคนในอิหร่านหรือรัสเซีย นี่คือสิ่งที่เป็นอยู่ วิธีการทำงาน และเหตุใดจึงปรับขนาดได้ดีเมื่อเทียบกับเซ็นเซอร์

เนื้อหาบทความฉบับเต็มมีให้เป็นภาษาอังกฤษด้านล่าง

Snowflake คืออะไร

Snowflake คือการขนส่งแบบเสียบได้สำหรับเครือข่าย Tor การขนส่งที่เสียบปลั๊กได้จะปกปิดการรับส่งข้อมูลของ Tor ให้ดูเหมือนอย่างอื่น ดังนั้นประเทศที่ปิดกั้นรูปแบบการจับมือของ Tor ที่เป็นที่รู้จักจะไม่สามารถปิดกั้นการรับส่งข้อมูลที่ปลอมตัวได้อย่างง่ายดาย Snowflake ปลอมตัว Tor เป็นการรับส่งข้อมูลการโทรผ่านวิดีโอ WebRTC ทั่วไป ซึ่งเป็นโปรโตคอลเดียวกับที่ขับเคลื่อน Zoom, Google Meet และแอปการประชุมทางวิดีโอบนเบราว์เซอร์

ระบบมีสามบทบาท:

  • ไคลเอนต์ (ผู้ใช้ Tor ในประเทศที่ถูกเซ็นเซอร์) ต้องการเข้าถึง Tor แต่รีเลย์มาตรฐานนั้น blocked.
  • นายหน้า จับคู่ลูกค้ากับพร็อกซีอาสาสมัคร
  • The proxy (อาสาสมัครที่ใช้งานส่วนขยายเบราว์เซอร์ Snowflake หรือโปรแกรมแบบสแตนด์อโลนในประเทศฟรี) ยอมรับการเชื่อมต่อ WebRTC ที่เข้ารหัสจากไคลเอนต์และส่งต่อไปยังรีเลย์รายการ Tor

จาก จากมุมมองของเซ็นเซอร์ ผู้ใช้ดูเหมือนจะทำการโทรผ่านวิดีโอแบบเพียร์ทูเพียร์ตามปกติ จากมุมมองของผู้ใช้ พวกเขาเชื่อมต่อกับ Tor

มันทำงานอย่างไร

  1. ปลั๊กอิน Snowflake ของไคลเอ็นต์จะถามนายหน้าเกี่ยวกับพร็อกซีที่พร้อมใช้งาน
  2. นายหน้าค้นหาพร็อกซีอาสาสมัครที่กำลังทำงานอยู่และเต็มใจที่จะเริ่มเซสชัน
  3. นายหน้าส่งคืนรายละเอียดการเชื่อมต่อ (การส่งสัญญาณ WebRTC ข้อมูล).
  4. ไคลเอนต์ใช้เทคนิค NAT-traversal มาตรฐานของ WebRTC (STUN, ICE) เพื่อสร้างการเชื่อมต่อ UDP โดยตรงไปยังพร็อกซีอาสาสมัคร
  5. พร็อกซีอาสาสมัครได้รับข้อมูล Tor ที่เข้ารหัสผ่านการเชื่อมต่อ WebRTC และส่งต่อไปยังรีเลย์รายการ Tor
  6. Tor หรือการรับส่งข้อมูลไหลกลับผ่านพร็อกซีไปยังผู้ใช้ ซึ่งปลอมตัวเป็น WebRTC ที่กำลังดำเนินอยู่ Traffic.

ข้อมูลเชิงลึกที่สำคัญ: การเชื่อมต่อ WebRTC มีอยู่ทุกที่บนอินเทอร์เน็ตสมัยใหม่ ทุกเบราว์เซอร์รองรับพวกเขา เคล็ดลับการแวะผ่าน NAT ทุกประการเป็นที่เข้าใจกันดีและมีการนำไปใช้อย่างกว้างขวาง การบล็อก WebRTC ทั้งหมดจะทำให้ Zoom, Google Meet, Discord และเว็บแอปจำนวนนับไม่ถ้วนเสียหาย ผู้เซ็นเซอร์ไม่ต้องการทำเช่นนั้น ดังนั้นการปลอมตัวของ Snowflake จึงได้ผลอย่างแท้จริง

ฝั่งอาสาสมัคร

ใครก็ตามในประเทศเสรีสามารถเป็นพร็อกซี Snowflake ได้โดยไม่ต้องใช้ความพยายามเพียงเล็กน้อย:

  • Browser extensions สำหรับ Firefox, Chrome, Brave และ Edge — ติดตั้ง คลิก เบราว์เซอร์ของคุณจะเริ่มใช้พร็อกซี
  • ป้ายฝังตัวบนเว็บไซต์ — สคริปต์บรรทัดเดียวที่เปลี่ยนผู้เยี่ยมชมเพจใดๆ ให้เป็นพร็อกซีชั่วคราวขณะที่พวกเขาอยู่บนเพจ เว็บไซต์ข่าวหลายแห่งที่สนับสนุนเสรีภาพสื่อฝังสิ่งเหล่านี้
  • โปรแกรมบรรทัดคำสั่งแบบสแตนด์อโลน สำหรับการเรียกใช้พร็อกซีเฉพาะ
  • Docker คอนเทนเนอร์ สำหรับการทำงานบนเซิร์ฟเวอร์

สิ่งสำคัญที่สุด การเรียกใช้พร็อกซี Snowflake ไม่จำเป็นต้องมีการส่งต่อพอร์ต, IP แบบคงที่ หรือการกำหนดค่าเราเตอร์ใดๆ NAT-traversal ของ WebRTC จัดการเรื่องทั้งหมดนั้น นี่คือคุณสมบัติที่ได้ปรับขนาด Snowflake เป็นประมาณ 140,000 IP พร็อกซีที่ไม่ซ้ำกันพร้อมกันในปี 2024 ซึ่งมากกว่าการกำหนดค่าด้วยตนเองของสะพาน Tor แบบดั้งเดิมที่เคยทำได้

ผลกระทบในโลกแห่งความเป็นจริง

Snowflake มีชื่อเสียงไปทั่วโลกในช่วงการประท้วง Mahsa Amini ในอิหร่านในปี 2022 เมื่อรัฐบาลอิหร่านเข้มงวดในการเซ็นเซอร์อินเทอร์เน็ตอย่างมาก คู่มือภาษาเปอร์เซียอธิบายวิธีการติดตั้ง Tor Browser ด้วย Snowflake ที่แพร่กระจายบนโซเชียลมีเดียและผ่านแอพส่งข้อความที่เข้ารหัส การมีส่วนร่วมของอาสาสมัครในประเทศเสรีเพิ่มสูงขึ้น

การใช้งานที่คล้ายกันพุ่งสูงขึ้นตามมาในรัสเซีย (หลังจากการรุกรานยูเครนในปี 2022 เมื่อรัฐบาลรัสเซียบล็อกเว็บไซต์หลายสิบแห่ง) และเบลารุส (ระหว่างการปราบปรามทางการเมืองปี 2020-2021)

ภายในปี 2024 ตัวชี้วัดของ Tor Project แสดงให้เห็นว่า:

  • ~140,000 IPs พร็อกซีที่ไม่ซ้ำกันทำงานพร้อมกัน
  • ~35,000 ผู้ใช้รายวัน เชื่อมต่อผ่าน Snowflake
  • ~การรับส่งข้อมูล 29 TB ต่อวัน ถ่ายทอด

วิธีที่เซ็นเซอร์พยายามบล็อก

ลายนิ้วมือของเบราว์เซอร์

เซ็นเซอร์ที่ซับซ้อนบางครั้งสามารถระบุการรับส่งข้อมูล WebRTC ที่ปลอมตัวเป็น Snowflake ด้วยคุณสมบัติที่ละเอียดอ่อนที่ไม่ตรงกับรูปแบบการโทรวิดีโอทั่วไป การบรรเทาผลกระทบคือจำนวนอาสาสมัครที่แท้จริง แม้ว่าลายนิ้วมือบางส่วนจะถูกตั้งค่าสถานะ การบล็อกลายนิ้วมือทั้งหมดจะกลายเป็นปัญหาเป้าหมายที่กำลังเคลื่อนที่

การบล็อกนายหน้า

นายหน้า (ดำเนินการโดยโครงการ Tor) เป็นจุดควบคุมแบบรวมศูนย์ Snowflake ใช้ domain fronting เพื่อปกปิดการเชื่อมต่อของนายหน้า — คำขอดูเหมือนจะเป็นโดเมน CDN หลัก (Cloudflare, Azure, Fastly) แต่กำหนดเส้นทางภายในไปยังนายหน้า การบล็อกนายหน้าหมายถึงการบล็อก CDN ทั้งหมด ซึ่งประเทศส่วนใหญ่ไม่เต็มใจที่จะทำเพื่อความเสียหายของหลักประกัน

ยอดคงเหลือนี้มีการเปลี่ยนแปลงเมื่อเวลาผ่านไป ผู้ให้บริการระบบคลาวด์ได้ปิดการใช้งานโดเมนส่วนหน้าบนเครือข่ายของตนเป็นระยะ (Google ในปี 2018, AWS ในปี 2018) บังคับให้ Snowflake ต้องโยกย้ายระหว่างผู้ให้บริการ การแข่งขันทางอาวุธยังคงดำเนินต่อไป

การตัดการเชื่อมต่ออินเทอร์เน็ตโดยสมบูรณ์

การเซ็นเซอร์ที่มีประสิทธิภาพสูงสุดคือเพียงการปิดอินเทอร์เน็ต อิหร่านทำเช่นนี้เป็นเวลาหลายวันในช่วงปี 2022 การประมาณการทำให้ต้นทุนเศรษฐกิจอิหร่านอยู่ที่ 37 ล้านเหรียญสหรัฐต่อวัน ตัวเลือกนี้สงวนไว้สำหรับสถานการณ์พิเศษและไม่ยั่งยืนในฐานะเครื่องมือเซ็นเซอร์ตามปกติ

การเปิดเผยทางกฎหมายสำหรับผู้รับมอบฉันทะอาสาสมัคร

นี่เป็นหนึ่งในการออกแบบที่เงียบสงบของ Snowflake ที่ชนะ พร็อกซี Volunteer Snowflake ทำหน้าที่เป็นโหนด entry เท่านั้น — โดยส่งต่อการรับส่งข้อมูล into Tor ไม่ใช่ส่งออกไป โหนดทางออก (ซึ่งถอดรหัสการรับส่งข้อมูลของ Tor และส่งไปยังปลายทางจริง) แบกรับความเสี่ยงทางกฎหมายส่วนใหญ่ที่เกี่ยวข้องกับการส่งต่อ เนื่องจาก IP ทางออกจะถูกตำหนิสำหรับอะไรก็ตามที่รีเลย์ส่งต่อ

A พร็อกซี Snowflake จะไม่เห็นการรับส่งข้อมูลแบบข้อความธรรมดาและไม่เคยเชื่อมต่อโดยตรงไปยังปลายทาง มันเพียงส่งต่อไบต์ Tor ที่เข้ารหัสไปยังรีเลย์รายการ Tor ตัวดำเนินการพร็อกซีไม่มีทางรู้ได้ว่าเนื้อหาใดกำลังถูกถ่ายทอด

ที่กล่าวว่า: ในประเทศเช่นรัสเซีย อิหร่าน และจีนที่เอา Tor มาเป็นอาชญากร การใช้โครงสร้างพื้นฐานที่เกี่ยวข้องกับ Tor อาจมีความเสี่ยงทางกฎหมายได้ Snowflake ปลอดภัยที่สุดสำหรับอาสาสมัครในประเทศเสรี

Snowflake เทียบกับการขนส่งแบบเสียบปลั๊กอื่นๆ

  • obfs4 — ปลอมตัว Tor เป็นไบต์แบบสุ่ม มีผลเมื่อเซ็นเซอร์ไม่สามารถพิมพ์ลายนิ้วมือรูปแบบสุ่มได้ แต่การแข่งขันทางอาวุธอย่างต่อเนื่องทำให้ความน่าเชื่อถือน้อยลงในเครือข่ายที่มีการเซ็นเซอร์อย่างหนักเมื่อเร็ว ๆ นี้
  • meek-azure / meek-google — ช่องสัญญาณ Tor ผ่าน HTTPS ไปยังโดเมน CDN หลัก มีประสิทธิภาพแต่ช้า มีราคาแพง (แบนด์วิธเรียกเก็บเงินจาก CDN) และมีความเสี่ยงต่อการเปลี่ยนแปลงนโยบาย CDN
  • Snowflake — ใช้ WebRTC และพร็อกซีอาสาสมัคร ปรับขนาดได้อย่างเป็นธรรมชาติ บล็อกได้ยากโดยไม่ทำลายบริการที่ไม่เกี่ยวข้อง เวลาแฝงต่ำ และฟรีสำหรับทั้ง Tor Project และผู้ใช้

ในปี 2026 Snowflake คือการขนส่งแบบเสียบได้ที่แนะนำมากที่สุดสำหรับผู้ใช้ในเครือข่ายที่มีการเซ็นเซอร์อย่างหนัก obfs4 ยังคงเป็นทางเลือกสำรองสำหรับสถานการณ์ที่ WebRTC ถูกบล็อก

ประวัติ

Snowflake ถูกสร้างขึ้นโดย Serene อดีตวิศวกรของ Google (และนักเปียโนคอนเสิร์ต) ซึ่งเผยแพร่ต้นแบบครั้งแรกในเดือนมกราคม 2559 รองรับส่วนขยายเบราว์เซอร์มาในปี 2562 เวอร์ชันสแตนด์อโลนที่ได้รับการอัปเกรดอย่างมีนัยสำคัญเรียกว่า Snowstorm เขียนด้วยภาษา Rust และ ได้รับทุนสนับสนุนจาก Open Tech Fund และเข้าสู่การทดสอบเบต้าในเดือนกุมภาพันธ์ 2023

ระบบรวมเข้ากับ Tor Browser และ Orbot ไคลเอนต์ Android Tor ทำให้ผู้ใช้ที่ไม่สามารถคอมไพล์เครื่องมือหลบเลี่ยงของตนเองได้ สำหรับคนส่วนใหญ่ การติดตั้ง Tor Browser และการเลือก "snowflake" ในการกำหนดค่าบริดจ์ถือเป็นการตั้งค่าฝั่งผู้ใช้ทั้งหมด

วิธีการอาสาสมัคร

  1. เยี่ยมชม snowflake.torproject.org จาก Firefox, Chrome, Brave หรือ Edge
  2. คลิก "เพิ่มลงในเบราว์เซอร์ของคุณ" เพื่อติดตั้ง extension.
  3. คลิกที่ไอคอนส่วนขยายแล้วเปิด
  4. ปล่อยให้เบราว์เซอร์ของคุณทำงานต่อไป พร็อกซีส่วนขยายในพื้นหลังโดยใช้แบนด์วิดท์โดยรอบ

ผลกระทบของแบนด์วิดท์นั้นมีอยู่จริง แต่โดยทั่วไปแล้วจะเพียงเล็กน้อย ผู้ใช้ที่มีการเชื่อมต่อแบบมิเตอร์ควรทราบ โดยทั่วไปผู้ใช้บรอดแบนด์ภายในบ้านแบบไม่จำกัดจะไม่สังเกตเห็น สำหรับอาสาสมัครที่มีความทะเยอทะยานมากขึ้น การรันโปรแกรมแบบสแตนด์อโลนบน VPS ขนาดเล็กจะมอบความพร้อมใช้งานตลอด 24 ชั่วโมงทุกวัน

คำถามที่พบบ่อย

การรันพร็อกซี Snowflake ทำหน้าที่อะไร?
มันเปลี่ยนเบราว์เซอร์ของคุณ (หรือเซิร์ฟเวอร์) ให้เป็นรีเลย์อาสาสมัครที่ช่วยให้ผู้ใช้ในประเทศที่ถูกเซ็นเซอร์เชื่อมต่อกับเครือข่าย Tor เมื่อมีคนในอิหร่านหรือรัสเซียพยายามใช้ Tor และรีเลย์มาตรฐานถูกบล็อก เบราว์เซอร์ของคุณจะกลายเป็นสะพานชั่วคราวที่ใช้การรับส่งข้อมูล WebRTC ปลอมตัว
การเรียกใช้พร็อกซี Snowflake ถูกกฎหมายหรือไม่
ในประเทศเสรีใช่ พร็อกซีเกล็ดหิมะทำหน้าที่เป็นโหนดรายการเท่านั้น โดยส่งต่อการรับส่งข้อมูล Tor ที่เข้ารหัสไปยังรีเลย์รายการ Tor โดยไม่เคยเห็นข้อความธรรมดาหรือเชื่อมต่อกับปลายทางจริง นี่เป็นความเสี่ยงทางกฎหมายที่ต่ำกว่าการรันโหนดทางออกของ Tor มาก ในประเทศที่เอา Tor มาเป็นอาชญากร (รัสเซีย อิหร่าน จีน เบลารุส) การใช้งานโครงสร้างพื้นฐานของ Tor ย่อมมีความเสี่ยงเสมอ
Snowflake ใช้แบนด์วิธเท่าไร?
เปลี่ยนแปลงได้ขึ้นอยู่กับความต้องการ อาสาสมัครส่วนขยายเบราว์เซอร์ทั่วไปรายงานปริมาณข้อมูลนับสิบถึงหลายร้อย MB ต่อวันในช่วงเวลาปานกลาง บางครั้งก็มากกว่านั้นในช่วงที่มีกิจกรรมการเซ็นเซอร์พุ่งสูงขึ้น ส่วนขยายช่วยให้คุณกำหนดขีดจำกัดแบนด์วิดท์ได้ สำหรับผู้ใช้ที่มีการเชื่อมต่อแบบมิเตอร์หรือแบบต่อยอด การรับรู้เป็นสิ่งสำคัญ
เซ็นเซอร์สามารถบล็อก Snowflake ได้หรือไม่?
ด้วยความยากลำบาก การบล็อก WebRTC โดยสิ้นเชิงจะทำลาย Zoom, Google Meet, Discord และการประชุมทางวิดีโอที่ทันสมัยที่สุด — ความเสียหายที่เป็นหลักประกันที่รัฐบาลส่วนใหญ่หลีกเลี่ยง การกำหนดโดเมนผ่าน CDN หลักๆ ทำให้ระบุโบรกเกอร์ได้ยาก เซ็นเซอร์ที่มีความซับซ้อนบางครั้งสามารถสแกนลายนิ้วมือการรับส่งข้อมูล WebRTC ที่ปลอมตัวเป็น Snowflake ได้ แต่การมีพร็อกซีอาสาสมัครใหม่เข้ามาอย่างต่อเนื่องทำให้การบล็อก IP ที่เฉพาะเจาะจงไม่มีประสิทธิภาพ
Snowflake แตกต่างจาก VPN อย่างไร?
VPN กำหนดเส้นทางการรับส่งข้อมูลของคุณผ่านเซิร์ฟเวอร์เดียวที่คุณเชื่อถือ (หรือจ่ายเงิน) และให้ IP ทางออกที่ชัดเจนแก่คุณ Snowflake เป็นพาหนะที่เสียบปลั๊กได้สำหรับเครือข่าย Tor โดยมันจะปิดบังการรับส่งข้อมูล Tor ของคุณเพื่อหลีกเลี่ยงการเซ็นเซอร์ จากนั้นการรับส่งข้อมูลของคุณจะไหลผ่านวงจรสามฮอปของ Tor ก่อนที่จะออก Snowflake plus Tor ให้คุณสมบัติไม่เปิดเผยตัวตนของ Tor แก่คุณ VPN ช่วยให้คุณได้รับความไว้วางใจเพียงครั้งเดียว เครื่องมือที่แตกต่างกันสำหรับปัญหาที่แตกต่างกัน
อธิบายเกล็ดหิมะ: สะพานทอร์ที่เปลี่ยนเบราว์เซอร์อาสาสมัครให้กลายเป็นพร็อกซีการหลบเลี่ยงการเซ็นเซอร์ VPN มาสเตอร์โปร