هشدار بزرگ ابر آروان: حملات گسترده ‏DDoS‏ با سو استفاده از ‏MTProxy‏های ‏تلگرام ‏ - وبلاگ ابر آروان

ابر آروان

زیرساخت یکپارچه ابری

۱۹ آبان ۱۳۹۸

هشدار بزرگ ابر آروان: حملات گسترده ‏DDoS‏ با سو استفاده از ‏MTProxy‏های ‏تلگرام ‏

سرویس تلگرام در ۱۰ اردیبهشت ۱۳۹۷ به دستور یک بازپرس به‌شکل کامل مسدود شد. یکی از امکانات تلگرام استفاده از الگوریتم رمزنگاری غیرمتقارنی به نام 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 به این سرورها

۴۱ ديدگاه

برچسب‌ها:




  • امیر گیلان گفت:

    ممنون از مقاله خوبتون

  • Milad گفت:

    بسیار جامع بود تشکر

  • I am khafan گفت:

    آفرین به شما بابت انتشار تجربتون

  • این نوع رو دیگه ب عقل جن هم نمیرسه واقعا :))
    خسته نباشید واقعا حتی پیدا کردنش هم میشه گفت ب عقل نمیرسه ، لایک ♥

  • نکات خیلی خوبی بود. ممنون از اشتراک گذاری گزارش

  • متاسفانه فیلترینگ تلگرام مرگ خاموش کسب و کارهای ایرانی بود و هنوز هم آثارش ادامه داره

  • متوجه نشدم. resolve کردن با سرورهای ابر آروان چه ربطی به حمله داشت؟ حمله کننده هویت داشته یا ماهیت وجود mtproxy و resolveشون باعث وجود انباشت درخواست شده؟

  • user گفت:

    یعنی چی ترافیک رمز گزاری شده است ؟ ترافیک یعنی چی ؟ شما تعاریف پایه ای هم یعنی بلد نیستید ؟
    لطفاً از الفاظ درست استفاده کنید تا به دانش ابتدایی شما شک نکنیم .
    اینها چیه تحویل ملت میدید ؟
    کاری ندارم که کلاً مطلبی که گفتید در علم شبکه عملاً چرت هست . شما چرا باید edge تون باز باشه که بخوان ترافیک روش بفرستن همینطوری ؟

  • متشکرم از اشتراک گذاری تجربه
    فقط اگر یکم به نگارش املایی کلمات هم توجه می کردید عالی تر می شد. به هر حال موفق باشید.

  • ayr15386 گفت:

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

  • اندیشه گفت:

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

  • KasraJ گفت:

    بسیار گزارش جالبی بود ممنون که این تجربه رو به اشتراک گذاشتید.
    چه روش خلاقانه و جالبی بود برای حمله DDOS

  • مجتبی گفت:

    احسنت، چه کار هوشمندانه‌ای کردن این حمله‌کننده‌ها

  • محمد پروین گفت:

    عالی بود ممنونم

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

    به این فکر کردم اگر IP سرور ما رو داشته باشن و بجای آروان اتک روی زیر ساخت خودمون باشه چه خواهیم کرد

    کی به این نتیجه می رسیم که فیلتر کردن ابزارها کار درستی نیست خدا می دونه

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

  • رضا گفت:

    شاید از DNS های شما برای فیلتر نشدن استفاده میکردند :)))

  • مهدی گفت:

    دستمریزاد، اونجا که با حدس کلید ۰x000 گفتید “توانستیم کل پیام را رمزگشایی کنیم” منظورتان چی بود؟ یعنی به تکست پیام هم دسترسی پیدا شد؟

  • لارامن گفت:

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

  • سکرت کی شون تو حلقم!

    ولی دمتون گرم

  • رضا نجم گفت:

    مرسی تحلیل !

  • مسعود گفت:

    در نظر بگیر که یک کانال تلگرامی مربوط به mtproto دست به انتشار دامنه های جعلی mtproto بزند و در اصل این دامنه ها به ip یک سرور در ابرآروان resolve میشود
     در این صورت زمانی که کاربران کانال این دامنه های جعلی را به لیست mtprotoهای  برنامه تلگرتم خود اضافه کنند، برنامه تلگرام تلاش می کند که به لین سرور به عنوان یک سرور mtproto متصل شود. به دلیل اینکه برنامه تلگرام نمی تواند به این سرور متصل شود در بازه های زمانی متناوب دوباره تلاش می گند به سرور متصل شود.
    در این حمله از منظر سرور ترافیک لایه ۷ نامتعارف و رمز شده ای دیده می شود که برای سرور بی معنی هستند. در این وضعیت مقداری از منابع سرور صرف ایجاد و نگهداری connectionهای tcp می شود و در صورتی که تعداد کابران آلوده به صورت همزمان بسیار زیاد باشد سرور از پاسخ دادن باز می ماند.
    البته به نظر من تحلیل ابرآروان درست نیست. برای مثال فرض کنید ۱ میلیون نفر به صورت همزمان آلوده شده اند و همگی به یک سرور حمله می کنند. در صورتی که پس از انجام شدن hanshak tcp  یک بسته با حداکثر سایز ارسال شود و این کار هر ۱ ثانیه یکبار توسط کلاینتهای تلگرام انجام شود در مجموع در بدترین حالت پپ۱.۵ گیگابیت بر ثانیه ترافیک ایجاد می شود و این اعداد برای تولید یک حمله ddos اعداد قابل توجهی نیستند و حتی طبق ادعای ابرآروان یک در صد توان آنها هم به حساب نمی آید در نتیجه به نظرم این تحلیل صحیح نیست

  • رسول گفت:

    سلام بهترین کار اینه اطلاعات رو به شرکت تلگرام هم ارسال کنید تا بررسی کنند

  • علی گفت:

    خوب شاید مردم MTProxy هاشون رو روی سرورهای ابرآروان آورده بوده‌اند (می‌دانم غیر قانونی است).
    شواهدی از فیلتر شدن MTProxy ها توسط DPI وجود داره که ممکنه به دلیل این موضوع Retryهای clientها این ترافیک رو ایجاد کرده باشه (با توجه به این که اندازه‌ی نمودار‌های ترافیک را نیاورده‌اید نمی‌دانم حدس منطقی‌ای هست یا نه)

    این ترد گیتهاب هم خواندنی است:
    https://github.com/TelegramMessenger/MTProxy/issues/35

  • مهدی گفت:

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

  • صائب گفت:

    سلام توی این وضعیت الان من چطور وارد بشم وقتی برای ورود به ایمیل من فرستادید پیام رو!؟

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

  • alireza گفت:

    سلام بله ما می اومدیم یک سرور خارجی می ساختیم اون رو پاپلیک میکردیم و بعد که فیلتر میشد مداوم ای پی سرور های که باهاشون مشکل داشتیم رو قرار میدادیم به سادگی سرور شرکت ها فیلتر میشد. ولی خوب برای حمله DDS باید تعداد کاربران یک پراکسی به حد بسیار بالایی برسه و مالتی آپی باشه

  • محمد گفت:

    سلام
    خسته نباشید.
    ممنون از اینکه این تجربه را در اختیار همه قرار دادید و امیدوارم همیشه موفق و سربلند باشید.

  • هادی گفت:

    :/ خب برادر از دی ان اس کلود شما جهت مخفی کردن آیپی سرور mtproto استفاده کردن
    resolve بکنی آی پی شما برمیگرده اینکه چیز طبیعی هست چه ربطی به حمله داشت…

  • resolve گفت:

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

  • Nah im done گفت:

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

  • امین نادری گفت:

    با تشکر از مقاله خوبتون …
    فقط غلط دیکته زیادی داشت لطفا اصلاح بفرمایید

  • متشکرم از به اشتراک گذاری تجربتون

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

  • میثم گفت:

    واقعا خسته نباشید و خدا قوت . عالی بود.

  • ابرآروانی ها املای خودشون رو دارن که خیلی هم جالب هست
    پیشنهاد میکنم صفحه زیر رو مطالعه کنید:
    https://www.arvancloud.com/fa/culture/orthography

  • خیلی جالب بود
    فقط کاش یکم ساده تر مینوشتید یا یک منبعی برای مطالعه بیشتر افراد با دانش کمتر هم میگذاشتید.

  • مطالب بسیار ارزنده ای بیان کرده بودید. از معضلات فیلترینگ به وجود آمدن همین مشکلات است

  • رپ گد گفت:

    سلام , ممنون گزارش فوق العاده ای بود , نکات خوبی رو فرمودید , تشکر از اشتراک گذاریتون.

  • امین گفت:

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

  • × برای اطلاع از آخرین اخبار و مقالات آروان عضو خبرنامه ما شوید