Arvan Blog

بلاگ

اتفاقات روزمره، اخبار مهم و دیگر مطالب ابر آروان

Open Categories
Close Categories
دسته‌بندی‌های بلاگ دسته‌بندی‌های بلاگ دسته‌بندی‌های بلاگ

Date ۱۹ آبان ۱۳۹۸
Category یادداشت فنی
Avatar حسین قاسمی
Date ۱۹ آبان ۱۳۹۸
Category یادداشت فنی

سرویس تلگرام در ۱۰ اردیبهشت ۱۳۹۷ به دستور یک بازپرس به‌شکل کامل مسدود شد. یکی از امکانات تلگرام استفاده از الگوریتم رمزنگاری غیرمتقارنی به نام MTProto در راستای رمزنگاری محتوا بود. بعدها تلگرام از سرویسی با نام MTProxy استفاده کرد تا بتواند به‌کمک این پروتکل با فیلترینگ ایران مقابله کند.

نفوذ بسیار بالای تلگرام در ایران باعث شد کاربران بی‌شماری علاوه‌بر استفاده از فیلترشکن‌ها به فکر استفاده از MTProxyهای رایگان بیفتند. افرادی که بی‌اطلاع از همه‌جا امروز تبدیل به بات‌نت‌های یک شبکه‌ی بزرگ خرابکاری اینترنتی شده‌اند.

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

  • این حملات مستقیمن به آدرس IP و پورت ۸۰ سرورهای لبه‌ی ابر آروان ارسال شده بودند و اثری از دامنه‌ا‎ی خاص در درخواست‌های آن‌ها یافت نمی‌شد.
  • ترافیک دریافتی کاملن تصادفی به نظر می‌رسید. حتا آنتروپی محاسبه شده روی اطلاعات درخواست‌های دریافتی تقریبن معادل ۴ بود.
  • ترافیک دریافتی در لایه‌ی ۷ بود. اما از هیچ‌یک از پروتکل‌های معروف این لایه مانند HTTP، HTTPS، FTP و… پیروی نمی‌کرد.
  • حمله کاملن داخلی بود و IPهای حمله‌کننده، در داخل کشور قرار داشتند.

تصویر ۱: درخواست‌های عادی به سرورهای لبه‌ی ابر آروان

حجم بالای این حملات می‌توانست بسیاری از وب‌سایت‌ها و سامانه‌های آنلاین را دچار اختلال کند، اما برای ساختار توزیع‌شده‎ و سامانه‌های جلوگیری از حملات DDoS ابر آروان مقابله با این حملات کار سختی به نظر نمی‌رسید، اما تحلیل این حملات به آسانی همیشه نبود.

نه از داده‌ها‎ی ارسالی می‌توانستیم سرنخی به‌دست آوریم، نه نشانی‌های درخواست‌های ارسالی الگوی مشترکی داشتند که بتوانیم از آن‌ها استفاده کنیم.

تصویر ۲: درخواست‌های ارسالی به سرورهای لبه‌ی ابر آروان در حمله

این حمله در روز سه‌شنبه ۱۴ آبان ساعت ۲۳:۳۶ دقیقه شروع و در روز یکشنبه ۱۹ آبان ساعت ۲۳:۴۶ دقیقه به پایان رسید. اوج این حملات روز چهارشنبه بود که تعداد درخواست‌های ارسالی به سمت سرورهای ابر آروان به حدود ۱۰۰ هزار درخواست در ثانیه رسید. اگرچه این حملات در مقابل حملات گسترده‌ای که در ابر آروان با آن مقابله می‌شود از شدت بسیار بالایی برخوردار نبودند اما همین حملات، امکان از دسترس خارج کردن بیش‌تر وب‌سایت‌های کشور را دارند. تفاوت مهم دیگر، وجود منشا داخلی این حملات بود که باعث پررنگ‌تر شدن آن می‌شود.

 

کشف منشا

برای یافتن منشا حملات، فعالیت‌های زیادی انجام شد که بسیاری از آن‌ها شکست خوردند. اما در ساعات انتهایی روز شنبه، به حدسی هوشمندانه دست یافتیم؛ شاید ترافیک برای سرویس MTProxy نرم‎افزار تلگرام باشد!

چند نکته در ترافیک نمونه‌گیری شده وجود داشت که این حدس را تقویت می‎کرد:

  • ترافیک سرویس MTProxy رمزنگاری شده است و ترافیک رمز شده معمولن رفتاری مانند ترافیک تصادفی دارد. هم‌چنین در پروتکل MTProto این درهم‌ریختگی تصادفی، تشدید نیز می‌شود.
  • متاسفانه با فیلتر شدن تلگرام استفاده از سرویس MTProxy برای دور زدن فیلترینگ، روی این سرویس بسیار شایع شده است که با توزیع‌شدگی شدید این حمله تطابق داشت.
  • ارسال و استفاده از سرویس‌های رایگان MTProxy در کانال‌های تلگرام امری شایع و ساده است. به‌راحتی می‎توان با تغییر نشانی IP یکی از این سرورها به نشانی ابر آروان، ترافیک مشابه ایجاد کرد.
  • به‌دلیل ساختار استفاده از سرویس MTProxy، چند نشانی به‌عنوان سرور در اختیار نرم‌افزار قرار می‌گیرد که به‌وسیله‌ی تلگرام بررسی می‌شوند. این بررسی خودکار می‌تواند منجر به ایجاد ترافیک بدون اطلاع کاربر شود.
  • یک دامین پروکسی می‌تواند دارای چندین نشانی IP باشد و تلگرام به تمام این IPها درخواست را ارسال می‌کند. اگر یکی از این IPها برای حمله استفاده شود و باقی آن‌ها درست کار کند، کاربر تنها با کندی سرویس پروکسی مواجه و متوجه قطع سرویس نمی‌شود.

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

در زیر تصویر یکی از استریم‌های TCP کپچر شده در نرم‎افزار Wireshark آمده که به‌شکل hexdump آن را مشاهده می‌کنید.

سپس قسمت پیام ارسالی را کپی و براساس پروتکل MTProto جداسازی کردیم که در شکل زیر آن را مشاهده می‌کنید.

بر اساس پروتکل MTProto، قسمت کلید اولیه از پیام جدا شده را با ترکیبی از secret سرویس MTProxy ساختیم. اما مقدار secret برای ما قابل ارزیابی نبود. با یک حدس هوشمندانه توانستیم مقدار درست secret را ارزیابی کنیم. این مقدار 0x00000000000000000000000000000000  بود! با استفاده از این مقدار توانستیم هش مورد نظر را محاسبه و به عنوان کلید رمزگشایی از آن استفاده کنیم.

 با استفاده از کلید به‌دست آمده و I.V با الگوریتم AES-256bit در مُد CTR، توانستیم کل پیام را رمزگشایی کنیم. یکی از امضاهای پروتکل MTProto داشتن مقادیر 0xefefefef یا 0xeeeeeeee و یا 0xdddddddd در بایت ۵۷ام است که در ترافیک نمونه‎گیری شده، مشاهده می‎شود.

تیم امنیت ابر آروان پس از مطمین شدن از جنس ترافیک، به کانال‌های تلگرامی ارایه دهنده‌ی سرویس MTProxy مراجعه کرد. برخی از سرورهای ارایه شده در این کانال‌ها، به نشانی IP ابرآروان resolve می‌شدند که تعدادی از این نشانی‌ها در فهرست زیر آمده است:

Atom.ChMTP.Info

walking.firewall-gateway.com

ToKhobi.MyFirewall.org

 

سخن پایانی

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

رواج بیش‌ از اندازه نسخه‌های غیر اصل از تلگرام که متهم به سو استفاده از دستگاه‌های شخصی کاربران ایرانی بودند یکی از این موارد، و اکنون نیز استفاده از MTProxy رایگان، و ترویج آن تهدید بزرگ دیگری را در برابر کاربران ایرانی قرار داده است.

