Lansarea Chrome 84

Compania Google a prezentat lansarea unui browser web Chrome 84. În același timp disponibil versiunea stabilă a unui proiect open-source Chromium, care stă la baza Chrome. Browserul Chrome se distinge utilizarea logo-urilor Google, existența unui sistem de trimitere a notificărilor în caz de crash, posibilitatea de a încărca modulul Flash la cerere, module pentru redarea conținutului video protejat (DRM), un sistem de instalare automată a actualizărilor și transmiterea în timpul căutării parametrii RLZ. Următoarea versiune a Chrome 85 este programată pentru 25 august.

Principalele modificări în Chrome 84:

  • Suportul pentru protocoalele TLS 1.0 și TLS 1.1 a fost dezactivat. suport pentru protocoalele TLS 1.0 și TLS 1.1. Pentru a accesa site-uri printr-un canal de comunicație securizat, serverul trebuie să ofere suport pentru cel puțin TLS 1.2, altfel browserul va afișa acum o eroare. Conform Google, în prezent aproximativ 0,5% din încărcările paginilor web continuă să fie realizate folosind versiuni învechite de TLS. Dezasamblarea a fost realizată conform recomandărilor IETF (Internet Engineering Task Force). Motivul renunțării la TLS 1.0/1.1 este lipsa suportului pentru criptografie modernă (de exemplu, ECDHE și AEAD) și cerința de suport pentru criptografie veche, ale cărei fiabilitate în etapa actuală de dezvoltare a tehnologiei informației este pusă la îndoială (de exemplu, este necesar suportul pentru TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, iar pentru verificarea integrității și autentificării se utilizează MD5 și SHA-1). Configurația care permite revenirea la TLS 1.0/1.1 va fi păstrată până în ianuarie 2021.
  • A fost asigurată blocarea încărcării nesigure (fără criptare) a fișierelor executabile și a fost adăugat un mesaj de avertizare la descărcarea nesigură a arhivelor. În viitor, se preconizează treptat oprirea completă a suportului pentru descărcarea fișierelor fără aplicarea criptării. Blocarea a fost implementată, deoarece descărcarea fișierelor fără criptare poate fi utilizată pentru a desfășura acțiuni malițioase prin modificarea conținutului în timpul atacurilor MITM.
  • Adăugat sprijin inițial identificatorului Client Hints, dezvoltat ca alternativă la antetul User-Agent. Mecanismul Client Hints oferă ca alternativă User-Agent o serie de antete „Sec-CH-UA-*”, permițând organizarea unei livrări selective a datelor despre parametrii specifici ai browserului și sistemului (versiune, platformă etc.) doar după cererea serverului. Utilizatorul are posibilitatea de a defini care parametrii sunt acceptabili pentru livrare și de a furniza selectiv astfel de informații proprietarilor de site-uri. Atunci când se utilizează Client Hints, identificatorul nu este transmis implicit fără o cerere explicită, ceea ce face imposibilă identificarea pasivă (în mod implicit se specifică doar numele browserului). Lucrări pe unificării User-Agent a fost amânat până anul viitor.
  • Continuarea activarea
    mai strict limitărilor transferului de Cookie între site-uri, care a fost anulat din cauza COVID-19. Pentru cererile non-HTTPS, procesarea cookie-urilor de la site-uri diferite de domeniul paginii curente este interzisă. Aceste cookie-uri sunt utilizate pentru a urmări mișcările utilizatorului între site-uri în codul rețelelor publicitare, widget-urilor de socializare și sistemelor de web analytics.

    Reamintim că pentru gestionarea transmisiei cookie-urilor se utilizează atributul SameSite specificat în antetul Set-Cookie, care va fi setat implicit la „SameSite=Lax”, limitând trimiterea cookie-urilor pentru subcereri intersite, cum ar fi cererile de imagini sau încărcarea de conținut prin iframe de pe un alt site. Site-urile pot să suprascrie modul implicit SameSite stabilind explicit valoarea SameSite=None la momentul stabilirii cookie-urilor. Totuși, valoarea SameSite=None pentru cookie-uri poate fi setată doar în modul Secure (se aplică pentru conexiuni HTTPS). Modificarea va fi aplicată treptat, mai întâi pentru un procent mic din utilizatori, urmând apoi să se extindă gradual.

  • A fost adăugată o implementare experimentală blocatoare de reclame resurse-intensive, care pot fi activate prin setarea „chrome://flags/#enable-heavy-ad-intervention”. Blocatorul permite dezactivarea automată a blocurilor de reclame iframe după ce se depășesc pragurile de trafic și încărcare a CPU-ului. Blocarea va avea loc dacă în firul principal s-a consumat mai mult de 60 de secunde de timp CPU în total sau 15 secunde într-un interval de 30 de secunde (consumând 50% din resurse timp de mai mult de 30 de secunde), precum și când s-au descărcat mai mult de 4 MB de date prin rețea.

    Blocarea va fi activată doar dacă, înainte de atingerea limitelor, utilizatorul nu a interacționat cu blocul publicitar (de exemplu, nu a dat clic pe el), ceea ce, având în vedere restricțiile de trafic, va permite blocarea redării automate a videoclipurilor voluminoase în reclame fără activarea explicită a redării de către utilizator. Măsurile propuse vor scăpa utilizatorii de reclame cu cod de implementare ineficient sau activitate parazitară intenționată (de exemplu, cele care efectuează minerit). Conform statisticilor Google, reclama care se încadrează în criteriile de blocare reprezintă doar 0,30% din toate blocurile publicitare, dar consumă 28% din resursele CPU și 27% din traficul total al publicității.

  • A fost realizată o muncă pentru reducerea consumului de resurse CPU atunci când fereastra browserului nu este în câmpul vizual al utilizatorului. Chrome acum verifică dacă fereastra browserului este acoperită de alte feronete și exclude redarea pixelilor în zonele de suprapunere. Activarea noii funcții se va face treptat: selectiv, pentru unii utilizatori, optimizarea va fi activată în Chrome 84, iar pentru ceilalți în Chrome 85.
  • Activată implicit protecția împotriva notificărilor intruzive, cum ar fi spamul cererilor de notificări push. Deoarece aceste cereri întrerup activitatea utilizatorului și îi distrag atenția de la acțiunile în dialogurile de confirmare, în locul unui dialog separat în bara de adrese va apărea un mesaj informativ care nu necesită acțiuni din partea utilizatorului, cu un avertisment despre blocarea cererii de permisiuni, care se minimizează automat într-un indicator cu imaginea unui clopot tăiat. Când se face clic pe indicator, utilizatorul poate activa sau refuza permisiunea solicitată în orice moment convenabil.

    Lansarea Chrome 84
  • A fost asigurată memorarea alegerii utilizatorului la deschiderea gestionatorilor de protocoale externe — utilizatorul poate alege "întotdeauna permite pentru acest site" pentru un anumit gestionator, iar browserul va reține această decizie în legătură cu site-ul curent.
  • A fost adăugată protecția împotriva modificării setărilor utilizatorului fără consimțământ explicit. Dacă o extensie modifică motorul de căutare implicit propus sau pagina afișată pentru o nouă filă, browserul va afișa acum un dialog cu o propunere de a confirma operațiunea specificată sau de a anula modificarea.
  • Continuat implementarea protecției împotriva descărcării conținutului multimedia mixt (când pe o pagină HTTPS se încarcă resurse prin protocolul http://). Pe paginile deschise prin HTTPS, linkurile "http://" vor fi acum înlocuite automat cu "https://" în blocurile legate de încărcarea de imagini (anterior au fost înlocuite scripturile și iframe-urile, iar înlocuirea resurselor audio și video este de așteptat în următoarea versiune). Dacă imaginea nu este disponibilă prin https, încărcarea acesteia este blocată (manual, utilizatorul poate marca blocarea printr-un meniu disponibil prin simbolul lacat din bara de adrese).
  • A fost adăugată suport pentru API Web OTP (s-a dezvoltat ca API pentru SMS Receiver), permițând organizarea introducerii unui cod de unică folosință pe o pagină web, după primirea unui mesaj SMS cu un cod de confirmare, livrat pe smartphone-ul Android al utilizatorului, pe care este deschis browserul. Confirmarea prin SMS, de exemplu, poate fi utilizată pentru a verifica numărul de telefon specificat de utilizator la înregistrare. Dacă anterior utilizatorul trebuia să deschidă aplicația pentru a vizualiza SMS-ul, să copieze codul în clipboard, să revină în browser și să insereze acel cod, noul API oferă posibilitatea de a automatiza acest proces și de a-l reduce la o singură atingere.
  • API extins Web Animations
    pentru gestionarea redării animațiilor web. În noua versiune, a fost adăugată suport pentru operațiuni de compositing, permițând controlul modului în care se combină efectele și oferind noi gestori care sunt apelati la apariția evenimentelor de înlocuire a conținutului. API-ul Web Animations suportă acum și Promise pentru a determina ordinea de afișare a animației și un control mai bun asupra modului în care animația interacționează cu alte funcționalități ale aplicației.
  • Î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.
    • API Cookie Store pentru accesul Worker-ului de Serviciu la HTTP Cookies, care funcționează ca o alternativă asincronă la utilizarea document.cookie.
    • API Detectare a inactivității pentru a determina inactivitatea utilizatorului, permițând identificarea momentului în care utilizatorul nu interacționează cu tastatura/misul, când se rulează protectorul de ecran, ecranul este blocat sau se efectuează o muncă pe un alt monitor. Avertizarea aplicației despre inactivitate se face prin trimiterea unei notificări după atingerea unui prag de inactivitate specificat.
    • Modul Izolarea Originii, permite dezvoltatorului să utilizeze o izolare mai completă a procesării conținutului într-un proces separat legat de origine (origin — domeniu + port + protocol), și nu de site, ca preț al renunțării la anumite funcționalități depășite, cum ar fi execuția sincronă a scripturilor care utilizează document.domain și apelul postMessage() pentru a trimite mesaje instanțelor WebAssembly.Module. Cu alte cuvinte, izolarea originii permite organizarea separării pe diferite procese bazate pe domeniul resurselor, și nu pe site, cu toate includerile externe pe pagini.
    • API WebAssembly SIMD pentru utilizarea instrucțiunilor SIMD vectoriale în aplicațiile în format WebAssembly. Pentru a asigura independența platformei, este propus un nou tip de 128 de biți, care poate reprezenta diferite tipuri de date ambalate și mai multe operații vectoriale de bază pentru procesarea datelor ambalate. SIMD permite creșterea performanței prin paralelizarea procesării datelor și va fi util la compilarea codului nativ în WebAssembly. Pentru a activa suportul SIMD, se poate utiliza setarea „chrome://flags/#enable-webassembly-simd”.
  • Stabilizat și acum distribuit în afara Origin Trials
    API Indexarea conținutului, oferind metadate despre conținutul care a fost anterior cache-uit de aplicațiile web care funcționează în modul Progressive Web Apps (PWA). Aplicația poate salva în browser diferite date, inclusiv imagini, videoclipuri și articole, iar atunci când conexiunea la rețea este pierdută, poate utiliza aceste date prin API-ul Cache Storage și IndexedDB. API-ul de Indexare a Conținutului permite adăugarea, găsirea și eliminarea unor asemenea resurse. În browser, acest API este deja folosit pentru listarea paginilor și a datelor multimedia disponibile pentru a fi vizualizate offline.
  • Varianta API-ului a fost stabilizată Wake Lock bazat pe mecanismul Promise, oferind o modalitate mai sigură de a gestiona dezactivarea auto-blocării ecranului și de a comuta dispozitivele în moduri de economisire a energiei.
  • În versiunea pentru platforma Android a fost adăugată suportă shortcut-uri pentru aplicații, permițând acces rapid la acțiuni tipice solicitate în aplicație. Pentru a crea shortcut-uri, este suficient să adăugați elemente în manifestul web al aplicației în format PWA (Progressive Web Apps).
    Lansarea Chrome 84
  • Pentru Web Worker este permisă utilizarea API-ului ReportingObserver, care permite definirea unui handler pentru generarea unui raport, invocat atunci când se accesează funcționalități învechite. Raportul generat, la alegerea utilizatorului, poate fi salvat, trimis pe server sau procesat de un script JavaScript.
  • API-ul a fost actualizat Resize Observer, permițând conectarea unui handler care va primi notificări despre modificarea dimensiunii elementelor specificate pe pagină. În ResizeObserverEntry au fost adăugate trei noi proprietăți: contentBoxSize, borderBoxSize și devicePixelContentBoxSize pentru a obține informații mai detaliate, furnizate sub formă de matrice de obiecte ResizeObserverSize.
  • A fost adăugat cuvântul cheie „revert” pentru a reseta stilul elementului la valoarea implicită.
  • Eliminat prefixul proprietății CSS „-webkit-appearance” și „-webkit-ruby-position”, care acum sunt disponibile ca „appearance” și „ruby-position«.
  • În JavaScript a fost implementată suportul marcării metodelor și proprietăților clasei ca private, astfel încât accesul la acestea va fi deschis doar în interiorul clasei (anterior, doar câmpurile puteau fi private). Pentru a marca metodele și proprietățile ca private, este nevoie specifica de a plasa semnul „#” înaintea numelui câmpului.
  • În JavaScript a fost adăugată suport pentru referințelor slabe (weak reference) la obiectele JavaScript, permițând păstrarea unei referințe către obiect, dar fără a bloca ștergerea obiectului asociat de către colectorul de gunoi. De asemenea, a fost adăugat suport pentru finalizatori, oferind posibilitatea de a defini un handler care este apelat după finalizarea colectării de gunoi a obiectului specificat.
  • S-a accelerat lansarea aplicațiilor pe WebAssembly, datorită implementării în compilatorul de bază (baseline) Liftoff instrucțiunilor atomice și operațiuni pe loturi cu memorie. S-au îmbunătățit instrumentele pentru depanarea WebAssembly, având o performanță de depanare semnificativ crescută prin utilizarea punctelor de oprire (anterior, pentru depanare se folosea un interpret, iar acum compilatorul Liftoff).
  • În instrumentele pentru dezvoltatorii web pphttps://developers.google.com/web/updates/2020/05/devtools a fost actualizată]] panoul pentru analizarea performanței. A fost adăugată informația generală despre metrica TBT (Total Blocking Time), arătând cât de mult timp pagina pare a fi disponibilă, dar de fapt nu este disponibilă (adică pagina este deja redată, dar încă blochează execuția fluxului principal și introducerea de date nu este posibilă). A fost adăugată o nouă secțiune Experience pentru analiza metricii CLS (Cumulative Layout Shift), reflectând stabilitatea vizuală a conținutului. În panoul de inspecție a stilurilor CSS a fost implementată previzualizarea imaginilor specificate prin proprietatea „background-image”.

Pe lângă noutăți și corecții de erori, noua versiune a eliminat 38 vulnerabilități. Multe dintre vulnerabilități au fost descoperite ca urmare a testării automate cu instrumentele AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer și AFL. O problemă (CVE-2020-6510, depășirea tamponului în handler-ul unor operațiuni de fundal fetch) este marcată ca critică, adică permite ocolirea tuturor nivelurilor de protecție ale browserului și executarea de cod în sistem dincolo de mediu sandbox. În cadrul programului de recompensă pentru descoperirea vulnerabilităților pentru acest release, Google a plătit 26 de recompense în valoare de 21.500 USD (două recompense de 5.000 USD, două recompense de 3.000 USD, o recompensă de 2.000 USD, două recompense de 1.000 USD și trei recompense de 500 USD). Valoarea a 16 recompense nu a fost încă determinată.

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