Firma Google zaprezentowała wydanie przeglądarki internetowej Chrome 92. Jednocześnie dostępne jest stabilne wydanie projektu open source Chromium, który stanowi podstawę Chrome. Przeglądarka Chrome różni się wykorzystaniem logo Google, systemem powiadomień o awariach, modułami do odtwarzania chronionych treści wideo (DRM), systemem automatycznego instalowania aktualizacji oraz przesyłaniem parametrów RLZ podczas wyszukiwania. Kolejna wersja Chrome 93 zaplanowana jest na 31 sierpnia.
Główne zmiany w Chrome 92:
- Do ustawień dodano narzędzia do zarządzania włączaniem komponentów Privacy Sandbox. Użytkownik ma możliwość wyłączenia technologii FLoC (Federated Learning of Cohorts), rozwijanej przez firmę Google, która ma zastąpić tradycyjne cookie do śledzenia ruchów użytkowników na "kohorty", umożliwiające identyfikację użytkowników o podobnych zainteresowaniach bez identyfikacji poszczególnych osób. Kohorty są obliczane po stronie przeglądarki przy użyciu algorytmów uczenia maszynowego na podstawie danych z historii odwiedzin oraz treści otwieranych w przeglądarkach.

- Dla użytkowników systemów desktopowych domyślnie włączono pamięć podręczną przejść (Back-forward cache), zapewniającą natychmiastowe przejście przy użyciu przycisków "Wstecz" i "Dalej" lub podczas przeglądania wcześniej odwiedzanych stron bieżącej witryny. Wcześniej pamięć podręczna przejść była dostępna tylko w wersjach na platformę Android.
- Wzmacniana jest izolacja stron i rozszerzeń w różnych procesach. Jeśli wcześniej mechanizm site isolation zapewniał izolację między stronami w różnych procesach oraz oddzielał wszystkie rozszerzenia w osobnym procesie, to w nowym wydaniu wdrożono podział rozszerzeń przeglądarki między sobą, przenosząc każde rozszerzenie do oddzielnego procesu, co stworzyło dodatkową barierę ochrony przed złośliwymi rozszerzeniami.
- Znacznie zwiększono wydajność oraz efektywność wykrywania phishingu. Szybkość wykrywania phishingu na podstawie lokalnej analizy obrazów wzrosła w połowie przypadków do 50 razy, a w 99% przypadków była szybsza przynajmniej 2,5 razy. Średni czas klasyfikacji phishingu na podstawie obrazu zmniejszył się z 1,8 sekundy do 100 ms. Całkowite obciążenie CPU generowane przez wszystkie procesy renderujące zmniejszyło się o 1,2%.
- Do zablokowanych portów sieciowych dodano porty 989 (ftps-data) i 990 (ftps). Wcześniej zablokowane były porty 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061, 6566 oraz 10080. Dla portów znajdujących się na czarnej liście blokowane jest wysyłanie zapytań HTTP, HTTPS i FTP w celu ochrony przed atakiem NAT slipstreaming, który umożliwia nawiązanie połączenia z serwerem atakującego do dowolnego portu UDP lub TCP w systemie użytkownika, nawet przy użyciu wewnętrznego zakresu adresów (192.168.x.x, 10.x.x.x).
- Wprowadzono wymóg stosowania dwuskładnikowego uwierzytelnienia twórcy przy publikacji nowych dodatków lub aktualizacji wersji w Chrome Web Store.
- Zapewniono wyłączenie w przeglądarce już zainstalowanych dodatków, jeśli zostały usunięte z katalogu Chrome Web Store z powodu naruszenia zasad.
- Podczas wysyłania zapytań DNS, w przypadku użycia klasycznych serwerów DNS, oprócz rekordów 'A' i 'AAAA' do określenia adresów IP teraz również żądana jest rekord DNS 'HTTPS', przez który przesyłane są parametry, pozwalające na przyspieszenie nawiązywania połączeń HTTPS, takie jak ustawienia protokołu, klucze do szyfrowania TLS ClientHello i lista subdomen-aliasów.
- Z bloków iframe, ładowanych z domenów, innych niż domena aktualnej strony, zakazane jest wywoływanie okien dialogowych JavaScript window.alert, window.confirm i window.prompt. Zmiana ta ma na celu ochronę użytkowników przed nadużyciami związanymi z próbami przedstawienia zewnętrznego powiadomienia jako żądania głównej strony.
- Na stronie nowej karty wyświetlany jest lista najczęściej używanych dokumentów zapisanych w Google Drive.
- Umożliwiono zmianę nazwy i ikony dla aplikacji PWA (Progressive Web Apps).
- Dla małej liczby losowych formularzy webowych związanych z wprowadzaniem adresu lub numeru karty kredytowej, w ramach eksperymentu wyłączono wyświetlanie sugestii dotyczących autouzupełniania.
- W wersji na systemy desktopowe opcja wyszukiwania po obrazach (punkt 'Znajdź obraz' w menu kontekstowym) została przeniesiona na użycie serwisu Google Lens zamiast tradycyjnej wyszukiwarki Google. Po naciśnięciu odpowiedniego przycisku w menu kontekstowym użytkownik zostanie przekierowany do oddzielnej aplikacji webowej.
- W interfejsie trybu incognito ukryte są linki do historii odwiedzin (linki są bezużyteczne, ponieważ prowadziły do otwarcia strony z informacją, że historia nie jest zbierana).
- Dodano nowe komendy, które są rozpoznawane przy wpisywaniu w pasku adresu. Na przykład, aby wyświetlić przycisk szybkiego przejścia do strony sprawdzania bezpieczeństwa haseł i dodatków, wystarczy wpisać „safety check”, a aby przejść do ustawień bezpieczeństwa i synchronizacji — „manage security settings” oraz „manage sync”.
- Specyficzne zmiany w wersji Chrome dla Androida:
- W panelu wprowadzono nowy konfigurowalny przycisk „Magic Toolbar”, który pokazuje różne skróty dostosowane do bieżącej aktywności użytkownika i zawiera linki, które mogą być potrzebne w danym momencie.
- Zaktualizowano realizację modelu uczenia maszynowego działającego na urządzeniu do wykrywania prób phishingu. Przy wykryciu prób phishingu, oprócz wyświetlenia strony z ostrzeżeniem, przeglądarka teraz będzie wysyłać do zewnętrznego serwisu Safe Browsing informacje o wersji modelu uczenia maszynowego, obliczone wagę dla każdej kategorii oraz oznaczenie zastosowania nowego modelu.
- Usunięto ustawienie „Show suggestions for similar pages when a page can’t be found”, które rekomendowało podobne strony na podstawie zapytania wysyłanego do Google, jeśli strona nie została znaleziona. To ustawienie zostało już wcześniej usunięte z wersji na systemy desktopowe.
- Rozszerzono zastosowanie trybu isolacji witryn w oddzielnych procesach. Z przyczyn związanych z zużyciem zasobów do oddzielnych procesów dotychczas wyodrębniane były tylko wybrane duże witryny. W nowej wersji izolacja zacznie być również stosowana do witryn, na które użytkownik zalogował się poprzez autoryzację za pomocą OAuth (na przykład, logowanie przez konto Google) lub które ustawiają nagłówek HTTP Cross-Origin-Opener-Policy. Dla tych, którzy chcą włączyć izolację dla wszystkich witryn w oddzielnych procesach, dostępne jest ustawienie „chrome://flags/#enable-site-per-process”.
- Wyłączono wbudowane w silnik V8 mechanizmy ochrony przed atakami przez zewnętrzne kanały, takie jak Spectre, które uznano za mniej skuteczne niż izolacja witryn w oddzielnych procesach. W wersji desktopowej te mechanizmy zostały wyłączone już w wydaniu Chrome 70.
- Zoptymalizowano dostęp do ustawień uprawnień witryny, takich jak dostęp do mikrofonu, kamery i ustalania lokalizacji. Aby wyświetlić listę uprawnień, wystarczy kliknąć symbol kłódki w pasku adresu, a następnie wybrać sekcję „Uprawnienia”.

