۱۳۹۳/۱۱/۳۰

بررسی پروتکل استتاری Trojan

پروتکل Trojan یکی از ابزارهای نوین مقابله با فیلترینگ و سانسور اینترنتی است که با استفاده از رمزنگاری TLS و تقلید دقیق از رفتار ترافیک HTTPS واقعی توانایی عبور از فایروال‌های پیشرفته مانند DPI را دارد. برخلاف VPNهای کلاسیک که با امضاهای مشخص‌شان قابل شناسایی‌اند Trojan تلاش می‌کند کاملا غیرقابل تشخیص و استتار شده در ترافیک وب عادی ظاهر شود.

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

معماری و ساختار فنی Trojan

تروجان بر پایه معماری Client-Server کار می‌کند. سرور و کلاینت هر دو از پورت HTTPS (معمولا 443) استفاده می‌کنند. ویژگی‌های فنی اصلی آن به شرح زیر است:

• استفاده از TLS 1.2 یا 1.3 برای رمزنگاری کامل ترافیک.

• عدم استفاده از امضای ثابت (fingerprint) در handshake اولیه.

• پیاده‌سازی به زبان Go یا Rust برای بهره‌وری بالا.

• معمولا سرور Trojan همراه با یک وب‌سرور واقعی (مثل Nginx یا Caddy) پشت یک Reverse Proxy پیکربندی می‌شود.

• کلاینت با استفاده از پسورد مخفی (shared secret) به سرور احراز هویت می‌کند.

نحوه عملکرد و پنهان‌سازی در TLS

تروجان طوری طراحی شده که حتی برای سیستم‌های فیلترینگ پیشرفته مانند Deep Packet Inspection نیز غیرقابل تشخیص باشد:

• تمام ترافیک از طریق TLS استاندارد منتقل می‌شود.

• کل ترافیک Trojan از نظر ظاهری کاملا مشابه یک اتصال HTTPS واقعی به‌نظر می‌رسد.

• اگر کاربر با سرور احراز هویت نکند سرور پاسخ عادی HTTPS ارائه می‌دهد، گویی اصلا پروتکل Trojan وجود ندارد (fail-safe fallback).

• در برخی پیکربندی‌ها از HTTP/2 نیز استفاده می‌شود تا رفتار مرورگرهای واقعی را تقلید کند.

امنیت و رمزنگاری

• از TLS معتبر با گواهی SSL واقعی استفاده می‌کند که معمولا توسط Let's Encrypt یا CA معتبر صادر شده است.

• انتقال داده بین کلاینت و سرور end-to-end encrypted است.

• امنیت وابسته به محرمانه بودن پسورد مشترک و حفظ حریم گواهی TLS است.

• برخلاف برخی پروتکل‌ها، Trojan از رمزنگاری جداگانه لایه‌ای (layered encryption) استفاده نمی‌کند؛ امنیت به رمزنگاری TLS متکی است.

مقایسه با دیگر پروتکل‌ها

• سطح استتار: پروتکل Trojan سطح استتار بسیار بالایی دارد و به سختی از HTTPS واقعی قابل تشخیص است در حالی که Shadowsocks سطح استتار متوسطی دارد و V2Ray نیز سطح استتار بالایی دارد ولی نیازمند پیکربندی پیچیده‌تر است. در مقابل، OpenVPN به دلیل استفاده از امضاهای قابل شناسایی سطح استتار پایینی دارد.

• نوع رمزنگاری: Trojan از رمزنگاری مبتنی بر TLS بهره می‌برد. Shadowsocks از الگوریتم‌های AEAD برای رمزنگاری استفاده می‌کند. V2Ray معمولا از پروتکل VMess همراه با TLS استفاده می‌کند. OpenVPN نیز بسته به پیکربندی می‌تواند از TLS یا OpenSSL بهره گیرد.

• توانایی عبور از DPI: تروجان و V2Ray به دلیل طراحی خاص‌شان توانایی بالایی در عبور از سامانه‌های DPI دارند در حالی که Shadowsocks در این زمینه در حد متوسط عمل می‌کند. OpenVPN معمولا به سادگی توسط DPI شناسایی می‌شود.

• پیچیدگی پیاده‌سازی: پیاده‌سازی Trojan نسبتا متوسط است؛ نه به سادگی Shadowsocks و نه به پیچیدگی V2Ray. V2Ray به دلیل تنوع پروتکل‌ها و ساختار چندلایه‌اش پیچیده‌تر است. OpenVPN نیز برای پیاده‌سازی به سطح متوسطی از دانش نیاز دارد.

• امکان تونل‌سازی تمام سیستم: همه پروتکل‌ها از جمله Trojan، Shadowsocks، V2Ray و OpenVPN با ابزارهای جانبی مانند tun2socks یا VPN clientهای اختصاصی می‌توانند تونل کامل سیستم ایجاد کنند.

• سرعت خام (Raw Speed): Trojan و Shadowsocks سرعت بالایی ارائه می‌دهند. V2Ray به دلیل ساختار پیچیده‌تر کمی کندتر است. OpenVPN معمولا سرعت متوسطی دارد به‌ویژه در حالت TCP.

مزایای تروجان

• پنهان‌کاری قوی: قابل تشخیص از HTTPS نیست.

• پورت استاندارد: استفاده از پورت 443 که همیشه باز است.

• عملکرد پایدار: سرعت مناسب و latency پایین.

• انعطاف‌پذیر: می‌تواند پشت CDN یا reverse proxy پنهان شود.

• امنیت بالا: مبتنی بر TLS با گواهی رسمی.

موارد استفاده و محبوبیت

• کاربران در کشورهایی با فیلترینگ شدید (ایران، چین، روسیه).

• خبرنگاران و کنشگران نیازمند حفظ امنیت ارتباطات.

• عبور از فایروال‌های سازمانی با DPI فعال.

• استفاده در پروژه‌های ترکیبی با CDN، Cloudflare یا Nginx.

پرسش‌های متداول

آیا Trojan برای استفاده شخصی امن است؟
بله، به شرطی که گواهی TLS معتبر و پسورد قوی استفاده شود.

آیا فایروال‌ها می‌توانند ترافیک Trojan را شناسایی کنند؟
نه به‌راحتی. ترافیک Trojan تقریبا غیرقابل تشخیص از HTTPS عادی است.

چه تفاوتی بین Trojan و V2Ray وجود دارد؟
Trojan سبک‌تر، سریع‌تر و آسان‌تر برای تنظیم است ولی V2Ray انعطاف‌پذیرتر است.

آیا Trojan روی موبایل قابل استفاده است؟
بله، از طریق اپ‌هایی مانند Igniter، Shadowrocket یا دست‌ساز با tun2socks.

واژگان کلیدی

• AEAD: مخفف Authenticated Encryption with Associated Data، نوعی الگوریتم رمزنگاری که هم محرمانگی داده‌ها را تضمین می‌کند و هم یکپارچگی آن را بررسی می‌نماید.

• CDN: مخفف Content Delivery Network، شبکه‌ای از سرورهای توزیع‌شده که داده‌ها را از نزدیک‌ترین موقعیت جغرافیایی به کاربر ارسال می‌کند تا سرعت بارگذاری افزایش یابد و امکان پنهان‌سازی سرور واقعی فراهم شود.

• Client-Server: مدل ارتباطی که در آن یک طرف (کلاینت) درخواست داده یا خدمات می‌کند و طرف دیگر (سرور) پاسخ را فراهم می‌آورد.

• DPI: مخفف Deep Packet Inspection، تکنولوژی‌ای برای تحلیل دقیق بسته‌های داده در شبکه که فایروال‌ها برای شناسایی و فیلترکردن پروتکل‌ها از آن استفاده می‌کنند.

• Fallback: در زمینه Trojan به وضعیتی اشاره دارد که اگر کلاینت به درستی احراز هویت نکند سرور پاسخ HTTPS معمولی ارائه می‌دهد تا ترافیک همچنان طبیعی به نظر برسد.

• Fail-safe: طراحی مقاومی که در صورت بروز مشکل عملکرد سیستم به‌گونه‌ای ادامه می‌یابد که آسیب یا تشخیص نهایی به حداقل برسد.

• HTTPS: پروتکل امن انتقال صفحات وب که از TLS برای رمزنگاری ارتباط استفاده می‌کند.

• Igniter: یکی از کلاینت‌های Trojan برای سیستم‌عامل اندروید که به کاربر اجازه اتصال به سرور Trojan را می‌دهد.

• Nginx: یک وب‌سرور قدرتمند و سبک که اغلب برای reverse proxy در کنار Trojan به کار می‌رود.

• OpenSSL: کتابخانه‌ای متن‌باز برای پیاده‌سازی پروتکل‌های رمزنگاری از جمله TLS و SSL که در OpenVPN نیز استفاده می‌شود.

• Proxy: سروری واسطه که ترافیک اینترنت را بین کلاینت و مقصد نهایی هدایت می‌کند، معمولا برای عبور از محدودیت یا افزایش حریم خصوصی.

• Reverse Proxy: سروری که درخواست‌ها را از کاربران دریافت کرده و به سرورهای پشتی هدایت می‌کند در عین حال می‌تواند لایه امنیتی یا پنهان‌سازی را فراهم کند.

• Shadowsocks: یک پروتکل پراکسی رمزنگاری‌شده ساده و سریع، طراحی‌شده برای عبور از فیلترینگ.

• SOCKS5: نوعی پروتکل پراکسی عمومی که می‌تواند هر نوع ترافیکی (TCP/UDP) را عبور دهد؛ معمولا همراه با Trojan یا Shadowsocks برای تونل‌سازی کامل استفاده می‌شود.

• TLS: مخفف Transport Layer Security، استاندارد رمزنگاری‌شده برای حفاظت از ارتباطات اینترنتی؛ نسخه امن HTTPS.

• tun2socks: ابزار نرم‌افزاری که ترافیک TCP/UDP سیستم‌عامل را از طریق پراکسی SOCKS5 ارسال می‌کند و برای تونل کامل با Trojan استفاده می‌شود.

• V2Ray: پروژه‌ای انعطاف‌پذیر برای تونل‌سازی و دور زدن فیلترینگ که از پروتکل‌هایی مثل VMess پشتیبانی می‌کند.

• VMess: پروتکل رمزنگاری‌شده اختصاصی V2Ray که از احراز هویت، مخفی‌سازی و ساختار چندلایه برای عبور از فیلترینگ استفاده می‌کند.

• VPN: مخفف Virtual Private Network، ارتباط رمزنگاری‌شده بین کاربر و سرور برای عبور از فیلتر و افزایش امنیت.


هیچ نظری موجود نیست:

ارسال یک نظر