Chrome 86

Wydano kolejną wersję przeglądarki Chrome 86 i stabilną wersję Chromium.

Kluczowe zmiany w Chrome 86:

  • ochrona przed niebezpiecznym przesyłaniem formularzy wejściowych na stronach ładowanych przez HTTPS, ale wysyłających dane przez HTTP.
  • Blokowanie niebezpiecznego pobierania plików wykonywalnych (http) uzupełniane jest przez blokowanie niebezpiecznego pobierania archiwów (zip, iso itp.) i wyświetlanie ostrzeżeń o niebezpiecznym pobieraniu dokumentów (docx, pdf itp.). Blokowanie dokumentów i ostrzeżenia dotyczące obrazów, tekstu i plików multimedialnych są oczekiwane w następnej wersji. Blokowanie jest realizowane, ponieważ pobieranie plików bez szyfrowania może zostać wykorzystane do wykonywania złośliwych działań poprzez zamianę zawartości podczas ataków MITM.
  • Domyślne menu kontekstowe wyświetla opcję „Zawsze pokazuj pełny adres URL”, która wcześniej wymagała zmiany ustawień na stronie about:flags, aby ją włączyć. Pełny adres URL można także wyświetlić, klikając dwukrotnie pasek adresu. Przypomnijmy, że począwszy od Chrome 76, domyślnie adres zaczął się wyświetlać bez protokołu i subdomeny www. W Chrome 79 usunięto ustawienie przywracania starego zachowania, ale po niezadowoleniu użytkowników dodano nową eksperymentalną flagę w Chrome 83, która dodaje do menu kontekstowego opcję wyłączającą ukrywanie i wyświetlanie pełnego adresu URL w każdych warunkach.
    Dla niewielkiego odsetka użytkowników uruchomiono eksperyment polegający na domyślnym wyświetlaniu w pasku adresu samej domeny, bez elementów ścieżki i parametrów zapytania. Na przykład zamiast „https://example.com/secure-google-sign-in/" Wyświetlona zostanie „example.com”. Oczekuje się, że proponowany tryb zostanie udostępniony wszystkim użytkownikom w jednej z kolejnych wersji. Aby wyłączyć to zachowanie, możesz skorzystać z opcji „Zawsze pokazuj pełny adres URL”, a aby wyświetlić cały adres URL, możesz kliknąć w pasek adresu. Motywem zmiany jest chęć ochrony użytkowników przed phishingiem manipulującym parametrami w adresie URL - napastnicy wykorzystują nieuwagę użytkowników, aby stworzyć wrażenie otwarcia innej witryny i dokonania oszukańczych działań (o ile takie podstawienia są oczywiste dla technicznie kompetentnego użytkownika , wtedy niedoświadczeni ludzie łatwo dadzą się nabrać na tak prostą manipulację).
  • Ponowiono inicjatywę usunięcia obsługi protokołu FTP. W Chrome 86 FTP jest domyślnie wyłączony dla około 1% użytkowników, a w Chrome 87 zakres wyłączenia zostanie zwiększony do 50%, ale obsługę można przywrócić za pomocą „--enable-ftp” lub „- -enable-features=flaga protokołu Ftp. W przeglądarce Chrome 88 obsługa FTP zostanie całkowicie wyłączona.
  • W wersji na Androida, podobnie jak w wersji na komputery stacjonarne, menedżer haseł sprawdza zapisane loginy i hasła w bazie danych zainfekowanych kont, wyświetlając ostrzeżenie w przypadku wykrycia problemów lub próby użycia trywialnych haseł. Kontrola przeprowadzana jest w oparciu o bazę danych obejmującą ponad 4 miliardy zainfekowanych kont, które pojawiły się w bazach danych użytkowników, które wyciekły. Aby zachować prywatność, prefiks skrótu jest weryfikowany po stronie użytkownika, a same hasła i ich pełne skróty nie są przesyłane na zewnątrz.
  • Do wersji na Androida przeniesiono także przycisk „Kontrola bezpieczeństwa” oraz ulepszony tryb ochrony przed niebezpiecznymi witrynami (Enhanced Safe Browsing). Przycisk „Sprawdź bezpieczeństwo” wyświetla podsumowanie możliwych problemów związanych z bezpieczeństwem, takich jak użycie złamanych haseł, stan sprawdzania złośliwych witryn (Bezpieczne przeglądanie), obecność odinstalowanych aktualizacji oraz identyfikacja złośliwych dodatków. Zaawansowany tryb ochrony aktywuje dodatkowe kontrole w celu ochrony przed phishingiem, złośliwą aktywnością i innymi zagrożeniami w Internecie, a także obejmuje dodatkową ochronę Twojego konta Google i usług Google (Gmail, Dysk itp.). Jeśli w normalnym trybie Bezpiecznego przeglądania kontrole przeprowadzane są lokalnie przy użyciu bazy danych ładowanej okresowo do systemu klienta, to w trybie Ulepszonego Bezpiecznego przeglądania informacje o stronach i pobranych plikach w czasie rzeczywistym są wysyłane do weryfikacji po stronie Google, co pozwala na szybką reakcję zagrożeń natychmiast po ich zidentyfikowaniu, bez czekania na aktualizację lokalnej czarnej listy.
  • Dodano obsługę pliku wskaźnika „.well-known/change-password”, za pomocą którego właściciele witryn mogą określić adres formularza internetowego do zmiany hasła. Jeśli dane uwierzytelniające użytkownika zostaną naruszone, Chrome natychmiast wyświetli monit o przesłanie mu formularza zmiany hasła na podstawie informacji zawartych w tym pliku.
  • Wprowadzono nowe ostrzeżenie „Wskazówka dotycząca bezpieczeństwa”, wyświetlane podczas otwierania witryn, których domena jest bardzo podobna do innej witryny, a heurystyka wskazuje, że istnieje duże prawdopodobieństwo podszywania się (na przykład otwierana jest goog0le.com zamiast google.com).

    * Zaimplementowano obsługę pamięci podręcznej „Wstecz do przodu”, zapewniając natychmiastową nawigację podczas korzystania z przycisków „Wstecz” i „Dalej” lub podczas przeglądania wcześniej przeglądanych stron bieżącej witryny. Pamięć podręczną włącza się za pomocą ustawienia chrome://flags/#back-forward-cache.

  • Optymalizacja zużycia zasobów procesora w przypadku okien spoza zakresu. Chrome sprawdza, czy okno przeglądarki nie pokrywa się z innymi oknami i zapobiega rysowaniu pikseli w obszarach nakładania się. Ta optymalizacja została włączona dla niewielkiego odsetka użytkowników w Chrome 84 i 85, a teraz jest włączona wszędzie. W porównaniu z poprzednimi wersjami rozwiązano także problem niezgodności z systemami wirtualizacji, która powodowała pojawianie się pustych białych stron.
  • Zwiększone przycinanie zasobów dla kart w tle. Takie zakładki nie mogą już zużywać więcej niż 1% zasobów procesora i można je aktywować nie częściej niż raz na minutę. Po pięciu minutach działania w tle karty zostają zawieszone, z wyjątkiem kart, na których odtwarzane są treści multimedialne lub nagrywane.
  • Wznowiono prace nad ujednoliceniem nagłówka HTTP User-Agent. W nowej wersji dla wszystkich użytkowników aktywowana jest obsługa mechanizmu User-Agent Client Hints, opracowanego jako zamiennik User-Agent. Nowy mechanizm polega na selektywnym zwracaniu danych o określonych parametrach przeglądarki i systemu (wersja, platforma itp.) dopiero po otrzymaniu żądania ze strony serwera i dawaniu użytkownikom możliwości selektywnego przekazywania takich informacji właścicielom witryn. W przypadku korzystania z podpowiedzi klienta User-Agent identyfikator nie jest domyślnie przesyłany bez wyraźnego żądania, co uniemożliwia pasywną identyfikację (domyślnie wskazywana jest tylko nazwa przeglądarki).
    Zmieniono wskazanie obecności aktualizacji i konieczności ponownego uruchomienia przeglądarki w celu jej zainstalowania. Zamiast kolorowej strzałki w polu awatara konta pojawia się teraz informacja „Aktualizacja”.
  • Prowadzono prace nad konwersją przeglądarki tak, aby korzystała z terminologii włączającej. W nazwach zasad słowa „biała lista” i „czarna lista” zostały zastąpione słowami „lista dozwolonych” i „lista zablokowanych” (już dodane zasady będą nadal działać, ale wyświetli się ostrzeżenie o ich przestarzałości). W nazwach kodu i plików odniesienia do „czarnej listy” zastąpiono określeniem „lista zablokowanych”. Widoczne dla użytkowników odniesienia do „czarnej listy” i „białej listy” zostały zastąpione na początku 2019 roku.
    Dodano eksperymentalną możliwość edycji zapisanych haseł, aktywowaną flagą „chrome://flags/#edit-passwords-in-settings”.
  • API Native File System zostało przeniesione do kategorii stabilnego i publicznie dostępnego API, pozwalającego na tworzenie aplikacji webowych współpracujących z plikami w lokalnym systemie plików. Na przykład nowy interfejs API może być potrzebny w zintegrowanych środowiskach programistycznych opartych na przeglądarce, edytorach tekstu, obrazów i wideo. Aby móc bezpośrednio zapisywać i czytać pliki lub korzystać z okien dialogowych do otwierania i zapisywania plików, a także poruszać się po zawartości katalogów, aplikacja prosi użytkownika o specjalne potwierdzenie.
  • Dodano selektor CSS „:focus-visible”, który wykorzystuje tę samą heurystykę, której używa przeglądarka przy podejmowaniu decyzji o pokazaniu wskaźnika zmiany fokusu (przy przesuwaniu fokusu na przycisk za pomocą skrótów klawiaturowych wskaźnik pojawia się, ale po kliknięciu myszą , to nie). Dostępny wcześniej selektor CSS „:focus” zawsze podkreśla fokus. Dodatkowo do ustawień dodano opcję „Szybkie podświetlenie fokusu”, po włączeniu obok aktywnych elementów będzie wyświetlany dodatkowy wskaźnik fokusu, który pozostanie widoczny nawet jeśli elementy stylu służące do wizualnego wyróżniania fokusu zostaną wyłączone na stronie poprzez CSS.
  • 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.
  • WebHID API do niskopoziomowego dostępu do urządzeń HID (urządzenia interfejsu ludzkiego, klawiatury, myszy, gamepady, touchpady), które pozwala zaimplementować logikę pracy z urządzeniem HID w JavaScript w celu organizacji pracy z rzadkimi urządzeniami HID bez obecności określone sterowniki w systemie. Przede wszystkim nowe API ma na celu zapewnienie obsługi gamepadów.
  • Interfejs API informacji o ekranie rozszerza interfejs API rozmieszczania okien o obsługę konfiguracji wieloekranowych. W przeciwieństwie do window.screen, nowe API umożliwia manipulowanie rozmieszczeniem okna na całej przestrzeni ekranu systemów z wieloma monitorami, bez ograniczania się do bieżącego ekranu.
  • Metatag oszczędzający baterię, za pomocą którego witryna może informować przeglądarkę o konieczności aktywowania trybów w celu zmniejszenia zużycia energii i optymalizacji obciążenia procesora.
  • COOP Reporting API do raportowania potencjalnych naruszeń trybów izolacji Cross-Origin-Embedder-Policy (COEP) i Cross-Origin-Opener-Policy (COOP), bez stosowania rzeczywistych ograniczeń.
  • Interfejs API zarządzania poświadczeniami oferuje nowy typ poświadczeń PaymentCredential, który zapewnia dodatkowe potwierdzenie przeprowadzanej transakcji płatniczej. Strona ufająca, taka jak bank, ma możliwość wygenerowania klucza publicznego, PublicKeyCredential, o który sprzedawca może poprosić w celu dodatkowego potwierdzenia bezpiecznej płatności.
  • Interfejs API PointerEvents do określania nachylenia rysika* dodał obsługę kątów elewacji (kąt między rysikiem a ekranem) i azymutu (kąt między osią X a rzutem rysika na ekran) zamiast Kąty TiltX i TiltY (kąty pomiędzy płaszczyzną rysika i jedną z osi a płaszczyzną względem osi Y i Z). Dodano także funkcje konwersji pomiędzy wysokością/azymutem a TiltX/TiltY.
  • Zmieniono kodowanie spacji w adresach URL podczas obliczania jej w procedurach obsługi protokołów - metoda navigator.registerProtocolHandler() zastępuje teraz spacje wartością „%20” zamiast „+”, co ujednolica zachowanie z innymi przeglądarkami, takimi jak Firefox.
  • Do CSS dodano pseudoelement „::marker”, umożliwiający dostosowanie koloru, rozmiaru, kształtu i rodzaju liczb i kropek dla zestawień w blokach I .
  • Dodano obsługę nagłówka HTTP Document-Policy, który umożliwia ustawienie reguł dostępu do dokumentów, podobnie jak mechanizm izolacji piaskownicy dla ramek iframe, ale bardziej uniwersalny. Na przykład poprzez Document-Policy możesz ograniczyć użycie obrazów o niskiej jakości, wyłączyć powolne interfejsy API JavaScript, skonfigurować reguły ładowania ramek iframe, obrazów i skryptów, ograniczyć ogólny rozmiar dokumentu i ruch, zabronić metod prowadzących do przerysowania strony i wyłącz funkcję przewijania do tekstu.
  • Do elementu dodano obsługę parametrów „inline-grid”, „grid”, „inline-flex” i „flex” ustawianych za pomocą właściwości CSS „display”.
  • Dodano metodę ParentNode.replaceChildren() umożliwiającą zastąpienie wszystkich elementów podrzędnych węzła nadrzędnego innym węzłem DOM. Wcześniej do zastąpienia węzłów można było użyć kombinacji node.removeChild() i node.append() lub node.innerHTML i node.append().
  • Rozszerzono zakres schematów adresów URL, które można zastąpić za pomocą metody RegisterProtocolHandler(). Lista schematów obejmuje zdecentralizowane protokoły cabal, dat, did, dweb, ethereum, hyper, ipfs, ipns i ssb, co pozwala na definiowanie łączy do elementów niezależnie od witryny lub bramy zapewniającej dostęp do zasobu.
  • Dodano obsługę formatu tekst/html do interfejsu API schowka asynchronicznego w celu kopiowania i wklejania kodu HTML za pośrednictwem schowka (niebezpieczne konstrukcje HTML są czyszczone podczas zapisu i odczytu do schowka). Zmiana umożliwia na przykład organizację wstawiania i kopiowania sformatowanego tekstu z obrazami i linkami w edytorach internetowych.
  • WebRTC dodało możliwość podłączenia własnych procedur obsługi danych, wywoływanych na etapach kodowania lub dekodowania WebRTC MediaStreamTrack. Na przykład tę funkcję można wykorzystać w celu dodania obsługi kompleksowego szyfrowania danych przesyłanych przez serwery pośrednie.
    W silniku JavaScript V8 implementacja Number.prototype.toString została przyspieszona o 75%. Dodano właściwość .name do klas asynchronicznych z pustą wartością. Usunięto metodę Atomics.wake, której nazwę kiedyś zmieniono na Atomics.notify, aby była zgodna ze specyfikacją ECMA-262. Kod narzędzia do testowania fuzzera JS-Fuzzer jest otwarty.
  • Podstawowy kompilator Liftoff dla WebAssembly wydany w ostatniej wersji zawiera możliwość korzystania z instrukcji wektorowych SIMD w celu przyspieszenia obliczeń. Sądząc po testach, optymalizacja pozwoliła przyspieszyć niektóre testy 2.8 razy. Kolejna optymalizacja znacznie przyspieszyła wywoływanie funkcji JavaScript zaimportowanych z WebAssembly.
  • Rozszerzono narzędzia dla twórców stron internetowych: W panelu Media dodano informacje o odtwarzaczach używanych do odtwarzania wideo na stronie, w tym dane zdarzeń, logi, wartości właściwości i parametry dekodowania klatek (można np. określić przyczyny problemy ze stratą i interakcją z JavaScript).
  • W menu kontekstowym panelu Elementy dodano możliwość tworzenia zrzutów ekranu wybranego elementu (można np. utworzyć zrzut ekranu spisu treści lub tabeli).
  • W konsoli internetowej panel ostrzeżeń o problemach został zastąpiony zwykłym komunikatem, a problemy z plikami cookie innych firm są domyślnie ukryte w zakładce Problemy i są zaznaczone specjalnym polem wyboru.
  • W zakładce Rendering dodano przycisk „Wyłącz lokalne czcionki”, który pozwala symulować brak lokalnych czcionek, a w zakładce Sensory można teraz symulować brak aktywności użytkownika (dla aplikacji wykorzystujących Idle Detection API).
  • Panel aplikacji zawiera szczegółowe informacje o każdym elemencie iframe, otwartym oknie i wyskakującym okienku, w tym informacje o izolacji Cross-Origin przy użyciu COEP i COOP.

Implementację protokołu QUIC zaczęto zastępować wersją opracowaną w specyfikacji IETF zamiast wersji Google QUIC.
Oprócz innowacji i poprawek błędów, nowa wersja eliminuje 35 luk. Wiele luk zostało zidentyfikowanych w wyniku automatycznych testów przy użyciu narzędzi AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Jedna podatność (CVE-2020-15967, dostęp do zwolnionej pamięci w kodzie na potrzeby interakcji z Google Payments) oznaczona jest jako krytyczna, tj. pozwala ominąć wszystkie poziomy ochrony przeglądarki i wykonać kod w systemie poza środowiskiem sandbox. W ramach programu nagród pieniężnych za odkrycie luk w bieżącej wersji oprogramowania firma Google wypłaciła 27 nagród o wartości 71500 15000 dolarów (jedna nagroda 7500 5000 dolarów, trzy nagrody 3000 dolarów, pięć nagród 200 dolarów, dwie nagrody 500 dolarów, jedna nagroda 13 dolarów i dwie nagrody XNUMX dolarów). Wielkość XNUMX nagród nie została jeszcze ustalona.

Zaczerpnięte z Opennet.ru

Źródło: linux.org.ru

Dodaj komentarz