Chrome wersja 91

Google zaprezentowało wersję przeglądarki internetowej Chrome 91. Jednocześnie dostępna jest stabilna wersja darmowego projektu Chromium, na którym opiera się Chrome. Przeglądarkę Chrome wyróżnia użycie logo Google, obecność systemu wysyłania powiadomień w przypadku awarii, modułów do odtwarzania chronionych treści wideo (DRM), systemu automatycznego instalowania aktualizacji i przesyłania parametrów RLZ podczas wyszukiwania. Następna wersja Chrome 92 zaplanowana jest na 20 lipca.

Kluczowe zmiany w Chrome 91:

  • Zaimplementowano możliwość zatrzymania wykonywania JavaScriptu w zwiniętej grupie kart. W Chrome 85 wprowadzono obsługę organizowania kart w grupy, które można powiązać z określonym kolorem i etykietą. Kliknięcie etykiety grupy powoduje zwinięcie powiązanych z nią zakładek i pozostawienie w zamian jednej etykiety (ponowne kliknięcie etykiety otwiera grupę). W nowej wersji, w celu zmniejszenia obciążenia procesora i oszczędzania energii, została zawieszona aktywność w zminimalizowanych zakładkach. Wyjątek stanowią tylko karty odtwarzające dźwięk, korzystające z blokad internetowych lub interfejsu API IndexedDB, łączące się z urządzeniem USB lub przechwytujące wideo, dźwięk lub zawartość okna. Zmiana będzie wprowadzana stopniowo, zaczynając od niewielkiego odsetka użytkowników.
  • Obejmuje obsługę metody uzgadniania kluczy, która jest odporna na brutalną siłę w komputerach kwantowych. Komputery kwantowe radykalnie szybciej rozwiązują problem rozkładu liczby naturalnej na czynniki pierwsze, który leży u podstaw współczesnych algorytmów szyfrowania asymetrycznego i którego nie można skutecznie rozwiązać na klasycznych procesorach. Do użytku w TLSv1.3 dostępna jest wtyczka CECPQ2 (Combined Elliptic-Curve and Post-Quantum 2), łącząca klasyczny mechanizm wymiany kluczy X25519 ze schematem HRSS opartym na algorytmie NTRU Prime, przeznaczonym dla kryptosystemów postkwantowych.
  • Całkowicie zaprzestano obsługi protokołów TLS 1.0 i TLS 1.1, które zostały uznane za przestarzałe przez komitet IETF (Internet Engineering Task Force). Usunięto możliwość zwrotu TLS 1.0/1.1 poprzez zmianę polityki SSLVersionMin.
  • Zestawy dla platformy Linux obejmują wykorzystanie trybu „DNS over HTTPS” (DoH, DNS over HTTPS), który był wcześniej dostępny dla użytkowników systemów Windows, macOS, ChromeOS i Android. DNS-over-HTTPS zostanie automatycznie aktywowany dla użytkowników, których ustawienia określają dostawców DNS obsługujących tę technologię (w przypadku DNS-over-HTTPS używany jest ten sam dostawca, co dla DNS). Na przykład, jeśli użytkownik ma w ustawieniach systemu określony DNS 8.8.8.8, to usługa Google DNS-over-HTTPS („https://dns.google.com/dns-query”) zostanie aktywowana w Chrome, jeśli DNS to 1.1.1.1 , następnie usługa DNS-over-HTTPS Cloudflare („https://cloudflare-dns.com/dns-query”) itp.
  • Port 10080, który jest używany w kopii zapasowej Amanda i VMWare vCenter, został dodany do listy zabronionych portów sieciowych. Wcześniej blokowane były już porty 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 i 6566. W przypadku portów znajdujących się na czarnej liście wysyłanie żądań HTTP, HTTPS i FTP jest blokowane w celu ochrony przed atakiem typu slipstreaming NAT , która pozwala po otwarciu w przeglądarce specjalnie przygotowanej przez atakującego strony internetowej nawiązać połączenie sieciowe z serwera atakującego do dowolnego portu UDP lub TCP w systemie użytkownika, pomimo wykorzystania wewnętrznego zakresu adresów (192.168.xx, 10 .xxx).
  • Istnieje możliwość skonfigurowania automatycznego uruchamiania samodzielnych aplikacji internetowych (PWA - Progressive Web Apps) po zalogowaniu się użytkownika do systemu (Windows i macOS). Autorun konfiguruje się na stronie chrome://apps. Funkcjonalność jest obecnie testowana na niewielkim odsetku użytkowników, a dla pozostałych wymaga aktywacji ustawienia „chrome://flags/#enable-desktop-pwas-run-on-os-login”.
  • W ramach prac nad dostosowaniem przeglądarki do terminologii włączającej nazwę pliku „master_preferences” zmieniono na „initial_preferences”. Aby zachować kompatybilność, przez jakiś czas w przeglądarce pozostanie obsługa „master_preferences”. Wcześniej przeglądarka pozbyła się już słów „biała lista”, „czarna lista” i „natywna”.
  • Ulepszony tryb Bezpiecznego przeglądania, który aktywuje dodatkowe kontrole w celu ochrony przed phishingiem, złośliwą aktywnością i innymi zagrożeniami w sieci, obejmuje możliwość wysyłania pobranych plików do skanowania po stronie Google. Ponadto ulepszone bezpieczne przeglądanie uwzględnia tokeny powiązane z kontem Google podczas identyfikowania prób phishingu, a także wysyła wartości nagłówka strony odsyłającej do serwerów Google w celu sprawdzenia przesyłania ze złośliwej witryny.
  • W wydaniu na platformę Android poprawiono konstrukcję elementów formularzy internetowych, które zoptymalizowano pod kątem obsługi na ekranach dotykowych oraz w systemach dla osób niepełnosprawnych (w przypadku systemów desktopowych projekt został przerobiony w Chrome 83). Celem przeróbki było ujednolicenie projektu elementów formularzy i wyeliminowanie niespójności stylistycznych - wcześniej część elementów formularzy projektowana była zgodnie z elementami interfejsu systemu operacyjnego, a część zgodnie z najpopularniejszymi stylami. Z tego powodu różne elementy zostały odmiennie dostosowane do ekranów dotykowych i systemów dla osób niepełnosprawnych.
    Chrome wersja 91Chrome wersja 91
  • Dodano ankietę opinii użytkownika wyświetlaną po otwarciu ustawień Privacy Sandbox (chrome://settings/privacySandbox).
  • Podczas uruchamiania przeglądarki Chrome w wersji na Androida na tabletach z dużymi ekranami żądanie dotyczy wersji witryny na komputery, a nie wersji na urządzenia mobilne. Możesz zmienić to zachowanie, korzystając z ustawienia „chrome://flags/#request-desktop-site-for-tablets”.
  • Przerobiono kod renderowania tabel, co pozwoliło nam rozwiązać problemy związane z niespójnością w zachowaniu podczas wyświetlania tabel w przeglądarkach Chrome i Firefox/Safari.
  • Przetwarzanie certyfikatów serwerowych hiszpańskiego urzędu certyfikacji Camerfirma zostało wstrzymane w związku z powtarzającymi się od 2017 roku incydentami związanymi z naruszeniami przy wydawaniu certyfikatów. Zachowana została obsługa certyfikatów klienta; blokowanie dotyczy tylko certyfikatów używanych w witrynach HTTPS.
  • Kontynuujemy wdrażanie obsługi segmentacji sieci, aby zabezpieczyć się przed metodami śledzenia przemieszczania się użytkowników pomiędzy witrynami w oparciu o przechowywanie identyfikatorów w obszarach nieprzeznaczonych do trwałego przechowywania informacji („Supercookies”). Ponieważ zasoby buforowane są przechowywane we wspólnej przestrzeni nazw, niezależnie od domeny źródłowej, jedna witryna może określić, czy inna witryna ładuje zasoby, sprawdzając, czy zasób ten znajduje się w pamięci podręcznej. Ochrona polega na wykorzystaniu segmentacji sieci (Network Partitioning), której istotą jest dodanie do współdzielonych pamięci podręcznych dodatkowego powiązania rekordów z domeną, z której otwierana jest strona główna, co ogranicza pokrycie pamięci podręcznej jedynie dla skryptów śledzących ruch do aktualnej witryny (skrypt z ramki iframe nie będzie mógł sprawdzić, czy zasób został pobrany z innej witryny).

    Ceną segmentacji jest spadek wydajności buforowania, co prowadzi do nieznacznego wydłużenia czasu ładowania strony (maksymalnie o 1.32%, ale dla 80% witryn o 0.09-0.75%). Aby przetestować tryb segmentacji, możesz uruchomić przeglądarkę z opcją „—enable-features=PartitionConnectionsByNetworkIsolationKey, PartitionExpectCTStateByNetworkIsolationKey, PartitionHttpServerPropertiesByNetworkIsolationKey, PartitionNelAndReportingByNetworkIsolationKey, PartitionSSLSessionsByNetworkIsolationKey, SplitHostCach eB yNetworkIsolationKey”.

  • Dodano zewnętrzną historię wersji API REST (https://versionhistory.googleapis.com/v1/chrome), dzięki której można uzyskać informacje o wersjach Chrome w odniesieniu do platform i oddziałów, a także historię aktualizacji przeglądarki.
  • W ramkach iframe ładowanych z domen innych niż domena strony bazowej wyświetlanie okien dialogowych JavaScript alert(), potwierdzanie() i Prompt() jest zabronione, co chroni użytkowników przed próbami wyświetlenia komunikatów przez skrypt innej firmy pozorem, że powiadomienie wyświetliło się na stronie głównej.
  • Interfejs API SIMD WebAssembly został ustabilizowany i domyślnie oferowany do stosowania instrukcji wektorowych SIMD w aplikacjach w formacie WebAssembly. Aby zapewnić niezależność platformy, oferuje nowy typ 128-bitowy, który może reprezentować różne typy spakowanych danych oraz kilka podstawowych operacji wektorowych do przetwarzania spakowanych danych. SIMD pozwala zwiększyć produktywność poprzez równoległe przetwarzanie danych i będzie przydatny podczas kompilacji kodu natywnego do WebAssembly.
  • Do trybu Origin Trials dodano kilka nowych interfejsów API (funkcje eksperymentalne wymagające oddzielnej aktywacji). Origin Trial oznacza możliwość pracy z określonym API z aplikacji pobranych z localhost lub 127.0.0.1 lub po zarejestrowaniu i otrzymaniu specjalnego tokena, który jest ważny przez ograniczony czas dla określonej witryny.
    • WebTransport to protokół i towarzyszący mu interfejs API JavaScript służący do wysyłania i odbierania danych pomiędzy przeglądarką a serwerem. Kanał komunikacyjny jest zorganizowany na bazie protokołu HTTP/3 i wykorzystuje jako transport protokół QUIC, który z kolei stanowi dodatek do protokołu UDP, który obsługuje multipleksowanie wielu połączeń i zapewnia metody szyfrowania równoważne TLS/SSL.

      Zamiast mechanizmów WebSockets i RTCDataChannel można zastosować WebTransport, oferując dodatkowe funkcje, takie jak transmisja wielostrumieniowa, strumienie jednokierunkowe, dostarczanie poza kolejnością, niezawodne i zawodne tryby dostarczania. Dodatkowo zamiast mechanizmu Server Push, z którego Google zrezygnował w Chrome, można zastosować WebTransport.

    • Deklaratywny interfejs do definiowania linków do samodzielnych aplikacji internetowych (PWA), włączany za pomocą parametru Capture_links w manifeście aplikacji internetowej i umożliwiający witrynom automatyczne otwieranie nowego okna PWA po kliknięciu łącza aplikacji lub przejściu do trybu pojedynczego okna, podobnie jak aplikacje mobilne.
    • Dodano interfejs API WebXR Plane Detection, który dostarcza informacji o powierzchniach płaskich w wirtualnym środowisku 3D. Określone API pozwala uniknąć zasobochłonnego przetwarzania danych uzyskanych poprzez wywołanie MediaDevices.getUserMedia(), wykorzystując autorskie implementacje algorytmów widzenia komputerowego. Przypomnijmy, że WebXR API pozwala ujednolicić pracę z różnymi klasami urządzeń wirtualnej rzeczywistości, od stacjonarnych hełmów 3D po rozwiązania bazujące na urządzeniach mobilnych.
  • Zaimplementowano obsługę pracy z WebSockets przez HTTP/2 (RFC 8441), która obowiązuje tylko w przypadku bezpiecznych żądań do WebSockets i w przypadku obecności już nawiązanego połączenia HTTP/2 z serwerem, który ogłosił wsparcie dla „WebSockets over Rozszerzenie HTTP/2”.
  • Ograniczenia precyzji wartości licznika generowane przez wywołanie performance.now() są spójne na wszystkich obsługiwanych platformach i uwzględniają potencjał izolowania procedur obsługi w oddzielnych procesach. Na przykład w systemach stacjonarnych dokładność przetwarzania w nieizolowanych kontekstach została zmniejszona z 5 do 100 mikrosekund.
  • Kompilacje komputerów stacjonarnych umożliwiają teraz odczytywanie plików ze schowka (zapisywanie plików w schowku jest nadal zabronione). funkcja asynchroniczna onPaste(e) { niech plik = e.clipboardData.files[0]; niech zawartość = czeka na plik.text(); }
  • CSS implementuje regułę @counter-style, która pozwala zdefiniować własny styl liczników i etykiet na listach numerowanych.
  • Pseudoklasy CSS „:host()” i „:host-context()” dodały możliwość przekazywania pojedynczych wartości selektorów złożonych ( ) oprócz list selektorów ( ).
  • Dodano interfejs GravitySensor do określania danych objętościowych (trzy osie współrzędnych) z czujnika grawitacyjnego.
  • Interfejs API dostępu do systemu plików umożliwia zdefiniowanie zaleceń dotyczących wyboru nazwy pliku i katalogu oferowanych w oknie dialogowym tworzenia lub otwierania pliku.
  • Ramki iframe ładowane z innych domen mogą uzyskać dostęp do API WebOTP, jeśli użytkownik udzieli odpowiednich uprawnień. WebOTP umożliwia odczyt jednorazowych kodów weryfikacyjnych przesyłanych SMS-em.
  • Zezwolono na udostępnianie dostępu do danych uwierzytelniających dla witryn połączonych za pomocą mechanizmu DAL (Digital Asset Links), który umożliwia powiązanie aplikacji na Androida z witrynami w celu uproszczenia logowania.
  • Service Workery pozwalają na wykorzystanie modułów JavaScript. Jeśli podczas wywoływania konstruktora określisz typ „modułu”, określone skrypty zostaną załadowane w postaci modułów i będą dostępne do zaimportowania w kontekście procesu roboczego. Obsługa modułów ułatwia udostępnianie kodu pomiędzy stronami internetowymi i pracownikami usług.
  • JavaScript umożliwia sprawdzenie istnienia pól prywatnych w obiekcie przy użyciu składni „#foo in obj”. klasa A { test statyczny(obj) { konsola.log(#foo w obiekcie); } #foo = 0; } A.test(nowy A()); // prawda A.test({}); // FAŁSZ
  • JavaScript domyślnie pozwala na użycie słowa kluczowego oczekuj w modułach na najwyższym poziomie, co pozwala na płynniejszą integrację wywołań asynchronicznych z procesem ładowania modułu i pozwala uniknąć zawijania ich w „funkcję asynchroniczną”. Na przykład zamiast (asyncfunction() { czekaj Promise.resolve(console.log('test')); }()); teraz możesz napisać Wait Promise.resolve(console.log('test'));
  • Silnik JavaScript V8 poprawił wydajność buforowania szablonów, co zwiększyło szybkość przejścia testu Speedometer4.5-FlightJS o 2%.
  • Duża część ulepszeń została wprowadzona w narzędziach dla twórców stron internetowych. Dodano nowy tryb inspektora pamięci, zapewniający narzędzia do sprawdzania danych ArrayBuffer i pamięci Wasm.
    Chrome wersja 91

    Do panelu Wydajność dodano zbiorczy wskaźnik wydajności, pozwalający ocenić, czy witryna wymaga optymalizacji, czy nie.

    Chrome wersja 91

    Podgląd obrazu w panelach Elementy i Analiza sieci dostarcza informacji o proporcjach obrazu, opcjach renderowania i rozmiarze pliku.

    Chrome wersja 91

    W panelu inspekcji sieci możliwa jest teraz zmiana zaakceptowanych wartości nagłówka Content-Encoding.

    Chrome wersja 91

    W panelu stylu możesz teraz szybko wyświetlić obliczoną wartość podczas poruszania się po parametrach CSS, wybierając „Wyświetl obliczoną wartość” w menu kontekstowym.

    Chrome wersja 91

Oprócz innowacji i poprawek błędów nowa wersja eliminuje 32 luki. Wiele luk zostało zidentyfikowanych w wyniku automatycznych testów przy użyciu narzędzi AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nie zidentyfikowano żadnych krytycznych problemów, które pozwoliłyby ominąć wszystkie poziomy ochrony przeglądarki i wykonać kod w systemie poza środowiskiem piaskownicy. W ramach programu nagród pieniężnych za wykrycie luk w bieżącej wersji firma Google wypłaciła 21 nagród o wartości 92000 20000 USD (jedna nagroda 15000 7500 USD, jedna nagroda 5000 3000 USD, cztery nagrody 1000 USD, trzy nagrody 500 USD, trzy nagrody 5 USD, dwie nagrody XNUMX USD i dwie nagrody XNUMX dolarów). Wielkość XNUMX nagród nie została jeszcze ustalona.

Źródło: opennet.ru

Dodaj komentarz