إصدار الكروم 93

كشفت Google عن إصدار متصفح الويب Chrome 93. وفي الوقت نفسه، يتوفر إصدار مستقر لمشروع Chromium المجاني، والذي يعمل كأساس لمتصفح Chrome. يتميز متصفح Chrome باستخدام شعارات Google، ووجود نظام لإرسال الإشعارات في حالة حدوث عطل، ووحدات لتشغيل محتوى الفيديو المحمي (DRM)، ونظام تثبيت التحديثات تلقائيًا، ونقل معلمات RLZ عند البحث. من المقرر إصدار الإصدار التالي من Chrome 94 في 21 سبتمبر (تم نقل التطوير إلى دورة إصدار مدتها 4 أسابيع).

التغييرات الرئيسية في Chrome 93:

  • تم تحديث تصميم الكتلة مع معلومات الصفحة (معلومات الصفحة)، حيث تم تنفيذ دعم الكتل المتداخلة، وتم استبدال القوائم المنسدلة التي تتمتع بحقوق الوصول بالمفاتيح. تضمن القوائم عرض المعلومات الأكثر أهمية أولاً. لم يتم تمكين التغيير لجميع المستخدمين؛ لتنشيطه، يمكنك استخدام الإعداد "chrome://flags/#page-info-version-2-desktop".
    إصدار الكروم 93
  • بالنسبة لنسبة صغيرة من المستخدمين، كتجربة، تم استبدال مؤشر الاتصال الآمن في شريط العناوين برمز أكثر حيادية لا يسبب تفسيرًا مزدوجًا (تم استبدال القفل بعلامة "V"). بالنسبة للاتصالات التي تم إنشاؤها بدون تشفير، يستمر عرض مؤشر "غير آمن". السبب المذكور لاستبدال المؤشر هو أن العديد من المستخدمين يربطون مؤشر القفل بحقيقة أنه يمكن الوثوق بمحتوى الموقع، بدلاً من رؤيته كعلامة على أن الاتصال مشفر. إذا حكمنا من خلال استطلاع أجرته Google، فإن 11% فقط من المستخدمين يفهمون معنى رمز القفل.
    إصدار الكروم 93
  • تعرض قائمة علامات التبويب المغلقة مؤخرًا محتويات مجموعات علامات التبويب المغلقة (في السابق كانت القائمة تعرض اسم المجموعة ببساطة دون تفاصيل المحتويات) مع إمكانية إرجاع كل من المجموعة بأكملها وعلامات التبويب الفردية من المجموعة مرة واحدة. لم يتم تمكين هذه الميزة لجميع المستخدمين، لذا قد تحتاج إلى تغيير الإعداد "chrome://flags/#tab-restore-sub-menus" لتمكينها.
    إصدار الكروم 93
  • بالنسبة للمؤسسات، تم تطبيق إعدادات جديدة: DefaultJavaScriptJitSetting وJavaScriptJitAllowedForSites وJavaScriptJitBlockedForSites، والتي تسمح لك بالتحكم في وضع JIT-less، والذي يعطل استخدام تجميع JIT عند تنفيذ JavaScript (يتم استخدام مترجم Ignition فقط) ويحظر تخصيص الملف القابل للتنفيذ. الذاكرة أثناء تنفيذ التعليمات البرمجية. يمكن أن يكون تعطيل JIT مفيدًا لتحسين أمان العمل مع تطبيقات الويب التي يحتمل أن تكون خطرة على حساب تقليل أداء تنفيذ JavaScript بنسبة 17% تقريبًا. يُشار إلى أن مايكروسوفت ذهبت إلى أبعد من ذلك ونفذت وضعًا تجريبيًا “Super Duper Secure” في متصفح Edge، مما يسمح للمستخدم بتعطيل JIT وتنشيط آليات أمان الأجهزة غير المتوافقة مع JIT CET (تقنية إنفاذ التحكم)، وACG (التعسفي) Code Guard) وCFG (Control Flow Guard) لعمليات معالجة محتوى الويب. إذا تبين أن التجربة ناجحة، فيمكننا أن نتوقع نقلها إلى الجزء الرئيسي من Chrome.
  • توفر صفحة علامة التبويب الجديدة قائمة بالمستندات الأكثر شيوعًا المحفوظة في Google Drive. تتوافق محتويات القائمة مع قسم الأولوية في Drive.google.com. للتحكم في عرض محتوى Google Drive، يمكنك استخدام إعدادات "chrome://flags/#ntp-modules" و"chrome://flags/#ntp-drive-module".
    إصدار الكروم 93
  • تمت إضافة بطاقات معلومات جديدة إلى صفحة "فتح علامة تبويب جديدة" لمساعدتك في العثور على المحتوى الذي تم عرضه مؤخرًا والمعلومات ذات الصلة. تم تصميم البطاقات لتسهيل مواصلة العمل بالمعلومات التي انقطع عرضها، على سبيل المثال، ستساعدك البطاقات في العثور على وصفة لطبق تم العثور عليه مؤخرًا عبر الإنترنت ولكن تم فقده بعد إغلاق الصفحة، أو الاستمرار في إعداد المشتريات في المتاجر. كتجربة، يتم تقديم خريطتين جديدتين للمستخدمين: "الوصفات" (chrome://flags/#ntp-recipe-tasks-module) للبحث عن وصفات الطهي وعرض الوصفات التي تم عرضها مؤخرًا؛ "Shopping" (chrome://flags/#ntp-chrome-cart-module) للتذكير بالمنتجات المحددة في المتاجر عبر الإنترنت.
  • يضيف إصدار Android دعمًا اختياريًا للوحة البحث المستمر (chrome://flags/#continious-search)، والتي تسمح لك بإبقاء نتائج بحث Google الحديثة مرئية (تستمر اللوحة في عرض النتائج بعد الانتقال إلى صفحات أخرى).
    إصدار الكروم 93
  • تمت إضافة وضع مشاركة الاقتباس التجريبي إلى إصدار Android (chrome://flags/#webnotes-stylize)، والذي يسمح لك بحفظ جزء محدد من الصفحة كاقتباس ومشاركته مع مستخدمين آخرين.
  • عند نشر إضافات جديدة أو تحديثات الإصدارات إلى سوق Chrome الإلكتروني، أصبح التحقق الثنائي من المطور مطلوبًا الآن.
  • يتوفر لمستخدمي حساب Google خيار حفظ معلومات الدفع في حساب Google الخاص بهم.
  • في وضع التصفح المتخفي، إذا تم تنشيط خيار مسح بيانات التنقل، فقد تم تنفيذ مربع حوار جديد لتأكيد العملية، موضحًا أن مسح البيانات سيؤدي إلى إغلاق النافذة وإنهاء جميع الجلسات في وضع التصفح المتخفي.
  • نظرًا لعدم التوافق المحدد مع البرامج الثابتة لبعض الأجهزة، تم إضافة دعم لطريقة اتفاقية المفاتيح الجديدة إلى Chrome 91، المقاومة للتخمين على أجهزة الكمبيوتر الكمومية، استنادًا إلى استخدام ملحق CECPQ1.3 (Combined Elliptic-Curve وPost-Quantum 2) في TLSv2، يجمع بين آلية تبادل المفاتيح الكلاسيكية X25519 ونظام HRSS استنادًا إلى خوارزمية NTRU Prime المصممة لأنظمة التشفير ما بعد الكم.
  • تمت إضافة المنفذ 989 (بيانات ftps) و990 (ftps) إلى عدد منافذ الشبكة المحظورة لمنع هجوم ALPACA. في السابق، ومن أجل الحماية من هجمات NAT، تم بالفعل حظر المنافذ 69 و137 و161 و554 و1719 و1720 و1723 و5060 و5061 و6566 ​​و10080.
  • لم يعد TLS يدعم الأصفار المستندة إلى خوارزمية 3DES. على وجه الخصوص، تمت إزالة مجموعة التشفير TLS_RSA_WITH_3DES_EDE_CBC_SHA، المعرضة لهجوم Sweet32.
  • لقد توقف دعم Ubuntu 16.04.
  • من الممكن استخدام WebOTP API بين الأجهزة المختلفة المتصلة عبر حساب Google مشترك. يسمح WebOTP لتطبيق ويب بقراءة رموز التحقق لمرة واحدة المرسلة عبر الرسائل القصيرة. يتيح التغيير المقترح تلقي رمز التحقق على جهاز محمول يعمل بنظام Chrome لنظام Android، وتطبيقه على نظام سطح المكتب.
  • تم توسيع واجهة برمجة تطبيقات User-Agent Client Hints، وتطويرها كبديل لرأس User-Agent. تسمح لك تلميحات عميل وكيل المستخدم بتنظيم التسليم الانتقائي للبيانات حول معلمات محددة للمتصفح والنظام (الإصدار والنظام الأساسي وما إلى ذلك) فقط بعد طلب من الخادم. ويمكن للمستخدم بدوره تحديد المعلومات التي يمكن تقديمها لأصحاب الموقع. عند استخدام تلميحات عميل وكيل المستخدم، لا يتم إرسال معرف المتصفح دون طلب صريح، ويتم تحديد المعلمات الأساسية فقط بشكل افتراضي، مما يجعل التعرف السلبي أمرًا صعبًا.

    يدعم الإصدار الجديد معلمة Sec-CH-UA-Bitness لإرجاع بيانات حول وحدات البت للنظام الأساسي، والتي يمكن استخدامها لخدمة الملفات الثنائية المحسنة. افتراضيًا، يتم إرسال معلمة Sec-CH-UA-Platform مع معلومات النظام الأساسي العامة. يتم تنفيذ قيمة UADataValues ​​التي يتم إرجاعها عند استدعاء getHighEntropyValues() افتراضيًا لإرجاع المعلمات المعممة إذا كان من المستحيل إرجاع خيار مفصل. تمت إضافة الأسلوب toJSON إلى كائن NavigatorUAData، والذي يسمح لك باستخدام بنيات مثل JSON.stringify(navigator.userAgentData).

  • تم تثبيت القدرة على تجميع الموارد في حزم بتنسيق Web Bundle، المناسب لتنظيم تحميل أكثر كفاءة لعدد كبير من الملفات المصاحبة (أنماط CSS، وJavaScript، والصور، وإطارات iframe) بشكل افتراضي. من بين أوجه القصور في الدعم الحالي لحزم ملفات JavaScript (webpack)، والتي تحاول Web Bundle التخلص منها: يمكن أن تنتهي الحزمة نفسها، ولكن ليس الأجزاء المكونة لها، في ذاكرة التخزين المؤقت HTTP؛ لا يمكن أن يبدأ التجميع والتنفيذ إلا بعد تنزيل الحزمة بالكامل؛ يجب ترميز الموارد الإضافية مثل CSS والصور في شكل سلاسل JavaScript، مما يزيد الحجم ويتطلب خطوة تحليل أخرى.
  • تم تضمين WebXR Plane Detection API، مما يوفر معلومات حول الأسطح المستوية في بيئة افتراضية ثلاثية الأبعاد. تتيح واجهة برمجة التطبيقات المحددة تجنب المعالجة المكثفة للموارد للبيانات التي تم الحصول عليها من خلال استدعاء MediaDevices.getUserMedia()، باستخدام تطبيقات خاصة لخوارزميات رؤية الكمبيوتر. دعنا نذكرك أن WebXR API يسمح لك بتوحيد العمل مع فئات مختلفة من أجهزة الواقع الافتراضي، بدءًا من الخوذات الثابتة ثلاثية الأبعاد وحتى الحلول المعتمدة على الأجهزة المحمولة.
  • تمت إضافة العديد من واجهات برمجة التطبيقات الجديدة إلى وضع Origin Trials (ميزات تجريبية تتطلب تنشيطًا منفصلاً). يتضمن Origin Trial القدرة على العمل مع واجهة برمجة التطبيقات المحددة من التطبيقات التي تم تنزيلها من المضيف المحلي أو 127.0.0.1 ، أو بعد التسجيل واستلام رمز خاص صالح لفترة محدودة لموقع معين.
    • تم اقتراح واجهة برمجة التطبيقات Multi-Screen Window Placement، والتي تسمح لك بوضع النوافذ على أي شاشة متصلة بالنظام الحالي، بالإضافة إلى حفظ موضع النافذة، وإذا لزم الأمر، قم بتوسيع النافذة إلى الشاشة الكاملة. على سبيل المثال، باستخدام واجهة برمجة التطبيقات المحددة، يمكن لتطبيق ويب لعرض العرض التقديمي تنظيم عرض الشرائح على شاشة واحدة، وعرض ملاحظة للمقدم على شاشة أخرى.
    • رأس Cross-Origin-Embedder-Policy، الذي يتحكم في وضع عزل Cross-Origin ويسمح لك بتحديد قواعد الاستخدام الآمن على صفحة العمليات المميزة، يدعم الآن معلمة "بدون بيانات اعتماد" لتعطيل إرسال المعلومات المتعلقة ببيانات الاعتماد مثل ملفات تعريف الارتباط وشهادات العميل.
    • بالنسبة لتطبيقات الويب المستقلة (PWA، تطبيقات الويب التقدمية) التي تتحكم في عرض محتويات النافذة والتعامل مع الإدخال، يتم توفير تراكب مع عناصر التحكم في النافذة، مثل شريط العنوان وأزرار التوسيع/الطي. يعمل التراكب على توسيع المنطقة القابلة للتحرير لتغطية النافذة بأكملها ويسمح لك بإضافة العناصر الخاصة بك إلى منطقة العنوان.
      إصدار الكروم 93
    • تمت إضافة القدرة على إنشاء تطبيقات PWA التي يمكن استخدامها كمعالجات URL. على سبيل المثال، يمكن لتطبيق music.example.com تسجيل نفسه كمعالج URL https://*.music.example.com وستؤدي جميع عمليات النقل من التطبيقات الخارجية باستخدام هذه الروابط، على سبيل المثال، من برامج المراسلة الفورية وعملاء البريد الإلكتروني لفتح هذه التطبيقات PWA-، وليس علامة تبويب متصفح جديدة.
  • من الممكن تحميل ملفات CSS باستخدام تعبير "استيراد"، على غرار تحميل وحدات JavaScript، وهو أمر مناسب عند إنشاء العناصر الخاصة بك ويسمح لك بالاستغناء عن تعيين الأنماط باستخدام تعليمات JavaScript البرمجية. استيراد ورقة من './styles.css' تأكيد { النوع: 'css' }؛ document.adoptedStyleSheets = [ورقة]؛ ShadowRoot.adoptedStyleSheets = [sheet];
  • تم توفير أسلوب ثابت جديد، AbortSignal.abort()، يقوم بإرجاع كائن AbortSignal الذي تم تعيينه بالفعل على أنه تم إحباطه. بدلاً من إنشاء عدة أسطر من التعليمات البرمجية لإنشاء كائن AbortSignal في الحالة المجهضة، يمكنك الآن تنفيذ الأمر باستخدام سطر واحد من "return AbortSignal.abort()".
  • أضاف عنصر Flexbox دعمًا للكلمات الرئيسية للبداية والنهاية والبدء الذاتي والنهاية الذاتية واليسار واليمين، مكملاً الكلمات الرئيسية المركزية والبداية المرنة والنهاية المرنة بأدوات للمحاذاة المبسطة لموضع العناصر المرنة.
  • ينفذ منشئ Error() خاصية "سبب" اختيارية جديدة، والتي تسمح لك بربط الأخطاء مع بعضها البعض بسهولة. constparentError = new Error('parent'); خطأ const = خطأ جديد('parent', { السبب:parentError }); console.log(error.cause ===parentError); // → صحيح
  • تمت إضافة دعم لوضع noplaybackrate إلى خاصية HTMLMediaElement.controlsList، مما يسمح لك بتعطيل عناصر الواجهة المتوفرة في المتصفح لتغيير سرعة تشغيل محتوى الوسائط المتعددة.
  • تمت إضافة رأس Sec-CH-Prefers-Color-Scheme، والذي يسمح، في مرحلة إرسال الطلب، بنقل البيانات حول نظام الألوان المفضل للمستخدم المستخدم في استعلامات الوسائط "prefers-color-scheme"، مما سيسمح للموقع بالتحسين تحميل CSS المرتبط بالمخطط المحدد وتجنب المفاتيح المرئية من المخططات الأخرى.
  • تمت إضافة الخاصية Object.hasOwn، وهي نسخة مبسطة من Object.prototype.hasOwnProperty، ويتم تنفيذها كطريقة ثابتة. Object.hasOwn({prop: 42 }, 'prop') // → صحيح
  • تم تصميم برنامج التحويل البرمجي JIT الخاص بـ Sparkplug لتجميع سريع للغاية، وقد أضاف وضع تنفيذ دفعة لتقليل الحمل الزائد لتبديل صفحات الذاكرة بين وضعي الكتابة والتشغيل. يقوم Sparkplug الآن بتجميع وظائف متعددة في وقت واحد ويستدعي mprotect مرة واحدة لتغيير أذونات المجموعة بأكملها. يعمل الوضع المقترح على تقليل وقت الترجمة بشكل كبير (يصل إلى 44%) دون التأثير سلبًا على أداء تنفيذ JavaScript.
    إصدار الكروم 93
  • يعمل إصدار Android على تعطيل الحماية المضمنة لمحرك V8 ضد هجمات القنوات الجانبية مثل Spectre، والتي لا تعتبر فعالة مثل عزل المواقع في عمليات منفصلة. في إصدار سطح المكتب، تم تعطيل هذه الآليات مرة أخرى في إصدار Chrome 70. وقد أدى تعطيل عمليات التحقق غير الضرورية إلى زيادة الأداء بنسبة 2-15%.
    إصدار الكروم 93
  • تم إجراء تحسينات على الأدوات لمطوري الويب. في وضع فحص ورقة الأنماط، من الممكن تحرير الاستعلامات التي تم إنشاؤها باستخدام تعبير @container. في وضع فحص الشبكة، يتم تنفيذ معاينة الموارد بتنسيق حزمة الويب. في وحدة تحكم الويب، تمت إضافة خيارات نسخ السلاسل في شكل JavaScript أو JSON literals إلى قائمة السياق. تحسين تصحيح الأخطاء المتعلقة بـ CORS (مشاركة الموارد عبر الأصل).
    إصدار الكروم 93

بالإضافة إلى الابتكارات وإصلاحات الأخطاء، يزيل الإصدار الجديد 27 نقطة ضعف. تم التعرف على العديد من نقاط الضعف نتيجة للاختبار الآلي باستخدام أدوات AddressSanitizer وMemorySanitizer وControl Flow Integrity وLibFuzzer وAFL. لم يتم تحديد أي مشكلات حرجة من شأنها أن تسمح بتجاوز جميع مستويات حماية المتصفح وتنفيذ التعليمات البرمجية على النظام خارج بيئة وضع الحماية. كجزء من برنامج دفع مكافآت نقدية لاكتشاف الثغرات الأمنية للإصدار الحالي، دفعت جوجل 19 جائزة بقيمة 136500 دولار أمريكي (ثلاث جوائز بقيمة 20000 دولار أمريكي، وجائزة واحدة بقيمة 15000 دولار أمريكي، وثلاث جوائز بقيمة 10000 دولار أمريكي، وجائزة واحدة بقيمة 7500 دولار أمريكي، وثلاث جوائز بقيمة 5000 دولار أمريكي، وثلاث جوائز بقيمة 3000 دولار أمريكي). لم يتم تحديد حجم المكافآت الخمس بعد.

المصدر: opennet.ru

إضافة تعليق