Chrome versiyasi 90

Google kompaniyasi Chrome 90 veb-brauzerini taqdim etdi.Ayni vaqtda Chrome brauzerining asosi bo'lib xizmat qiluvchi bepul Chromium loyihasining barqaror versiyasi ham mavjud. Chrome brauzeri Google logotiplaridan foydalanish, avariya sodir bo'lgan taqdirda bildirishnomalarni yuborish tizimining mavjudligi, himoyalangan video kontentini o'ynatish modullari (DRM), yangilanishlarni avtomatik o'rnatish tizimi va qidiruv paytida RLZ parametrlarini uzatish bilan ajralib turadi. Chrome 91-ning navbatdagi versiyasi 25-mayga rejalashtirilgan.

Chrome 90-dagi asosiy o'zgarishlar:

  • Barcha foydalanuvchilar manzil satriga xost nomlarini kiritishda sukut bo'yicha HTTPS orqali saytlarni ochishlari mumkin. Misol uchun, example.com xostiga kirganingizda, https://example.com sayti sukut bo'yicha ochiladi va agar ochishda muammolar yuzaga kelsa, u http://example.com saytiga qaytariladi. Standart “https://” dan foydalanishni boshqarish uchun “chrome://flags#omnibox-default-typed-navigations-to-https” sozlamasi taklif etiladi.
  • Endi ish stoli panelida ularni vizual ravishda ajratish uchun derazalarga turli teglar belgilash mumkin. Oyna nomini o'zgartirishni qo'llab-quvvatlash turli xil vazifalar uchun alohida brauzer oynalaridan foydalanganda, masalan, ish vazifalari, shaxsiy qiziqishlar, o'yin-kulgilar, kechiktirilgan materiallar va boshqalar uchun alohida oynalarni ochishda ishni tashkil qilishni soddalashtiradi. Nom yorliqlar panelidagi bo'sh joyni sichqonchaning o'ng tugmasi bilan bosganingizda paydo bo'ladigan kontekst menyusidagi "Oyna sarlavhasini qo'shish" bandi orqali o'zgartiriladi. Ilovalar panelidagi nomni o'zgartirgandan so'ng, faol yorliqdagi sayt nomi o'rniga tanlangan nom ko'rsatiladi, bu alohida hisoblar bilan bog'langan turli oynalarda bir xil saytlarni ochishda foydali bo'lishi mumkin. Bog'lanish sessiyalar o'rtasida saqlanadi va qayta ishga tushirilgandan so'ng oynalar tanlangan nomlar bilan tiklanadi.
    Chrome versiyasi 90
  • “chrome://flags” (“chrome://flags#read-later”) sozlamalarini o‘zgartirmasdan “O‘qish ro‘yxati”ni yashirish imkoniyati qo‘shildi. Yashirish uchun endi xatcho'plar panelini o'ng tugmasini bosganingizda ko'rsatiladigan kontekst menyusining pastki qismidagi "O'qish ro'yxatini ko'rsatish" opsiyasidan foydalanishingiz mumkin. Eslatib o'tamiz, oxirgi nashrda ba'zi foydalanuvchilar manzillar panelidagi yulduzchani bosganda, "Xatcho'p qo'shish" tugmasidan tashqari, "O'qish ro'yxatiga qo'shish" ikkinchi tugmasi paydo bo'ladi va o'ng burchagida xatcho'plar panelida "O'qish ro'yxati" menyusi paydo bo'ladi, bu ro'yxatga ilgari qo'shilgan barcha sahifalarni ko'rsatadi. Ro'yxatdagi sahifani ochganingizda, u o'qilgan deb belgilanadi. Roʻyxatdagi sahifalarni qoʻlda oʻqilgan yoki oʻqilmagan deb belgilash yoki roʻyxatdan olib tashlash ham mumkin.
  • Ma'lumotni doimiy saqlash uchun mo'ljallanmagan hududlarda identifikatorlarni saqlashga asoslangan saytlar orasidagi foydalanuvchi harakatlarini kuzatish usullaridan himoya qilish uchun tarmoq segmentatsiyasini qo'llab-quvvatlash qo'shildi ("Supercookie"). Keshlangan resurslar umumiy nomlar maydonida saqlanganligi sababli, kelib chiqqan domendan qat'i nazar, bitta sayt boshqa sayt ushbu resurs keshda yoki yo'qligini tekshirish orqali resurslarni yuklayotganligini aniqlashi mumkin. Himoya tarmoq segmentatsiyasidan foydalanishga asoslangan (Tarmoq bo'limi), uning mohiyati umumiy keshlarga asosiy sahifa ochilgan domenga yozuvlarni qo'shimcha bog'lashni qo'shishdir, bu faqat harakatni kuzatish skriptlari uchun kesh qamrovini cheklaydi. joriy saytga (iframe-dan olingan skript resurs boshqa saytdan yuklab olinganligini tekshira olmaydi). Segmentatsiya narxi keshlash samaradorligining pasayishi bo'lib, sahifani yuklash vaqtining biroz oshishiga olib keladi (maksimal 1.32% ga, lekin saytlarning 80% uchun 0.09-0.75%).
  • HTTP, HTTPS va FTP so'rovlarini yuborish bloklangan tarmoq portlarining qora ro'yxati NAT slipstreaming hujumlaridan himoya qilish uchun to'ldirildi, bu esa brauzerda tajovuzkor tomonidan maxsus tayyorlangan veb-sahifani ochishda tarmoq yaratish imkonini beradi. tajovuzkor serveridan foydalanuvchi tizimidagi istalgan UDP yoki TCP portiga ulanish, ichki manzillar oralig'idan foydalanishga qaramay (192.168.x.x, 10.x.x.x). Taqiqlangan portlar ro'yxatiga 554 (RTSP protokoli) va 10080 (Amanda zaxira nusxasi va VMWare vCenter-da qo'llaniladi) qo'shildi. Ilgari 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 va 6566 portlari allaqachon bloklangan edi.
  • Brauzerda XFA shakllari bilan PDF hujjatlarini ochish uchun dastlabki yordam qo'shildi.
  • Ba'zi foydalanuvchilar uchun "Chrome sozlamalari > Maxfiylik va xavfsizlik > Maxfiylik sandboxi" yangi sozlamalar bo'limi faollashtirildi, bu sizga FLoC API parametrlarini individual identifikatsiyasiz va havolalarsiz foydalanuvchi manfaatlari toifasini aniqlashga qaratilgan boshqarish imkonini beradi. muayyan saytlarga tashrif buyurish tarixi.
  • Endi foydalanuvchi markazlashtirilgan boshqaruv yoqilgan profilga ulanganda ruxsat etilgan harakatlar roʻyxati bilan aniqroq bildirishnoma koʻrsatiladi.
  • Ruxsat so'rovi interfeysini kamroq bezovta qildi. Foydalanuvchi rad etishi mumkin boʻlgan soʻrovlar endi manzil satrida koʻrsatilgan tegishli indikator bilan avtomatik ravishda bloklanadi, uning yordamida foydalanuvchi har bir sayt asosida ruxsatlarni boshqarish interfeysiga oʻtishi mumkin.
    Chrome versiyasi 90
  • Intel CET (Intel Control-flow Enforment Technology) kengaytmalarini qo'llab-quvvatlash, qaytarishga yo'naltirilgan dasturlash (ROP, Qaytishga yo'naltirilgan dasturlash) usullari yordamida yaratilgan ekspluatatsiyalardan apparat himoyasi uchun kiritilgan.
  • Brauzerni inklyuziv terminologiyadan foydalanishga o'tkazish bo'yicha ishlar davom etmoqda. "Master_preferences" fayli "usta" so'zini ajdodlarining sobiq qulligi haqida ishora sifatida qabul qilgan foydalanuvchilarning his-tuyg'ularini ranjitmaslik uchun "initial_preferences" deb o'zgartirildi. Moslikni saqlab qolish uchun "master_preferences" qo'llab-quvvatlashi brauzerda bir muncha vaqt qoladi. Ilgari brauzer "oq ro'yxat", "qora ro'yxat" va "mahalliy" so'zlaridan foydalanishdan allaqachon xalos bo'lgan.
  • Android versiyasida "Lite" trafikni tejash rejimi yoqilganda, mobil operatorlar tarmoqlari orqali ulanganda videoni yuklab olishda bit tezligi kamayadi, bu esa trafikka asoslangan tariflar yoqilgan foydalanuvchilarning xarajatlarini kamaytiradi. "Lite" rejimi, shuningdek, HTTPS orqali hammaga ochiq manbalardan (autentifikatsiyani talab qilmaydigan) so'ralgan tasvirlarni siqishni ta'minlaydi.
  • WebRTC protokoli asosida video konferentsiyada foydalanish uchun maxsus optimallashtirilgan AV1 video formatli kodlovchi qo'shildi. Videokonferensiyada AV1 dan foydalanish siqishni samaradorligini oshirish va o'tkazish qobiliyati 30 kbit/sek bo'lgan kanallarda translyatsiya qilish imkoniyatini ta'minlash imkonini beradi.
  • JavaScript-da Array, String va TypedArrays obyektlari at() usulini amalga oshiradi, bu sizga nisbiy indeksatsiyadan foydalanishga imkon beradi (nisbiy pozitsiya massiv indeksi sifatida belgilanadi), shu jumladan oxiriga nisbatan salbiy qiymatlarni ko'rsatish (masalan, "arr.at(-1)" massivning oxirgi elementini qaytaradi).
  • JavaScript muntazam iboralar uchun “.indices” xususiyatini qo‘shdi, unda moslik guruhlari boshlang‘ich va yakuniy pozitsiyalari bilan massiv mavjud. Xususiyat faqat "/ d" bayrog'i bilan muntazam ifoda bajarilganda to'ldiriladi. const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indices[0]); // 0 — barcha mos guruhlar // → [0, 2] console.log(m.indices[1]); // 1 - mosliklarning birinchi guruhi // → [0, 1] console.log(m.indices[2]); // 2 - ikkinchi guruh o'yinlari // → [1, 2]
  • Inline kesh yoqilgan "super" xususiyatlarning (masalan, super.x) ishlashi optimallashtirildi. "Super" dan foydalanish unumdorligi endi oddiy xususiyatlarga kirishga yaqin.
  • JavaScript-dan WebAssembly funksiyalarini chaqirish inline joylashtirishdan foydalanish tufayli sezilarli darajada tezlashdi. Bu optimallashtirish hozircha eksperimental bo‘lib qolmoqda va “-turbo-inline-js-wasm-calls” bayrog‘i bilan ishlashni talab qiladi.
  • WebXR Depth Sensing API qo'shildi, bu sizga foydalanuvchi muhitidagi ob'ektlar va foydalanuvchi qurilmasi orasidagi masofani aniqlash imkonini beradi, masalan, yanada realroq to'ldirilgan reallik ilovalarini yaratish. Eslatib oʻtamiz, WebXR API statsionar 3D dubulgʻalaridan tortib mobil qurilmalarga asoslangan yechimlargacha boʻlgan turli sinfdagi virtual reallik qurilmalari bilan ishlashni birlashtirish imkonini beradi.
  • WebXR AR yoritishni baholash xususiyati barqarorlashtirildi, bu WebXR AR seanslariga modellarga tabiiyroq ko‘rinish va foydalanuvchi muhiti bilan yaxshiroq integratsiyalashish uchun atrof-muhit yorug‘ligi parametrlarini aniqlash imkonini beradi.
  • Origin Trials rejimi (alohida faollashtirishni talab qiluvchi eksperimental xususiyatlar) hozirda Android platformasi bilan cheklangan bir nechta yangi API qo‘shadi. Origin sinovi localhost yoki 127.0.0.1-dan yuklab olingan ilovalardan yoki ma'lum bir sayt uchun cheklangan vaqt uchun amal qiladigan maxsus tokenni ro'yxatdan o'tkazgandan va olgandan keyin ko'rsatilgan API bilan ishlash qobiliyatini nazarda tutadi.
    • Joriy tab mazmunini aks ettiruvchi MediaStream video oqimini suratga olish imkonini beruvchi getCurrentBrowsingContextMedia() usuli. Shunga o'xshash getDisplayMedia() usulidan farqli o'laroq, getCurrentBrowsingContextMedia() ga qo'ng'iroq qilganda foydalanuvchiga yorliq mazmuni bilan videoni uzatish operatsiyasini tasdiqlash yoki blokirovka qilish uchun oddiy dialog oynasi taqdim etiladi.
    • Insertable Streams API, bu sizga MediaStreamTrack API orqali uzatiladigan, kamera va mikrofon maʼlumotlari, ekran tasviri natijalari yoki oraliq kodek dekodlash maʼlumotlari kabi xom media oqimlarini boshqarish imkonini beradi. WebCodec interfeyslari xom freymlarni taqdim etish uchun ishlatiladi va RTCPeerConnections asosida WebRTC Insertable Streams API yaratadigan oqimga o'xshash oqim yaratiladi. Amaliy tomondan, yangi API real vaqtda ob'ektlarni aniqlash yoki izohlash uchun mashinani o'rganish usullarini qo'llash yoki kodlashdan oldin yoki kodek tomonidan dekodlashdan keyin fonni kesish kabi effektlarni qo'shish kabi funktsiyalarga imkon beradi.
    • Ko'p sonli qo'shiladigan fayllarni (CSS uslublari, JavaScript, tasvirlar, iframes) yanada samarali yuklashni tashkil qilish uchun resurslarni paketlarga to'plash qobiliyati (Web Bundle). Web Bundle bartaraf qilmoqchi bo'lgan JavaScript fayllari (veb-paket) paketlarini qo'llab-quvvatlashdagi mavjud kamchiliklar orasida: paketning o'zi, lekin uning tarkibiy qismlari emas, HTTP keshida tugashi mumkin; kompilyatsiya va bajarish faqat paket to'liq yuklab olingandan keyingina boshlanishi mumkin; CSS va tasvirlar kabi qo'shimcha resurslar JavaScript satrlari ko'rinishida kodlangan bo'lishi kerak, bu hajmni oshiradi va boshqa tahlil qilish bosqichini talab qiladi.
    • WebAssembly-da istisnolardan foydalanishni qo'llab-quvvatlash.
  • Shadow DOM-da yangi ildiz shoxlarini yaratish uchun, masalan, import qilingan uchinchi tomon element uslubini va unga bog'langan DOM kichik filialini asosiy hujjatdan ajratish uchun Deklarativ Shadow DOM API barqarorlashtirildi. Taklif etilayotgan deklarativ API sizga JavaScript kodini yozishga hojat qoldirmasdan DOM filiallarini ochish uchun faqat HTML-dan foydalanish imkonini beradi.
  • Asbob nisbatini har qanday elementga aniq bog'lash imkonini beruvchi CSS xususiyati (faqat balandlik yoki kenglikni belgilashda etishmayotgan o'lchamni avtomatik ravishda hisoblash uchun) animatsiya paytida qiymatlarni interpolyatsiya qilish qobiliyatini amalga oshiradi (bir elementdan silliq o'tish). boshqasiga nisbati).
  • “:state()” psevdo-sinfi orqali CSS-da maxsus HTML elementlarining holatini aks ettirish imkoniyati qo'shildi. Funktsionallik standart HTML elementlarining foydalanuvchi o'zaro ta'siriga qarab o'z holatini o'zgartirish qobiliyatiga o'xshashlik bilan amalga oshiriladi.
  • “appearance” CSS xususiyati endi sukut boʻyicha va uchun, Android platformasida esa qoʻshimcha ravishda , , , va .
  • "Clip" qiymatini qo'llab-quvvatlash "overflow" CSS xususiyatiga qo'shildi, o'rnatilganda, blokdan tashqariga chiqadigan kontent aylantirish imkoniyatisiz blokning ruxsat etilgan to'lib ketish chegarasiga qisqartiriladi. Tarkibni kesish boshlanishidan oldin qutining haqiqiy chegarasidan qanchalik uzoqqa cho'zilishi mumkinligini aniqlaydigan qiymat yangi CSS xususiyati "overflow-clip-margin" orqali o'rnatiladi. "Toshib ketish: yashirin" bilan solishtirganda, "toshib ketish: klip" dan foydalanish yaxshi ishlash imkonini beradi.
    Chrome versiyasi 90Chrome versiyasi 90
  • Ruxsatlar delegatsiyasini boshqarish va kengaytirilgan funksiyalarni yoqish uchun Feature-Policy HTTP sarlavhasi yangi Ruxsatlar-Siyosat sarlavhasi bilan almashtirildi, bu tizimli maydon qiymatlarini qo‘llab-quvvatlashni o‘z ichiga oladi (masalan, endi “Ruxsatlar-Siyosat: geolocation”ni belgilashingiz mumkin. =()" o'rniga "Xususiyatlar-Siyosat: geolokatsiya "yo'q").
  • Protsessorlarda ko'rsatmalarning spekulyativ bajarilishi natijasida yuzaga keladigan hujumlar uchun Protokol Buferlaridan foydalanishdan himoya kuchaytirildi. Himoya “ilova/x-protobufer” MIME turini hech qachon hidlanmagan MIME turlari ro‘yxatiga qo‘shish orqali amalga oshiriladi, ular o‘zaro kelib chiqish-o‘qish-bloklash mexanizmi orqali qayta ishlanadi. Ilgari, MIME tipidagi "application/x-protobuf" allaqachon shunga o'xshash ro'yxatga kiritilgan, ammo "application/x-protobuffer" tashqarida qolgan.
  • File System Access API faylning joriy holatini uning oxiridan tashqariga siljitish qobiliyatini amalga oshiradi, FileSystemWritableFileStream.write() chaqiruvi orqali keyingi yozish paytida hosil bo'lgan bo'shliqni nollar bilan to'ldiradi. Bu xususiyat sizga bo'sh joylarga ega siyrak fayllarni yaratishga imkon beradi va ma'lumotlar bloklarining tartibsiz kelishi bilan oqimlarni faylga yozishni tashkil qilishni sezilarli darajada osonlashtiradi (masalan, bu BitTorrent-da qo'llaniladi).
  • DOM daraxti har safar o'zgarganda barcha bog'langan ob'ektlarni yangilashni talab qilmaydigan engil diapazon turlarini amalga oshirishga ega StaticRange konstruktori qo'shildi.
  • elementida ko'rsatilgan elementlar uchun kenglik va balandlik parametrlarini belgilash qobiliyati amalga oshirildi. Bu funksiya , va uchun qanday bajarilganiga o'xshash elementlari uchun tomonlar nisbatini hisoblash imkonini beradi.
  • RTP maʼlumotlar kanallari uchun standartlashtirilmagan qoʻllab-quvvatlash WebRTCʼdan olib tashlandi va buning oʻrniga SCTPʼga asoslangan maʼlumotlar kanallaridan foydalanish tavsiya etiladi.
  • Navigator.plugins va navigator.mimeTypes xususiyatlari endi har doim bo'sh qiymatni qaytaradi (Flash qo'llab-quvvatlashi tugagandan so'ng, bu xususiyatlar endi kerak emas edi).
  • Kichik yaxshilanishlarning katta qismi veb-ishlab chiquvchilar uchun vositalarga kiritildi va yangi CSS disk raskadrovka vositasi, flexbox qo'shildi.
    Chrome versiyasi 90

