Google ir laidis web pārlūkprogrammas Chrome 93. Tajā pašā laikā ir pieejams stabils atbrīvojums brīvā projekta Chromium, kas ir Chrome pamats. Chrome pārlūkprogramma atšķiras ar Google logotipu izmantošanu, kļūdu paziņojumu sistēmu, aizsargāta videokadru atskaņošanas moduļiem (DRM), automātiskās atjaunināšanas sistēmu un RLZ parametrus meklēšanas laikā. Nākamais Chrome 94 izlaidums ir plānots 21. septembrī (izstrāde ir pārcelta uz 4 nedēļu izlaidumu ciklu).
Galvenās izmaiņas Chrome 93:
- Ir uzlabots informācijas bloks par lapu (page info), kurā ir ieviesta atbalsts iekļautajiem blokiem, un selekts ar piekļuves tiesībām ir nomainīts ar pārslēgiem. Sarakstos tiek nodrošināta vissvarīgākās informācijas izvade pirmajā vietā. Izmaiņa ir iekļauta ne visiem lietotājiem, aktivizācijai var izmantot iestatījumu «chrome://flags/#page-info-version-2-desktop».

- Nelielam procentam lietotāju eksperimentāli adreses joslā ir nomainīts aizsargātā savienojuma indikators uz neitrālāku un nesajaukšanas simbolu (lock ir nomainīts uz simbolu «V»). Savienojumiem bez šifrēšanas turpina parādīties indikators «nav aizsargāts». Aizstājot indikatoru, tiek minēts, ka daudzi lietotāji saista slēdzenes indikatoru ar uzticību tīmekļa satura drošumam, nevis tā šifrēšanas tilta izpratni. Saskaņā ar Google aptauju tikai 11% lietotāju saprot slēdzenes ikonas nozīmi.

- Nesen slēgto cilņu sarakstā ir nodrošināta slēgto cilņu grupu satura attēlošana (agrāk sarakstā tika rādīts tikai grupas nosaukums bez satura detalizācijas) ar iespēju atjaunot gan visu grupu, gan atsevišķas cilnes no grupas. Iespēja nav aktivizēta visiem lietotājiem, tāpēc aktivizēšanai var būt nepieciešams mainīt iestatījumu «chrome://flags/#tab-restore-sub-menus».

- Uzņēmumiem ir pieejamas jaunas DefaultJavaScriptJitSetting, JavaScriptJitAllowedForSites un JavaScriptJitBlockedForSites iestatījumu opcijas, kas ļauj pārvaldīt JIT-less režīmu, kas izslēdz JIT kompilāciju, izpildot JavaScript (tiek izmantots tikai Ignition interpreters), un aizliedz izpildes atmiņas piešķiršanu koda izpildes laikā. JIT izslēgšana var būt noderīga, lai uzlabotu drošību, strādājot ar potenciāli bīstamām tīmekļa lietotnēm, taču tā ir saistīta ar JavaScript izpildes veiktspējas samazināšanos par aptuveni 17%. Interesanti, ka Microsoft ir gājusi vēl tālāk, ieviešot Edge pārlūkā eksperimentālo “Super Duper Secure” režīmu, kas ļauj lietotājam izslēgt JIT un aktivizēt JIT nesaderīgās aparatūras aizsardzības mehānismus CET (Controlflow-Enforcement Technology), ACG (Arbitrary Code Guard) un CFG (Control Flow Guard) web satura apstrādei. Ja eksperimenta rezultāti būs veiksmīgi, var cerēt, ka tie tiks pārcelti uz galveno Chrome versiju.
- Jaunās cilnes lapā ir pieejams vispieprasītāko dokumentu saraksts, kas saglabāts Google Drive. Saraksta saturs atbilst Priority sadaļai drive.google.com. Lai pārvaldītu Google Drive satura rādīšanu, var izmantot iestatījumus „chrome://flags/#ntp-modules” un „chrome://flags/#ntp-drive-module”.

