باگ تیکتاک امکان سرقت حساب کاربری افراد را فقط با کلیک روی یک لینک فراهم میکند
مایکروسافت نقص امنیتی بسیار مهمی در اپلیکیشن اندرویدی تیکتاک کشف کرده است که به مهاجمان اجازه میدهد با فریبدادن کاربران به کلیک روی یک پیوند، حساب کاربری وی را بهسرقت ببرند. بهگفتهی دیمیتریوس والساماراس، محقق تیم امنیتی Microsfot 365 Defender، خوشبختانه توسعهدهندگان در ByteDance، شرکت مادر تیکتاک، پس از کشف آسیبپذیری، بهسرعت آن را رفع کردند.
گفتنی است که محققان امنیتی مایکروسافت این باگ را ازطریق برنامهی پاداش در ازای کشف آسیبپذیری، به تیکتاک گزارش داده بودند. نقص امنیتی تیکتاک با شناسهی CVE-2022-28799 شناخته میشود و درحالیکه این مشکل اکنون رفع شده است، مایکروسافت به همهی کاربران تیکتاک در اندروید توصیه میکند که هرچه سریعتر آن را بهروزرسانی کنند.
نقص امنیتی تیکتاک در رابط کاربری جاوااسکریپت آن نهفته است که میتواند ازطریق مؤلفهی WebView در نسخهی اندریدی آن سوءاستفاده شود. برنامهی اندرویدی این پلتفرم اجتماعی ۱٫۵ میلیارد بار از فروشگاه گوگلپلی دانلود شده است. WebView جزئی از اندروید است و به برنامههای این سیستمعامل که با زبان جاوا و Kotlin نوشته شدهاند، اجازه میدهد محتوای وب مدنظر را به کاربر نمایش دهند. در بخشی از توضیحات CVE-2022-28799 آمده است:
نسخهی ۲۳٫۷٫۳ و قدیمیتر تیکتاک برای اندروید به مهاجم اجازه میدهد حساب کاربری افراد را با یک کلیک آنها روی یک لینک تصاحب کند. درواقع، مهاجم از رابط جاوااسکریپت پیوستشده برای تصاحب حساب کاربری هدف خود با یک کلیک بهره میبرد.
والساماراس در پست وبلاگی خود اشاره میکند که دو نسخه از برنامهی اندروید تیکتاک وجود دارد که یکی با نام بستهی com.ss.android.ugc.trill برای شرق و جنوبشرقی آسیا و دیگری با نام بستهی com.zhiliaoapp.musically برای مناطق دیگر جهان منتشر شدهاند و این آسیبپذیری روی هردو نسخه وجود دارد. والساماراس مینویسد:
تلاشهای کارآمد و حرفهای تیم امنیتی تیکتاک را ستایش میکنیم. همچنین، به همهی کاربران این برنامه توصیه میکنیم آن را به جدیدترین نسخه بهروزرسانی کنند.
آسیبپذیری کشفشده در نسخهی اندروید تیکتاک ناشی از رابطهای جاوااسکریپتی است که توسعهدهندگان این برنامه در WebView پیادهسازی کردهاند. این رابط میتواند عملکردی شبیه پل ارائه دهد؛ بهطوریکه کد جاوااسکریپت در یک صفحهی وب، روشهای مبتنیبر زبان برنامهنویسی جاوا یا کلاسی خاص را در برنامه فراخوانی میکند. والساماراس در بخشی از توضیحاتش میگوید:
بارگیری محتوای وب نامطمئن در WebView با آبجکتهای دردسترس ازطریق کد جاوااسکریپت، برنامه را دربرابر خطر تزریق کد آسیبپذیر میکند و ممکن است به نشت داده یا خرابی دادهها یا گاهی اوقات اجرای کد دلخواه شخص مهاجم منجر شود.
بااینحال طبق توضیحات والساماراس، آسیبپذیری واقعی در نحوهی مدیریت برنامهی تیکتاک روی پیوند عمیق در اندروید است. توسعهدهندگان میتوانند از پیوندهای عمیق برای ارتباطدادن به مؤلفهی انتخابی در برنامه استفاده کنند.
والساماراس خاطرنشان میکند وقتی کاربران روی این نوع پیوندها کلیک میکنند، مدیر بستهی اندروید همهی برنامههای نصبشده را بررسی خواهد کرد تا ببیند کدامیک میتواند به پیوند مذکور پاسخ دهد و سپس آن را به شرکتی هدایت میکند که بهعنوان کنترلکننده اعلام شده است. پیادهسازی رابطهای جاوااسکریپت در تیکتاک تأثیر آسیبپذیری آن را مشخص کرده است. والساماراس مینویسد:
هنگام بررسی نحوهی مدیریت پیوند عمیق در برنامه، چندین مشکل را کشف کردیم که وقتی به یکدیگر متصل میشدند، میتوانستند برای وادارکردن برنامه به بارگذاری URL دلخواه در WebView برنامه استفاده شوند.
- تیک تاک؛ پردانلودترین اپلیکیشن دنیا در فصل اول ۲۰۲۲
- آموزش تصویری کامل دانلود، نصب و کار با برنامه تیک تاک (TikTok)
مایکروسافت هنگام بررسی عملکرد قابلدسترسی کد جاوااسکریپت در صفحات وب بارگذاریشده در WebView، بیش از ۷۰ روش آشکار را کشف کرد. ترکیب این آسیبپذیری با روشهای افشاشده به مهاجمان اجازه میدهد قابلیتهای بیشتری برای مشاهده و تغییر دادههای خصوصی کاربران دردسرتس داشته باشند.
مهاجم با فراخوانی روشهای مذکور میتواند توکنهای احراز هویت کاربر را با ارائهی درخواستی به سرور کنترلشده و ثبت کوکی در سرصفحههای درخواست شناسایی کند. همچنین، مهاجم میتواند دادههای حساب تیکتاک کاربر ازجمله ویدئوهای خصوصی و تنظیمات نمایهی وی را بازیابی کند یا آنها را تغییر دهد. والساماراس میگوید:
بهطورخلاصه، عاملی مخرب با کنترل هریک از روشهایی که میتوانند درخواستهای HTTP احرازهویتشده را انجام دهند، حساب کاربری تیکتاک را بهخطر میاندازد.
مایکرسافت باور دارد استفاده از رابطهای جاوااسکریپت ایدهی مناسبی نیست و خطرهای مهمی بهدنبال خواهد داشت؛ زیرا این روش بهطوربالقوه میتواند به مهاجمان اجازه دهد تا کد مدنظر خود را با استفاده از شناسه و امتیازات برنامه اجرا کنند. این شرکت قبلاً نقصهای ناشی از رابطهای جاوااسکریپت را در چندین برنامهی محبوب اندرویدی دیگر بهتفصیل اعلام کرده بود.
ردموندیها به توسعهدهندگان توصیه میکنند درعوض از فهرست تأییدشدهی دامنههای مطمئن برای بارگذاری URL در WebView استفاده کنند تا از بارگیری محتوای وب مخرب یا نامعتبر جلوگیری شود. گوگل نیز صفحهای برای توسعهدهندگان اپلیکیشنهای اندرویدی منتشر کرده است تا با استفاده از آن، آسیبپذیریهای تزریق کد را در رابط جاوااسکریپت برطرف کنند.