در حال حاضر ابر آروان هشدار جدی می‌دهد که اگر تصمیمات سختی اتخاذ نشود، مدیران کانال‌های تلگرامی که اقدام به ترویج MTProxyهای رایگان می‌کنند، دو قدرت بسیار مهم در اختیار خواهند داشت:

  • سو استفاده از کاربران بی‌شمار ایرانی برای DDoS کردن وب‌سایت‌های یا سامانه‌های حیاتی کشور
  • گمراه کردن دستگاه‌های حاکم بر فضای سایبری و قربانی کردن سرورهای بی‌گناه با ارسال ترافیک MTProto به این سرورها

این مقاله را با دوستان خود به اشتراک بگذارید

پاسخ به لغو
Comments نظرات
Avatar ثبتینو ۱۰ دی ۱۳۹۹
Reply پاسخ
تیم خیلی خوبی دارید با اینکه کلی مخالف داره ولی من سرویستون رو به کلودفلر ترجیه دادم
Avatar sabtorotbe ۶ اردیبهشت ۱۳۹۹
Reply پاسخ
بسیار جامع بود
Avatar sabtfori ۶ اردیبهشت ۱۳۹۹
Reply پاسخ
نکات خیلی خوبی بود. ممنون
Avatar elisabt ۶ اردیبهشت ۱۳۹۹
Reply پاسخ
ممنون از انتشار تجریبات
Avatar arkabazsazi ۶ اردیبهشت ۱۳۹۹
Reply پاسخ
واقعا خسته نباشید و خدا قوت
Avatar kashtemou ۶ اردیبهشت ۱۳۹۹
Reply پاسخ
متشکرم از به اشتراک گذاری تجربتون
Avatar کرک نرم افزار ۷ فروردین ۱۳۹۹
Reply پاسخ
به طور قالب MTProxy های رایگان برای استفاده تجاری از داده هاست و امکان شنود و بازنویسی وجود داره
Avatar اسرا حسینی ۱۸ اسفند ۱۳۹۸
Reply پاسخ
مطلب واقعا جالبی بود
Avatar چراغ دانش ۸ اسفند ۱۳۹۸
Reply پاسخ
سلام خسته نباشید مطلبتون واقعا جامع بود حتما به اشتراک میذازم
Avatar https://cheraghdanesh.com/ ۸ اسفند ۱۳۹۸
Reply پاسخ
سلام خسته نباشید مقاله تون خیلی مفید بود حتما به اشتراک میذارم.
Avatar ریاحی ۱۹ بهمن ۱۳۹۸
Reply پاسخ
سلام و تشکر از مقاله خیلی خوبتون هم کاربردی بود و هم جامع موفق باشید
Avatar امین ۲۵ دی ۱۳۹۸
Reply پاسخ
ممکنه هم فقط یه سری پروکسی با استفاده از آیپی های شما ساخته شده که یکی یکی از کار افتادن و هیچ حمله ی عمدی ای در کار نبوده
Avatar رپ گد ۱۲ دی ۱۳۹۸
Reply پاسخ
سلام , ممنون گزارش فوق العاده ای بود , نکات خوبی رو فرمودید , تشکر از اشتراک گذاریتون.
Avatar امیرحسین ۶ دی ۱۳۹۸
Reply پاسخ
مطالب بسیار ارزنده ای بیان کرده بودید. از معضلات فیلترینگ به وجود آمدن همین مشکلات است
Avatar مجید عابد ۲۰ آذر ۱۳۹۸
Reply پاسخ
خیلی جالب بود فقط کاش یکم ساده تر مینوشتید یا یک منبعی برای مطالعه بیشتر افراد با دانش کمتر هم میگذاشتید.
Avatar مجید عابد ۲۰ آذر ۱۳۹۸
Reply پاسخ
ابرآروانی ها املای خودشون رو دارن که خیلی هم جالب هست پیشنهاد میکنم صفحه زیر رو مطالعه کنید: https://www.arvancloud.com/fa/culture/orthography
Avatar میثم ۲۰ آذر ۱۳۹۸
Reply پاسخ
واقعا خسته نباشید و خدا قوت . عالی بود.
Avatar یک طراح سایت ۱۶ آذر ۱۳۹۸
Reply پاسخ
مقاله بسیار خوبی بود. برای من هوش و درایت کارشناسان امنیت ابر آروان قابل تحسین هست. اصلا فکرش رو نمی کردم که بشه از این روش مردم رو قربانی کرد و بدون اینکه بدونند موبایل افراد وسیله حملات به سرورهای سایت ها بشن. به امید روزی که تعقل جایگزین تعصب بشه!
Avatar امین سلطانی ۶ آذر ۱۳۹۸
Reply پاسخ
متشکرم از به اشتراک گذاری تجربتون
Avatar امین نادری ۵ آذر ۱۳۹۸
Reply پاسخ
با تشکر از مقاله خوبتون ... فقط غلط دیکته زیادی داشت لطفا اصلاح بفرمایید
Avatar Nah im done ۳۰ آبان ۱۳۹۸
Reply پاسخ
وقتی که بدون فکر یک کاری انجام میشه همین میشه ، آموزش امنیت توی فضاهای سایبر سخت تره یا کنترل این حملات که خدا میدونه کی استفاده میکنه یا برنامه های جعلی تلگرام که خودش یک نوع نفوذ به حساب میاد یا فسادی که بعد از فیلتر شدن بیشتر شده توی اون فضا ها
Avatar resolve ۲۹ آبان ۱۳۹۸
Reply پاسخ
حمید جان یک دامین پروکسی می‌تواند دارای چندین نشانی IP باشد و تلگرام به تمام این IPها درخواست را ارسال می‌کند. اگر یکی از این IPها برای حمله استفاده شودresolve کردن با سرورها و باقی آن‌ها درست کار کند، کاربر تنها با کندی سرویس پروکسی مواجه و متوجه قطع سرویس نمی‌شود.
Avatar پخشه برترین برندهای ایرانی ۲۹ آبان ۱۳۹۸
Reply پاسخ
واقعا عالی بود. ممنون از شما.
Avatar هادی ۲۸ آبان ۱۳۹۸
Reply پاسخ
:/ خب برادر از دی ان اس کلود شما جهت مخفی کردن آیپی سرور mtproto استفاده کردن resolve بکنی آی پی شما برمیگرده اینکه چیز طبیعی هست چه ربطی به حمله داشت...
Avatar محمد ۲۸ آبان ۱۳۹۸
Reply پاسخ
سلام خسته نباشید. ممنون از اینکه این تجربه را در اختیار همه قرار دادید و امیدوارم همیشه موفق و سربلند باشید.
Avatar alireza ۲۷ آبان ۱۳۹۸
Reply پاسخ
سلام بله ما می اومدیم یک سرور خارجی می ساختیم اون رو پاپلیک میکردیم و بعد که فیلتر میشد مداوم ای پی سرور های که باهاشون مشکل داشتیم رو قرار میدادیم به سادگی سرور شرکت ها فیلتر میشد. ولی خوب برای حمله DDS باید تعداد کاربران یک پراکسی به حد بسیار بالایی برسه و مالتی آپی باشه
Avatar علی محمدیان ۲۷ آبان ۱۳۹۸
Reply پاسخ
ممنون از تیم ابرآروان بابت انتشار این تجربه. از این دست مقالات در سطح وب فارسی واقعا کم هستند. امیدوارم کم کم به سمتی حرکت کنیم که این نوع مقالات ارزشمند بیشتر توسط شرکت و افراد فعال منتشر شود.
Avatar صائب ۲۷ آبان ۱۳۹۸
Reply پاسخ
سلام توی این وضعیت الان من چطور وارد بشم وقتی برای ورود به ایمیل من فرستادید پیام رو!؟
Avatar مهدی ۲۶ آبان ۱۳۹۸
Reply پاسخ
سلام من خیلی از این proxy ها استفاده می کنم و تا این لحظه به این مسئله فکر نکرده بودم واقعا متاسف شدم از اینکه شاید من هم ابزاری شده باشم برای ضربه زدن به کسب و کار های داخلی، و همچنین از شما به خاطر این مقاله آگاهی بخش بسیار ممنونم و امیدوارم تمام کسانی که این مقاله رو خوندن در جهت کاهش استفاده از این proxy ها تلاش کنند.
Avatar امیرحسین ۲۳ آبان ۱۳۹۸
Reply پاسخ
مطلب جالبی بود
Avatar علی ۲۳ آبان ۱۳۹۸
Reply پاسخ
خوب شاید مردم MTProxy هاشون رو روی سرورهای ابرآروان آورده بوده‌اند (می‌دانم غیر قانونی است). شواهدی از فیلتر شدن MTProxy ها توسط DPI وجود داره که ممکنه به دلیل این موضوع Retryهای clientها این ترافیک رو ایجاد کرده باشه (با توجه به این که اندازه‌ی نمودار‌های ترافیک را نیاورده‌اید نمی‌دانم حدس منطقی‌ای هست یا نه) این ترد گیتهاب هم خواندنی است: https://github.com/TelegramMessenger/MTProxy/issues/35
Avatar رسول ۲۲ آبان ۱۳۹۸
Reply پاسخ
سلام بهترین کار اینه اطلاعات رو به شرکت تلگرام هم ارسال کنید تا بررسی کنند
Avatar مسعود ۲۲ آبان ۱۳۹۸
Reply پاسخ
در نظر بگیر که یک کانال تلگرامی مربوط به mtproto دست به انتشار دامنه های جعلی mtproto بزند و در اصل این دامنه ها به ip یک سرور در ابرآروان resolve میشود  در این صورت زمانی که کاربران کانال این دامنه های جعلی را به لیست mtprotoهای  برنامه تلگرتم خود اضافه کنند، برنامه تلگرام تلاش می کند که به لین سرور به عنوان یک سرور mtproto متصل شود. به دلیل اینکه برنامه تلگرام نمی تواند به این سرور متصل شود در بازه های زمانی متناوب دوباره تلاش می گند به سرور متصل شود. در این حمله از منظر سرور ترافیک لایه ۷ نامتعارف و رمز شده ای دیده می شود که برای سرور بی معنی هستند. در این وضعیت مقداری از منابع سرور صرف ایجاد و نگهداری connectionهای tcp می شود و در صورتی که تعداد کابران آلوده به صورت همزمان بسیار زیاد باشد سرور از پاسخ دادن باز می ماند. البته به نظر من تحلیل ابرآروان درست نیست. برای مثال فرض کنید ۱ میلیون نفر به صورت همزمان آلوده شده اند و همگی به یک سرور حمله می کنند. در صورتی که پس از انجام شدن hanshak tcp  یک بسته با حداکثر سایز ارسال شود و این کار هر ۱ ثانیه یکبار توسط کلاینتهای تلگرام انجام شود در مجموع در بدترین حالت پپ۱.۵ گیگابیت بر ثانیه ترافیک ایجاد می شود و این اعداد برای تولید یک حمله ddos اعداد قابل توجهی نیستند و حتی طبق ادعای ابرآروان یک در صد توان آنها هم به حساب نمی آید در نتیجه به نظرم این تحلیل صحیح نیست
Avatar رضا نجم ۲۱ آبان ۱۳۹۸
Reply پاسخ
مرسی تحلیل !
Avatar حسن اقدسی ۲۱ آبان ۱۳۹۸
Reply پاسخ
سکرت کی شون تو حلقم! ولی دمتون گرم
Avatar لارامن ۲۱ آبان ۱۳۹۸
Reply پاسخ
ممنون از انتشار تجریبات
Avatar مهدی ۲۰ آبان ۱۳۹۸
Reply پاسخ
دستمریزاد، اونجا که با حدس کلید 0x000 گفتید "توانستیم کل پیام را رمزگشایی کنیم" منظورتان چی بود؟ یعنی به تکست پیام هم دسترسی پیدا شد؟
Avatar رضا ۲۰ آبان ۱۳۹۸
Reply پاسخ
شاید از DNS های شما برای فیلتر نشدن استفاده میکردند :)))
Avatar محمد پروین ۲۰ آبان ۱۳۹۸
Reply پاسخ
عالی بود ممنونم چیزی که به ذهنم میرسه، با وجود یک چنین مشکلی، خطر بیخ گوش همه ی ما هست با یک چنین سیستمی خیلی راحت میشه هر سرویسی رو هدف قرار داد به این فکر کردم اگر IP سرور ما رو داشته باشن و بجای آروان اتک روی زیر ساخت خودمون باشه چه خواهیم کرد کی به این نتیجه می رسیم که فیلتر کردن ابزارها کار درستی نیست خدا می دونه جالب اینه که این ابزارها تو کشورهای دیگه هم مورد استفاده قرار میگیره و برای هیچ کشوری بجز ما دردسر درست نمیکنه و فقط برای ما این مشکلات رو درست میکنه
Avatar مجتبی ۲۰ آبان ۱۳۹۸
Reply پاسخ
احسنت، چه کار هوشمندانه‌ای کردن این حمله‌کننده‌ها
Avatar KasraJ ۲۰ آبان ۱۳۹۸
Reply پاسخ
بسیار گزارش جالبی بود ممنون که این تجربه رو به اشتراک گذاشتید. چه روش خلاقانه و جالبی بود برای حمله DDOS
Avatar اندیشه ۲۰ آبان ۱۳۹۸
Reply پاسخ
الان از خودتون به خودتون اتک زدند کشف کردید گزارش دادید آفرین این معمار های تخصصی چه می کنند ! ؟ بعد فیلتر بردارند که سو استفاده از ابروان کمتر بشه حملات بیاد پایین ؟ راه حل دیگه جز پاک کردن صورت مسئله هم دارید ارائه بدید ؟؟
Avatar ayr15386 ۲۰ آبان ۱۳۹۸
Reply پاسخ
ما هم این مشکل چند روز قبل تر برامون پیش اومده بود که نتونستیم عامل اش رو کشف کنیم. ممنون برای اشتراک
Avatar تاروت رنگی ۲۰ آبان ۱۳۹۸
Reply پاسخ
متشکرم از اشتراک گذاری تجربه فقط اگر یکم به نگارش املایی کلمات هم توجه می کردید عالی تر می شد. به هر حال موفق باشید.
Avatar user ۲۰ آبان ۱۳۹۸
Reply پاسخ
یعنی چی ترافیک رمز گزاری شده است ؟ ترافیک یعنی چی ؟ شما تعاریف پایه ای هم یعنی بلد نیستید ؟ لطفاً از الفاظ درست استفاده کنید تا به دانش ابتدایی شما شک نکنیم . اینها چیه تحویل ملت میدید ؟ کاری ندارم که کلاً مطلبی که گفتید در علم شبکه عملاً چرت هست . شما چرا باید edge تون باز باشه که بخوان ترافیک روش بفرستن همینطوری ؟
Avatar حمید شریعتی ۲۰ آبان ۱۳۹۸
Reply پاسخ
متوجه نشدم. resolve کردن با سرورهای ابر آروان چه ربطی به حمله داشت؟ حمله کننده هویت داشته یا ماهیت وجود mtproxy و resolveشون باعث وجود انباشت درخواست شده؟
Avatar https://hostingtag.info/ ۲۰ آبان ۱۳۹۸
Reply پاسخ
متاسفانه فیلترینگ تلگرام مرگ خاموش کسب و کارهای ایرانی بود و هنوز هم آثارش ادامه داره
Avatar ایران سرور ۱۹ آبان ۱۳۹۸
Reply پاسخ
نکات خیلی خوبی بود. ممنون از اشتراک گذاری گزارش
Avatar نـــــــــNedaـــــــدا ۱۹ آبان ۱۳۹۸
Reply پاسخ
این نوع رو دیگه ب عقل جن هم نمیرسه واقعا :)) خسته نباشید واقعا حتی پیدا کردنش هم میشه گفت ب عقل نمیرسه ، لایک ♥
Avatar I am khafan ۱۹ آبان ۱۳۹۸
Reply پاسخ
آفرین به شما بابت انتشار تجربتون
Avatar Milad ۱۹ آبان ۱۳۹۸
Reply پاسخ
بسیار جامع بود تشکر
Avatar امیر گیلان ۱۹ آبان ۱۳۹۸
Reply پاسخ
ممنون از مقاله خوبتون