Compania Google a publicat versiunea browser-ului web Chrome 118. În același timp este disponibilă o versiune stabilă a proiectului deschis Chromium, care este baza Chrome. Browser-ul Chrome se deosebește de Chromium prin utilizarea siglelor Google, sistemul de notificare în caz de crash, modulele pentru redarea conținutului video protejat (DRM), sistemul de instalare automată a actualizărilor, activarea permanentă a izolării Sandbox, furnizarea cheilor pentru Google API și transmiterea parametrilor RLZ în timpul căutării. Pentru cei care au nevoie de mai mult timp pentru actualizare, este menținută o ramură Extended Stable, care este susținută timp de 8 săptămâni. Următoarea versiune Chrome 119 este programată pentru 31 octombrie.
Principalele modificări în Chrome 118:
- A început pregătirea pentru eliminarea în Chrome a suportului pentru cookie-uri terțe, stabilite atunci când se accesează site-uri diferite de domeniul paginii curente. Aceste cookie-uri sunt utilizate pentru a urmări mișcările utilizatorilor între site-uri în codul rețelelor publicitare, widget-urilor de social media și sistemelor de analiză web. Modificările sunt promovate în cadrul inițiativei Privacy Sandbox, care vizează găsirea unui compromis între nevoile utilizatorilor de a-și păstra confidențialitatea și dorința rețelelor publicitare și a site-urilor de a urmări preferințele vizitatorilor.
În Chrome 118, instrumentele pentru dezvoltatori web oferă o avertizare la trimiterea cookie-urilor care vor fi blocate în viitor. De asemenea, a fost adăugată opțiunea de linie de comandă «—test-third-party-cookie-phaseout» și setarea «chrome://flags/#test-third-party-cookie-phaseout» pentru a activa forțat blocarea în scopuri de testare. Blocarea efectivă a cookie-urilor terțe va începe în primul trimestru din 2024 și, până în al treilea trimestru, va acoperi doar 1% dintre utilizatorii Chrome în cadrul unei perioade de testare. După al treilea trimestru din 2024, acoperirea blocării va fi extinsă la 100%.
În locul cookie-urilor de urmărire, se propune utilizarea următoarelor API-uri:
- FedCM (Federated Credential Management), permite crearea de servicii de identificare unificate, care asigură păstrarea confidențialității și funcționează fără cookie-uri terță parte.
- Private State Tokens, permite separarea utilizatorilor diferiți fără utilizarea identificatorilor inter-sitii și transmiterea informațiilor despre autenticitatea utilizatorului între diferite contexte.
- Temele (critica), oferă posibilitatea de a determina categorii de interese ale utilizatorului, care pot fi folosite pentru a evidenția grupuri de utilizatori cu interese similare fără a identifica utilizatori individuali prin intermediul cookie-urilor de urmărire. Interesele sunt calculate pe baza activității utilizatorului în browser și sunt salvate pe dispozitivul utilizatorului. Prin intermediul API-ului Topics, rețeaua de publicitate poate obține informații generale despre anumite interese fără a avea informații despre activitatea specifică a utilizatorului.
- Protected Audience, o soluție pentru problemele de retargeting și evaluarea audienței proprii (lucrând cu utilizatorii care au vizitat anterior site-ul).
- Attribution Reporting, permite evaluarea caracteristicilor eficacității publicității, cum ar fi click-urile și conversia (achiziția pe site după accesare).
- Storage Access API, poate fi folosit pentru a solicita utilizatorului permisiunea de a accesa stocarea cookie-urilor, dacă în mod implicit cookie-urile terțe sunt blocate.
- Pentru toți utilizatorii a fost activată suportul pentru mecanismul ECH (Encrypted Client Hello), care continuă dezvoltarea ESNI (Encrypted Server Name Indication) și este folosit pentru criptarea informațiilor despre parametrii sesiunilor TLS, cum ar fi numele de domeniu solicitat. Principala diferență între ECH și ESNI este că, în ECH, întreaga mesajde TLS ClientHello este criptată, în loc de a cripta câmpurile individuale, ceea ce permite blocarea scurgerilor prin câmpuri neacoperite de ESNI, de exemplu, câmpul PSK (Pre-Shared Key). Pentru a gestiona activarea ECH, există setarea „chrome://flags#encrypted-client-hello”.
- Odată cu activarea protecției extinse a browserului (Safe Browsing > Enhanced protection), este implementată posibilitatea de dezactivare la distanță a extensiilor malware, instalate din surse neoficiale. Decizia de eliminare este luată pe serverele Google pe baza unei evaluări manuale sau după activarea sistemului automat de detectare a codului dăunător.
- Odată cu activarea protecției standard a browserului (Safe Browsing > Standard protection), se realizează verificări de securitate în timp real pentru URL-urile deschise, bazate pe transmiterea către servere Google a unor hash-uri parțiale ale URL-urilor deschise de utilizator. Pentru a exclude asocierile adrese IP utilizator și hash, datele fiind transmise printr-un proxy intermediar. Anterior, verificarea era realizată prin descărcarea pe sistemul utilizatorului a unei copii locale a listei URL-urilor nesigure. Noua schemă permite blocarea mai rapidă a URL-urilor malware.
- S-a îmbunătățit prezentarea paginilor, afișate atunci când se încearcă deschiderea unui site considerat nesigur la verificarea prin mecanismul Safe Browsing.

