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

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

محقق امنیت سایبری، لیرا رابان، یک حمله کلیک‌جکینگ نوآورانه را طراحی کرده است که بر پایه گرافیک‌های برداری مقیاس‌پذیر (SVG) و جداول سبک آبشاری (CSS) تکیه دارد.

رابان این تکنیک را در کنفرانس BSides Tallinn در ماه اکتبر به نمایش گذاشت و اکنون خلاصه‌ای از رویکرد خود را منتشر کرده است. این حمله که هنوز به‌طور کامل رفع نشده است، بر اساس این واقعیت استوار است که فیلترهای SVG می‌توانند اطلاعات را در سراسر مبدا نشت دهند، که این امر نقض سیاست یکسان مبدأ وب است.

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

این اصطلاح در سال 2008 توسط محققان امنیت سایبری جرمیام گروسمن و رابرت هنسن برای توصیف روشی برای ربودن رویدادهای کلیک ماوس به گونه‌ای که بتواند توسط مهاجم اعمال شود (به عنوان مثال، مجبور کردن قربانی به کلیک روی دکمه ارسال یک صفحه وب) ابداع شد.

از آن زمان، تعدادی از راهکارها برای تقویت مدل امنیتی اساسی وب توسعه یافته است. این راهکارها شامل محدود کردن نحوه تعامل مبداهای مختلف (اغلب در قالب دامنه های وب) با یکدیگر است.

همانطور که توسط OWASP توضیح داده شده است، دفاع‌های رایج شامل جلوگیری از بارگیری صفحات در یک فریم با استفاده از هدرهای HTTP X-Frame-Options یا Content Security Policy (frame-ancestors)، جلوگیری از گنجاندن کوکی‌های جلسه هنگام بارگیری یک صفحه در یک فریم و استفاده از جاوا اسکریپت برای جلوگیری از بارگیری صفحات در یک فریم است.

با این حال، تغییرات جدید به طور مداوم پدیدار می‌شوند، مانند جعل تقلب بین پنجره‌ای سال گذشته.

رابان تکنیک حمله خود را پس از تلاش برای بازسازی اثر اعوجاج بصری شیشه مایع اپل با استفاده از SVG و CSS کشف کرد. پس از موفقیت در این کار، متوجه شد که بازسازی SVG/CSS او از اثر شیشه مایع، زمانی که در یک iframe قرار می‌گیرد، به پیکسل‌های صفحه وب اصلی دسترسی دارد.

«من فکر نمی‌کنم کسی دیگری منطق را روی داده‌های بین‌مبدل همانطور که من انجام داده‌ام، اجرا کرده باشد.» رابان گفت.

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

«با استفاده از feBlend و feComposite، می‌توانیم تمام گیت‌های منطقی را بازسازی کرده و فیلترهای SVG را به‌طور کاربردی کامل کنیم.» پست او توضیح می‌دهد. «این بدان معنی است که ما می‌توانیم هر چیزی را که زمان‌بندی ندارد و منابع زیادی مصرف نمی‌کند برنامه‌ریزی کنیم.»

رابان با ایجاد یک حمله اثبات مفهومی برای افشای متن Google Docs، از کاربرد تکنیک خود نشان داد. این حمله شامل یک دکمه «تولید سند» در یک پنجره رابط کاربری پاپ‌آپ است. هنگامی که دکمه فشار داده می‌شود، کد زیرین پاپ‌آپ را تشخیص می‌دهد و یک جعبه متن CAPTCHA برای ورود کاربر ارائه می‌کند. دکمه ارسال CAPTCHA یک فایل Docs پیشنهادی را به یک جعبه متن مخفی اضافه می‌کند.

معمولاً، این ممکن است توسط تنظیم هدر X-Frame-Options مسدود شود. اما Google Docs اجازه فریمینگ را می‌دهد.

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

«یک کلاس آسیب‌پذیری به نام XSS وجود دارد که شامل تزریق HTML به وب‌سایت‌ها از طریق روش‌های مختلف برای اجرای کد جاوا اسکریپت مخرب است.» رابان توضیح داد. «اینکه یک مهاجم بتواند HTML را در سایت شما تزریق کند، زمانی به معنای پایان بازی بود، اما امروزه بیشتر سایت‌ها شروع به استفاده از CSP کرده‌اند که به صاحبان وب‌سایت اجازه می‌دهد اطمینان حاصل کنند که هیچ کد جاوا اسکریپت ناایمن در صفحه اجرا نمی‌شود و بدین ترتیب از حملات XSS جلوگیری شود.»

یک مهاجم که چنین سایتی را پیدا می‌کند، گفت رابان، باید راهی برای بهره برداری از تزریق بدون استفاده از جاوا اسکریپت پیدا کند.

«CSS بهترین چیز بعدی برای استفاده است و می‌تواند برای انواع حملات جالب مورد استفاده قرار گیرد.» رابان استدلال کرد و معتقد است که CSS به عنوان یک زبان برنامه‌نویسی واجد شرایط است. «کلیک‌جکینگ SVG یکی از بسیاری از حملاتی است که می‌توان در آنجا استفاده کرد.»

کلیک‌جکینگ SVG به طور چشمگیری چشم‌انداز امنیتی وب را تغییر نمی‌دهد، اما چالش ایجاد زنجیره‌های حمله پیچیده را ساده می‌کند.

رابن گفت که گوگل برای گزارش این آسیب‌پذیری جایزه باگ 3133.70 دلار اهدا کرده است. «این حمله رفع نشده است، اما در حال حاضر مشخص نیست که آیا اشکال یک اشکال مرورگر است یا خیر و به هر حال بر سایر مرورگرها نیز تأثیر می‌گذارد (به عنوان مثال Firefox).» او گفت.

راه‌هایی برای توسعه‌دهندگان برای دفاع از کلیک‌جکینگ SVG وجود دارد. رابان در ارائه خود API ناظر تقاطع v2 را به عنوان راهی برای تشخیص زمانی که یک فیلتر SVG یک iframe را پوشش می‌دهد، ذکر کرد.

Google بلافاصله به درخواست اظهار نظر پاسخ نداد.

📌 توجه: این مطلب از منابع بین‌المللی ترجمه و بازنویسی شده است.