حمله نوین کلیک‌جکینگ با بهره‌گیری از SVG و CSS مرزهای امنیتی مرورگرها را به چالش می‌کشد

تهران – ۵ دسامبر ۲۰۲۵ – یک پژوهشگر امنیتی روشی نوآورانه برای اجرای حملات کلیک‌جکینگ (Clickjacking) کشف کرده است که بدون نیاز به جاوااسکریپت و صرفاً با تکیه بر قابلیت‌های گرافیک برداری مقیاس‌پذیر (SVG) و برگه‌های شیوه آبشاری (CSS) قابل پیاده‌سازی است. این کشف که توسط لیرا ره‌بانه (Lyra Rebane) انجام شده و جزئیات آن پس از ارائه در کنفرانس BSides تالین منتشر شده، پتانسیل دور زدن بسیاری از مکانیزم‌های دفاعی موجود در وب را دارد و تهدیدی جدی برای امنیت مرورگرها به شمار می‌رود.

تهدید پایدار کلیک‌جکینگ: بازتعریف یک حمله قدیمی

حمله کلیک‌جکینگ، که با نام حمله تغییر مسیر رابط کاربری (UI Redress Attack) نیز شناخته می‌شود، به مجموعه‌ای از روش‌ها گفته می‌شود که مهاجم با فریب کاربر یک وب‌سایت یا اپلیکیشن، او را وادار به انجام عملی ناخواسته می‌کند. این حملات معمولاً با دستکاری عناصر بصری صفحه انجام می‌شوند تا ورودی کاربر (مانند کلیک ماوس) به مقصد نادرستی هدایت شود. این مفهوم برای اولین بار در سال ۲۰۰۸ توسط پژوهشگران امنیتی، جرمی گروسمن و رابرت هانسن، مطرح شد.

در طول سال‌ها، تدابیر دفاعی متعددی برای مقابله با حملات کلیک‌جکینگ توسعه یافته‌اند که شامل موارد زیر می‌شوند:

استفاده از هدرهای HTTP مانند `X-Frame-Options` یا `Content Security Policy (frame-ancestors)` برای جلوگیری از بارگذاری صفحات در یک iframe.

ممانعت از ارسال کوکی‌های نشست (Session Cookies) هنگام بارگذاری صفحه در iframe.

به‌کارگیری اسکریپت‌های جاوااسکریپت برای جلوگیری از بارگذاری صفحه در یک iframe.

با این حال، با ظهور تکنیک‌های جدیدی مانند "cross-window forgery" که سال گذشته گزارش شد، مشخص شده که مبارزه با حملات کلیک‌جکینگ یک چالش مداوم است.

مکانیزم نوین حمله کلیک‌جکینگ: قدرت پنهان CSS و SVG

کشف لیرا ره‌بانه پس از تلاش برای بازسازی جلوه بصری "Liquid Glass" اپل با استفاده از SVG و CSS صورت گرفت. او متوجه شد که بازسازی او، هنگام قرار گرفتن در یک iframe، به پیکسل‌های صفحه اصلی زیرین دسترسی دارد که نقض آشکار سیاست هم‌منشأ (Same-Origin Policy) وب است. این سیاست یکی از ارکان امنیتی وب است که از تعامل اسکریپت‌ها با محتوای منابع مختلف جلوگیری می‌کند.

نمایی از حمله کلیک‌جکینگ با SVG
تصویر: image

ره‌بانه توضیح می‌دهد که این حمله با استفاده از فیلترهای SVG مانند `feBlend` و `feComposite` امکان‌پذیر می‌شود. این فیلترها به گونه‌ای استفاده می‌شوند که می‌توانند گیت‌های منطقی (Logic Gates) را بازسازی کنند. این به معنای آن است که فیلترهای SVG از نظر عملکردی کامل (Functionally Complete) می‌شوند، یعنی می‌توانند هر نوع منطقی را پردازش کنند، مشروط بر اینکه به زمان‌بندی وابسته نباشد و منابع زیادی مصرف نکند. این قابلیت به مهاجم اجازه می‌دهد تا با استفاده از توابع محاسباتی دلخواه، پیکسل‌های صفحه وب را پردازش کرده و یک حمله کلیک‌جکینگ پیچیده را طراحی کند که با روش‌های دیگر دشوارتر خواهد بود.

