Chrome wersja 93

Google zaprezentowało wersję przeglądarki internetowej Chrome 93. Jednocześnie dostępna jest stabilna wersja darmowego projektu Chromium, na którym opiera się przeglądarka 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. Kolejne wydanie Chrome 94 zaplanowano na 21 września (rozwój został przesunięty na 4-tygodniowy cykl wydawniczy).

Kluczowe zmiany w Chrome 93:

  • Zmodernizowano projekt bloku z informacjami o stronie (page info), w którym zaimplementowano obsługę bloków zagnieżdżonych, a listy rozwijane z uprawnieniami dostępu zastąpiono przełącznikami. Dzięki listom najważniejsze informacje zostaną wyświetlone w pierwszej kolejności. Zmiana nie jest włączona dla wszystkich użytkowników, aby ją aktywować, możesz użyć ustawienia „chrome://flags/#page-info-version-2-desktop”.
    Chrome wersja 93
  • Dla niewielkiego odsetka użytkowników, w ramach eksperymentu, wskaźnik bezpiecznego połączenia w pasku adresu został zastąpiony bardziej neutralnym symbolem, który nie powoduje podwójnej interpretacji (kłódkę zastąpiono znakiem „V”). W przypadku połączeń nawiązanych bez szyfrowania wskaźnik „niezabezpieczone” jest nadal wyświetlany. Powodem zastąpienia wskaźnika jest to, że wielu użytkowników kojarzy wskaźnik kłódki z faktem, że można ufać zawartości witryny, a nie jako oznakę szyfrowania połączenia. Sądząc po ankiecie Google, tylko 11% użytkowników rozumie znaczenie ikony z kłódką.
    Chrome wersja 93
  • Lista ostatnio zamkniętych kart wyświetla teraz zawartość zamkniętych grup kart (wcześniej lista po prostu pokazywała nazwę grupy bez szczegółowego opisu zawartości) z możliwością jednoczesnego zwrócenia całej grupy i poszczególnych zakładek z grupy. Ta funkcja nie jest włączona dla wszystkich użytkowników, dlatego może być konieczna zmiana ustawienia „chrome://flags/#tab-restore-sub-menus”, aby ją włączyć.
    Chrome wersja 93
  • Dla przedsiębiorstw zaimplementowano nowe ustawienia: DefaultJavaScriptJitSetting, JavaScriptJitAllowedForSites i JavaScriptJitBlockedForSites, które pozwalają kontrolować tryb JIT-less, który wyłącza korzystanie z kompilacji JIT podczas wykonywania JavaScript (używany jest tylko interpreter Ignition) oraz zabrania alokacji pliku wykonywalnego pamięć podczas wykonywania kodu. Wyłączenie JIT może być przydatne do poprawy bezpieczeństwa pracy z potencjalnie niebezpiecznymi aplikacjami internetowymi kosztem zmniejszenia wydajności wykonywania JavaScript o około 17%. Warto zauważyć, że Microsoft poszedł jeszcze dalej i zaimplementował w przeglądarce Edge eksperymentalny tryb „Super Duper Secure”, pozwalający użytkownikowi na wyłączenie JIT i aktywację sprzętowych mechanizmów bezpieczeństwa niekompatybilnych z JIT CET (Controlflow-Enforcement Technology), ACG (Arbitrary Code Guard) i CFG (Control Flow Guard) dla procesów przetwarzających treści internetowe. Jeżeli eksperyment zakończy się sukcesem, to możemy spodziewać się przeniesienia go do głównej części przeglądarki Chrome.
  • Strona nowej karty zawiera listę najpopularniejszych dokumentów zapisanych na Dysku Google. Zawartość listy odpowiada sekcji Priorytet na stronie drive.google.com. Aby kontrolować wyświetlanie zawartości Dysku Google, możesz skorzystać z ustawień „chrome://flags/#ntp-modules” i „chrome://flags/#ntp-drive-module”.
    Chrome wersja 93
  • Do strony Otwórz nową kartę dodano nowe karty informacyjne, które ułatwiają znalezienie ostatnio przeglądanych treści i powiązanych informacji. Karty mają za zadanie ułatwić dalszą pracę z informacjami, których przeglądanie zostało przerwane, np. pomogą Ci znaleźć przepis na danie, które niedawno znalazłeś w Internecie, ale zaginęło po zamknięciu strony, lub kontynuujesz tworzenie zakupy w sklepach. W ramach eksperymentu użytkownikom oferowane są dwie nowe mapy: „Przepisy” (chrome://flags/#ntp-recipe-tasks-module) do wyszukiwania przepisów kulinarnych i wyświetlania ostatnio przeglądanych przepisów; „Zakupy” (chrome://flags/#ntp-chrome-cart-module) umożliwiające przypomnienia o wybranych produktach w sklepach internetowych.
  • Wersja na Androida posiada opcjonalną obsługę panelu wyszukiwania ciągłego (chrome://flags/#continuous-search), który pozwala na bieżąco wyświetlać najnowsze wyniki wyszukiwania Google (panel kontynuuje wyświetlanie wyników po przejściu na inne strony).
    Chrome wersja 93
  • Do wersji na Androida dodano eksperymentalny tryb udostępniania cytatów (chrome://flags/#webnotes-stylize), który umożliwia zapisanie wybranego fragmentu strony jako cytatu i udostępnienie go innym użytkownikom.
  • Podczas publikowania nowych dodatków lub aktualizacji wersji w sklepie Chrome Web Store wymagana jest teraz dwuetapowa weryfikacja programisty.
  • Użytkownicy konta Google mają możliwość zapisania informacji o płatności na swoim koncie Google.
  • W trybie incognito, jeśli włączona jest opcja czyszczenia danych nawigacyjnych, zaimplementowano nowe okno dialogowe potwierdzenia operacji wyjaśniające, że wyczyszczenie danych spowoduje zamknięcie okna i zakończenie wszystkich sesji w trybie incognito.
  • Ze względu na zidentyfikowane niezgodności z oprogramowaniem niektórych urządzeń, w przeglądarce Chrome 91 dodano obsługę nowej metody uzgadniania kluczy, odpornej na zgadywanie na komputerach kwantowych, opartej na wykorzystaniu rozszerzenia CECPQ1.3 (Combined Elliptic-Curve and Post-Quantum 2) w TLSv2, łączący klasyczny mechanizm wymiany kluczy X25519 ze schematem HRSS opartym na algorytmie NTRU Prime przeznaczonym dla kryptosystemów postkwantowych.
  • Porty 989 (dane ftps) i 990 (ftps) zostały dodane do liczby zabronionych portów sieciowych w celu zablokowania ataku ALPACA. Wcześniej, w celu ochrony przed atakami typu slipstreaming NAT, porty 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061, 6566 i 10080 były już blokowane.
  • TLS nie obsługuje już szyfrów opartych na algorytmie 3DES. W szczególności usunięto zestaw szyfrów TLS_RSA_WITH_3DES_EDE_CBC_SHA, który jest podatny na atak Sweet32.
  • Zakończono wsparcie dla Ubuntu 16.04.
  • Możliwe jest korzystanie z WebOTP API pomiędzy różnymi urządzeniami połączonymi poprzez wspólne konto Google. WebOTP umożliwia aplikacji internetowej odczytywanie jednorazowych kodów weryfikacyjnych wysyłanych SMS-em. Proponowana zmiana umożliwia otrzymanie kodu weryfikacyjnego na urządzeniu mobilnym z przeglądarką Chrome dla Androida i zastosowanie go w systemie stacjonarnym.
  • Rozszerzono interfejs API podpowiedzi klienta User-Agent, opracowany jako zamiennik nagłówka User-Agent. User-Agent Client Hints pozwala na zorganizowanie selektywnego dostarczania danych o określonych parametrach przeglądarki i systemu (wersja, platforma itp.) dopiero na żądanie serwera. Użytkownik z kolei może określić, jakie informacje mogą być udostępniane właścicielom witryn. Podczas korzystania ze wskazówek klienta User-Agent identyfikator przeglądarki nie jest przesyłany bez wyraźnego żądania i domyślnie określone są tylko podstawowe parametry, co utrudnia pasywną identyfikację.

    Nowa wersja obsługuje parametr Sec-CH-UA-Bitness w celu zwrócenia danych o bitowości platformy, które można wykorzystać do serwowania zoptymalizowanych plików binarnych. Domyślnie parametr Sec-CH-UA-Platform jest wysyłany z ogólnymi informacjami o platformie. Wartość UADataValues ​​zwracana podczas wywołania metody getHighEntropyValues() jest domyślnie zaimplementowana w celu zwrócenia uogólnionych parametrów, jeśli nie jest możliwe zwrócenie opcji szczegółowej. Do obiektu NavigatorUAData dodano metodę toJSON, która pozwala na użycie konstrukcji takich jak JSON.stringify(navigator.userAgentData).

  • Możliwość pakowania zasobów w pakiety w formacie Web Bundle, odpowiednie do bardziej wydajnego ładowania dużej liczby plików towarzyszących (style CSS, JavaScript, obrazy, ramki iframe), została ustabilizowana i oferowana domyślnie. Wśród niedociągnięć w istniejącej obsłudze pakietów dla plików JavaScript (webpack), które Web Bundle stara się wyeliminować: sam pakiet, a nie jego części składowe, może wylądować w pamięci podręcznej HTTP; kompilację i wykonanie można rozpocząć dopiero po całkowitym pobraniu pakietu; Dodatkowe zasoby, takie jak CSS i obrazy, muszą być zakodowane w postaci ciągów JavaScript, co zwiększa rozmiar i wymaga kolejnego etapu analizy.
  • Dołączony interfejs API WebXR Plane Detection 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.
  • 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.
    • Zaproponowano API Multi-Screen Window Placement, które umożliwia rozmieszczenie okien na dowolnym wyświetlaczu podłączonym do bieżącego systemu, a także zapisanie pozycji okna i w razie potrzeby rozwinięcie okna na pełny ekran. Na przykład, korzystając z określonego interfejsu API, aplikacja internetowa do wyświetlania prezentacji może zorganizować wyświetlanie slajdów na jednym ekranie i wyświetlać notatkę dla prezentera na innym.
    • Nagłówek Cross-Origin-Embedder-Policy, który kontroluje tryb izolacji Cross-Origin i umożliwia zdefiniowanie reguł bezpiecznego użytkowania na stronie Operacje uprzywilejowane, obsługuje teraz parametr „credentialless”, który wyłącza przesyłanie informacji związanych z poświadczeniami, takich jak Pliki cookie i certyfikaty klienta.
    • W przypadku samodzielnych aplikacji internetowych (PWA, Progressive Web Apps), które kontrolują renderowanie zawartości okna i obsługę wprowadzania danych, dostępna jest nakładka z kontrolkami okna, takimi jak pasek tytułu i przyciski rozwijania/zwijania. Nakładka rozszerza obszar edytowalny na całe okno i umożliwia dodawanie własnych elementów do obszaru tytułowego.
      Chrome wersja 93
    • Dodano możliwość tworzenia aplikacji PWA, których można używać jako modułów obsługi adresów URL. Na przykład aplikacja music.example.com może zarejestrować się jako moduł obsługi adresów URL https://*.music.example.com i wszystkie przejścia z aplikacji zewnętrznych korzystających z tych linków, na przykład z komunikatorów internetowych i klientów poczty e-mail, będą prowadzić do otwarcia aplikacji PWA, a nie nowej karty przeglądarki.
  • Możliwe jest ładowanie plików CSS za pomocą wyrażenia „import”, podobnie jak ładowanie modułów JavaScript, co jest wygodne podczas tworzenia własnych elementów i pozwala obejść się bez przypisywania stylów za pomocą kodu JavaScript. importuj arkusz z './styles.css' Assert { type: 'css' }; document.adoptedStyleSheets = [arkusz]; ShadowRoot.adoptedStyleSheets = [arkusz];
  • Udostępniono nową metodę statyczną AbortSignal.abort(), która zwraca obiekt AbortSignal, który został już ustawiony jako przerwany. Zamiast kilku linii kodu tworzących obiekt AbortSignal w stanie przerwania, można teraz wykonać pojedynczą linię „return AbortSignal.abort()”.
  • Element Flexbox dodał obsługę słów kluczowych start, end, self-start, self-end, left iright, uzupełniając słowa kluczowe center, flex-start i flex-end narzędziami upraszczającymi wyrównywanie pozycji elementów flex.
  • Konstruktor Error() implementuje nową opcjonalną właściwość „przyczyna”, która pozwala łatwo powiązać ze sobą błędy. const parentError = nowy błąd('rodzic'); const error = new Error('parent', {przyczyna: parentError }); console.log(error.cause === parentError); // → prawda
  • Do właściwości HTMLMediaElement.controlsList dodano obsługę trybu noplaybackrate, która umożliwia wyłączenie elementów udostępnianego w przeglądarce interfejsu służącego do zmiany szybkości odtwarzania treści multimedialnych.
  • Dodano nagłówek Sec-CH-Prefers-Color-Scheme, który pozwala na etapie wysyłania żądania przesłać dane o preferowanym przez użytkownika schemacie kolorów stosowanym w zapytaniach o media „prefers-color-scheme”, co pozwoli na optymalizację witryny ładowanie CSS powiązanego z wybranym schematem i unikanie widocznych przełączników z innych schematów.
  • Dodano właściwość Object.hasOwn, która jest uproszczoną wersją Object.prototype.hasOwnProperty, zaimplementowaną jako metoda statyczna. Obiekt.hasOwn({ prop: 42 }, 'prop') // → true
  • Zaprojektowany z myślą o bardzo szybkiej kompilacji metodą brute-force, kompilator JIT Sparkplug dodał tryb wykonywania wsadowego, aby zmniejszyć obciążenie związane z przełączaniem stron pamięci między trybami zapisu i uruchamiania. Sparkplug kompiluje teraz wiele funkcji jednocześnie i jednokrotnie wywołuje mprotect, aby zmienić uprawnienia całej grupy. Proponowany tryb znacznie skraca czas kompilacji (nawet o 44%) bez negatywnego wpływu na wydajność wykonywania JavaScript.
    Chrome wersja 93
  • Wersja na Androida wyłącza wbudowaną ochronę silnika V8 przed atakami z kanału bocznego, takimi jak Spectre, które nie są uważane za tak skuteczne, jak izolowanie witryn w oddzielnych procesach. W wersji komputerowej mechanizmy te zostały wyłączone w wersji Chrome 70. Wyłączenie niepotrzebnych kontroli pozwoliło zwiększyć wydajność o 2-15%.
    Chrome wersja 93
  • Wprowadzono ulepszenia w narzędziach dla twórców stron internetowych. W trybie kontroli arkusza stylów możliwa jest edycja zapytań generowanych przy użyciu wyrażenia @container. W trybie inspekcji sieci realizowany jest podgląd zasobów w formacie Web Bundle. W konsoli internetowej do menu kontekstowego dodano opcje kopiowania ciągów znaków w postaci literałów JavaScript lub JSON. Ulepszone debugowanie błędów związanych z CORS (Cross-Origin Resource Sharing).
    Chrome wersja 93

Oprócz innowacji i poprawek błędów, nowa wersja eliminuje 27 luk. 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 19 nagród o wartości 136500 20000 dolarów (trzy nagrody o wartości 15000 10000 dolarów, jedna nagroda o wartości 7500 5000 dolarów, trzy nagrody o wartości 3000 5 dolarów, jedna nagroda o wartości XNUMX dolarów, trzy nagrody o wartości XNUMX dolarów i trzy nagrody o wartości XNUMX dolarów). Wielkość XNUMX nagród nie została jeszcze ustalona.

Źródło: opennet.ru

Dodaj komentarz