سیستم تقسیم بندی کش در فایرفاکس 85 چیست و دقیقا چگونه عمل می‌کند

به گزارش سرویس تازه های دنیای فناوری مجله تک تایمز ،

نسخه‌ی ۸۵ مرورگر موزیلا فایرفاکس (Mozilla Firefox) قرار است در نخستین ماه از سال آینده‌ی میلادی به‌صورت رسمی منتشر شود. این نسخه از فایرفاکس به‌وسطه‌ی بهبودهایی که در سیستم تقسیم‌بندی حافظه‌ی کش (Cache Partitioning) اعمال کرده است، به‌ شکلی بهتر از حریم خصوصی کاربران در فضای وب محافظت می‌کند

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

تقسیم‌بندی کش چیست و چه اهمیتی دارد

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

درصورتی‌که مرورگر شما دارای سیستم کش معمولی باشد، رفتاری این‌چنینی مشاهده خواهید کرد:

۱) کاربر وارد وب‌سایت https://www.zoomit.ir می‌شود. 

۲) منابع مختلف متعددی بارگذاری و در حافظه‌ی کش ذخیره می‌شوند که در بین آن‌ها چیزی نظیر https://zoomit.ir/logo.jpg هم وجود دارد. 

۳) کاربر وارد وب‌سایت https://www.zoomg.ir می‌شود. 

۴) در یک تگ پنهان <div>، وب‌سایت zoomg، آدرس https://zoomit.ir/logo.jpg را بارگذاری می‌کند. 

۵) وب‌سایت zoomg از المان‌های جاوااسکریپت استفاده می‌کند تا بفهمد مرورگر کاربر برای رندر کردن logo.jpg چقدر زمان نیاز دارد.

۶) از آن‌جایی که https://zoomit.ir/logo.jpg در حافظه‌ی کش ذخیره شده است، در کمتر از پنج میلی‌ثانیه رندر می‌شود.

۷) وب‌سایت zoomg اکنون می‌داند کاربر اخیرا از https://www.zoomit.ir بازدید کرده است؛ زیرا اگر logo.jpg در حافظه‌ی کش قرار نداشت، برای رندر شدن در مرورگر به زمان بیشتری نیاز بود. 

وقتی از سیستم تقسیم‌بندی کش استفاده کنید، شرایط بالا رخ نمی‌دهد. در کشِ تقسیم‌بندی‌شده، نسخه‌ای از https://zoomit.ir/logo.jpg که به‌هنگام بازدید کاربر از وب‌سایت zoomit دانلود و سپس در حافظه‌ی کش ذخیره شده است، به‌هنگام بازدید از وب‌سایت zoomg در دسترس قرار نمی‌گیرد. از آن‌جایی که در محفظه‌ی کشِ اختصاص‌داده‌شده به‌ وب‌سایت zoomg فایل logo.jpg قرار ندارد، این فایل باید مستقیما بارگذاری شود؛ صرف ‌نظر از اینکه در محفظه‌ی کشِ اختصاص‌داده‌شده به وب‌سایت zoomit حضور داشته باشد یا خیر. 

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

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

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

ایراد اصلی تقسیم‌بندی کش 

برخی از منابع به‌ شکلی کاملا قانونی و تقریبا سراسری در دنیای وب، در هزاران یا حتی میلیون‌ها وب‌سایت مورد استفاده قرار می‌گیرند. برای مثال می‌توانیم به فونت‌هایی اشاره کنیم که از طریق سرویس‌هایی نظیر گوگل فونتس (Google Fonts) در وب‌سایت‌ها قرار می‌گیرند.

درصورتی‌که از سیستم کش عادی استفاده کنید، zoomit.ir ممکن است یک نسخه از فونت Roboto را ازطریق fonts.google.com بارگذاری کند. وقتی وب‌سایت‌های دیگر نظیر zoomg.ir یا kojaro.com که دارای همان نوع فونت باشند باز کنید، مرورگر از طریق حافظه‌ی کش خود فونت را بالا می‌آورد و نیازی به بارگذاری مجدد نیست. 

در شرایطی که از کش تقسیم‌بندی‌شده استفاده کنید، نسخه‌ای از فونت Roboto که متعلق ‌به zoomit.ir است، صرفا در zoomit.ir ارائه می‌شود و وقتی که کاربر وارد وب‌سایت zoomg.ir یا kojaro.com شود، فرایند دانلود و ذخیره‌ی Roboto در حافظه‌ی کش، به‌صورت مجزا انجام می‌گیرد. 

فایرفاکس 85 کدام بخش از کش را تقسیم‌بندی خواهد کرد

آن‌طور که  ZDNet می‌نویسد، منابعی که در جدول زیر آمده‌اند، ‌هنگام فعال بودن فلگ privacy.partition.network_state به‌صورت خودکار تقسیم‌بندی خواهند شد. 

منابعی که توسط سیستم تقسیم‌بندی کش در فایرفاکس 85 متأثر می‌شوند
HTTP Cache
Image Cache
Favicon Cache
Connection Pooling
StyleSheet Cache
DNS
HTTP Authentication
Alt-Svc
Speculative Connections
Font Cache
HTTP Strict Transport Security (موسوم‌به HSTS)
Online Certificate Status Protocol (موسوم‌به OCSP)
Intermediate CA Cache
TLS Client Certificates
TLS Session Identifiers
Prefetch
Preconnect
CORS-preflight Cache

در ادامه بخوانید:

در نظر داشته باشید که موزیلا قصد ندارد صرفا از طریق یک به‌روزرسانی، تمامی بخش‌های کش را تقسیم‌بندی کند و فرایند تقسیم‌بندی به‌ مرور زمان انجام خواهد شد. اپل در سال ۲۰۱۳ فرایند تقسیم‌بندی کش مرورگر سافاری را آغاز کرد و از آن زمان تاکنون سیستم تقسیم‌بندی کش را تقویت کرده و بهبود داده است. گوگل با انتشار کروم 86، سیستم تقسیم‌بندی کش را روی کش‌های HTTP اعمال کرد و به ‌مرور زمان این سیستم را به بخش‌های دیگر تعمیم می‌دهد. 

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

بمنظور اطلاع از دیگر خبرها به صفحه اخبار فناوری مراجعه کنید.
منبع خبر