Lansarea Chrome 91

Compania Google a lansat versiunea web-browser-ului Chrome 91. De asemenea, este disponibilă o versiune stabilă a proiectului liber Chromium, care stă la baza Chrome. Browserul Chrome se distinge prin utilizarea logo-urilor Google, sistemul de notificare în caz de crash, modulele pentru redarea conținutului video protejat (DRM), sistemul de instalare automată a actualizărilor și transmiterea parametrilor RLZ în timpul căutărilor. Următoarea lansare, Chrome 92, este programată pentru 20 iulie.

Principalele modificări din Chrome 91:

  • A fost implementată opțiunea de oprire a execuției JavaScript în grupul de tab-uri minimize. În Chrome 85 a fost introdus suportul pentru gruparea tab-urilor, care poate fi asociată cu o anumită culoare și etichetă. La clic pe eticheta grupului, tab-urile asociate se micșorează și rămâne doar o etichetă (un nou clic pe eticheta respectivă va deschide grupul). În noua versiune, pentru a reduce sarcina pe CPU și a economisi energie, a fost implementată suspendarea activității în tab-urile minimize. Excepția este făcută doar pentru tab-urile în care se redă sunet, se utilizează API-ul Web Locks sau IndexedDB, se realizează o conexiune cu un dispozitiv USB, se capturează video, sunet sau conținutul ferestrelor. Această modificare va fi implementată treptat, începând cu un procent mic din utilizatori.
  • A fost inclus suportul pentru metoda de negociere a cheilor, rezistentă la atacurile de tip brute-force folosind computere cuantice. Computerele cuantice rezolvă mult mai rapid problema descompunerii unui număr natural în factori primi, care stă la baza algoritmilor actuali de criptare asimetrică și este eficient imposibil de rezolvat pe procesoarele clasice. Pentru utilizarea în TLSv1.3, a fost furnizat un plugin CECPQ2 (Combined Elliptic-Curve and Post-Quantum 2), care combină mecanismul clasic de schimb de chei X25519 cu schema HRSS, bazată pe algoritmul NTRU Prime, dezvoltat pentru criptosistemele post-quantice.
  • Suportul pentru protocoalele TLS 1.0 și TLS 1.1 a fost complet întrerupt, acestea fiind declarate obsolete de către comitetul IETF (Internet Engineering Task Force). De asemenea, a fost eliminată opțiunea de revenire la TLS 1.0/1.1 prin modificarea politicii SSLVersionMin.
  • În versiunile pentru platforma Linux a fost inclusă utilizarea modului „DNS peste HTTPS” (DoH, DNS over HTTPS), care a fost anterior disponibil utilizatorilor de Windows, macOS, ChromeOS și Android. DNS-over-HTTPS va fi activat automat pentru utilizatorii care au specificat furnizori DNS care susțin această tehnologie (pentru DNS-over-HTTPS se folosește același furnizor care a fost aplicat pentru DNS). De exemplu, dacă utilizatorul are în setările sistemului DNS 8.8.8.8, atunci în Chrome va fi activat serviciul DNS-over-HTTPS Google („https://dns.google.com/dns-query”), iar dacă DNS este 1.1.1.1, atunci serviciul DNS-over-HTTPS Cloudflare („https://cloudflare-dns.com/dns-query”) etc.
  • Printre porturile de rețea interzise a fost adăugat portul 10080, care este utilizat în Amanda backup și VMWare vCenter. Anterior, au fost deja blocate porturile 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 și 6566. Pentru porturile din lista neagră este blocată trimiterea de cereri HTTP, HTTPS și FTP pentru a proteja împotriva atacului NAT slipstreaming, care permite, prin deschiderea unei pagini web special pregătite de atacator în browser, să stabilească o conexiune de rețea de la serverul atacatorului la orice port UDP sau TCP pe sistemul utilizatorului, indiferent de utilizarea intervalului intern de adrese (192.168.x.x, 10.x.x.x).
  • A fost oferită posibilitatea de a configura pornirea automată a aplicațiilor web (PWA – Progressive Web Apps) la conectarea utilizatorului în sistem (Windows și macOS). Pornirea automată se configurează pe pagina chrome://apps. Funcționalitatea este în prezent testată pe un procent mic de utilizatori, iar pentru ceilalți necesită activarea setării „chrome://flags/#enable-desktop-pwas-run-on-os-login”.
  • În cadrul procesului de adaptare a browserului la folosirea unei terminologii incluzive, fișierul „master_preferences” a fost redenumit în „initial_preferences”. Pentru a păstra compatibilitatea, suportul pentru „master_preferences” va mai fi păstrat în browser pentru o perioadă de timp. Anterior, browserul a renunțat deja la utilizarea termenilor „whitelist”, „blacklist” și „native”.
  • În modul îmbunătățit de protecție împotriva site-urilor periculoase (Enhanced Safe Browsing), care activează verificări suplimentare pentru a proteja împotriva phishing-ului, activității malițioase și altor amenințări online, a fost implementată opțiunea de a trimite fișierele încărcate pentru verificare de către Google. În plus, în Enhanced Safe Browsing s-a realizat contabilizarea token-urilor asociate cu contul Google atunci când sunt detectate tentative de phishing, precum și trimiterea valorilor antetului Referrer către serverele Google pentru a verifica redirecționarea de pe site-uri malițioase.
  • În ediția pentru platforma Android, a fost îmbunătățită prezentarea elementelor web-formulare, care au fost optimizate pentru utilizarea pe ecrane tactile și sisteme pentru persoanele cu dizabilități (pentru sistemele desktop, prezentarea a fost refăcută în Chrome 83). Scopul revizuirii a fost unificarea prezentării elementelor formulare și eliminarea neconcordanțelor de stil - anterior, o parte din elementele formularelor erau proiectate conform elementelor de interfață ale sistemelor de operare, iar cealaltă parte conform celor mai populare stiluri. Din acest motiv, diferite elemente se potriveau diferit pentru ecranele tactile și sistemele pentru persoanele cu dizabilități.
    Lansarea Chrome 91Lansarea Chrome 91
  • A fost adăugat un sondaj de opinie a utilizatorilor, care se afișează la deschiderea setărilor Privacy Sandbox (chrome://settings/privacySandbox).
  • La lansarea versiunii Android a Chrome pe tablete cu ecrane mari, a fost asigurat un apel pentru versiunea desktop a site-ului, și nu pentru ediția mobilă. Comportamentul poate fi schimbat prin opțiunea „chrome://flags/#request-desktop-site-for-tablets”.
  • Codul pentru redarea tabelilor a fost refăcut, ceea ce a rezolvat problemele de neconformitate a comportamentului la afișarea tabelilor în Chrome și în Firefox/Safari.
  • Prelucrarea certificatelor serverului emise de autoritatea de certificare spaniolă Camerfirma a fost oprită din cauza incidentelor repetate din 2017 legate de încălcări în emiterea certificatelor. Suportul pentru certificatul clientului rămâne, iar blocarea se aplică doar pentru certificatul utilizat pe site-urile HTTPS.
  • A fost continuată implementarea suportului pentru segmentarea rețelei pentru a proteja împotriva metodelor de monitorizare a mișcării utilizatorului între site-uri, bazate pe stocarea identificatorilor în zone care nu sunt destinate stocării permanente a informațiilor („Supercookies”). Deoarece resursele din cache sunt stocate în același spațiu de nume, indiferent de domeniul de origine, un site poate determina încărcarea resurselor de pe un alt site prin verificarea existenței acestei resurse în cache. Protecția este bazată pe aplicarea segmentării rețelei (Network Partitioning), care constă în adăugarea unei legături suplimentare în cache-urile partajate la domeniu, de unde a fost deschisă pagina principală, ceea ce limitează aria de acoperire a cache-ului pentru scripturile de monitorizare a mișcării doar la site-ul curent (un script din iframe nu va putea verifica dacă resursa a fost încărcată de pe un alt site).

    Prețul segmentării este scăderea eficienței cache-ului, ceea ce duce la o creștere nesemnificativă a timpului de încărcare a paginii (maxim cu 1,32%, dar pentru 80% dintre site-uri cu 0,09-0,75%). Pentru a testa modul de segmentare, puteți rula browserul cu opțiunea „—enable-features=PartitionConnectionsByNetworkIsolationKey, PartitionExpectCTStateByNetworkIsolationKey, PartitionHttpServerPropertiesByNetworkIsolationKey, PartitionNelAndReportingByNetworkIsolationKey, PartitionSSLSessionsByNetworkIsolationKey, SplitHostCacheByNetworkIsolationKey”.

  • A fost adăugat un API extern REST VersionHistory (https://versionhistory.googleapis.com/v1/chrome), prin care se pot obține informații despre versiunile Chrome în legătură cu platformele și ramurile, precum și istoria actualizărilor browserului.
  • În iframe-urile încărcate de pe domenii diferite de cel al paginii de bază, afișarea dialogurilor JavaScript alert(), confirm() și prompt() este interzisă, ceea ce va proteja utilizatorii de încercările de a afișa mesaje de către scripturi externe sub pretextul că notificarea a fost generată de site-ul principal.
  • API-ul WebAssembly SIMD a fost stabilizat și propus ca implicit pentru utilizarea instrucțiunilor SIMD vectoriale în aplicațiile în format WebAssembly. Pentru a asigura independența de platformă, se propune un nou tip de 128 de biți, capabil să reprezinte diferite tipuri de date ambalate, precum și câteva operații vectoriale de bază pentru procesarea datelor ambalate. SIMD permite îmbunătățirea performanței prin paralelizarea procesării datelor și va fi util la compilarea codului nativ în WebAssembly.
  • În modul Origin Trials (funcționalități experimentale care necesită activare separată) au fost adăugate mai multe API-uri noi. Origin Trial permite utilizarea API-ului specificat din aplicații încărcate de pe localhost sau 127.0.0.1 sau după înregistrarea și obținerea unui token special, care este valabil pentru o perioadă limitată pentru un anumit site.
    • WebTransport — un protocol și un API JavaScript asociat pentru trimiterea și primirea datelor între browser și serverul. Canalul de comunicație este organizat deasupra HTTP/3, folosind ca transport protocolul QUIC, care, la rândul său, este o extensie a protocolului UDP, suportând multiplexarea mai multor conexiuni și oferind metode de criptare echivalente cu TLS/SSL.

      WebTransport poate fi utilizat în locul mecanismelor WebSockets și RTCDataChannel, oferind caracteristici suplimentare, cum ar fi organizarea transferului în mai multe fluxuri, fluxuri unidirecționale, livrarea fără a ține cont de ordinea de trimitere a pachetelor (out-of-order), moduri de livrare fiabile și non-fiabile. În plus, WebTransport poate fi utilizat în locul mecanismului Server Push, de la care Google a renunțat în Chrome.

    • Un ghid declarativ pentru definirea linkurilor către aplicații web izolate (PWA), inclus în manifestul aplicației web cu ajutorul parametrului capture_links, permițând site-urilor să deschidă automat o nouă fereastră PWA la click pe un link de aplicație sau să treacă în modul de fereastră unică, similar aplicațiilor mobile.
    • A fost adăugat API WebXR Plane Detection, care oferă informații despre suprafețele plane în medii 3D virtuale. Acest API permite evitarea procesării consumatoare de resurse a datelor obținute prin apelul MediaDevices.getUserMedia(), folosind implementări proprii ale algoritmilor de viziune computerizată. Reamintim că API WebXR permite unificarea funcționării cu diferite clase de dispozitive de realitate virtuală, de la căști 3D stationare la soluții mobile.
  • A fost implementat suportul pentru funcționarea WebSockets peste HTTP/2 (RFC 8441), care funcționează doar pentru cererile securizate la WebSockets și în cazul în care o conexiune HTTP/2 este deja stabilită cu serverul, în care este anunțat suportul pentru extensia „WebSockets over HTTP/2”.
  • Limitările privind precizia valorilor temporizatorului, furnizate de apelul performance.now(), sunt unificate pentru toate platformele suportate și adaptate în funcție de posibila izolarea handlerelor în procese separate. De exemplu, pe sistemele desktop, precizia în context neizolat a fost redusă de la 5 la 100 microsecunde.
  • În versiunile pentru sisteme desktop, a fost implementată posibilitatea de a citi fișiere din clipboard (scrierea fișierelor în clipboard rămâne interzisă). async function onPaste(e) { let file = e.clipboardData.files[0]; let contents = await file.text(); }
  • În CSS a fost introdusă regula @counter-style, care permite definirea unui stil propriu pentru contoare și etichete în liste numerotate.
  • În CSS, pseudoclasele „:host()” și „:host-context()” au fost extinse pentru a permite transmiterea valorilor unice ale selectorilor compuși (<compound-selector>) pe lângă listele de selectoare (<compound-selector-list>).
  • A fost adăugat interfața GravitySensor pentru a determina date volumetrice (pe trei axe coordonate) de la senzorul de gravitație.
  • În API-ul File System Access, a fost adăugată capacitatea de a oferi sugestii pentru alegerea numelui fișierului și directorului, propuse în dialogul de creare sau deschidere a fișierului.
  • În iframe-urile încărcate din alte domenii, a fost permis accesul la API-ul WebOTP, cu condiția ca utilizatorul să ofere permisiunile corespunzătoare. WebOTP permite citirea codurilor unice de confirmare trimise prin SMS.
  • A fost permisă partajarea acreditivelor pentru site-uri conectate prin mecanismul DAL (Digital Asset Links), care permite asocierea aplicațiilor Android cu site-uri pentru a facilita autentificarea.
  • În Service worker a fost permis utilizarea modulelor JavaScript. La specificarea tipului ‘module’ în timpul apelării constructorului, scripturile indicate vor fi încărcate sub formă de module și disponibile pentru importare în contextul worker-ului. Suportul pentru module facilitează partajarea codului pe paginile web și în Service worker.
  • În JavaScript a fost introdusă posibilitatea de a verifica existența câmpurilor private în obiecte, folosind sintaxa „#foo in obj”. class A { static test(obj) { console.log(#foo in obj); } #foo = 0; } A.test(new A()); // true A.test({}); // false
  • În JavaScript, prin default, este permis utilizarea cuvântului cheie await în modulele de nivel superior, ceea ce permite o integrare mai lină a apelurilor asynchrone în procesul de încărcare a modulelor, fără a necesita ambalarea în „async function”. De exemplu, în loc de (async function() { await Promise.resolve(console.log(‘test’)); }()); acum se poate scrie await Promise.resolve(console.log(‘test’));
  • În motorul JavaScript V8, a fost îmbunătățită eficiența cache-ului template-urilor, ceea ce a dus la o creștere de 4.5% a vitezei în testul Speedometer2-FlightJS.
  • Au fost aduse numeroase îmbunătățiri în instrumentele pentru dezvoltatorii web. A fost adăugat un nou mod de inspecție a memoriei (Memory inspector), care oferă instrumente pentru a explora datele ArrayBuffer și memoria Wasm.
    Lansarea Chrome 91

    În panoul Performance a fost adăugat un indicator de performanță sintetic, care permite evaluarea necesității optimizării site-ului.

    Lansarea Chrome 91

    La previzualizarea imaginilor în panoul Elements și în panoul de analiză a solicitărilor de rețea, sunt furnizate informații despre raportul de aspect al imaginii, parametrii de vizualizare și dimensiunea fișierului.

    Lansarea Chrome 91

    În panoul de inspecție a rețelei, a apărut posibilitatea de a modifica valorile acceptate ale antetului Content-Encoding.

    Lansarea Chrome 91

    În panoul de gestionare a stilurilor, a apărut opțiunea de a vizualiza rapid valoarea calculată atunci când navighezi prin parametrii CSS, alegând din meniul contextual «View computed value».

    Lansarea Chrome 91

Pe lângă noile funcționalități și corectarea erorilor, noua versiune a eliminat 32 de vulnerabilități. Multe dintre vulnerabilități au fost identificate în urma testării automate cu instrumentele AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer și AFL. Nu au fost identificate probleme critice care să permită ocolirea tuturor nivelurilor de protecție ale browserului și executarea de cod în sistem dincolo de mediul sandbox. În cadrul programului de recompensare a descoperirii vulnerabilităților pentru această versiune, Google a plătit 21 de premii în valoare totală de 92.000 de dolari SUA (un premiu de 20.000 de dolari, un premiu de 15.000 de dolari, patru premii de 7.500 de dolari, trei premii de 5.000 de dolari, trei premii de 3.000 de dolari, două premii de 1.000 de dolari și două premii de 500 de dolari). Valoarea a 5 recompense nu a fost încă stabilită.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster