دانه برف (نرم‌افزار)

دانه برف (به انگلیسی: Snowflake)، یک بسته نرم‌افزاری برای یاری رساندن به دیگران جهت دورزدن سانسور اینترنت – با عبور دادن درخواست‌های داده از رله‌ها – است. گره‌های رله Snowflake بر این اساس هستند که توسّط مردم کشورهایی ایجاد شوند که در آنجا Tor و Snowflake مسدود نشده‌اند. آنگاه مردمی که تحت تأثیر سانسور قرار گرفته‌اند، از یک کلاینت (کارخواه) Snowflake که همراه با مرورگر Tor یا مرورگر پیازی ارائه می‌شود، استفاده می‌کنند، برای اینکه به شبکه Tor – با استفاده از رله‌های Snowflake به عنوان سرورهای پراکسی – دسترسی پیدا کنند. دسترسی به شبکه Tor می‌تواند به نوبه خود دسترسی به سایر سرویس‌های مسدود شده (مانند وب‌سایت‌های مسدود شده) را فراهم کند. یک گره Snowflake می‌تواند از طریق نصب کردن یک افزونه مرورگر، نصب کردن یک برنامه مستقل، یا مرورکردن یک صفحه وب با یک رله تعبیه شده Snowflake، ایجاد شود. آن گره هرگاه که مرورگر یا برنامه به اینترنت وصل می‌شود، اجرا می‌شود.

Tor درخواست‌های محتوا را از میان زنجیره‌ای از گره‌های رله Tor، شامل گره‌های Snowflake، عبور می‌دهد (مسیریابی پیازی). هر گره در زنجیره فقط آدرس‌های دو گره مجاور خود را می‌داند و نمی‌تواند هیچ‌کدام از داده‌های دیگری را که از آن عبور می‌کند، رمزگشایی نماید؛ که این موضوع، ردگیری و مسدودسازی ترافیک را بسیار دشوارتر می‌کند. یک اقدام متقابل عادّی این است که گره‌های Tor مسدود شوند؛ امّا تعداد و ذات تعویض پذیر گره‌های Snowflake کارِ شناسایی و مسدود سازی اتّصالات به این گره‌ها را دشوارتر می‌نماید.

Tor خودش در بعضی کشورها غیرقانونی است. همانند اینترنت، آن می‌تواند هرگونه محتوایی را انتقال دهد و برخی انواع از محتوا در برخی کشورها غیرقانونی هستند.

تاریخچه 
Snowflake از سِرین (Serene) سرچشمه گرفت، یک نفوذگر و مهندس سابق Google و پیانوزن کنسرت. نام «دانه برف» به عنوان استعاره‌اش برای تعداد زیادی از پراکسی‌های کوتاه‌مدّت – در تناسب با "ICE Negotiation" – ابداع شد. سه برنامه‌نویس اوّلین نسخه را در ژانویه ۲۰۱۶ منتشر کردند. در سال ۲۰۱۹، آن به عنوان یک افزونه مرورگر برای FireFox و Chrome در دسترس قرار گرفت. آن می‌تواند روی مرورگرهای مشتق شده اعم از Brave و Microsoft Edge نیز اجرا شود.

عملکرد 

بسته‌های داده اینترنتی عادّی هنگام دریافت شدن، با مبدأ اصلی و گیرنده نهایی داده برچسب زده می‌شوند. به‌طور مثال، یک بسته حاوی متن رمزنگاری شده این مقاله، با مقصد (آدرس IP رایانه خواننده) و مبدأ (آدرس IP یک سرور ویکی‌پدیا) برچسب زده می‌شود. این بدان معناست که حتّی اگر محتوای حقیقی رمزنگاری شده باشد، یک وسیله سانسور می‌تواند تمام بسته‌ها از جانب مبدأهای خاص را مسدود کند (برای نمونه، مسدودسازی هر بسته‌ای که از جانب ویکی‌پدیا می‌آید).

از طرف دیگر، اتّصالات Tor ترافیک رمزنگاری شده را از میان زنجیره‌ای از پراکسی‌ها انتقال می‌دهند. هر گره فقط آدرس‌های دو گره مجاور خود را می‌داند، که این موضوع، ردگیری ترافیک را بسیار سخت‌تر می‌کند. پیام مورد نظر در چندین لایه رمزنگاری می‌شود؛ بنابراین این عمل «مسیریابی پیازی» نامیده می‌شود. یک تشبیه فیزیکی این است که یک پاکت نامه را که پیام حقیقی را حمل می‌کند در داخل یک مجموعه تودرتو از پاکت نامه‌ها ببندیم، به طوری که هر پاکت نامه یک آدرس متفاوت روی آن داشته باشد؛ هر سرور بیرونی‌ترین پاکت نامه را که طبق آدرس روی آن به دستش رسیده‌است، باز می‌کند و باقیمانده بسته را به دست آدرسی که سپس آشکار می‌شود، می‌رساند. از آنجا که مبدأ محتوا پشت لایه‌هایی از سرورهای پراکسی مخفی است، مبدأهای مسدود شده همچنان می‌توانند در دسترس باشند و مشخّص نیست که کدام گیرنده به چه محتوایی دسترسی پیدا کرده‌است.

از آنجایی که Tor می‌تواند برای دسترسی به تارنماهای مسدود شده مورد استفاده قرار گیرد، برخی کشورها، از جمله ایران و روسیه، شبکه Tor را مسدود می‌کنند. این بدان معناست که کاربران Tor نمی‌توانند به سادگی به یک گره ورودی Tor که عموماً شناخته شده‌است، وصل شوند. همه گره‌های شناخته شده Tor توسّط وسایل سانسور مسدود خواهند شد. به جای آن، کاربران به یک پل Tor وصل می‌شوند، سروری که به‌طور محرمانه‌ای یک نقطه ورودی Tor است. وسایل سانسور، به ترتیب، جویای شناسایی و مسدودسازی پل‌های Tor هستند، که آن‌ها را با استفاده از بازرسی ژرف بسته‌ها شناسایی می‌کنند.

Snowflake تعداد زیادی از گره‌های ورودی Tor را که هر از گاهی تغییر می‌کنند، ارائه می‌دهد. یک کاربر با درخواست کردن از یک سرور دلّال (broker)، آدرس IP یک گره Snowflake را که در حال حاضر فعّال است، تهیّه می‌کند؛ سرور دلّال (broker) به نوبه خود از دامنه صوری استفاده می‌کند تا تظاهر کند که یک تارنمای کلان است. سپس کاربر مستقیماً با گره Snowflake – که داده‌ها را به سوی رله‌های شبکه Tor عبور می‌دهد – صحبت می‌کند. ترافیک شبیه به یک ترافیک نظیر-به-نظیر عادّی است، مانند همانی که توسّط بسیاری از برنامه‌های ویدئو-کنفرانس استفاده می‌شود.

یک گره Snowflake هرگاه که مرورگر یا برنامه به اینترنت متّصل می‌شود، اجرا می‌شود. اگر میزبان گره، یک IP پویا داشته باشد، آن گره آدرس IP خود را در طول زمان تغییر خواهد داد. همچنین ببینید، شبکه ad hoc.

از این رو، گره‌های Snowflake به عنوان گره‌های ورودی Tor استفاده می‌شوند، نه به عنوان گره‌های خروجی. گره‌های خروجی آن سر دیگر زنجیره هستند. آن‌ها گره‌هایی از Tor هستند که می‌دانند که چه محتوایی درخواست شد؛ با اینکه آن‌ها نمی‌دانند که چه کسی آن را درخواست کرد (برای نمونه، آن‌ها می‌دانند که یک کاربر داشت با یک سرور ویکی‌پدیا ارتباط می‌گرفت، امّا آن‌ها آدرس IP کاربر را نمی‌دانند). گره‌های خروجی ممکن است با اقدام قانونی در کشوری که در آن میزبانی می‌شوند، مواجه شوند در صورتی که آن‌ها محتوایی را انتقال دهند که در آن کشور غیرقانونی است (لذا آن‌ها معمولاً در کشورهایی اداره می‌شوند که فیلترینگ اینترنت در آن‌ها کم است). احتمالش کم است که میزبان‌های گره Snowflake با چنین مسئولیّتی مواجه شوند، چرا که آنها نمی‌دانند که چه محتوایی را دارند انتقال می‌دهند. هرچند، کشورهایی وجود دارند که در آن‌ها استفاده از Tor برای هرگونه هدفی غیرقانونی است، مانند روسیه و ایران.

