Compania Google a lansat versiunea browserului web Chrome 123. Disponibil simultan este și un release stabil al proiectului liber Chromium, care stă la baza Chrome. Browserul Chrome se deosebește de Chromium prin utilizarea siglelor Google, printr-un sistem de notificare în caz de blocare, prin module pentru redarea conținutului protejat împotriva copiei (DRM), printr-un sistem de instalare automată a actualizărilor, prin activarea constantă a izolării Sandbox, prin furnizarea cheilor pentru API-ul Google și prin transmiterea parametrilor RLZ în căutări. Pentru cei care necesită mai mult timp pentru actualizări, se suportă o ramură Extended Stable, care este însoțită de 8 săptămâni. Următoarea lansare a Chrome 124 este planificată pentru 16 aprilie.
Principalele schimbări în Chrome 123:
- Pe pagina afișată la deschiderea unei noi taburi, a fost adăugată o nouă secțiune care afișează link-uri din taburi recent deschise pe alte dispozitive legate la același cont Google.

- A fost adăugată suport pentru codificarea conținutului folosind algoritmul de compresie Zstandard (zstd), pe lângă algoritmii de compresie suportati anterior, gzip, brotli și deflate.
- Implementarea codec-ului video liber Theora, creat de organizația Xiph.org Foundation pe baza codec-ului VP3 și susținut în Firefox și Chrome din 2009, a fost eliminată. Theora nu este susținut în Chrome pentru Android și în browserele bazate pe WebKit, cum ar fi Safari. Motivul pentru întreruperea suportului pentru Theora este menționat ca fiind îngrijorările că în implementarea Theora, care are o logică complexă pentru analiza datelor binare și decodarea fluxurilor, ar putea exista vulnerabilități similare cu problemele critice recente ale encoder-ului VP8. Potrivit dezvoltatorilor, din cauza atacurilor 0-day tot mai frecvente asupra codec-urilor media, riscurile legate de securitate depășesc nivelul de cerere pentru codec-ul Theora, care este aproape neutilizat în practică, dar rămâne o țintă semnificativă pentru atacuri potențiale.
- Continuă creșterea graduală a procentului de utilizatori pentru care suportul pentru cookie-uri terțe, setate atunci când accesează site-uri diferite de domeniul paginii curente, este dezactivat. Aceste cookie-uri sunt utilizate pentru urmărirea mișcărilor utilizatorului între site-uri în codul rețelelor publicitare, al widget-urilor rețelelor sociale și al sistemelor de web-analiză. Schimbările sunt promovate în cadrul inițiativei Privacy Sandbox, care își propune să găsească un compromis între nevoia utilizatorilor de a-și menține confidențialitatea și dorința rețelelor publicitare și a site-urilor de a urmări preferințele vizitatorilor. Dezactivarea cookie-urilor terțe este planificată să fie extinsă treptat, astfel încât până în trimestrul 3 al anului 2024 să atingă 100%. Pentru dezactivare, fără a aștepta modificări externe, este disponibilă configurarea „chrome://flags/#test-third-party-cookie-phaseout”.
- Pentru un procent mic de utilizatori din SUA, a fost activat suportul pentru funcții care utilizează învățarea automată - modul de grupare inteligentă a tab-urilor, generatorul de teme și asistentul interactiv, despre care s-a discutat în anunțul lansării Chrome 121. Pentru sistemele cu management de configurație centralizat, administratorul poate activa instrumentele AI la nivel de politici, fără a fi nevoie să activeze modul experimental.
- În serviciul de sincronizare a setărilor, istoricului și marcajelor (Chrome Sync), suportul pentru versiunile anterioare versiunii Chrome 82 a fost oprit.
- Când este activată protecția avansată a browserului (Safe Browsing > Enhanced protection), se realizează trimiterea către Google a informațiilor despre solicitările de permisiune extinsă efectuate de site-uri (aceste pagini sunt verificate într-o bază de date externă de conținut malițios, iar în caz de potrivire, utilizatorului i se va arăta imediat o avertizare). De asemenea, este activată trimiterea telemetriei despre anulările de avertizări efectuate de utilizator înainte de deschiderea paginilor marcate de Google ca fiind dăunătoare.
- Google a publicat un articol explicând metodele folosite pentru a verifica securitatea paginilor deschise de utilizatori, conform bazei de date externe de conținut malițios. serverPentru a menține confidențialitatea, atunci când se verifică URL-urile deschise de utilizatori, Google primește nu hash-uri complete ale URL-urilor, ci doar prefixul cu primii 4 octeți din hash. server Acest prefix este verificat în baza de date a paginilor dăunătoare, iar în cazul în care există o potrivire, lista hash-urilor complete corespunzătoare prefixului este returnată în browserul utilizatorului, care efectuează deja verificarea finală cu hash-ul URL-ului de 32 de biți. Pentru a exclude asocierea cererii cu adresa IP a utilizatorului, prefixul hash este mai întâi trimis la un proxy intermediar, care transmite cererea către serverul sistemului Safe Browsing în numele său.