Innovatsiyalar va xatolarni tuzatishdan tashqari, yangi versiya 37 ta zaiflikni yo'q qiladi. Ko'pgina zaifliklar AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer va AFL vositalaridan foydalangan holda avtomatlashtirilgan testlar natijasida aniqlangan. Brauzer himoyasining barcha darajalarini chetlab o'tishga va tizimda sinov muhitidan tashqarida kodni bajarishga imkon beradigan muhim muammolar aniqlanmagan. Joriy versiyaning zaif tomonlarini aniqlaganlik uchun pul mukofoti dasturining bir qismi sifatida Google $19 qiymatidagi 54000 ta mukofotni (bir $20000 mukofoti, bitta $10000 mukofoti, ikkitasi $5000 mukofoti, uchtasi $3000 mukofoti, bitta $2000 mukofoti, bitta $1000 mukofoti, $500 va 6 dollarlik mukofot) toʻladi. ). XNUMX ta mukofot miqdori hali aniqlanmagan.

Alohida ta'kidlash mumkinki, kecha 89.0.4389.128 tuzatuvchi relizi shakllangandan so'ng, Chrome 90 chiqarilishidan oldin yana bir ekspluatatsiya e'lon qilindi, unda Chrome 0 da tuzatilmagan yangi 89.0.4389.128 kunlik zaiflik ishlatilgan. . Bu muammo Chrome 90 da tuzatilganmi yoki yo‘qmi hozircha aniq emas. Birinchi holatda bo‘lgani kabi, ekspluatatsiya faqat bitta zaiflikni qamrab oladi va sinov muhiti izolyatsiyasini chetlab o‘tish uchun kodni o‘z ichiga olmaydi (“--no-sandbox” bayrog‘i bilan Chrome ishga tushirilganda) , ekspluatatsiya Windows platformasida veb-sahifani ochishda yuzaga keladi, bu esa Notepadni ishga tushirish imkonini beradi). Yangi ekspluatatsiya bilan bog'liq zaiflik WebAssembly texnologiyasiga ta'sir qiladi.

Manba: opennet.ru

a Izoh qo'shish