بررسیهای جدید امنیتی نشان میدهد یک افزونه مسدودکننده تبلیغات کروم که برای حذف تبلیغات یوتیوب طراحی شده، دارای قابلیتی خفته (Dormant) برای اجرای کدهای جاوااسکریپت دلخواه (Arbitrary JavaScript Execution) است. این موضوع در یک افزونه مسدودکننده تبلیغات کروم میتواند ریسک جدی برای حریم خصوصی کاربران ایجاد کند، زیرا در صورت سوءاستفاده، امکان خواندن دادههای حساس، سرقت اطلاعات و حتی اجرای عملیات بهجای کاربر در حسابهای آنلاین وجود دارد.
این افزونه با نام Adblock for YouTube و شناسه cmedhionkhpnakcndndgjdbohmhepckk در فروشگاه رسمی Chrome Web Store بیش از 10 میلیون بار نصب شده و دارای نشان برگزیده (Featured) است. با این حال، تحلیلهای امنیتی نشان میدهد زیرساخت آن یک مسیر بالقوه برای تزریق اسکریپت (Script Injection) را از طریق تغییرات سمت سرور فراهم میکند.
افزونه مسدودکننده تبلیغات کروم با ریسک اجرای کد دلخواه
طبق توضیحات این افزونه مسدودکننده تبلیغات کروم، کاربران میتوانند المنتهای صفحه وب مانند تبلیغات، از جمله تبلیغات پریرول (Pre-roll) را در پلتفرم اشتراکگذاری ویدیو و همچنین در وبسایتهای خارجی که محتوای یوتیوب را بارگذاری میکنند، مسدود کرده و از نمایش آنها جلوگیری کنند. با این حال، هرچند این افزونه قابلیتهای اعلامشده را ارائه میدهد، اما در ساختار آن یک مکانیزم برای اجرای کد جاوااسکریپت دلخواه نیز وجود دارد.
پژوهشگران شرکت Island در گزارشی اعلام کردند که این افزونه دارای ساختارهای لازم برای اجرای کد جاوااسکریپت دلخواه در هر وبسایت است؛ قابلیتی که میتواند تنها با یک تغییر در پیکربندی سمت سرور فعال شود، بدون اینکه نیازی به بهروزرسانی افزونه یا عبور از فرآیند بررسی در فروشگاه باشد و در عمل نیز هیچ نشانه قابل مشاهدهای از این تغییر برای کاربر باقی نمیگذارد.
در عمل، این موضوع میتواند به معنای امکان خواندن صفحات وب، سرقت دادهها و انجام عملیات بهجای کاربر در حسابهای شخصی، اپلیکیشنهای کاری، پنلهای ادمین و سایر نشستهای حساس باشد.
ارتباط با افزونههای حذفشده
به گفته پژوهشگران شرکت Island، هیچ مدرکی مبنی بر توزیع پیلود مخرب از طریق این افزونه مسدودکننده تبلیغات کروم در میان کاربران مشاهده نشده است. با این حال، صرف وجود این قابلیت، در کنار سابقه برخی افزونههای مشابه که پیشتر به دلیل بدافزار از فروشگاه حذف شدهاند، همچنان نگرانیهایی درباره امنیت و حریم خصوصی کاربران ایجاد میکند.
افزونههای زیر نیز پیشتر بهدلیل انتشار بدافزار از Chrome Web Store حذف شدهاند:
- Adblock for Chrome (شناسه افزونه: onomjaelhagjjojbkcafidnepbfkpnee)
- Adblock for You (شناسه افزونه: ogcaehilgakehloljjmajoempaflmdci)
- AdBlock Suite (شناسه افزونه: gekoepiplklhniacchbbgbhilidiojmb)
تاریخچه توسعه و تغییر مالکیت افزونه مسدودکننده تبلیغات کروم
افزونه Adblock for YouTube نخستینبار در سال 2014 در فروشگاه Chrome Web Store منتشر شد. این افزونه در ابتدا بهعنوان یک ابزار ساده برای مسدودسازی تبلیغات یوتیوب عمل میکرد، اما حدود چهار سال بعد مالکیت آن تغییر کرد.
بررسی نسخههای اولیه نشان میدهد که این افزونه در مقطعی همراه با یک کیت توسعه نرمافزاری تزریق تبلیغات (Ad Injection SDK) با نام Unistream SDK عرضه شده بود؛ هرچند این SDK در ژوئن 2024 حذف شد.
آنچه در تمام این مدت بدون تغییر باقی مانده، وجود مسیرهای تزریق اسکریپت از راه دور از فوریه 2025 تاکنون است.
نحوه عملکرد مکانیزم Scriptlet و مسیر تزریق کد
این افزونه مسدودکننده تبلیغات کروم مجموعهای از Scriptletها را در خود جای داده است. Scriptletها در واقع توابع کوچک جاوااسکریپت هستند که معمولاً برای مسدودسازی تبلیغات بهکار میروند. در این ساختار، سرور مرکزی تعیین میکند کدام Scriptlet اجرا شود و چه پارامترهایی به آن ارسال گردد.
یکی از این Scriptletها با نام trusted-create-element قابلیت ایجاد یک المنت HTML در صفحه را دارد. در صورتی که سرور نوع المنت را script مشخص کند و محتوای جاوااسکریپت را ارسال نماید، این کد در بستر صفحه فعال شده و میتواند به دادههای حساس دسترسی پیدا کند.
نکته مهم این است که کد این Scriptlet توسط توسعهدهنده افزونه نوشته نشده و بخشی از کتابخانه متنباز شرکت AdGuard است که در بسیاری از افزونههای مسدودکننده تبلیغات مورد استفاده قرار میگیرد. بنابراین نگرانی اصلی پژوهشگران نه خود Scriptlet، بلکه مسیر کنترلشده سمت سرور است که پس از نصب افزونه میتواند به این قابلیت دسترسی داشته باشد.
پژوهشگران اعلام کردند که در زمان انجام این بررسی، Scriptlet موردنظر در پاسخهای سرور فعال نبود و تنها بهعنوان یک قابلیت خفته در ساختار افزونه وجود داشت.
مجوزهای گسترده و ضعف در اعتبارسنجی URL
یکی از عواملی که این ریسک را جدیتر میکند، سطح دسترسی گستردهای است که معمولاً افزونههای مسدودکننده تبلیغات از کاربران دریافت میکنند. این افزونهها برای انجام وظایف خود به مجوزهایی مانند بررسی درخواستهای شبکه، تغییر محتوای صفحات وب، مخفی کردن المنتهای تبلیغاتی و تطبیق عملکرد خود با تغییرات سامانههای نمایش تبلیغات نیاز دارند.
همچنین پژوهشگران دریافتند برخلاف آنچه از نام این افزونه مسدودکننده تبلیغات کروم انتظار میرود، این افزونه تنها در وبسایت یوتیوب فعال نیست، بلکه در تمام وبسایتهایی که کاربر در مرورگر بازدید میکند اجرا میشود. البته در کد افزونه مکانیزمی تعبیه شده که تنها در صورت وجود عبارت youtube.com در URL صفحه فعال میشود.
با این حال، این بررسی به اعتبارسنجی دامنه واقعی یوتیوب محدود نیست و تنها وجود رشته youtube.com را در هر بخش از URL بررسی میکند. در نتیجه، هیچ کنترلی روی نام میزبان (Hostname)، مبدأ فریم (Frame Origin) یا بستر پخشکننده تعبیهشده انجام نمیشود.
این ضعف باعث میشود مکانیزم بررسی بهسادگی قابل دور زدن باشد؛ بهطوری که تنها با قرار دادن عبارت youtube.com در هر بخش از URL، شرط فعالسازی افزونه برقرار میشود، حتی اگر صفحه هیچ ارتباطی با دامنه واقعی یوتیوب نداشته باشد. برای مثال، آدرسهای زیر همچنان این شرط را برقرار میکنند:
- facebook.com/page?ref=youtube.com
- example.com/search?q=youtube.com
- corp.com/redirect?from=youtube.com
شناسایی 18 افزونه جعلی با هدف کسب درآمد از افیلیت مارکتینگ
همزمان با انتشار این گزارش، تیم تحقیقاتی Palo Alto Networks Unit 42 از شناسایی 18 افزونه مرورگر خبر داد که با جعل هویت برندهای شناختهشده، با هدف کسب درآمد از افیلیت مارکتینگ (Affiliate Marketing) طراحی شدهاند.
به گفته پژوهشگران Unit 42، این افزونهها پس از نصب، بهطور خودکار یک دامنه با پسوند .shop را در تب جدید مرورگر باز میکنند. سپس این دامنه کاربر را به وبسایت دیگری هدایت میکند که در آن ادعا میشود برای ادامه استفاده، انجام اقدامات بیشتری ضروری است. این صفحه با ادعای وجود مشکلات سازگاری (Compatibility Issues)، کاربران را به نصب یک مرورگر مخصوص بازی ترغیب میکند.
واکنش AdBlock Ltd؛ انتشار بهروزرسانی امنیتی در راه است
پس از انتشار این گزارش، Mathias Rochus، بنیانگذار شرکت AdBlock Ltd، اعلام کرد که این افزونه مسدودکننده تبلیغات کروم تاکنون هرگز از این قابلیت استفاده نکرده و در آینده نیز از آن استفاده نخواهد کرد. وی با اشاره به امتیاز 4.4 ستاره این افزونه که بر پایه صدها هزار بازخورد کاربران به دست آمده است، اعلام کرد شرکت AdBlock Ltd بهروزرسانی جدیدی را آماده کرده است. این بهروزرسانی پس از تأیید گوگل در Chrome Web Store منتشر میشود و دو تغییر امنیتی مهم را اعمال خواهد کرد.
بر اساس این بهروزرسانی، مکانیزم بررسی صفحات بهجای جستوجوی صرف عبارت youtube.com در هر بخش از URL، نام دامنه واقعی یوتیوب را اعتبارسنجی خواهد کرد. همچنین، پیکربندی سمت سرور دیگر امکان ایجاد یا تزریق اسکریپت قابل اجرا در صفحه را نخواهد داشت.
همچنین Rochus تأکید کرد که Scriptletهای مورد اشاره در این گزارش، از جمله trusted-create-element، توسط شرکت AdBlock Ltd توسعه داده نشدهاند. به گفته وی، این Scriptletها بخشی از کتابخانه شرکت AdGuard هستند که بسیاری از افزونههای مطرح مسدودکننده تبلیغات از آن استفاده میکنند و سرور افزونه تنها پیکربندی لازم برای انتخاب و اجرای Scriptletهای داخلی افزونه را ارسال میکند.
وی افزود این توضیحات با نحوه عملکرد Scriptletها که در گزارش شرکت Island تشریح شده، همخوانی دارد. با این حال، به گفته او، همین مسیر دسترسی از طریق پیکربندی سمت سرور در بهروزرسانی جدید حذف خواهد شد تا دیگر امکان دسترسی به Scriptlet ایجادکننده اسکریپت وجود نداشته باشد.