چرا این حمله کلیک‌جکینگ نگران‌کننده است؟ فراتر از جاوااسکریپت

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

این پژوهشگر نمونه‌ای عملی از این حمله را با سرقت متن از Google Docs به نمایش گذاشت. این حمله شامل یک دکمه "Generate Document" در یک پنجره پاپ‌آپ است که با فشردن آن، کد زیرین وجود پاپ‌آپ را شناسایی کرده و یک فیلد CAPTCHA برای ورودی کاربر نمایش می‌دهد. با ارسال CAPTCHA، فایل Docs پیشنهادی به یک فیلد متنی پنهان اضافه می‌شود.

برخی از نگرانی‌های اصلی پیرامون این روش جدید شامل موارد زیر است:

بایپس کردن سیاست‌های امنیتی محتوا (CSP) که صرفاً جاوااسکریپت را هدف قرار می‌دهند.

افزایش پیچیدگی حملات بدون نیاز به اسکریپت‌های مرسوم و با استفاده از عناصر وب کم‌تر مورد توجه امنیتی.

ره‌بانه اشاره می‌کند که این آسیب‌پذیری می‌تواند در پلتفرم‌هایی که امکان فریم‌بندی (Framing) را برای تعبیه‌سازی در سایت‌های شخص ثالث فراهم می‌کنند (مانند ویدئوها، نقشه‌ها، ارائه‌دهندگان پرداخت و شبکه‌های اجتماعی)، مورد سوءاستفاده قرار گیرد. همچنین، بسیاری از اپلیکیشن‌ها که نباید قابل فریم‌بندی باشند، به دلیل فقدان هدرهای لازم، مستعد این حملات هستند.

راهکارهای دفاعی و آینده مقابله با حملات کلیک‌جکینگ

با وجود گزارش این آسیب‌پذیری به گوگل و دریافت پاداش ۳۱۳۳.۷۰ دلاری، ره‌بانه اظهار داشته که این حمله هنوز رفع نشده است. همچنین، مشخص نیست که آیا این یک باگ مرورگر است یا خیر، اما تأیید شده که مرورگرهای دیگر مانند فایرفاکس را نیز تحت تأثیر قرار می‌دهد. یک باگ مرتبط با کرومیوم در ماه مارس با برچسب "Won't fix" بسته شده است که نشان‌دهنده چالش‌های پیچیده در حل کامل این نوع مسائل است.

برای توسعه‌دهندگان، یکی از راهکارهای دفاعی پیشنهادی، استفاده از API Intersection Observer v2 است که می‌تواند برای شناسایی زمانی که یک فیلتر SVG روی یک iframe قرار می‌گیرد، به کار رود. این API به صفحات وب امکان می‌دهد تا مشاهده کنند که یک عنصر خاص در DOM با عناصر دیگر یا با viewport در چه حالتی تلاقی دارد.

کشف این حمله کلیک‌جکینگ یادآوری مهمی است که امنیت وب یک حوزه پویا است و مهاجمان همواره در حال یافتن راه‌های جدید برای سوءاستفاده از نقاط ضعف تکنولوژی‌های وب هستند. توسعه‌دهندگان و متخصصان امنیتی باید هوشیار باشند و دفاع از کاربران را در برابر حملات نوظهور، از جمله این نوع نوین حملات کلیک‌جکینگ، جدی بگیرند.

مجله تخصصی هک و امنیت


مطالب مرتبط

دیدگاه‌ خود را بنویسید

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

پیمایش به بالا