- A fost implementată generarea de avertizări în consola instrumentelor pentru dezvoltatori web atunci când o pagină trimite o cerere către o rețea internă (192.168.x.x, 10.x.x.x etc.), dacă astfel de cereri sunt efectuate în afara unui context sigur și nu au trecut de verficarea preventivă. Înainte de trimiterea efectivă a cererii inițiate de site către resursa din rețeaua internă, browserul trimite mai întâi o cerere de test preventivă și verifică dacă serverul a returnat headerul HTTP „Access-Control-Allow-Private-Network: true”, care permite accesul la rețeaua intranet. Dacă accesul nu este permis, se consideră că a avut loc o tentativă de acces neautorizat la un serviciu intern, ceea ce poate indica o tentativă de atac prin browser asupra resurselor din rețeaua locală (de exemplu, atacatorul ar putea insera într-un iframe o cerere către interfața web a routerului de acasă, de tipul „”). În versiunea Chrome 130, avertismentul urmează să fie înlocuit cu generarea unei erori și blocarea cererilor care nu au trecut de verificare.
- În Chrome pentru Android și iOS a fost adăugată funcționalitatea de a continua navigarea pe site-uri web deschise anterior pe alte dispozitive atașate la aceeași cont Google.
- În Chrome pentru Android a fost modificată metoda de stocare a parolelor locale care nu sunt sincronizate cu alte dispozitive. Anterior, parolele locale erau stocate în profilul Chrome, iar acum vor fi mutate în depozitul de parole furnizat de serviciile Google Play, care este deja utilizat pentru stocarea parolei contului Google. În Chrome 123, noul mod de stocare va fi activat pentru utilizatorii fără parole locale, iar în versiunea Chrome 124 va fi aplicat utilizatorilor cu parole locale.
- A fost adăugat API pentru rutarea statică a ServiceWorker-elor (Service Worker Static Routing), care permite excluderea execuției JavaScript și interceptarea de către ServiceWorker în momentul solicitării resurselor care îndeplinesc anumite condiții. Cu alte cuvinte, API-ul permite determinarea modului în care ar trebui să fie încărcate anumite resurse și dezactivarea apelului ServiceWorker pentru resursele care pot fi extrase din cache sau încărcate direct. Ca semne pentru luarea unei decizii pot fi utilizate șabloane URL, metode de solicitare, tipuri de conținut (document, embed, font, video etc.) și statutul de execuție („running”, „not-running”). De exemplu, pentru a trimite o solicitare POST cu datele unui formular web direct, fără a apela ServiceWorker-ul, se poate specifica: addEventListener(‘install’, (event) => { event.addRoutes({ condition: { urlPattern: «/form/*», requestMethod: «post» }, source: «network» }); });
- În CSS a fost adăugată funcția light-dark() pentru adaptarea schemei de culori la setările modului deschis sau întunecat. În funcție se pot specifica două valori, care vor fi selectate în funcție de modul deschis sau întunecat. De exemplu: «background-color: light-dark(lime, green);».
- A fost adăugat API Long Animation Frames pentru diagnosticul reacției interfeței site-ului și identificarea punctelor slabe în procesul de redare.
- În media query-ul «display-mode» a fost adăugată suportul pentru valoarea «picture-in-picture», care permite crearea de reguli CSS aplicabile doar atunci când aplicația web este afișată în modul „pictură în pictură”. @media all and (display-mode: picture-in-picture) { body { margin: 0; } h1 { font-size: 0.8em; } }
- În proprietatea CSS «align-content» a fost implementată posibilitatea de a lucra cu containerele bloc și celulele de tabel. De exemplu, «display: block», «display: list-item», «display: table-cell» pot fi acum aliniate folosind «align-content».
- A fost adăugată proprietatea CSS «field-sizing», care permite ca dimensiunea elementelor formularului să depindă de conținutul acestora, de exemplu, pentru a crește automat dimensiunea câmpului de text pe măsură ce se introduc date.
- În interfața JavaScript NavigationActivation a fost adăugat parametrul navigation.activation, care reflectă starea de activare a documentului (de exemplu, se poate determina dacă documentul a fost restaurat din cache după apăsarea butoanelor de navigare "înaintare" sau "înapoi"). Parametrul poate fi utilizat pentru a ajusta conținutul paginii în funcție de sursa de acces a utilizatorului, de exemplu, se poate afișa o altă animație dacă utilizatorul a venit de pe pagina principală.
- Au fost aduse îmbunătățiri instrumentelor pentru dezvoltatorii web.
Pe lângă noutăți și corecții de erori, noua versiune a rezolvat 12 vulnerabilități. Multe dintre vulnerabilități au fost identificate ca urmare a testării automate utilizând 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 codului în sistem dincolo de mediu sandbox. În cadrul programului de recompensare pentru descoperirea vulnerabilităților, compania Google a acordat 7 premii în valoare totală de 22.000 USD pentru această versiune (un premiu de 10.000 USD, unul de 4.000 USD, unul de 3.000 USD și unul de 1.000 USD, precum și două premii de 2.000 USD). Valoarea unei recompense individuale nu a fost deocamdată stabilită.
Sursa: opennet.ro


