وجود ضعف امنیتی در حفاظت از پیامهای ارسالشده توسط API ربات تلگرام، به محققان این اجازه را داد که به جریان ارتباطی بین یک بدافزار و اپراتور آن دسترسی پیدا کنند.
یک برنامهی ساده که با زبان داتنت آماده شده و نام GoodSender توسط توسعهدهندهی آن برایش انتخاب شده است، جهت ارسال اطلاعات مربوطبه میزبانهای آلودهشده به اپراتور خود، از شبکه تلگرام استفاده میکند و نفوذگر این قابلیت را خواهد داشت که از راه دور به قربانیان خود متصل شود. محققان مرکز Forcepoint در هنگام بررسی بدافزار GoodSender متوجه شدند که این API ربات تلگرام از یک سطحِ ضعیفتر حفاظتی برای انتقال پیغامها و دستورهای خود استفاده میکند. همچنین اعلام کردند که ارتباط بین کاربران تلگرام که با استفاده از پروتکل رمزنگاری MTProto توسط ترافیک TLS صورت میگیرد، امن است اما پیامهای API ربات تنها توسط لایه HTTPS محافظت میشود. همانطور که TLS بهتنهایی برای تضمین رمزنگاری قوی با استفاده از استانداردهای ارتباطی امن امروزی کافی نیست، این لایه رمزنگاری درکنار پروتکلهای رمزنگاری دیگر همچون MTProto در تلگرام یا پروتکل Signal در پیامرسان سیگنال مورد استفاده قرار میگیرد.
به گفتهی محققان، توکن API ربات و شناسه تصادفی ایجادشده برای چت، همواره باید در هنگام ارتباط کاربران بهدرستی ساخته شده و مورد استفاده قرار بگیرد؛ بخش اول اطلاعات مورد نیاز توسط خود API ربات تلگرام آماده میشود؛ در حالیکه بخش دوم در درخواستهای API ربات ارسال میگردد. در ادامه توضیحات Forcepoint میخوانیم که به علت استفادهی آن از سطح پایینتری از رمزنگاری ارتباطات، نفوذگران توانایی بهدست آوردن چند بخش کلیدی از اطلاعات پیامهای در حال انتقال را خواهند داشت و نهتنها پیامهای در حال انتقال را بهدست میآورند، بلکه میتوانند تاریخچه کامل پیامهای ربات را هم بازیابی کنند.
دریافت کل رخدادهای مربوطبه چت ربات توسط متد forwardMessage امکانپذیر است که میتواند به هر کاربر پیام هایی را که ربات به آن دسترسی دارد، ارسال کند. پیامها با شناسههای افزایشی از صفر شروع میشوند و این اجازه را میدهد که تمام پیامها را در یک گروه شناسایی کند و آنها را به یک کاربر دلخواه منتقل کند. رباتهای تلگرام میتوانند برای کارهای مختلفی مورد استفاده قرار بگیرند؛ از قابلیت ادغام با سایر خدمات، پذیرش پرداخت از دیگر کاربران تلگرام تا ایجاد هشدار و اتصال افراد براساس منافع مشترک. محققان Forcepoint تیم تلگرام را از این موضوع مطلع کردهاند و همچنین به کاربران تلگرام پیشنهاد دادهاند که از ربات تلگرام استفاده نکنند و از عضویت در گروهها یا کانالهایی که از ربات تلگرام استفاده میکنند، اجتناب کنند.
محققان به کاربران تلگرام پیشنهاد دادهاند که از ربات تلگرام استفاده نکنند
این بدافزار دارای عملکردهای خطرناکی میباشد. GoodSender با فعال کردن قابلیت اتصال از راه دور (Remote Desktop) روی سیستم قربانی توسط ساخت یک کاربر با سطح دسترسی مدیر روی سیستم و خارج کردن درگاه آن از بین درگاههای مسدودشده توسط دیوارآتش، این امکان را به نفوذگر میدهد که از راه دور توانایی اتصال به سیستم قربانی را داشته باشد. سپس کانال مربوطبه آن ربات برای ارسال آدرس IP، نام کاربری و رمز عبور کاربر مدیر سیستم مورد استفاده قرار میگیرد. اما روش رمزنگاری مورد استفاده در API ربات تلگرام این اجازه را به محققان میدهد که ارتباطات GoodSender را به یک حساب کاربری دلخواه تلگرام انتقال دهند و جزییات مربوطبه آن ارتباط را بهدست آورده و مورد بررسی قرار دهند. محققان در بررسیهای خود موفق شدند یکی از ماشین مجازیهای مربوطبه نویسنده بدافزار را پیدا کرده، آدرس IP آن را همراهبا اطلاعات شخصی و حساب کاربری تلگرام او را بهدست بیاورند. در ادامهی بررسیها مشخص شد که این ربات، بخشی از یک بدافزار دیگر با نام RTLBot بوده و ساختار ابتدایی ساخت آن در کامپیوتر شخصی توسعهدهندهی بدافزار وجود داشته است. همچنین در تاریخ ۲۰ فوریه، نویسنده بدافزار، آن را به سرویس ابری وب آمازون (AWS) انتقال داده و GoodSender از تاریخ ۱ آوریل شروع به کار کرده است.
محققان بهطور یقین نمیتوانند اعلام کنند که این بدافزار از چه روشی برای انتشار خود استفاده کرده است، اما به احتمال بسیار بالا، توسعهدهندگان این بدافزار از پویشگر رایگان آسیبپذیری EternalBlue برای کشف سیستمهای آسیبپذیر و نفوذ به آنها و انتشار بدافزار استفاده کردهاند. دادههای تلهمتری نشان میدهد که حداقل ۱۲۰ سیستم با GoodSender آلوده شدهاند که اکثر آنها در کشور آمریکا و ویتنام بودهاندهمچنین امکان آلوده شدن سیستمها در نقاط دیگر دنیا نیز وجود دارد.