ضعف امنیتی در پیام رسان تلِگرام – مَحرَمی کو که فرستم به تو پیغامی چند

تلِگرام بی شک محبوب ترین نرم افزار پیغام رسان حال حاضر، در میان فارسی زبانان است. بنابر آمار های غیر رسمی: قریب به ۲۰ میلیون کاربر فارسی زبان از این نرم افزار برای به اشتراک گذاری داده استفاده می کنند.

چندی قبل، دوستی را درباره ی مشکلات ناشی از به خطر افتادن حریم شخصی افراد، در صورت استفاده از این قبیل نرم افزارها، آگاه کردیم. پاسخی جالب داد: “چیز پنهانی ندارم!”. گفته ی وی زمینه ساز بررسی اجمالی ما بر روی سایر مشکلات امنیتی بالقوه این نرم افزار (برای کاربران) شد. در این نوشتار، شما را با یک آسیب پذیری امنیتی در این برنامه آشنا می کنیم.

گفتنی است جهت جلوگیری از سوء استفاده های احتمالی و با توجه به اینکه در زمان نگارش این متن، ضعف امنیتی یاد شده همچنان وجود دارد، نخست به بیان کلیات و سپس به ارائه شواهدِ مستند بسنده می کنیم.

 

شرح کلی آسیب پذیری:

برای جلوگیری از ارسال تعداد زیادی پیغام توسط یک کاربر‌ در زمان محدود (و در نتیجه ایجاد اختلال در شبکه)، تعداد ارسال های مجاز محدود شده است. در صورت عدول از این حد، کاربر تا چندین دقیقه امکان ارسال پیغام به هیچ اکانت دیگری را ندارد. همچنین مشاهده کردیم که طول پیغام های متنی نمی تواند کمتر از ۱ و بیش تر از ۴۰۹۶ کاراکتر یونیکد باشد

آسیب پذیری کشف شده، در قسمتی از نرم افزار واقع شده است که وظیفه ی کنترل طول پیغام های ارسالی (متنی) را دارد. در واقع در اثر وجود یک خطای برنامه نویسی در کد برنامه، شخص می تواند پیغام متنی با طول دلخواه ارسال نماید.

تصویری از وبسایت تلگرام

توضیحات درباره ی آسیب پذیری:

برای رویت آسیب پذیری می توانید کانال @poc_sadghaf در پیام رسان تلِگرام را مشاهده کنید. در این کانال دو پیغام، یکی با طول ۰ کاراکتر (بایت) و یکی با طول ۳۰ هزار کاراکتر (بسیار بزرگتر از محدودیت ۴۰۹۶ بایت) ارسال کردیم.

چرا این یک آسیب پذیری امنیتی “خطرناک” است؟

با توجه به اینکه هر کاراکتر لاتین یک بایت از حافظه را اشغال می کند، می توان اقدام به ارسال چندین میلیون (یا میلیارد) کاراکتر بی معنی (مثلا a) در قالب یک پیغام متنی به یک کاربر کرد.

در جریان آزمایشات، دو واکنش از دستگاه های مقصد (مثلا تلفن همراه گیرنده پیغام) قابل رویت بود:

۱-پهنای باند اینترنت کاربر مقصد بر حسب طول پیغام ارسالی تقلیل رفته و پایان می پذیرد.

۲-دستگاه مقصد با کمبود حافظه روبرو شده و Crash می کند.

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

هدف از گزارش این آسیب پذیری، مطلع کردن کاربران از خسارات احتمالی (بعضا مالی) نرم افزار هایی است که به سادگی به آن ها اعتماد می کنیم. گفتنی است نرم افزار مذکور برای اثبات نفوذ ناپذیر بودن دو مرتبه اقدام به برگزاری مسابقاتی با جوایز ۲۰۰ و ۳۰۰ هزار دلار کرده که هردو بدون برنده پایان پذیرفته اند.

پی نوشت : دلیل اصرار به نگارش کلمه ی تلِگرام با قرار گیری مصوت -ِ، تلفظ اشتباه رایج این کلمه به صورت تِلْگرام در میان کاربران می باشد.

 

ارسال نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *