تاریخچه مبارزه با سانسور: چگونه روش پروکسی فلش ایجاد شده توسط دانشمندان MIT و استنفورد کار می کند

تاریخچه مبارزه با سانسور: چگونه روش پروکسی فلش ایجاد شده توسط دانشمندان MIT و استنفورد کار می کند

در اوایل دهه 2010، یک تیم مشترک از متخصصان دانشگاه استنفورد، دانشگاه ماساچوست، پروژه Tor و SRI International نتایج خود را ارائه کردند. پژوهش راه های مبارزه با سانسور در اینترنت

دانشمندان روش های دور زدن انسداد را که در آن زمان وجود داشت تجزیه و تحلیل کردند و روش خود را به نام فلش پروکسی پیشنهاد کردند. امروز در مورد ماهیت و تاریخچه توسعه آن صحبت خواهیم کرد.

معرفی

اینترنت به عنوان یک شبکه باز برای انواع داده ها شروع شد، اما با گذشت زمان، بسیاری از کشورها شروع به فیلتر کردن ترافیک کردند. برخی از ایالت ها سایت های خاصی مانند یوتیوب یا فیس بوک را مسدود می کنند، در حالی که برخی دیگر دسترسی به محتوایی را که حاوی مطالب خاصی است ممنوع می کنند. انسدادهای یک نوع یا دیگری در ده ها کشور از مناطق مختلف از جمله اروپا استفاده می شود.

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

معمولاً توسعه دهندگان سیستم های پروکسی برای دور زدن انسداد با سه وظیفه روبرو هستند که باید حل شوند:

  1. پروتکل های قرار ملاقات پروتکل rendezvous به کاربران در یک کشور مسدود شده اجازه می دهد تا مقادیر کمی از اطلاعات را برای برقراری ارتباط با یک پروکسی ارسال و دریافت کنند - برای مثال در مورد Tor، از rendezvous برای توزیع آدرس IP رله های Tor (پل ها) استفاده می کند. چنین پروتکل هایی برای ترافیک با نرخ پایین استفاده می شوند و مسدود کردن آنها چندان آسان نیست.
  2. ایجاد یک پروکسی سیستم‌های غلبه بر انسداد نیاز به پراکسی‌هایی در خارج از منطقه با اینترنت فیلتر شده دارند تا ترافیک را از مشتری به منابع هدف و برگشت منتقل کنند. سازمان‌دهندگان بلاک ممکن است با جلوگیری از یادگیری آدرس‌های IP سرورهای پراکسی و مسدود کردن آنها توسط کاربران، پاسخ دهند. برای مقابله با چنین حمله سیبیل سرویس پروکسی باید بتواند دائماً پراکسی های جدید ایجاد کند. ایجاد سریع پروکسی های جدید جوهره اصلی روش پیشنهاد شده توسط محققان است.
  3. استتار. هنگامی که یک کلاینت آدرس یک پروکسی مسدود نشده را دریافت می کند، باید به نحوی ارتباط خود را با آن پنهان کند تا با استفاده از ابزارهای تجزیه و تحلیل ترافیک، جلسه را نتوان مسدود کرد. باید به عنوان ترافیک «معمول» استتار شود، مانند تبادل داده با فروشگاه آنلاین، بازی های آنلاین و غیره.

در کار خود، دانشمندان رویکرد جدیدی را برای ایجاد سریع پروکسی ها پیشنهاد کردند.

چطور کار می کند؟

ایده کلیدی این است که از چندین وب سایت برای ایجاد تعداد زیادی پراکسی با طول عمر کوتاه و بیش از چند دقیقه استفاده کنید.

برای انجام این کار، شبکه ای از سایت های کوچک در حال ایجاد است که متعلق به داوطلبان است - مانند صفحات اصلی کاربرانی که در خارج از منطقه زندگی می کنند با مسدود شدن اینترنت. این سایت ها به هیچ وجه با منابعی که کاربر می خواهد به آنها دسترسی داشته باشد مرتبط نیستند.

یک نشان کوچک در چنین سایتی نصب شده است که یک رابط ساده است که با استفاده از جاوا اسکریپت ایجاد شده است. نمونه ای از این کد:

<iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe>

این نشان به شکل زیر است:

تاریخچه مبارزه با سانسور: چگونه روش پروکسی فلش ایجاد شده توسط دانشمندان MIT و استنفورد کار می کند

هنگامی که یک مرورگر از مکانی خارج از منطقه مسدود شده با نشان به چنین سایتی می رسد، شروع به انتقال ترافیک به سمت این منطقه و بازگشت می کند. یعنی مرورگر بازدیدکننده وب سایت به یک پروکسی موقت تبدیل می شود. هنگامی که آن کاربر سایت را ترک می کند، پروکسی بدون باقی ماندن هیچ اثری از بین می رود.

در نتیجه، می توان عملکرد کافی برای پشتیبانی از تونل Tor را به دست آورد.

علاوه بر Tor Relay و کلاینت، کاربر به سه عنصر دیگر نیاز دارد. به اصطلاح تسهیل کننده که درخواست های مشتری را دریافت می کند و آن را به پروکسی متصل می کند. ارتباط با استفاده از افزونه های حمل و نقل روی مشتری (اینجا نسخه کروم) و Tor-relay از WebSockets به TCP خالص سوئیچ می کند.

تاریخچه مبارزه با سانسور: چگونه روش پروکسی فلش ایجاد شده توسط دانشمندان MIT و استنفورد کار می کند

یک جلسه معمولی با استفاده از این طرح به صورت زیر است:

  1. کلاینت Tor، یک کلاینت پروکسی فلش (افزونه مرورگر) را اجرا می کند و با استفاده از پروتکل rendezvous درخواست ثبت نام را برای تسهیل کننده ارسال می کند. افزونه شروع به گوش دادن به اتصال از راه دور می کند.
  2. پروکسی Flash به صورت آنلاین ظاهر می شود و با تسهیل کننده تماس می گیرد تا با مشتری ارتباط برقرار کند.
  3. تسهیل کننده ثبت نام را برمی گرداند و داده های اتصال را به پروکسی فلش می دهد.
  4. پروکسی به سرویس گیرنده ای که داده هایش برای آن ارسال شده است متصل می شود.
  5. پروکسی به پلاگین حمل و نقل و رله Tor متصل می شود و شروع به تبادل داده بین مشتری و رله می کند.

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

نتیجه

پروژه پروکسی فلش چندین سال توسعه یافت و در سال 2017 سازندگان از آن پشتیبانی نکردند. کد پروژه در آدرس موجود است این لینک. پراکسی های فلش با ابزارهای جدیدی برای دور زدن مسدود کردن جایگزین شده اند. یکی از آنها پروژه Snowflake است که بر اساس اصول مشابه ساخته شده است.

منبع: www.habr.com

اضافه کردن نظر