Wydanie Chrome 93

Firma Google zaprezentowała wydanie przeglądarki internetowej Chrome 93. Równocześnie dostępna jest stabilna wersja projektu open source Chromium, który jest podstawą Chrome. Przeglądarka Chrome wyróżnia się używaniem logo Google, systemem powiadamiania w przypadku awarii, modułami do odtwarzania chronionych treści wideo (DRM), automatycznym systemem aktualizacji oraz przesyłaniem parametrów RLZ podczas wyszukiwania. Następne wydanie Chrome 94 jest zaplanowane na 21 września (proces tworzenia przesunięto na czterotygodniowy cykl wydania).

Główne zmiany w Chrome 93:

  • Zmodernizowano wygląd bloku informacji o stronie (page info), w którym wprowadzono wsparcie dla zagnieżdżonych bloków, a rozwijane listy z prawami dostępu zastąpiono przyciskami przełączania. W listach zapewniono wyświetlanie najważniejszych informacji w pierwszej kolejności. Zmiana nie została wdrożona dla wszystkich użytkowników, aby ją aktywować, można użyć ustawienia „chrome://flags/#page-info-version-2-desktop”.
    Wydanie Chrome 93
  • Dla niewielkiego procenta użytkowników w ramach eksperymentu wskaźnik zabezpieczonego połączenia w pasku adresu został zastąpiony bardziej neutralnym symbolem, który nie budzi podwójnej interpretacji (zamek został zastąpiony znakiem „V”). Dla połączeń nawiązanych bez szyfrowania nadal wyświetlany jest wskaźnik „nie zabezpieczone”. Powód zmiany wskaźnika podaje, że wielu użytkowników kojarzy wskaźnik zamka z tym, że zawartości strony można ufać, a nie postrzega go jako oznakę szyfrowania połączenia. Zgodnie z badaniem Google tylko 11% użytkowników rozumie znaczenie ikony zamka.
    Wydanie Chrome 93
  • Na liście niedawno zamkniętych kart zapewniono wyświetlanie zawartości zamkniętych grup kart (wcześniej w liście pokazywana była jedynie nazwa grupy bez szczegółów dotyczących zawartości) z możliwością jednoczesnego przywrócenia zarówno całej grupy, jak i pojedynczych kart z grupy. Możliwość ta nie została aktywowana dla wszystkich użytkowników, dlatego aby ją włączyć, może być wymagane zmodyfikowanie ustawienia „chrome://flags/#tab-restore-sub-menus”.
    Wydanie Chrome 93
  • Dla przedsiębiorstw wprowadzono nowe ustawienia DefaultJavaScriptJitSetting, JavaScriptJitAllowedForSites i JavaScriptJitBlockedForSites, umożliwiające zarządzanie trybem JIT-less, który wyłącza stosowanie kompilacji JIT podczas wykonywania JavaScript (wykorzystywany jest tylko interpreter Ignition) i zabrania alokacji pamięci wykonawczej w trakcie wykonywania kodu. Wyłączenie JIT może być przydatne w celu zwiększenia bezpieczeństwa, gdy używane są potencjalnie niebezpieczne aplikacje webowe, kosztem obniżenia wydajności wykonywania JavaScript o około 17%. Co ciekawe, firma Microsoft poszła jeszcze dalej, wdrażając w przeglądarce Edge eksperymentalny tryb „Super Duper Secure”, który pozwala użytkownikowi wyłączyć JIT i aktywować niekompatybilne z JIT mechanizmy ochrony sprzętowej CET (Controlflow-Enforcement Technology), ACG (Arbitrary Code Guard) oraz CFG (Control Flow Guard) dla procesów przetwarzających treści webowe. Jeśli eksperyment okaże się udany, można spodziewać się przeniesienia go do głównej wersji Chrome.
  • Na stronie nowej karty zapewniono wyświetlanie listy najpopularniejszych dokumentów zapisanych w Google Drive. Zawartość listy odpowiada sekcji Priorytet na drive.google.com. Aby zarządzać wyświetlaniem zawartości Google Drive, można skorzystać z ustawień „chrome://flags/#ntp-modules” i „chrome://flags/#ntp-drive-module”.
    Wydanie Chrome 93
  • Dla strony otwierania nowej karty zaproponowano nowe karty informacyjne, które pomagają znaleźć niedawno przeglądane treści i związane z nimi informacje. Karty mają uprościć kontynuowanie pracy z informacjami, które zostały przerwane, na przykład karty pomogą znaleźć przepis na danie, które było ostatnio znalezione w sieci, ale zaginęło po zamknięciu strony, lub kontynuować zakupy w sklepach. W ramach eksperymentu użytkownikom zaproponowano dwie nowe karty: „Przepisy” (chrome://flags/#ntp-recipe-tasks-module) do wyszukiwania przepisów kulinarnych i pokazywania niedawno przeglądanych przepisów; „Zakupy” (chrome://flags/#ntp-chrome-cart-module) do przypominania o wybranych towarach w sklepach internetowych.
  • W wersji na platformę Android dodano opcjonalne wsparcie dla panelu ciągłego wyszukiwania (chrome://flags/#continuous-search), który umożliwia utrzymanie na widoku niedawnych wyników wyszukiwania w Google (panel nadal pokazuje wyniki po przejściu na inne strony).
    Wydanie Chrome 93
  • W wersji na platformę Android dodano eksperymentalny tryb wymiany cytatów (chrome://flags/#webnotes-stylize), który umożliwia zapisanie zaznaczonego fragmentu strony jako cytatu i podzielenie się nim z innymi użytkownikami.
  • Przy publikacji nowych dodatków lub aktualizacji wersji w Chrome Web Store teraz obowiązkowe jest zastosowanie weryfikacji dwuetapowej dla deweloperów.
  • Użytkownicy Google Account otrzymali opcję zapisywania informacji o płatnościach na swoim koncie Google.
  • W trybie incognito, w przypadku aktywacji opcji czyszczenia danych nawigacji, wprowadzono nowy dialog potwierdzenia operacji, wyjaśniający, że czyszczenie danych spowoduje zamknięcie okna i zakończenie wszystkich sesji w trybie incognito.
  • Z powodu wykrytych niezgodności z oprogramowaniem niektórych urządzeń, tymczasowo wyłączono wsparcie dla nowej metody negocjacji kluczy wprowadzonej w Chrome 91, odpornej na ataki z użyciem komputerów kwantowych, opartej na wykorzystaniu w TLSv1.3 rozszerzenia CECPQ2 (Combined Elliptic-Curve and Post-Quantum 2), które łączy klasyczny mechanizm wymiany kluczy X25519 z algorytmem HRSS, zaprojektowanym dla systemów kryptograficznych odpornych na agresję kwantową.
  • Do listy zablokowanych portów sieciowych dodano porty 989 (ftps-data) i 990 (ftps) w celu zablokowania ataku ALPACA. Wcześniej w celu ochrony przed atakiem NAT slipstreaming zablokowano porty 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061, 6566 i 10080.
  • W TLS zakończono wsparcie dla szyfrów opartych na algorytmie 3DES. W szczególności usunięto zestaw szyfrów TLS_RSA_WITH_3DES_EDE_CBC_SHA, podatny na atak Sweet32.
  • Zakończono wsparcie dla dystrybucji Ubuntu 16.04.
  • Umożliwiono korzystanie z API WebOTP pomiędzy różnymi urządzeniami połączonymi przez wspólne konto w Google. WebOTP pozwala aplikacji webowej na odczytanie jednorazowych kodów potwierdzających wysyłanych za pomocą SMS. Zaproponowana zmiana umożliwia otrzymanie kodu potwierdzenia na urządzeniu mobilnym z Chrome na Androida i zastosowanie go na systemie stacjonarnym.
  • Rozszerzono API User-Agent Client Hints, rozwijane jako zamiennik nagłówka User-Agent. User-Agent Client Hints pozwala na selektywne przekazywanie danych na temat konkretnych parametrów przeglądarki i systemu (wersja, platforma itp.) dopiero po zapytaniu. serweremUżytkownik może określić, jakie informacje można udostępnić właścicielom stron internetowych. Przy użyciu User-Agent Client Hints identyfikator przeglądarki nie jest przesyłany bez wyraźnej prośby, a domyślnie podawane są tylko podstawowe parametry, co utrudnia przeprowadzanie pasywnej identyfikacji.

    Nowa wersja wprowadza wsparcie dla parametru Sec-CH-UA-Bitness, który zwraca dane o architekturze platformy, co może być wykorzystane do dostarczania zoptymalizowanych plików binarnych. Domyślnie przesyłany jest parametr Sec-CH-UA-Platform z ogólnymi informacjami o platformie. W wartości UADataValues, zwracanej przy wywołaniu getHighEntropyValues(), domyślnie realizowane jest dostarczanie uogólnionych parametrów, jeśli niemożliwe jest zwrócenie szczegółowej wersji. Do obiektu NavigatorUAData dodana została metoda toJSON, co umożliwia używanie konstrukcji typu JSON.stringify(navigator.userAgentData).

  • Została ustabilizowana i domyślnie zaproponowana możliwość pakowania zasobów w paczki w formacie Web Bundle, które są odpowiednie do organizacji bardziej efektywnego ładowania dużej liczby powiązanych plików (CSS, JavaScript, obrazy, iframe). Do wad istniejącej obsługi paczek dla plików JavaScript (webpack) próbujących rozwiązać problemy w Web Bundle należy: możliwość osiadania samej paczki w pamięci podręcznej HTTP, a nie jej składników; kompilacja i wykonanie mogą rozpocząć się dopiero po pełnym załadowaniu paczki; dodatkowe zasoby, takie jak CSS i obrazy, muszą być kodowane w postaci ciągów JavaScript, co prowadzi do zwiększenia rozmiaru i wykonania jeszcze jednego etapu analizy.
  • Włączono API WebXR Plane Detection, które dostarcza informacje o płaskich powierzchniach w wirtualnym środowisku 3D. Wskazane API pozwala na ominięcie zasobożernej obróbki danych uzyskanych za pomocą wywołania MediaDevices.getUserMedia(), z użyciem własnych realizacji algorytmów widzenia maszynowego. Przypomnijmy, że API WebXR umożliwia ujednolicenie współpracy z różnymi klasami urządzeń wirtualnej rzeczywistości, od stacjonarnych hełmów 3D po rozwiązania oparte na urządzeniach mobilnych.
  • 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.
    • Zaproponowano API Multi-Screen Window Placement, umożliwiające umieszczanie okien na dowolnym wyświetlaczu podłączonym do bieżącego systemu oraz zapisywanie pozycji okna i w razie potrzeby maksymalne jego powiększenie. Na przykład przy pomocy tego API aplikacja webowa do pokazu prezentacji może zorganizować wyświetlanie slajdów na jednym ekranie, a notatki dla prezentera na innym.
    • Do nagłówka Cross-Origin-Embedder-Policy, zarządzającego trybem izolacji Cross-Origin i umożliwiającego określenie zasad bezpiecznego korzystania z uprzywilejowanych operacji na stronie, dodano wsparcie dla parametru „credentialless” w celu wyłączenia przesyłania informacji związanych z danymi uwierzytelniającymi, takich jak pliki cookie i certyfikaty klienta.
    • Dla odizolowanych aplikacji webowych (PWA, Progressive Web Apps), które zarządzają renderowaniem zawartości okna oraz przetwarzaniem wejścia, udostępniono nakładkę z elementami sterującymi oknem, takimi jak obszar nagłówka oraz przyciski powiększania/minimalizowania okna. Nakładka rozszerza obszar dostępny do edycji na całe okno i pozwala na dodawanie własnych elementów do obszaru nagłówka.
      Wydanie Chrome 93
    • Dodano możliwość tworzenia aplikacji PWA, które mogą być używane jako obsługiwacze URL. Na przykład aplikacja music.example.com może zarejestrować się jako obsługiwacz URL https://*.music.example.com, a wszystkie przejścia z zewnętrznych aplikacji po tych linkach, na przykład z komunikatorów i klientów pocztowych, będą prowadzić do otwarcia tej aplikacji PWA, a nie nowej karty w przeglądarce.
  • Wprowadzono możliwość ładowania plików CSS za pomocą wyrażenia „import”, w podobny sposób jak ładowanie modułów JavaScript, co jest wygodne przy tworzeniu własnych elementów i pozwala uniknąć przypisywania styli w kodzie JavaScript. import sheet from './styles.css' assert { type: 'css' }; document.adoptedStyleSheets = [sheet]; shadowRoot.adoptedStyleSheets = [sheet];
  • Wprowadzono nową statyczną metodę AbortSignal.abort(), zwracającą obiekt AbortSignal, dla którego już ustawiono parametr aborted. Zamiast wielu linijek kodu do utworzenia obiektu AbortSignal w stanie aborted teraz można to zrobić za pomocą jednej linijki „return AbortSignal.abort()”.
  • Do elementu Flexbox dodano wsparcie dla słów kluczowych start, end, self-start, self-end, left i right, uzupełniających słowa kluczowe center, flex-start i flex-end, co upraszcza wyrównanie pozycji elementów flex.
  • W konstruktorze Error() dodano nową opcjonalną właściwość „cause”, która umożliwia łatwe powiązanie błędów ze sobą. const parentError = new Error('parent'); const error = new Error('parent', { cause: parentError }); console.log(error.cause === parentError); // → true
  • Właściwość HTMLMediaElement.controlsList zyskała wsparcie dla trybu noplaybackrate, który pozwala wyłączyć elementy interfejsu przeglądarki służące do zmiany prędkości odtwarzania treści multimedialnych.
  • Dodano nagłówek Sec-CH-Prefers-Color-Scheme, który pozwala na przesyłanie danych o preferowanej przez użytkownika schemie kolorystycznej podczas wysyłania żądania, co umożliwia stronie optymalizację ładowania CSS związanych z wybraną schemą i unikanie widocznych przeskoków między innymi schemami.
  • Dodano właściwość Object.hasOwn, która jest uproszczoną wersją Object.prototype.hasOwnProperty, zrealizowaną w formie statycznej metody. Object.hasOwn({ prop: 42 }, 'prop') // → true
  • W kompilatorze JIT Sparkplug, mającym na celu bardzo szybkie wykonywanie surowej kompilacji, dodano tryb pakietowego wykonania operacji, co pozwala zredukować koszty przełączania stron pamięci między trybem zapisu a wykonania. Sparkplug teraz kompiluje wiele funkcji na raz i wywołuje mprotect tylko raz, aby zmienić uprawnienia całej grupy. Proponowany tryb znacznie skraca czas kompilacji (nawet o 44%) bez negatywnego wpływu na wydajność wykonywania JavaScript.
    Wydanie Chrome 93
  • W wersji dla Androida wyłączono wbudowane w silnik V8 mechanizmy ochrony przed atakami przez kanały boczne, takie jak Spectre, które okazały się mniej skuteczne niż izolowanie witryn w oddzielnych procesach. W wersji na komputer stacjonarny te mechanizmy wyłączono już w wydaniu Chrome 70. Wyłączenie zbędnych kontroli pozwoliło zwiększyć wydajność o 2-15%.
    Wydanie Chrome 93
  • Wprowadzono ulepszenia w narzędziach dla programistów webowych. W trybie inspekcji arkuszy stylów dodano możliwość edytowania zapytań stworzonych za pomocą wyrażenia @container. W trybie inspekcji sieci wprowadzono podgląd zasobów w formacie Web bundle. W konsoli webowej dodano do menu kontekstowego opcje kopiowania wierszy w formie literałów JavaScript lub JSON. Ułatwiono debugowanie błędów związanych z CORS (Cross-Origin Resource Sharing).
    Wydanie Chrome 93

W nowej wersji oprócz nowości i poprawek błędów wyeliminowano 27 luk. Wiele z luk zostało wykrytych w wyniku zautomatyzowanego testowania za pomocą narzędzi AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nie stwierdzono krytycznych problemów, które umożliwiałyby obejście wszystkich poziomów ochrony przeglądarki i wykonanie kodu w systemie poza środowiskiem sandbox. W ramach programu nagród za wykrywanie luk w aktualnym wydaniu firma Google wypłaciła 19 nagród na łączną kwotę 136500 dolarów (trzy nagrody po 20000 dolarów, jedna nagroda w wysokości 15000 dolarów, trzy nagrody po 10000 dolarów, jedna nagroda w wysokości 7500 dolarów, trzy nagrody po 5000 dolarów i trzy nagrody po 3000 dolarów). Kwota 5 nagród nie została jeszcze ustalona.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster