Firma Google zaprezentowała wydanie przeglądarki internetowej Chrome 107. Jednocześnie dostępna jest stabilna wersja projektu Chromium, który stanowi podstawę Chrome. Przeglądarka Chrome różni się od Chromium używaniem logo Google, systemem wysyłania powiadomień w przypadku awarii, modułami do odtwarzania treści wideo zabezpieczonej przed kopiowaniem (DRM), systemem automatycznego instalowania aktualizacji, ciągłym włączeniem izolacji Sandbox, dostarczaniem kluczy do Google API oraz przesyłaniem parametrów RLZ podczas wyszukiwania. Dla tych, którzy potrzebują więcej czasu na aktualizację, oddzielnie wspierana jest gałąź Extended Stable, która jest utrzymywana przez 8 tygodni. Następne wydanie Chrome 108 zaplanowane jest na 29 listopada.
Główne zmiany w Chrome 107:
- Dodano wsparcie dla mechanizmu ECH (Encrypted Client Hello), który kontynuuje rozwój ESNI (Encrypted Server Name Indication) i jest wykorzystywany do szyfrowania informacji o parametrach sesji TLS, takich jak żądana nazwa domeny. Kluczowa różnica pomiędzy ECH a ESNI polega na tym, że w ECH zamiast szyfrowania na poziomie poszczególnych pól całe wiadomość TLS ClientHello jest szyfrowana, co pozwala zablokować wycieki przez pola, które nie są objęte ESNI, na przykład pole PSK (Pre-Shared Key). ECH wykorzystuje również rekord DNS HTTPSSVC zamiast rekordu TXT do przesyłania informacji o kluczu publicznym i stosuje uwierzytelnione szyfrowanie end-to-end oparte na mechanizmie HPKE (Hybrid Public Key Encryption). Aby zarządzać włączeniem ECH, zaproponowano ustawienie „chrome://flags#encrypted-client-hello”.
- Włączono wsparcie dla sprzętowego przyspieszenia dekodowania wideo w formacie H.265 (HEVC).
- Aktywowano piątą fazę ograniczania informacji w nagłówku HTTP User-Agent oraz parametrach JavaScript navigator.userAgent, navigator.appVersion i navigator.platform, realizowaną w celu ograniczenia informacji, które mogą być wykorzystywane do pasywnej identyfikacji użytkownika. W Chrome 107 w ciągu User-Agent ograniczono informacje o platformie i procesorze dla użytkowników systemów stacjonarnych, a także zamrożono zawartość parametru JavaScript navigator.platform. Zmiana jest zauważalna tylko w wersjach dla platformy Windows, dla której konkretna wersja platformy została zastąpiona przez „Windows NT 10.0”. W systemie Linux zawartość platformy w User-Agent nie uległa zmianie.
Poprzednio liczby wersji przeglądarki MINOR.BUILD.PATCH zostały zastąpione przez 0.0.0. W przyszłości w nagłówku planuje się pozostawić jedynie informacje o nazwie przeglądarki, jej wersji głównej, platformie i typie urządzenia (telefon komórkowy, PC, tablet). Aby uzyskać dodatkowe dane, takie jak dokładna wersja oraz zaawansowane informacje o platformie, należy użyć API User Agent Client Hints. Dla stron, które potrzebują pełnych informacji i jeszcze nie są gotowe na przejście na User Agent Client Hints, do maja 2023 roku przewidziano możliwość zwrócenia pełnego User-Agent.
- W wersji na Androida zakończono wsparcie dla platformy Android 6.0, aby korzystać z przeglądarki, wymagana jest teraz wersja co najmniej Android 7.0.
- Zmieniono interfejs śledzenia stanu pobierania. Zamiast dolnego paska z danymi o postępie pobierania, do paska adresu dodano nowy wskaźnik, po naciśnięciu którego wyświetlany jest postęp pobierania plików oraz historia z listą już pobranych plików. W przeciwieństwie do dolnego paska, przycisk jest zawsze widoczny na pasku i umożliwia szybki dostęp do historii pobierania. Nowy interfejs jest obecnie domyślnie dostępny tylko dla części użytkowników i zostanie rozszerzony na wszystkich w przypadku braku problemów.

