Chrome wersja 104

Google zaprezentowało wersję przeglądarki internetowej Chrome 104. Jednocześnie dostępna jest stabilna wersja darmowego projektu Chromium, na którym opiera się Chrome. Przeglądarka Chrome różni się od Chromium wykorzystaniem logo Google, obecnością systemu wysyłania powiadomień w przypadku awarii, modułami do odtwarzania treści wideo chronionych przed kopiowaniem (DRM), systemem automatycznego instalowania aktualizacji, trwałym umożliwieniem izolacji Sandbox , dostarczając klucze do Google API i przesyłając parametry RLZ- podczas wyszukiwania. Dla tych, którzy potrzebują więcej czasu na aktualizację, dostępna jest osobno gałąź Extended Stable, po której następuje 8 tygodni. Następną wersję Chrome 105 zaplanowano na 30 sierpnia.

Kluczowe zmiany w Chrome 104:

  • Wprowadzono limit czasu życia plików cookie - wszystkie nowe lub zaktualizowane pliki cookie będą automatycznie usuwane po 400 dniach istnienia, nawet jeśli czas wygaśnięcia ustawiony za pomocą atrybutów Wygasa i Max-Age przekroczy 400 dni (w przypadku takich plików cookie żywotność zostanie skrócona do 400 dni). Pliki cookie utworzone przed wprowadzeniem ograniczenia zachowają swój czas życia, nawet jeśli przekroczy 400 dni, ale będą ograniczone w przypadku aktualizacji. Zmiana odzwierciedla nowe wymagania wskazane w projekcie nowej specyfikacji.
  • Włączono blokowanie adresów URL iframe odwołujących się do lokalnego systemu plików („filesystem://”).
  • Aby przyspieszyć ładowanie strony, dodano nową optymalizację, która gwarantuje, że połączenie z hostem docelowym zostanie nawiązane w momencie kliknięcia łącza, bez czekania na zwolnienie przycisku lub odsunięcie palca od ekranu dotykowego.
  • Dodano ustawienia do zarządzania API „Topics & Interest Group”, promowanym w ramach inicjatywy Privacy Sandbox, które umożliwia definiowanie kategorii zainteresowań użytkowników i wykorzystywanie ich zamiast śledzących plików Cookies w celu identyfikacji grup użytkowników o podobnych zainteresowaniach bez identyfikacji poszczególnych użytkowników . Ponadto dodano wyświetlane raz okienka informacyjne, wyjaśniające użytkownikowi istotę technologii i oferujące aktywację jej obsługi w ustawieniach.
  • Zwiększone progi ograniczające zagnieżdżone wywołania liczników setTimeout i setInterval działających z interwałem mniejszym niż 4 ms („setTimeout(..., <4ms)”). Całkowity limit takich wywołań został zwiększony z 5 do 100, co pozwala nie ograniczać agresywnie poszczególnych połączeń, ale jednocześnie zapobiegać nadużyciom mogącym mieć wpływ na wydajność przeglądarki.
  • Włączone — wysyła żądanie potwierdzenia autoryzacji CORS (Cross-Origin Resource Sharing) do serwera witryny głównej z nagłówkiem „Access-Control-Request-Private-Network: true”, gdy strona uzyskuje dostęp do podzasobu w sieci wewnętrznej (192.168.xx , 10. xxx, 172.16-31.xx) lub na localhost (127.xxx). Potwierdzając operację w odpowiedzi na to żądanie, serwer musi zwrócić nagłówek „Access-Control-Allow-Private-Network: true”. W przeglądarce Chrome w wersji 104 wynik potwierdzenia nie ma jeszcze wpływu na przetwarzanie żądania - w przypadku braku potwierdzenia w konsoli internetowej wyświetla się ostrzeżenie, ale samo żądanie podzasobu nie jest blokowane. Włączenie blokowania bez potwierdzenia nie jest oczekiwane aż do Chrome 107. Aby włączyć blokowanie we wcześniejszych wersjach, możesz włączyć ustawienie „chrome://flags/#private-network-access-respect-preflight-results”.

    Weryfikacja uprawnień przez serwer została wprowadzona w celu wzmocnienia ochrony przed atakami związanymi z dostępem do zasobów w sieci lokalnej lub na komputerze użytkownika (localhost) z poziomu skryptów ładowanych podczas otwierania witryny. Takie żądania są wykorzystywane przez osoby atakujące do przeprowadzania ataków CSRF na routery, punkty dostępowe, drukarki, korporacyjne interfejsy internetowe oraz inne urządzenia i usługi, które akceptują żądania wyłącznie z sieci lokalnej. Aby zabezpieczyć się przed takimi atakami, jeśli w sieci wewnętrznej uzyskany zostanie dostęp do jakichkolwiek podzasobów, przeglądarka wyśle ​​wyraźne żądanie o pozwolenie na załadowanie tych podzasobów.

  • Dodano mechanizm przechwytywania regionu, który umożliwia przycięcie niepotrzebnej treści z wideo wygenerowanego na podstawie zrzutu ekranu. Na przykład, korzystając z interfejsu API getDisplayMedia, aplikacja internetowa może przesyłać strumieniowo wideo z zawartości karty, a funkcja Region Capture umożliwia wycięcie części treści obejmującej elementy sterujące wideokonferencjami.
  • Dodano obsługę nowej składni zapytań o media zdefiniowanej w specyfikacji Media Queries Level 4, która określa minimalny i maksymalny rozmiar widocznego obszaru (rzutni). Nowa składnia pozwala na użycie typowych matematycznych operatorów porównania i operatorów logicznych, takich jak „nie”, „lub” i „i”. Na przykład zamiast „@media (min-width: 400px) { … }” możesz teraz określić „@media (szerokość >= 400px) { … }”.
  • 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.
    • Dodano właściwość CSS „focusgroup”, aby usprawnić nawigację po elementach za pomocą klawiszy strzałek na klawiaturze.
    • Interfejs API bezpiecznego potwierdzenia płatności umożliwia użytkownikowi wyłączenie magazynu ustawień karty kredytowej. Aby wyświetlić okno dialogowe umożliwiające odmowę zapisania parametrów karty kredytowej, konstruktor PaymentRequest() udostępnia flagę „showOptOut: true”.
    • Dodano interfejs API Shared Element Transitions, który umożliwia płynne przejście między różnymi widokami treści w jednostronicowych aplikacjach internetowych.
  • Ustabilizowano obsługę reguł spekulacji, umożliwiając autorom witryn dostarczanie przeglądarce informacji o najbardziej prawdopodobnych stronach, na które użytkownik może wejść. Przeglądarka wykorzystuje te informacje do proaktywnego ładowania i renderowania zawartości strony.
  • Ustabilizowano mechanizm pakowania podzasobów w pakiety w formacie Web Bundle, co pozwoliło zwiększyć efektywność ładowania dużej liczby plików towarzyszących (style CSS, JavaScript, obrazy, iframe). W przeciwieństwie do pakietów w formacie Webpack, format Web Bundle ma następujące zalety: w pamięci podręcznej HTTP nie jest przechowywany sam pakiet, ale jego części składowe; kompilacja i wykonanie JavaScript rozpoczyna się bez oczekiwania na pełne pobranie pakietu; Dopuszczalne jest dołączenie dodatkowych zasobów takich jak CSS i obrazy, które w webpacku musiałyby być zakodowane w postaci ciągów JavaScript.
  • Dodano właściwość CSS object-view-box, która pozwala zdefiniować część obrazu, która będzie wyświetlana w obszarze zamiast danego elementu, za pomocą którego można np. dodać obramowanie lub cień.
  • Dodano interfejs API pełnoekranowego delegowania możliwości, umożliwiający jednemu obiektowi okna delegowanie innemu obiektowi okna prawa do wywoływania requestFullscreen().
  • Dodano interfejs API Fullscreen Companion Window, umożliwiający umieszczanie treści pełnoekranowych i wyskakujących okienek na innym ekranie po otrzymaniu potwierdzenia od użytkownika.
  • Do właściwości CSS overflow-clip-margin dodano atrybut Visual-Box, który określa, od czego zacząć przycinanie treści wykraczającej poza granicę obszaru (może przyjmować wartości content-box, padding-box i border- skrzynka).
  • Interfejs API Async Clipboard dodał możliwość definiowania wyspecjalizowanych formatów danych przesyłanych za pośrednictwem schowka, innych niż tekst, obrazy i tekst ze znacznikami.
  • WebGL zapewnia obsługę określania przestrzeni kolorów dla bufora renderowania i transformacji podczas importowania z tekstury.
  • Zakończono obsługę platform OS X 10.11 i macOS 10.12.
  • Interfejs API U2F (Cryptotoken), który był wcześniej przestarzały i domyślnie wyłączony, został wycofany. Interfejs API U2F został zastąpiony interfejsem API uwierzytelniania sieciowego.
  • Wprowadzono ulepszenia w narzędziach dla twórców stron internetowych. Debuger ma teraz możliwość ponownego uruchomienia kodu od początku funkcji po trafieniu w punkt przerwania w treści funkcji. Dodano obsługę tworzenia dodatków do panelu Rejestrator. Do panelu analizy wydajności dodano obsługę wizualizacji ocen ustawionych w aplikacji webowej poprzez wywołanie metody performance.measure(). Ulepszone zalecenia dotyczące automatycznego uzupełniania właściwości obiektu JavaScript. Podczas autouzupełniania zmiennych CSS udostępniane są podglądy wartości niezwiązanych z kolorami.
    Chrome wersja 104

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 odkrycie luk w bieżącej wersji firma Google wypłaciła 22 nagrody o wartości 84 tys. dolarów (jedna nagroda 15000 10000 dolarów, jedna nagroda 8000 7000 dolarów, jedna nagroda 5000 dolarów, jedna nagroda 4000 dolarów, cztery nagrody 3000 dolarów, jedna nagroda 2000 dolarów, trzy nagrody 1000 dolarów , cztery nagrody po XNUMX dolarów i trzy nagrody po XNUMX dolarów). Wielkość jednej nagrody nie została jeszcze ustalona.

Źródło: opennet.ru

Dodaj komentarz