ریسکهای امنیتی پلتفرم فیلیمو
ممیزی حریم خصوصی اپلیکیشن فیلیمو، ریسکهایی ردیابی مکانی کاربران را آشکار کرد


ممیزی حریم خصوصی فیلیمو، ذخیرهسازی اعتبارنامهها بهصورت متن ساده، ارسال داده به سامانههای تحلیل جهانی، و زیرساخت داخلی ردیابی مکانی را آشکار میکند؛ همه اینها در حوزه قضایی جمهوری اسلامی رخ میدهد، جایی که امکان دسترسی اجباری به دادهها وجود دارد و هیچ مرجع مستقل حفاظت از داده فعال نیست.
ممیزی حریم خصوصی به روش جعبه سیاه از اپلیکیشن اندرویدی پخش آنلاین فیلیمو، شامل نسخه موبایل، App v4.19 / v40312121، و نسخه تلویزیون، v2.18.0 / v40311231، آسیبپذیریهای مهمی را در شیوه مدیریت اعتبارنامههای کاربران، ارسال دادههای دستگاه، و ادغام زیرساخت ردیابی مکانی شناسایی کرده است.
این ممیزی در بازهای سهروزه در ژوئن ۲۰۲۵، از سوی تیمی متشکل از سه ممیز ارشد و از طریق مهندسی معکوس فایلهای APK دریافتشده از مایکت و کافهبازار انجام شد؛ بدون دسترسی به کد منبع، مستندات، یا حسابهای آزمایشی. هیچ در پشتی یا قابلیت اجرای کد از راه دور شناسایی نشد.
اما آنچه پیدا شد، پلتفرمی است که اعتبارنامههای احراز هویت را بهصورت متن ساده ذخیره میکند، انگشتنگاری دقیق دستگاه را به سرورهای تحلیلی در پنج منطقه جهانی ارسال میکند، و یک زیرساخت کاملا عملیاتی برای ردیابی مکانی را در خود جای داده است؛ همه اینها در حالی رخ میدهد که این پلتفرم در حوزه حقوقی جمهوری اسلامی فعالیت میکند، جایی که حکومت اختیار گستردهای بر شرکتهای فناوری داخلی و دادههای آنها دارد و این اختیار از سوی هیچ نهاد مستقل حفاظت از داده کنترل نمیشود.
فیلیمو یکی از شناختهشدهترین سرویسهای پخش ویدئو در ایران است. یک پلتفرم پخش آنلاین ذاتا دادههای رفتاری حساسی جمعآوری میکند؛ عادتهای تماشا، زمانبندی نشستها، ترجیحات محتوایی، و الگوهای استفاده از دستگاه. چنین دادههایی میتواند اطلاعات زیادی درباره علاقهها، باورها، و روال روزمره یک کاربر آشکار کند.
بنابراین امنیت نحوه مدیریت این دادهها فقط یک مسئله فنی نیست؛ مسئلهای مرتبط با آزادیهای مدنی است، بهویژه در کشوری که مصرف برخی محتواها میتواند خود به مبنایی برای توجه و بررسی حکومت تبدیل شود.
اعتبارنامههای متن ساده: تصاحب حساب به شکلی پیش پا افتاده
فوریترین یافته بحرانی به نحوه ذخیره دادههای احراز هویت کاربران در فیلیمو مربوط است. در نسخه موبایل، توکنهای JWT، توکنهای احراز هویت، نامهای کاربری، آدرسهای ایمیل، شمارههای تلفن، و شناسههای کاربر همگی بهصورت متن ساده در فایلهای SharedPreferences ذخیره میشوند؛ بهطور مشخص در فایل UserManager.xml. نسخه تلویزیون نیز همین الگو را دنبال میکند و JWTهای حساب و پروفایل را همراه با وضعیت ورود، بدون رمزگذاری یا کنترل دسترسی، در فایل preferences خود ذخیره میکند.
در هر دستگاه روتشده، هر دستگاهی که USB debugging در آن فعال باشد، یا هر دستگاهی که اپلیکیشن دیگری روی آن دسترسیهای ارتقایافته داشته باشد، کل مجموعه اعتبارنامههای کاربر بهسادگی قابل استخراج است. این دادهها همچنین ممکن است از مسیر سازوکارهای پشتیبانگیری اندروید نشت کنند.
در اکوسیستم دستگاههای کاربران ایرانی، این آسیبپذیری بهویژه حاد است. کاربران اغلب اپلیکیشنها را از فروشگاههای داخلی نصب میکنند؛ فروشگاههایی که ارزیابی امنیتی آنها به اندازه پلتفرمهای اصلی بینالمللی سختگیرانه نیست. این وضعیت احتمال آن را افزایش میدهد که یک اپلیکیشن نصبشده در کنار فیلیمو بتواند به این فایلهای متن ساده دسترسی پیدا کند.
علاوه بر این، ذخیره شماره تلفن در کنار توکنهای احراز هویت، پیوندی مستقیم میان حساب فیلیمو و هویت واقعی کاربر ایجاد میکند؛ پیوندی که در حوزه قضاییای که شرکتهای مخابراتی ملزماند سیمکارتها را بر اساس مدارک هویتی ملی ثبت کنند، عملا هر سطح باقیماندهای از ناشناسی را که کاربر هنگام استفاده از سرویس برای خود تصور میکند از بین میبرد.
ارسال دادههای تحلیلی جهانی: دادههایی فراتر از مرزهای ایران، و درون آن
فیلیمو مجموعهای جامع از فرادادههای دستگاه و نشست را به سرورهای تحلیلی Adtrace ارسال میکند؛ سرورهایی در نقاط پایانی منطقهای که اتحادیه اروپا، آمریکا، هند، چین، و ترکیه را پوشش میدهند. بار دادهای ارسالی شامل شناسههای تبلیغاتی GPS، UUIDهای اندروید، ویژگیهای انگشتنگاری دستگاه مانند سازنده، مدل، نسخه سیستمعامل، معماری CPU و ویژگیهای صفحهنمایش، شناسههای اپراتور موبایل مانند MCC/MNC، توکنهای پوش نوتیفیکیشن، و فرادادههای سطح نشست است.
خود Adtrace یک پلتفرم تحلیل و attribution موبایل با منشأ ایرانی است. اگرچه دادهها از مسیر نقاط پایانی توزیعشده جهانی هدایت میشوند، پایگاه عملیاتی این شرکت و قرار گرفتن آن در معرض تعهدات حقوقی جمهوری اسلامی این پرسش را ایجاد میکند که این دادهها چگونه ممکن است در دسترس قرار گیرند یا با الزام قانونی مطالبه شوند.
گستره دادههای ارسالی با آنچه یک اپلیکیشن پخش آنلاین نیاز دارد تناسب ندارد. شناسههای پایدار دستگاه و کدهای اپراتور امکان همبستگی کاربر در زمینههای مختلف و شناسایی دوباره او را فراهم میکنند.
وقتی این تلهمتری با ذخیرهسازی متن ساده اعتبارنامهها که پیشتر توضیح داده شد ترکیب شود، یعنی ذخیرهسازیای که شامل شماره تلفنهای متصل به نظامهای هویت ملی است، نتیجه محیط دادهای است که در آن کاربران فیلیمو صرفا برای اهداف تحلیلی ردیابی نمیشوند؛ بلکه در حال تولید یک پروفایل جامع رفتاری و هویتیاند که در چندین حوزه قضایی وجود دارد و با شناسههایی لنگر میشود که مستقیما به هویت قانونی آنها در ایران متصل است.
ردیابی مکانی تعبیهشده: زیرساختی در انتظار فعالشدن
نسخه موبایل فیلیمو SDK شرکت WebEngage را با قابلیتهای کامل ردیابی مکانی در خود ادغام کرده است؛ از جمله FusedLocationApi برای دریافت منفعلانه موقعیت مکانی، ثبت geofence با انقضای نامحدود، و بهروزرسانیهای دورهای موقعیت در پسزمینه که از طریق PendingIntent فعال میشوند. اگرچه در بازه آزمایش هیچ ارسال برونرفت داده مکانی مشاهده نشد، این زیرساخت کاملا عملیاتی است و هر زمان که مجوزها اعطا شوند، توان پایش بیصدای موقعیت مکانی در پسزمینه را دارد.
وجود geofencing بدون محدودیت زمانی امکان پایش مکانی نامحدود را بدون هیچ نشانگر قابل مشاهده یا سازوکار رضایت مداوم فراهم میکند.
برای یک اپلیکیشن پخش ویدئو، وجود قابلیتهای ردیابی مکانی نیازمند توجیهی است که کارکردهای قابل مشاهده اپلیکیشن ارائه نمیکنند.
در ایران، جایی که حکومت از داده مکانی برای ردیابی شرکتکنندگان در اعتراضات، پایش رفتوآمد روزنامهنگاران، و ترسیم شبکههای اجتماعی کنشگران استفاده کرده است، صرف وجود چنین زیرساختی، حتی اگر در حال حاضر داده مکانی ارسال نکند، یک قابلیت نهفته محسوب میشود؛ قابلیتی که میتواند از طریق تغییر پیکربندی سمت سرور و بدون هیچ بهروزرسانی در خود اپلیکیشن فعال شود.
کاربرانی که هنگام نصب مجوز موقعیت مکانی را دادهاند، هیچ نشانهای نخواهند داشت که ردیابی رفتوآمدشان آغاز شده است.
ارجاعهای APK خارجی و یکپارچگی زنجیره تأمین
نسخه تلویزیون دارای URLهای hardcoded است که به فایلهای APK خارجی میزبانیشده روی دامنه ثالث farsroid.com اشاره میکنند؛ از جمله لینکهایی به اپلیکیشنهای نامرتبط. اگرچه در زمان آزمایش اجرای آنها مشاهده نشد، همین ارجاعها ریسک یکپارچگی زنجیره تأمین ایجاد میکنند.
در اکوسیستمی که توزیع اپلیکیشن از پیش خارج از تضمینهای امنیتی پلتفرمهای اصلی بینالمللی انجام میشود، گنجاندن ارجاع به APKهای ثالث از دامنههایی خارج از کنترل توسعهدهنده، بردار دیگری ایجاد میکند که از مسیر آن کد تاییدنشده میتواند به دستگاه کاربران وارد شود.
توصیههایی برای کاربران
کاربران فیلیمو باید مجوزهای میکروفون، موقعیت مکانی، و فضای ذخیرهسازی را از طریق تنظیمات دستگاه لغو کنند. با توجه به زیرساخت ردیابی تعبیهشده، دسترسی به موقعیت مکانی باید بهطور کامل رد شود. کاربران باید بدانند اعتبارنامههای احراز هویت آنها، از جمله شماره تلفنهایی که به هویت ملیشان متصل است، بهصورت متن ساده ذخیره میشود و بنابراین باید از استفاده از فیلیمو روی دستگاههای روتشده یا دستگاههایی که USB debugging در آنها فعال است خودداری کنند.
پاککردن دورهای دادههای اپلیکیشن، اعتبارنامههای متن ساده ذخیرهشده را حذف میکند و غیرفعالکردن پشتیبانگیری اندروید از نشت اعتبارنامهها از مسیر کانالهای بکاپ جلوگیری میکند. مسدودسازی تبلیغات در سطح شبکه میتواند حجم دادههای انگشتنگاری دستگاه را که به نقاط پایانی Adtrace ارسال میشود کاهش دهد.
کاربران همچنین باید بدانند ضعفهای حریم خصوصی فیلیمو شکستهای فنی جداافتاده نیستند؛ بلکه بازتاب الگویی گستردهتر در اکوسیستم اپلیکیشنهای داخلی ایراناند، جایی که اپلیکیشنها بهطور معمول بیش از نیاز عملکردی خود داده جمعآوری میکنند و آن را با سطحی از حفاظت ذخیره میکنند که نه در برابر یک مهاجم مصمم دوام میآورد و نه در برابر بازیگر حکومتیای که اختیار حقوقی برای اجبار به دسترسی دارد. توسعهدهندگان با توصیههای تفصیلی برای اصلاح مشکلات در جریان یافتهها قرار گرفتهاند.