- Dla użytkowników systemów stacjonarnych wprowadzono możliwość importowania haseł zapisanych w pliku w formacie CSV. Wcześniej hasła z pliku do przeglądarki można było przenieść jedynie przez serwis passwords.google.com, a teraz można to zrobić również za pomocą wbudowanego menedżera haseł przeglądarki (Google Password Manager).
- Po utworzeniu nowego profilu przez użytkownika wyświetlane jest zaproszenie do włączenia synchronizacji oraz przejścia do ustawień, w których można zmienić nazwę profilu i wybrać kolor motywu.
- W wersji na platformę Android zaproponowano nowy interfejs do wyboru plików multimedialnych do przesyłania zdjęć i wideo (zamiast własnej implementacji wykorzystano standardowy interfejs Android Media Picker).

- Zapewniono automatyczne cofnięcie zgody na wyświetlanie powiadomień dla stron, które zostały przyłapane na wysyłaniu zakłócających użytkownika powiadomień i wiadomości. Co więcej, dla takich stron wstrzymano wyświetlanie zapytań o uprawnienia do wysyłania powiadomień.
- W API Screen Capture dodano nowe właściwości związane z udostępnianiem ekranu — selfBrowserSurface (umożliwia wykluczenie aktualnej karty przy wywoływaniu getDisplayMedia()), surfaceSwitching (umożliwia ukrycie przycisku do przełączania kart) i displaySurface (daje możliwość ograniczenia udostępniania karty, okna lub ekranu).
- W API Performance dodano właściwość renderBlockingStatus, która określa zasoby, z powodu których renderowanie strony zostało wstrzymane do momentu ich załadowania.
- 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.
- Deklaratywne API PendingBeacon, które umożliwia zarządzanie wysyłaniem danych, które nie wymagają odpowiedzi (beacon). Nowe API pozwala delegować wysyłanie takich danych do przeglądarki, bez konieczności wywoływania operacji wysyłania w określonym czasie, na przykład w celu zorganizowania przesyłania telemetrii po zamknięciu strony przez użytkownika. serwer W nagłówku HTTP Permissions-Policy (Feature Policy), stosowanym do delegowania uprawnień i włączania rozszerzonych możliwości, dodano wsparcie dla wartości „unload”, za pomocą której można wyłączyć obsługiwacze zdarzenia „unload” na stronie.
- Do nagłówka HTTP Permissions-Policy (Feature Policy), stosowanego do delegowania uprawnień i włączania zaawansowanych funkcji, dodano wsparcie dla wartości „unload”, za pomocą której można wyłączyć obsługę zdarzenia „unload” na stronie.
- Do tagu dodano wsparcie dla atrybutu „rel”, który pozwala stosować do nawigacji przez formularze internetowe parametr „rel=noreferrer” w celu wyłączenia przesyłania nagłówka Referer lub „rel=noopener” w celu wyłączenia ustawienia właściwości Window.opener i zablokowania dostępu do kontekstu, z którego została wykonana nawigacja.
- Wprowadzono ulepszenia w narzędziach dla programistów webowych. Dodano możliwość konfigurowania skrótów klawiszowych. Udoskonalone inspekcje pamięci obiektów aplikacji C/C++, przekształconych w format WebAssembly.
- Wprowadzono liczne poprawki i udoskonalenia w narzędziach dla programistów webowych. Dodano możliwość dostosowania skrótów klawiszowych oraz usprawniono inspekcję pamięci obiektów aplikacji C/C++, które zostały przekształcone w format WebAssembly.
Oprócz nowości i poprawek w nowej wersji usunięto 14 luk bezpieczeństwa. Wiele z tych luk zostało zidentyfikowanych w wyniku zautomatyzowanego testowania przy użyciu narzędzi AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nie wykryto krytycznych problemów, które umożliwiałyby obejście wszystkich poziomów ochrony przeglądarki i wykonanie kodu w systemie poza środowiskiem piaskownicy. W ramach programu wypłat nagród za wykrywanie luk w bieżącej wersji firma Google przyznała 10 nagród na łączną kwotę 57 tysięcy dolarów amerykańskich (jedna nagroda w wysokości $20000, $17000 i $7000, dwie nagrody po $3000, trzy nagrody po $2000 i jedna nagroda w wysokości $1000). Wysokość jednej nagrody nie została jeszcze określona.
Źródło: opennet.ru