- W trybie Origin Trials (eksperymentalne funkcje wymagające osobnej aktywacji) dodano kilka nowych API. Origin Trial oznacza możliwość pracy z określonym API z aplikacji ładowanych z localhost lub 127.0.0.1, lub po zarejestrowaniu się i uzyskaniu specjalnego tokena, który jest ważny przez ograniczony czas dla konkretnej witryny.
- API obsługi plików, które umożliwia rejestrowanie aplikacji internetowych jako obsługujących pliki. Na przykład, aplikacja internetowa działająca w trybie PWA (Progressive Web Apps) z edytorem tekstu może zarejestrować się jako obsługująca pliki „.txt”, a następnie może być używana w systemowym menedżerze plików do otwierania plików tekstowych.

- API przejść elementów współdzielonych, które umożliwia korzystanie z gotowych efektów dostarczanych przez przeglądarkę, wizualizujących zmianę stanu interfejsu w aplikacjach jednorazowych (SPA, single-page applications) i wielostronicowych (MPA, multi-page applications).
- API obsługi plików, które umożliwia rejestrowanie aplikacji internetowych jako obsługujących pliki. Na przykład, aplikacja internetowa działająca w trybie PWA (Progressive Web Apps) z edytorem tekstu może zarejestrować się jako obsługująca pliki „.txt”, a następnie może być używana w systemowym menedżerze plików do otwierania plików tekstowych.
- W regule CSS @font-face dodano parametr size-adjust, umożliwiający skalowanie rozmiarów glifów dla danego kroju pisma bez zmiany wartości właściwości CSS font-size (obszar pod symbolem pozostaje taki sam, ale zmienia się rozmiar glifu w tym obszarze).
- W JavaScript w obiektach Array, String i TypedArray wprowadzono metodę at(), która umożliwia korzystanie z indeksowania względnego (jako indeks tablicy podaje się względną pozycję), w tym z użyciem wartości ujemnych względem końca (na przykład „arr.at(-1)” zwróci ostatni element tablicy).
- W konstruktorze JavaScript Intl.DateTimeFormat dodano właściwość dayPeriod, która pozwala na wyświetlenie przybliżonej pory dnia (rano, wieczorem, w ciągu dnia, w nocy).
- Podczas korzystania z obiektów SharedArrayBuffers, które umożliwiają tworzenie tablic w pamięci współdzielonej, teraz wymagane jest zdefiniowanie nagłówków HTTP Cross-Origin-Opener-Policy i Cross-Origin-Embedder-Policy, bez których żądanie będzie zablokowane.
- W API Media Session dodano akcje „togglemicrophone”, „togglecamera” i „hangup”, umożliwiające na stronach internetowych realizujących systemy wideokonferencji dołączanie własnych obsługujących dla przycisków do wyłączania/włączania mikrofonu, wyłączania/włączania kamery i zakończenia połączenia wyświetlanych w interfejsie obrazu w obrazie.
- W API Web Bluetooth dodano możliwość filtrowania znalezionych urządzeń Bluetooth według identyfikatorów producenta i produktu. Filtr jest określany przez parametr „options.filters” w metodzie Bluetooth.requestDevice().
- Zrealizowano pierwszy etap ograniczania zawartości nagłówka HTTP User-Agent: na zakładce DevTools Issues teraz wyświetlane jest ostrzeżenie o deprecjacji navigator.userAgent, navigator.appVersion i navigator.platform.
- Wprowadzono porcję ulepszeń w narzędziach dla programistów webowych. W konsoli webowej dodano możliwość nadpisywania wyrażeń „const”. W panelu Elementy dodano możliwość szybkiego podglądu szczegółów dla elementów iframe poprzez menu kontekstowe, wyświetlane po kliknięciu prawym przyciskiem myszy na elemencie. Ulepszono debugowanie błędów CORS (Cross-origin resource sharing). W panelu inspekcji aktywności sieciowej dodano możliwość filtrowania zapytań sieciowych z WebAssembly. Zaproponowano nowy edytor CSS Grid („display: grid” i „display: inline-grid”) z funkcją podglądu zmian.

Oprócz nowości i poprawek błędów w nowej wersji usunięto 35 luk. Wiele z luk wykryto w wyniku zautomatyzowanego testowania narzędziami AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Krytycznych problemów umożliwiających ominięcie wszystkich poziomów zabezpieczeń przeglądarki i wykonanie kodu w systemie poza środowiskiem sandboxowym nie stwierdzono. W ramach programu nagród za wykrywanie luk w bieżącym wydaniu firma Google wypłaciła 24 nagrody o łącznej wartości 112000 dolarów USA (dwie nagrody po 15000 dolarów, cztery nagrody po 10000 dolarów, jedna nagroda po 8500 dolarów, dwie nagrody po 7500 dolarów, trzy nagrody po 5000 dolarów, jedna nagroda po 3000 dolarów i jedna nagroda po 500 dolarów). Wartość 11 nagród nie została jeszcze określona.
Źródło: opennet.ru