فنّی 
Snowflake از WebRTC استفاده می‌کند تا به مرورگرها اجازه دهد تا مستقیماً با یک نفر دیگر ارتباط برقرار کنند. نصب کردن یک افزونه مرورگر، یا باز نگه داشتن یک سربرگ به یک صفحه وب حاوی کد تعبیه شده درست، باعث می‌شود که مرورگر یک نفر به عنوان یک رله فعّالیّت کند. تعبیه کردن یک نشان Snowflake در یک تارنما به بازدید کنندگان اجازه می‌دهد تا مرورگرشان را تبدیل به یک رله کنند، دقیقاً همان‌طور که نصب کردن افزونه این امکان را می‌دهد، امّا با کلیک کردن یک دکمه روی تارنما در عوض نصب کردن نرم‌افزار. Snowflake نیز می‌تواند به عنوان یک برنامه مستقل در یک ظرف Docker اجرا شود.

عبور دادن ترافیک از رله، میزان استفاده پهنای باند میزبان گره را افزایش می‌دهد، که این موضوع ممکن است مشکلی باشد برای آنهایی که محدودیّت‌های پهنای باند در طرح‌های اینترنتی‌شان دارند. در عمل، میزبانی کردن یک گره به نظر نمی‌رسد که به‌طور قابل ملاحظه‌ای اتّصال اینترنتی یک نفر را کُند نماید یا در مرور وب اختلال ایجاد کند.

توضیحات فنّی مفصّل در GitLab منتشر شده‌اند.

پادکارها 
پادکارهایی که گمان می‌شود که هم‌اکنون از سوی روسیه در حال استفاده علیه Snowflake می‌باشند، شامل اثرانگشت نگاری مرورگر میزبان‌های Snowflake و سپس مسدودسازی آنها می‌باشند. همچنین وسایل سانسور ممکن است Tor را نصب و استفاده کنند، آنگاه تمام آدرس‌های IP را که به عنوان سرورهای Snowflake پیشنهاد می‌شوند، مسدود نمایند. هردوی این شیوه‌ها دچار ضعف می‌شوند وقتی که تعداد بیشتری از سرورها وجود داشته باشند.

وسایل سانسور ممکن است تلاش کنند تا آدرس IP دلّال (broker) را مسدود نمایند. برای دورزدن این، کلاینت Snowflake دامنه صوری را به کار می‌گیرد. این باعث می‌شود که عملاً ناممکن باشد که وسیله سانسور یک تارنمای تنها را مسدود کند بدون اینکه همه تارنماهای دیگری را که روی سرویس ابری یکسانی میزبانی می‌شوند، مسدود نماید. گوگل و آمازون امثالی از چنین سرویس‌هایی هستند. آنها صدها هزار تارنما را میزبانی می‌کنند. مسدودسازی همه سرورهای یکی از این میزبان‌های کلان اثرات جانبی مخرّبی دارد. هرچند، ارائه‌دهنده ابری می‌تواند دامنه صوری را مسدود کند و اغلب این کار را با جدیّت انجام می‌دهد.

اگر اتّصالات خارجی از سوی دیتاسنترها اجازه داده شوند، امّا سرویس‌های سیّار و خانگی به اتّصالات محلّی محدود شوند، آنگاه پل‌های Tor ممکن است به طرز مخفیانه و غیرقانونی‌ای در دیتاسنترهای محلّی راه‌اندازی شوند. این موضوع خطرات واضحی دارد.