- În telemetria trimisă către serverele Google la activarea protecției extinse a browserului (Safe Browsing > Enhanced protection), sunt acum incluse apelurile extensiilor către API-ul chrome.tabs. Datele sunt colectate pentru a identifica activitățile dăunătoare și încălcările regulilor în extensii.
- Ativarea protecției avansate a browserului (Safe Browsing > Protecție avansată) oferă suport pentru scanarea profundă a arhivelor ZIP și RAR criptate de către Google (utilizatorul este solicitat să introducă parola de dezarhivare, după care conținutul este trimis pentru verificare pe serverele Google).
- În configurator și în ghidul de confidențialitate a fost adăugat un nou text explicativ despre nivelurile de protecție Safe Browsing, iar linkurile către articolele corespunzătoare cu informații suplimentare au fost incluse. Descrierile protecției standard, dezactivării protecției și avertizărilor despre compromiterea parolelor au fost simplificate.

- În secțiunea Quests (urmărirea prețurilor în magazinele online) de pe pagina noului tab s-a adăugat informație despre disponibilitatea reducerilor. Indicatorul reducerilor poate apărea și în bara de adrese atunci când se deschid pagini cu produse din magazinele online urmărite de serviciul Google.
- Conform specificației RFC-6265bis, au fost blocate toate cookie-urile care conțin caractere de control și sunt setate prin JavaScript. Anterior, cookie-urile cu caractere zero, întoarcerea carcerelor și schimbarea liniilor erau tăiate la caracterul problematic, nu blocate, ceea ce în anumite situații putea fi utilizat pentru acțiuni malițioase. Pentru a dezactiva acest comportament nou, se poate folosi opțiunea „—disable-features=BlockTruncatedCookies”.
- În extensiile Service Worker înregistrate, este permis accesul la API-ul WebUSB.
- A fost eliminată necesitatea activării prealabile de către utilizator a opțiunii de afișare a dialogurilor pentru solicitarea și confirmarea plăților.
- Decodarea caracterelor ASCII în formatul codurilor „%xx” a fost suspendată. De exemplu, anterior, „http://example.com/” era decodificat în „http://example.com/A” înainte de a fi înregistrat în url.href, iar acum va rămâne „http://example.com/”.
- A fost adăugată opțiunea de plasare verticală a textului în elementele formularului web select, meter, progress, button, textarea și input. Poziționarea textului în formulare se stabilește prin proprietatea CSS writing-mode, care pentru afișarea verticală poate lua valorile vertical-rl sau vertical-lr.
- În proprietatea CSS „appearance”, suportul pentru cuvinte cheie non-standard a fost întrerupt: inner-spin-button, media-slider, media-sliderthumb, media-volume-slider, media-volume-sliderthumb, push-button, searchfield-cancel-button, slider-horizontal, sliderthumb-horizontal, sliderthumb-vertical și square-button. Pentru a evalua popularitatea acestor cuvinte cheie, care nu au fost incluse în specificație, a fost adunată o statistică conform căreia acestea au fost utilizate doar în 0,001% din cazuri.
- A fost adăugat regula CSS @scope, care leagă stilurile CSS având în vedere proximitatea definiției stilului față de elemente. Regula @scope poate fi aplicată pentru a ocoli aranjamentul standard al stilurilor bazat pe ordinea de apariție a elementelor sau pentru a corecta stilul unui component, fără a afecta stilurile elementelor incluse. De exemplu, pentru div-urile imbricate: <div class="»lightpink-theme»"> <a href="/ro/»/#»">Sunt roz deschis!</a> <div class="»pink-theme»"> <a href="/ro/»/#»">Roz diferit!</a> </div> </div> tot conținutul va fi colorat în roz deschis datorită aplicării întregului bloc de stil "lightpink-theme", specificat în div-ul părinte. Folosind @scope, se poate schimba domeniul de vizibilitate și se poate obține setarea stilului "pink-theme" pentru div-ul imbricat pe baza proximității definiției stilului, nu pe ordinea definiției în cod: @scope (.pink-theme) { a { color: hotpink; } } @scope (.lightpink-theme){ a { color: lightpink; } }
- A fost adăugat suport pentru media query (@media) „scripting”, care permite verificarea disponibilității funcționalității de execuție a scripturilor (de exemplu, în CSS se poate determina dacă suportul pentru JavaScript este activat).
- A fost adăugat suport pentru media query prefers-reduced-transparency, care permite identificarea modificărilor din sistemul de setări, responsabile pentru reducerea aplicării efectelor de transparență sau semi-transparență (de exemplu, modul „Reduce transparency” în macOS, utilizat pentru a îmbunătăți lizibilitatea textului).
- În CSS a fost adăugat suport pentru noi valori „float: inline-start”, „float: inline-end”, „clear: inline-start”, „clear: inline-end”, „resize: block”, „resize: inline”, care gestionează poziționarea logică a elementelor (pentru sprijinul limbilor în care scrierea se face nu de sus în jos și de la stânga la dreapta, poziționarea logică folosește conceptele de început, sfârșit și direcția textului).
- În proprietatea CSS „transform-box” a fost adăugat suport pentru valorile stroke-box, content-box și border-box, care permit modificarea metodei de calculare a zonei de referință pentru operațiunile de transformare, de exemplu, pentru implementarea efectelor grafice avansate.
- A fost adăugată posibilitatea de a concentra focusul pe blocurile de derulare atunci când se navighează cu tastatura (de exemplu, focusul pe derulare poate fi setat apăsând tasta Tab și derulând cu tastele săgeată).
- Au fost aduse îmbunătățiri în instrumentele pentru dezvoltatorii web. Funcționalitatea panoului Sources („Surse”) a fost extinsă, în care secțiunea „Filesystem” a fost înlocuită cu tab-ul „Workspace”, prin care se pot sincroniza modificările adăugate din instrumentele pentru dezvoltatori cu fișierele sursă.
A fost oferită posibilitatea de a schimba ordinea tab-urilor în panoul Sources prin mutarea lor cu mouse-ul în modul drag&drop. S-a asigurat formatarea codului JavaScript încorporat în elementele script cu tipuri module, importmap și speculationrules. A fost adăugată evidențierea sintaxei pentru scripturile cu tipul importmap și speculationrules.

