Chrome wersja 105

Google zaprezentowało wersję przeglądarki internetowej Chrome 105. 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ępna wersja Chrome 106 zaplanowana jest na 27 września.

Kluczowe zmiany w Chrome 105:

  • Zaprzestano obsługi wyspecjalizowanych aplikacji internetowych Chrome Apps i zastąpiono je samodzielnymi aplikacjami internetowymi opartymi na technologii Progressive Web Apps (PWA) i standardowych internetowych interfejsach API. Google początkowo ogłosił zamiar porzucenia aplikacji Chrome już w 2016 roku i planował zaprzestać ich wspierania do 2018 roku, ale potem odłożył ten plan. W przeglądarce Chrome 105 podczas próby zainstalowania aplikacji Chrome pojawi się ostrzeżenie, że nie będą one już obsługiwane, ale aplikacje będą nadal działać. W przeglądarce Chrome 109 możliwość uruchamiania aplikacji Chrome zostanie wyłączona.
  • Zapewniono dodatkową izolację dla procesu renderowania, który jest odpowiedzialny za renderowanie. Proces ten jest teraz realizowany w dodatkowym kontenerze (App Container), zaimplementowanym na istniejącym systemie izolacji sandbox. Jeśli zostanie wykorzystana luka w kodzie renderującym, dodane ograniczenia uniemożliwią atakującemu uzyskanie dostępu do sieci, uniemożliwiając dostęp do wywołań systemowych związanych z możliwościami sieci.
  • Wdrożono własne, ujednolicone przechowywanie certyfikatów głównych urzędów certyfikacji (Chrome Root Store). Nowy sklep nie jest jeszcze domyślnie włączony i do czasu zakończenia wdrożenia certyfikaty będą nadal weryfikowane przy użyciu sklepu specyficznego dla każdego systemu operacyjnego. Testowane rozwiązanie przypomina podejście Mozilli, która utrzymuje oddzielny, niezależny główny magazyn certyfikatów dla przeglądarki Firefox, używany jako pierwsze łącze do sprawdzania łańcucha zaufania certyfikatów podczas otwierania witryn przez HTTPS.
  • Rozpoczęto przygotowania do wycofania interfejsu Web SQL API, który jest niestandaryzowany, w dużej mierze nieużywany i wymaga przeprojektowania, aby spełniał współczesne wymagania bezpieczeństwa. Chrome 105 uniemożliwia dostęp do Web SQL z kodu załadowanego bez użycia protokołu HTTPS, a także dodaje ostrzeżenie o wycofaniu do DevTools. Usługa Web SQL API ma zostać usunięta w 2023 r. Dla programistów potrzebujących takiej funkcjonalności przygotowany zostanie zamiennik oparty na WebAssembly.
  • Synchronizacja Chrome nie obsługuje już synchronizacji z przeglądarką Chrome 73 i wcześniejszymi wersjami.
  • Dla platform macOS i Windows aktywowana jest wbudowana przeglądarka certyfikatów, która zastępuje wywoływanie interfejsu udostępnianego przez system operacyjny. Wcześniej wbudowana przeglądarka była używana tylko w kompilacjach dla systemów Linux i ChromeOS.
  • Wersja na Androida dodaje ustawienia do zarządzania API Topics & Interest Group, promowanym w ramach inicjatywy Privacy Sandbox, który 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 identyfikowania poszczególnych użytkownicy. W ostatniej wersji podobne ustawienia dodano do wersji dla systemów Linux, ChromeOS, macOS i Windows.
  • Po włączeniu rozszerzonej ochrony przeglądarki (Bezpieczne przeglądanie > Ulepszona ochrona) zbierane są dane telemetryczne dotyczące zainstalowanych dodatków, dostępu do interfejsu API i połączeń z witrynami zewnętrznymi. Dane te są wykorzystywane na serwerach Google w celu wykrywania złośliwej aktywności i łamania zasad przez dodatki do przeglądarek.
  • Przestarzałe i będą blokować użycie znaków innych niż ASCII w domenach określonych w nagłówku Cookie w przeglądarce Chrome 106 (w przypadku domen IDN domeny muszą być w formacie punycode). Zmiana doprowadzi przeglądarkę do zgodności z RFC 6265bis i zachowaniem zaimplementowanym w Firefoksie.
  • Zaproponowano interfejs API Custom Highlight, zaprojektowany w celu dowolnej zmiany stylu wybranych obszarów tekstu i pozwalający nie ograniczać się do stałego stylu zapewnianego przez przeglądarkę dla wyróżnionych obszarów (::selection, ::inactive-selection) i podświetlania błędów składniowych (::spelling-error, ::grammar-error). Pierwsza wersja interfejsu API zapewniała obsługę zmiany kolorów tekstu i tła za pomocą pseudoelementów koloru i koloru tła, ale w przyszłości zostaną dodane inne opcje stylizacji.

    Jako przykład zadań, które można rozwiązać za pomocą nowego API, wymieniono dodanie do web frameworków udostępniających narzędzia do edycji tekstu, własne mechanizmy selekcji tekstu, różne podświetlanie w celu jednoczesnej wspólnej edycji przez kilku użytkowników, wyszukiwanie w zwirtualizowanych dokumentach i oznaczanie błędów podczas sprawdzania pisowni. Jeśli wcześniej utworzenie niestandardowego podświetlenia wymagało skomplikowanych manipulacji na drzewie DOM, Custom Highlight API udostępnia gotowe operacje dodawania i usuwania podświetleń, które nie wpływają na strukturę DOM i nie stosują stylów w odniesieniu do obiektów Range.

  • Dodano zapytanie „@container” do CSS, umożliwiające stylizację elementów w oparciu o rozmiar elementu nadrzędnego. „@kontener” działa podobnie do zapytań „@media”, z tą różnicą, że odnosi się nie do wielkości całego widocznego obszaru, a do wielkości bloku (kontenera), w którym umieszczony jest element, co pozwala na ustawienie własnego logika wyboru stylu dla elementów podrzędnych, niezależnie od tego, gdzie dokładnie na stronie znajduje się element.
    Chrome wersja 105
  • Dodano pseudoklasę CSS „:has()”, aby sprawdzić obecność elementu podrzędnego w elemencie nadrzędnym. Na przykład „p:has(span)” obejmuje elementy , wewnątrz którego znajduje się element .
  • Dodano interfejs API HTML Sanitizer, który umożliwia wycinanie elementów z treści mających wpływ na wyświetlanie i wykonywanie podczas wyprowadzania za pomocą metody setHTML(). API może być przydatne do czyszczenia danych zewnętrznych w celu usunięcia tagów HTML, które można wykorzystać do przeprowadzenia ataków XSS.
  • Możliwe jest wykorzystanie Streams API (ReadableStream) do wysyłania żądań pobrania przed załadowaniem treści odpowiedzi, tj. możesz rozpocząć wysyłanie danych bez czekania na zakończenie generowania strony.
  • W przypadku zainstalowanych samodzielnych aplikacji internetowych (PWA, Progressive Web App) istnieje możliwość zmiany wyglądu obszaru tytułowego okna za pomocą komponentów Window Controls Overlay, które rozszerzają obszar ekranu aplikacji internetowej na całe okno i umożliwiają nadanie aplikacji internetowej wyglądu zwykłej aplikacji komputerowej. Aplikacja internetowa może kontrolować renderowanie i przetwarzanie danych wejściowych w całym oknie, z wyjątkiem bloku nakładki ze standardowymi przyciskami sterującymi oknem (zamknij, minimalizuj, maksymalizuj).
    Chrome wersja 105
  • Ustabilizowano możliwość dostępu do Media Source Extensions z dedykowanych workerów (w kontekście DedicatedWorker), co można wykorzystać np. do poprawy wydajności buforowanego odtwarzania danych multimedialnych poprzez utworzenie obiektu MediaSource w osobnym workeru i rozgłaszanie wyniki swojej pracy do HTMLMediaElement w głównym wątku.
  • W interfejsie Client Hints API, który jest rozwijany w celu zastąpienia nagłówka User-Agent i umożliwia selektywne dostarczanie danych o określonych parametrach przeglądarki i systemu (wersja, platforma itp.) dopiero na żądanie serwera, obsługa Sec Dodano właściwość -CH-Viewport-Heigh pozwalającą na uzyskanie informacji o wysokości widocznego obszaru. Zmieniono format znaczników do ustawiania parametrów podpowiedzi klienta dla zasobów zewnętrznych w tagu „meta”: Poprzednio: Stał się:
  • Dodano możliwość tworzenia globalnych procedur obsługi zdarzeń onbeforeinput (document.documentElement.onbeforeinput), dzięki którym aplikacje internetowe mogą zastąpić zachowanie podczas edycji tekstu w blokach , i inne elementy z ustawionym atrybutem „conteditable”, zanim przeglądarka zmieni zawartość elementu i drzewo DOM.
  • Rozszerzone zostały możliwości API Nawigacji, dzięki czemu aplikacje webowe mogą przechwytywać operacje nawigacyjne w oknie, inicjować przejście oraz analizować historię działań z aplikacją. Dodano nowe metody intercept() do przechwytywania przejścia i scroll() do przewijania do danej pozycji.
  • Dodano metodę statyczną Response.json(), która umożliwia wygenerowanie treści odpowiedzi na podstawie danych typu JSON.
  • Wprowadzono ulepszenia w narzędziach dla twórców stron internetowych. W debugerze po wyzwoleniu punktu przerwania dozwolona jest edycja najważniejszych funkcji na stosie bez przerywania sesji debugowania. Panel Rejestrator, który umożliwia nagrywanie, odtwarzanie i analizowanie działań użytkownika na stronie, obsługuje punkty przerwania, odtwarzanie krok po kroku i rejestrowanie zdarzeń najechania myszką.

    Do panelu wydajności dodano wskaźniki LCP (Largest Contentful Paint), aby identyfikować opóźnienia podczas renderowania dużych (widocznych dla użytkownika) elementów w widocznym obszarze, takich jak obrazy, filmy i elementy blokowe. W panelu Elementy górne warstwy wyświetlane na wierzchu innej zawartości są oznaczone specjalną ikoną. WebAssembly ma teraz możliwość ładowania danych debugowania w formacie DWARF.

Oprócz innowacji i poprawek błędów nowa wersja eliminuje 24 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 60500 10000 USD (jedna nagroda 9000 7500 USD, jedna nagroda 7000 USD, jedna nagroda 5000 USD, jedna nagroda 3000 USD, dwie nagrody 2000 USD, cztery nagrody 1000 USD, dwie nagrody XNUMX $ i jedna premia XNUMX $). Wielkość siedmiu nagród nie została jeszcze ustalona.

Źródło: opennet.ru

Dodaj komentarz