گوگل از نسخه مرورگر وب کروم 102 رونمایی کرد. همزمان، نسخه پایدار پروژه رایگان کرومیوم که اساس کروم است، در دسترس است. تفاوت مرورگر کروم با کرومیوم در استفاده از لوگوهای گوگل، وجود سیستمی برای ارسال اعلان ها در صورت خرابی، ماژول هایی برای پخش محتوای ویدئویی محافظت شده از کپی (DRM)، سیستمی برای نصب خودکار به روز رسانی ها، فعال کردن دائمی ایزوله Sandbox. ، کلیدهایی را برای Google API ارائه می دهد و پارامترهای RLZ- را هنگام جستجو ارسال می کند. برای کسانی که به زمان بیشتری برای به روز رسانی نیاز دارند، شاخه Extended Stable به طور جداگانه پشتیبانی می شود و پس از آن 8 هفته. انتشار بعدی کروم 103 برای 21 ژوئن برنامه ریزی شده است.
تغییرات کلیدی در کروم 102:
- برای جلوگیری از بهره برداری از آسیب پذیری های ناشی از دسترسی به بلوک های حافظه از قبل آزاد شده (استفاده پس از آزاد) به جای نشانگرهای معمولی، از نوع MiraclePtr (raw_ptr) شروع شد. MiraclePtr یک اتصال به نشانگرها را فراهم می کند که بررسی های اضافی را روی دسترسی به مناطق آزاد شده حافظه انجام می دهد و در صورت شناسایی چنین دسترسی هایی خراب می شود. تأثیر روش حفاظتی جدید بر عملکرد و مصرف حافظه ناچیز ارزیابی می شود. مکانیسم MiraclePtr در همه فرآیندها قابل اجرا نیست، به ویژه در فرآیندهای رندر استفاده نمی شود، اما می تواند امنیت را به طور قابل توجهی بهبود بخشد. به عنوان مثال، در نسخه فعلی، از 32 آسیب پذیری رفع شده، 12 آسیب پذیری ناشی از مشکلات استفاده پس از رایگان بود.
- طراحی رابط با اطلاعات مربوط به دانلودها تغییر کرده است. به جای خط پایین با داده های مربوط به پیشرفت دانلود، یک نشانگر جدید با نوار آدرس به پنل اضافه شده است؛ زمانی که روی آن کلیک می کنید، پیشرفت دانلود فایل ها و تاریخچه ای با لیستی از فایل های قبلا دانلود شده نشان داده می شود. برخلاف پنل پایین، دکمه به طور مداوم بر روی پنل نمایش داده می شود و به شما امکان می دهد به سرعت به تاریخچه دانلود خود دسترسی داشته باشید. رابط جدید در حال حاضر به صورت پیش فرض فقط برای برخی از کاربران ارائه می شود و در صورت عدم وجود مشکل برای همه گسترش خواهد یافت. برای بازگرداندن رابط قدیمی یا فعال کردن رابط جدید، تنظیم "chrome://flags#download-bubble" ارائه شده است.
- هنگام جستجوی تصاویر از طریق منوی زمینه ("جستجوی تصویر با لنز Google" یا "یافتن از طریق لنز Google")، نتایج اکنون نه در یک صفحه جداگانه، بلکه در یک نوار کناری در کنار محتوای صفحه اصلی نشان داده می شوند. در یک پنجره می توانید هم محتوای صفحه و هم نتیجه دسترسی به موتور جستجو را به طور همزمان مشاهده کنید.
- در بخش "حریم خصوصی و امنیت" تنظیمات، یک بخش "راهنمای حریم خصوصی" اضافه شده است که یک نمای کلی از تنظیمات اصلی تأثیرگذار بر حریم خصوصی را با توضیحات دقیق در مورد تأثیر هر تنظیمات ارائه می دهد. به عنوان مثال، در بخش میتوانید خطمشی برای ارسال دادهها به سرویسهای Google، مدیریت همگامسازی، پردازش کوکیها و ذخیره سابقه تعریف کنید. این عملکرد به برخی از کاربران ارائه می شود؛ برای فعال کردن آن، می توانید از تنظیمات "chrome://flags#privacy-guide" استفاده کنید.
- ساختار تاریخچه جستجو و صفحات مشاهده شده ارائه شده است. هنگامی که سعی می کنید دوباره جستجو کنید، یک راهنمایی "از سرگیری سفر" در نوار آدرس نمایش داده می شود که به شما امکان می دهد جستجو را از جایی که آخرین بار در آن قطع شده است ادامه دهید.
- فروشگاه وب Chrome صفحه «کیت شروع برنامههای افزودنی» را با انتخاب اولیه از افزونههای پیشنهادی ارائه میکند.
- در حالت تست، ارسال یک درخواست مجوز CORS (Cross-Origin Resource Sharing) به سرور اصلی سایت با هدر "Access-Control-Request-Private-Network: true" زمانی فعال می شود که صفحه به منبعی در شبکه داخلی دسترسی پیدا می کند. 192.168.xx، 10.xxx، 172.16.xx) یا به localhost (128.xxx). هنگام تایید عملیات در پاسخ به این درخواست، سرور باید هدر "Access-Control-Allow-Private-Network: true" را برگرداند. در کروم نسخه 102، نتیجه تأیید هنوز بر پردازش درخواست تأثیر نمی گذارد - اگر تأییدی وجود نداشته باشد، یک هشدار در کنسول وب نمایش داده می شود، اما خود درخواست منبع فرعی مسدود نمی شود. فعال کردن مسدود کردن در صورت عدم تایید سرور تا زمان انتشار Chrome 105 انتظار نمی رود. برای فعال کردن مسدود کردن در نسخه های قبلی، می توانید تنظیم "chrome://flags/#private-network-access-respect-preflight- را فعال کنید. نتایج".
تأیید اعتبار توسط سرور برای تقویت محافظت در برابر حملات مربوط به دسترسی به منابع در شبکه محلی یا رایانه کاربر (localhost) از اسکریپت های بارگیری شده هنگام باز کردن یک سایت معرفی شد. چنین درخواست هایی توسط مهاجمان برای انجام حملات CSRF بر روی روترها، نقاط دسترسی، چاپگرها، واسط های وب شرکتی و سایر دستگاه ها و سرویس هایی که درخواست ها را فقط از شبکه محلی می پذیرند، استفاده می شود. برای محافظت در برابر چنین حملاتی، در صورت دسترسی به منابع فرعی در شبکه داخلی، مرورگر یک درخواست صریح برای اجازه بارگیری این منابع فرعی ارسال می کند.
- هنگام باز کردن پیوندها در حالت ناشناس از طریق منوی زمینه، برخی از پارامترهایی که بر حریم خصوصی تأثیر می گذارند به طور خودکار از URL حذف می شوند.
- استراتژی تحویل به روز رسانی برای ویندوز و اندروید تغییر کرده است. برای مقایسه کاملتر رفتار نسخههای جدید و قدیمی، چندین نسخه از نسخه جدید برای دانلود تولید میشوند.
- فناوری تقسیمبندی شبکه برای محافظت در برابر روشهای ردیابی حرکات کاربر بین سایتها بر اساس ذخیرهسازی شناسهها در مناطقی که برای ذخیره دائمی اطلاعات در نظر گرفته نشدهاند، تثبیت شده است ("Supercookies"). از آنجایی که منابع ذخیره شده در حافظه پنهان در یک فضای نام مشترک ذخیره می شوند، بدون توجه به دامنه اصلی، یک سایت می تواند با بررسی اینکه آیا آن منبع در حافظه نهان قرار دارد، تعیین کند که سایت دیگری در حال بارگیری منابع است. حفاظت مبتنی بر استفاده از تقسیمبندی شبکه (پارتیشنسازی شبکه) است، که ماهیت آن افزودن به حافظههای پنهان مشترک، اتصال اضافی رکوردها به دامنهای است که صفحه اصلی از آن باز میشود، که پوشش کش را فقط برای اسکریپتهای ردیابی حرکت محدود میکند. به سایت فعلی (اسکریپت یک iframe نمی تواند بررسی کند که آیا منبع از سایت دیگری دانلود شده است). اشتراک گذاری وضعیت اتصالات شبکه (HTTP/1، HTTP/2، HTTP/3، سوکت وب)، حافظه پنهان DNS، داده های ALPN/HTTP2، TLS/HTTP3، پیکربندی، دانلودها و اطلاعات هدر Expect-CT را پوشش می دهد.
- برای برنامه های وب مستقل نصب شده (PWA، برنامه وب پیشرو)، می توان طراحی ناحیه عنوان پنجره را با استفاده از اجزای Window Controls Overlay تغییر داد، که سطح صفحه نمایش برنامه وب را به کل پنجره گسترش می دهد. یک برنامه وب میتواند رندر و پردازش ورودی کل پنجره را کنترل کند، به استثنای بلوک پوششی با دکمههای کنترل پنجره استاندارد (بستن، کوچک کردن، حداکثر کردن)، تا به برنامه وب ظاهر یک برنامه دسکتاپ معمولی را بدهد.
- در سامانه تکمیل خودکار فرم، پشتیبانی برای تولید شماره کارت اعتباری مجازی در فیلدهایی با جزئیات پرداخت کالا در فروشگاه های آنلاین اضافه شده است. استفاده از یک کارت مجازی که تعداد آن برای هر پرداخت تولید می شود، به شما امکان می دهد اطلاعات مربوط به یک کارت اعتباری واقعی را انتقال ندهید، بلکه نیاز به ارائه خدمات لازم توسط بانک دارد. این ویژگی در حال حاضر فقط برای مشتریان بانک های ایالات متحده در دسترس است. برای کنترل گنجاندن تابع، تنظیم "chrome://flags/#autofill-enable-virtual-card" پیشنهاد شده است.
- مکانیسم «Capture Handle» به طور پیشفرض فعال است و به شما امکان میدهد اطلاعات را به برنامههایی که فیلمبرداری میکنند منتقل کنید. API سازماندهی تعامل بین برنامه هایی که محتوای آنها ضبط شده و برنامه هایی که ضبط را انجام می دهند را ممکن می سازد. به عنوان مثال، یک برنامه کنفرانس ویدیویی که در حال ضبط ویدیو برای پخش یک ارائه است، می تواند اطلاعات مربوط به کنترل های ارائه را بازیابی کند و آنها را در پنجره ویدیو نمایش دهد.
- پشتیبانی از قوانین گمانهزنی بهطور پیشفرض فعال است، و نحوی انعطافپذیر برای تعیین اینکه آیا دادههای مرتبط با پیوند را میتوان پیش از کلیک کاربر روی پیوند بهطور فعال بارگیری کرد یا خیر، فعال است.
- مکانیسم بستهبندی منابع در بستهها در قالب Web Bundle تثبیت شده است و به شما امکان میدهد کارایی بارگیری تعداد زیادی از فایلهای همراه (سبکهای CSS، جاوا اسکریپت، تصاویر، iframes) را افزایش دهید. بر خلاف بستهها در قالب Webpack، قالب Web Bundle دارای مزایای زیر است: این خود بسته نیست که در حافظه پنهان HTTP ذخیره میشود، بلکه اجزای سازنده آن است. کامپایل و اجرای جاوا اسکریپت بدون انتظار برای دانلود کامل بسته شروع می شود. مجاز به گنجاندن منابع اضافی مانند CSS و تصاویر است که در بسته وب باید به شکل رشته های جاوا اسکریپت کدگذاری شوند.
- می توان یک برنامه PWA را به عنوان کنترل کننده انواع MIME و پسوند فایل تعریف کرد. پس از تعریف یک اتصال از طریق فیلد file_handlers در مانیفست، برنامه زمانی که کاربر تلاش میکند فایل مرتبط با برنامه را باز کند، رویداد خاصی را دریافت میکند.
- یک ویژگی بی اثر جدید اضافه شده است که به شما امکان می دهد بخشی از درخت DOM را به عنوان "غیرفعال" علامت گذاری کنید. برای گرههای DOM در این حالت، کنترلکنندههای شناور اشارهگر و انتخاب متن غیرفعال هستند، یعنی. رویدادهای اشاره گر و ویژگی های CSS انتخابی کاربر همیشه روی "هیچ" تنظیم می شوند. اگر یک گره قابل ویرایش باشد، در حالت بی اثر غیر قابل ویرایش می شود.
- Navigation API اضافه شد، که به برنامه های کاربردی وب اجازه می دهد تا عملیات ناوبری پنجره را رهگیری کنند، ناوبری را آغاز کنند و تاریخچه اقدامات با برنامه را تجزیه و تحلیل کنند. API جایگزینی برای ویژگی های window.history و window.location فراهم می کند که برای برنامه های وب تک صفحه ای بهینه شده است.
- یک پرچم جدید، "تا یافت نشد"، برای ویژگی "مخفی" پیشنهاد شده است، که باعث می شود عنصر در صفحه قابل جستجو باشد و با ماسک متن قابل پیمایش باشد. به عنوان مثال، می توانید متن مخفی را به صفحه ای اضافه کنید که محتوای آن در جستجوهای محلی یافت می شود.
- در WebHID API که برای دسترسی سطح پایین به دستگاههای HID (دستگاههای رابط انسانی، صفحهکلید، موس، گیمپد، پد لمسی) و سازماندهی کار بدون حضور درایورهای خاص در سیستم طراحی شده است، ویژگی exclusionFilters به requestDevice اضافه شده است. ) شی، که به شما امکان می دهد وقتی مرورگر لیستی از دستگاه های موجود را نمایش می دهد، دستگاه های خاصی را حذف کنید. برای مثال، میتوانید شناسههای دستگاهی را که دارای مشکلات شناخته شده هستند حذف کنید.
- نمایش فرم پرداخت از طریق فراخوانی به ()PaymentRequest.show بدون اقدام کاربر صریح، به عنوان مثال، کلیک بر روی عنصر مرتبط با کنترل کننده ممنوع است.
- پشتیبانی از اجرای جایگزین پروتکل SDP (پروتکل شرح جلسه) که برای ایجاد یک جلسه در WebRTC استفاده می شد، متوقف شده است. کروم دو گزینه SDP ارائه کرد - یکپارچه با سایر مرورگرها و مختص کروم. از این به بعد فقط گزینه قابل حمل باقی مانده است.
- بهبودهایی در ابزارهای توسعه دهندگان وب ایجاد شده است. دکمه هایی به پنل Styles اضافه شد تا استفاده از یک تم تیره و روشن را شبیه سازی کند. حفاظت از برگه پیش نمایش در حالت بازرسی شبکه تقویت شده است (کاربرد سیاست امنیتی محتوا فعال است). دیباگر خاتمه اسکریپت را برای بارگذاری مجدد نقاط شکست اجرا می کند. یک پیاده سازی اولیه از پانل جدید "بینش عملکرد" پیشنهاد شده است که به شما امکان می دهد عملکرد عملیات خاصی را در صفحه تجزیه و تحلیل کنید.
علاوه بر نوآوری ها و رفع اشکال، نسخه جدید 32 آسیب پذیری را از بین می برد. بسیاری از آسیبپذیریها در نتیجه آزمایش خودکار با استفاده از ابزارهای AddressSanitizer، MemorySanitizer، Control Flow Integrity، LibFuzzer و AFL شناسایی شدند. یکی از مشکلات (CVE-2022-1853) به سطح بحرانی خطر اختصاص داده شده است، که حاکی از توانایی دور زدن تمام سطوح حفاظت مرورگر و اجرای کد در سیستم در خارج از محیط سندباکس است. جزئیات این آسیبپذیری هنوز فاش نشده است؛ تنها مشخص است که این آسیبپذیری ناشی از دسترسی به یک بلوک حافظه آزاد شده (استفاده پس از آزاد) در پیادهسازی Indexed DB API است.
به عنوان بخشی از برنامه پاداش نقدی برای کشف آسیبپذیریها برای نسخه فعلی، گوگل ۲۴ جایزه به ارزش ۶۵۶۰۰ دلار پرداخت کرد (یک جایزه ۱۰۰۰۰ دلاری، یک جایزه ۷۵۰۰ دلاری، دو جایزه ۷۰۰۰ دلاری، سه جایزه ۵۰۰۰ دلاری، چهار جایزه ۳۰۰۰ دلاری، دو جایزه ۲،۰۰۰ دلاری، دو جایزه ۲،۰۰۰ دلاری. 24 دلار پاداش). اندازه 65600 جایزه هنوز مشخص نشده است.
منبع: opennet.ru