وقتی که یک کشور دسترسی به اتّصالات اینترنتی خارجی را از همه جهت می‌بندد – اساساً کشور را از اینترنت جهانی قطع می‌کند – آنگاه Snowflake بی‌فایده می‌شود. این عمل مکرّراً در ایران و برخی کشورهای دیگر انجام شده‌است؛ آن، هرچند، برای کسب و کارها بد است (در ایران در سال ۲۰۲۲، هزینه‌اش ۳۷ میلیون دلار ایالات متّحده در یک روز تخمین زده شد)، بنابراین آن عمل معمولاً فقط برای مدّت‌های کوتاه صورت می‌گیرد. وقتی که اینترنت کلّاً بسته می‌شود، شبکه‌های ad hoc گوشی‌های هوشمند نظیر-به-نظیر استفاده شده‌اند، که تماماً جایگزین زیرساخت اینترنتی مرسوم می‌شوند؛ Tor می‌تواند روی چنین شبکه‌هایی استفاده شود (Briar (نرم‌افزار) را ببینید).

مقایسه با VPNها 
یک پراکسی ساده، مانند یک شبکه خصوصی مجازی (VPN)، فقط یک رله تنها دارد. این بدین معناست که آدرس سرور VPN لازم است تا برای هر کاربری شناخته شود؛ که این موضوع کار را برای مسدودسازی VPN آسان‌تر می‌کند. برای نمونه، در آغاز اکتبر ۲۰۲۲، در طول اختلالات اینترنت مربوط به خیزش ۱۴۰۱ ایران، VPNها در ایران هرچند دقیقه یکبار دچار قطع اتّصال می‌شدند. خود VPN نیز می‌داند که کدام کاربران نهایی به کدام صفحات وب درخواست دادند، که این موضوع به VPNها اجازه می‌دهد تا در نظارت شرکت کنند. در برخی کشورها مانند ایران، VPNها غیرقانونی هستند و ممکن است زیر نظر دولت باشند.

کاربردها 
Snowflake رسید تا به‌طور وسیعی به‌طور آنلاین در اوّلین هفته اکتبر ۲۰۲۲ مورد بحث قرار گیرد، به عنوان راهی برای مقابله با محدودیّت‌های اینترنتی در ایران در طول خیزش ۱۴۰۱ ایران؛ و یک راهنما به زبان فارسی عرضه شد.

در سال ۲۰۲۲، دولت روسیه تلاش‌هایش را افزایش داد تا دسترسی به Tor را از طریق روش‌های فنّی و سیاسی مسدود کند و شبکه Tor یک افزایشی را در ترافیک از سوی روسیه با استفاده از Snowflake گزارش کرد.

Snowflake با شبکه Tor یکپارچه شده‌است. از سال ۲۰۲۲ به بعد، استفاده از شبکه Tor دارد در روسیه، بلاروس و ایران متداول‌تر می‌شود، همان‌طور که سانسور اینترنت در این کشورها شدیدتر شده‌است. آن همچنین توسّط مجرمانی که در محتوای مستهجن کودکان، تجارت مواد مخدّر، تروریسم و پولشویی شرکت داشته‌اند، استفاده می‌شود.

جستارهای وابسته 
 سایفون از شیوه‌های ضدّ فیلتر گوناگونی استفاده می‌کند
 شبکه‌های ad hoc گوشی‌های هوشمند، یک سامانه نظیر-به-نظیر که می‌تواند وقتی که زیرساخت اینترنتی مرسوم تماماً بسته شده‌است، استفاده شود
 Briar (نرم‌افزار) از Tor استفاده می‌کند
 Sneakernet, یک تکنیک که به‌طور وسیعی در کشورهای با دسترسی اینترنت کم استفاده می‌شود.
 توشه از تجهیزات گیرنده تلویزیون ماهواره‌ای برای بارگیری (ولی نه بارگذاری) فایل‌ها استفاده می‌کند.

منابع 

تور (سامانه نرم‌افزاری)