- Jaunās cilnes lapai ir piedāvātas jaunas informācijas kartes, kas palīdz atrast nesen apskatītu saturu un ar to saistītu informāciju. Kartes ir paredzētas, lai atvieglotu darbu ar informāciju, kuras apskate tika pārtraukta, piemēram, kartes palīdzēs atrast recepti, kura nesen tika atrasta internetā, bet tika zaudēta, aizverot lapu, vai turpināt iepirkšanos veikalos. Kā eksperiments lietotājiem piedāvātas divas jaunas kartes: „Receptes” (chrome://flags/#ntp-recipe-tasks-module) kulinārijas receptu meklēšanai un nesen aplūkotajām receptēm; „Iepirkumi” (chrome://flags/#ntp-chrome-cart-module) atgādinot par izvēlētajiem produktiem interneta veikalos.
- Android platformas versijā ir pievienota opciju atbalsts nepārtrauktas meklēšanas paneļa izmantošanai (chrome://flags/#continuous-search), kas ļauj turpināt skatīt nesenos Google meklēšanas rezultātus (paneļš turpina rādīt rezultātus, pārejot uz citām lapām).

- Android platform version has introduced an experimental quote sharing mode (chrome://flags/#webnotes-stylize), allowing users to save selected page fragments as quotes and share them with others.
- When publishing new add-ons or updates in the Chrome Web Store, two-factor authentication for developers is now mandatory.
- Google Account users now have the option to save payment information in their Google account.
- In incognito mode, if the data clearing option is activated, a new confirmation dialog has been implemented explaining that clearing data will close the window and end all incognito sessions.
- Due to identified incompatibilities with the firmware of certain devices, support for the new key agreement method added in Chrome 91, which is resistant to quantum computer attacks and is based on the use of the CECPQ2 extension in TLSv1.3, has been temporarily disabled. This method combines the classical X25519 key exchange mechanism with the HRSS scheme based on the NTRU Prime algorithm, designed for post-quantum cryptosystems.
- Ports 989 (ftps-data) and 990 (ftps) have been added to the list of prohibited network ports to block the ALPACA attack. Previously, to protect against the NAT slipstreaming attack, ports 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061, 6566, and 10080 had already been blocked.
- Support for 3DES-based ciphers has been discontinued in TLS. Specifically, the cipher suite TLS_RSA_WITH_3DES_EDE_CBC_SHA, which is vulnerable to the Sweet32 attack, has been removed.
- Support for the Ubuntu 16.04 distribution has been discontinued.
- The WebOTP API can now be used between different devices associated with the same Google account. WebOTP allows web applications to read one-time verification codes sent via SMS. This change allows users to receive a verification code on their Android device with Chrome and apply it on a desktop system.
- The User-Agent Client Hints API has been expanded, developed as a replacement for the User-Agent header. User-Agent Client Hints allows selective delivery of data about specific browser and system parameters (version, platform, etc.) only upon request. serveriLietotājs, savukārt, var noteikt, kuru informāciju var sniegt vietņu īpašniekiem. Izmantojot User-Agent Client Hints, pārlūkprogrammas identifikators netiek nosūtīts bez skaidra pieprasījuma, un pēc noklusējuma tiek norādīti tikai pamata parametri, kas apgrūtina pasīvo identifikāciju.
Jaunajā versijā ir ieviesta atbalsta funkcija Sec-CH-UA-Bitness parametram, lai atgrieztu informāciju par platformas bitu skaitu, kas var tikt izmantots optimizētu bināro failu nodrošināšanai. Pēc noklusējuma tiek nodrošināta Sec-CH-UA-Platform parametra nosūtīšana ar vispārējiem datiem par platformu. UADataValues vērtībā, kas tiek nodota, izsaucot getHighEntropyValues(), pēc noklusējuma tiek nodrošināti vispārīgi parametri, ja detalizēti dati nav pieejami. NavigatorUAData objektā ir pievienota toJSON metode, kas ļauj izmantot struktūras kā JSON.stringify(navigator.userAgentData).
- Stabilizēta un piedāvāta pēc noklusējuma resursu iepakošanas iespēja, izmantojot Web Bundle formātu, kas ir piemērots, lai efektīvāk ielādētu lielu skaitu saistītu failu (CSS stili, JavaScript, attēli, iframe). Starp trūkumiem esošajā atbalstā JavaScript failu iepakošanai (webpack), ko cenšas novērst Web Bundle: HTTP kešatmiņā var palikt pats iepakojums, bet ne tā sastāvdaļas; kompilācija un izpilde var sākties tikai pēc tam, kad iepakojums ir pilnībā ielādēts; papildu resursi, piemēram, CSS un attēli, jākodē kā JavaScript virknes, kas palielina izmēru un izdara vēl vienu analīzes posmu.
- Iekļauts WebXR Plane Detection API, kas sniedz informāciju par plaknēm virtuālajā 3D vidē. Norādītais API ļauj iztikt bez resursu patērējošas datu apstrādes, ko iegūst, izsaucot MediaDevices.getUserMedia(), izmantojot savus mašīnmācīšanās redzes algoritmus. Atgādinām, ka WebXR API ļauj vienot dažādu virtuālās realitātes ierīču, sākot no stacionāriem 3D brillēm līdz mobilajām ierīcēm, darbību.
- Origin Trials režīmā (eksperimentālās iespējas, kas prasa atsevišķu aktivāciju) pievienoti vairāki jauni API. Origin Trial nozīmē iespēju strādāt ar norādīto API no lietotnēm, kas ielādētas no localhost vai 127.0.0.1, vai pēc reģistrācijas un īpaša tokena saņemšanas, kas darbojas ierobežotu laiku konkrētai vietnei.
- Ieteikts Multi-Screen Window Placement API, kas ļauj novietot logus uz jebkura ekrāna, kas pievienots pašreizējai sistēmai, kā arī saglabāt loga pozīciju un, ja nepieciešams, izvērst logu visā ekrānā. Piemēram, izmantojot norādīto API, tīmekļa lietotne, kas parāda prezentāciju, var organizēt slaidu izvadīšanu uz viena ekrāna, bet rādīt piezīmes runātājam uz cita.
- Cross-Origin-Embedder-Policy virsrakstā, kas pārvalda Cross-Origin izolācijas režīmu un ļauj noteikt droša lietojuma noteikumus lapā, ir pievienota atbalsta iespēja parametram „credentialless” informācijas, kas saistīta ar akreditācijas datiem, piemēram, cookies un klientu sertifikātiem, neizsniegšanai.
- Atsevišķi instalējamām tīmekļa lietotnēm (PWA, Progressive Web Apps), kas pārvalda loga satura attēlošanu un ievades apstrādi, ir nodrošināta pārklājums ar loga vadības elementiem, piemēram, virsraksta laukumu un loga minimizēšanas/palielināšanas pogām. Pārklājums paplašina maināmās zonas pieejamību uz visu logu un ļauj pievienot savus elementus virsraksta zonā.

- Ir pievienota iespēja veidot PWA lietotnes, kuras var izmantot kā URL apstrādātājus. Piemēram, lietotne music.example.com var reģistrēt sevi kā URL apstrādātāju https://*.music.example.com, un visi pārejas no ārējām lietotnēm caur šīm saitiem, piemēram, no ziņojumu sūtītājiem un e-pasta klientiem, novērsīs šo PWA lietotņu atvēršanu, nevis jaunu pārlūkprogrammas cilni.
- Ir nodrošināta CSS failu ielāde, izmantojot izteiksmi „import” līdzīgi kā JavaScript modulu ieladenē, kas ir ērti, veidojot savus elementus un ļauj nevajadzēt JavaScript kodu stilu piešķiršanai. import sheet from './styles.css' assert { type: 'css' }; document.adoptedStyleSheets = [sheet]; shadowRoot.adoptedStyleSheets = [sheet];
- Ir ieviests jauns statisks methods AbortSignal.abort(), kas atgriež AbortSignal objektu, kuram jau iestatīts parameters aborted. Vietā, lai rakstītu vairākus koda rindiņas, lai izveidotu AbortSignal objektu stāvoklī aborted, tagad var pietikt ar vienu rindiņu „return AbortSignal.abort()”.
- Flexbox elementā ir pievienota atbalsta iespēja atslēgvārdiem start, end, self-start, self-end, left un right, papildinot atslēgvārdus center, flex-start un flex-end ar līdzekļiem, kas atvieglo flex-elementu pozicionēšanas izlīdzināšanu.
- Error() konstruktorā ieviests jauns opciju īpašums «cause», kas ļauj viegli savienot kļūdas savā starpā. const parentError = new Error('parent'); const error = new Error('parent', { cause: parentError }); console.log(error.cause === parentError); // → true
- HTMLMediaElement.controlsList īpašumam pievienota atbalsta režīms noplaybackrate, kas ļauj atspējot elementus, kas pieejami pārlūkprogrammā, lai mainītu multivides satura atskaņošanas ātrumu.
- Pievienots Sec-CH-Prefers-Color-Scheme, kas ļauj jautājuma sūtīšanas posmā nodot informāciju par lietotāja iecienīto krāsu shēmu, kas tiek izmantota «prefers-color-scheme» mediju vaicājumos, kas ļaus vietnei optimizēt saistītu CSS ielādi un izvairīties no acīmredzamām pārejām starp citām shēmām.
- Pievienots Object.hasOwn īpašums, kas ir vienkāršota Object.prototype.hasOwnProperty versija, ieviesta kā statisks eksemplārs. Object.hasOwn({ prop: 42 }, 'prop') // → true
- Sparkplug JIT kompilatorā, kas paredzēts ļoti ātrai rupjās kompipilācijas veikšanai, pievienots operāciju partiju izpildes režīms, kas samazina papildu izmaksas, kas saistītas ar atmiņas lapu pārslēgšanu starp rakstīšanas un izpildes režīmiem. Sparkplug tagad kompilē vairākas funkcijas vienlaicīgi un izmanto mprotect vienu reizi, lai mainītu visas grupas piekļuves tiesības. Ieteiktais režīms ievērojami samazina kompilācijas laiku (līdz 44%) bez negatīvas ietekmes uz JavaScript izpildes sniegumu.

- Android versijā atslēgti V8 dzinēja iebūvētie aizsardzības mehānismi pret sānu kanālu uzbrukumiem, piemēram, Spectre, kuri, kā atzīts, nav tik efektīvi kā vietņu izolācija atsevišķos procesos. Darbvirsmas versijā šie mehānismi tika atslēgti jau Chrome 70 laidienā. Papildu pārbažu atslēgšana ir ļāvusi palielināt veiktspēju par 2-15%.

- Uzlaboti rīki web izstrādātājiem. Stila tabulu inspekcijas režīmā pieejama rediģēšanas iespēja vaicājumiem, kas izveidoti ar @container izteiksmi. Tīkla inspekcijas režīmā īstenots resursu priekšskatījums Web bundle formātā. Web konsolē konteksta izvēlnē pievienotas opcijas rindu kopēšanai JavaScript vai JSON literālu formā. Atviegloja CORS (Cross-Origin Resource Sharing) kļūdu novēršanas procesu.

Jaunajā versijā, izņemot jauninājumus un kļūdu labojumus, ir novērstas 27 ievainojamības. Daudzas no šīm ievainojamībām tika atklātas, izmantojot automatizētus testēšanas rīkus, piemēram, AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer un AFL. Kritiskas problēmas, kas ļautu apiet visus pārlūkprogrammas aizsardzības līmeņus un izpildīt kodu sistēmā ārpus sandbox vides, nav konstatētas. Saskaņā ar atlīdzības programmu par ievainojamību atklāšanu attiecīgajā izlaidumā uzņēmums Google ir izmaksājis 19 balvas kopā par 136500 ASV dolāriem (trīs balvas pa 20000 dolāriem, viena balva 15000 dolāru, trīs balvas pa 10000 dolāriem, viena balva 7500 dolāru, trīs balvas pa 5000 dolāriem un trīs balvas pa 3000 dolāriem). Piecu balvu apjoms vēl nav noteikts.
Avots: opennet.lv