În panoul Elements, în fila Styles, a fost adăugată o secțiune separată pentru proprietățile personalizate, care permite definirea proprii proprietăți CSS fără a necesita executarea JavaScript. În rezultatele căutării, toate aparițiile din linie sunt afișate, nu doar prima apariție, ceea ce este convenabil pentru căutarea în fișierele JavaScript comprimate pentru a reduce dimensiunea (la clic pe rezultat, fișierul se deschide în editor și poate fi derulat vertical și orizontal pentru a arăta poziția găsită).

Pe lângă noile funcționalități și corectarea erorilor, noua versiune a eliminat 20 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. Printre altele, în această versiune a fost remediată o vulnerabilitate critică CVE-2023-5218, legată de accesarea memoriei după eliberare (Use after free) în mecanismul de izolare a site-urilor. Vulnerabilitatea permite ocolirea tuturor nivelurilor de protecție ale browserului și executarea de cod în sistem în afara mediului sandbox. În cadrul programului de recompensare pentru descoperirea vulnerabilităților pentru acest release, compania Google a plătit 14 premii în valoare totală de 30.500 USD (o recompensă de 6000 USD, două recompense de 5000 USD, două recompense de 3000 USD, o recompensă de 2000 USD, șase recompense de 1000 USD și o recompensă de 500 USD). Valoarea unei recompense nu a fost încă definită.
Sursa: opennet.ro




