Firma Google wydanie przeglądarki internetowej . Jednocześnie stabilne wydanie projektu open source , będącego podstawą Chrome. Przeglądarka Chrome użyciem logotypów Google, systemem powiadamiania w przypadku awarii, możliwością pobierania modułu Flash na żądanie, modułami do odtwarzania chronionych treści wideo (DRM), systemem automatycznego instalowania aktualizacji oraz przekazami w trakcie wyszukiwania Następna wersja Chrome 87 jest zaplanowana na 17 listopada.
:
- Dodano zabezpieczenia przed niebezpiecznym przesyłaniem formularzy na stronach załadowanych przez HTTPS, ale wysyłających dane przez HTTP, co stwarza zagrożenie przechwycenia i podmiany danych podczas ataków MITM. Ochrona polega na trzech zmianach:
- Wyłączono automatyczne uzupełnianie wszelkich mieszanych formularzy, podobnie jak od dłuższego czasu wyłączono automatyczne uzupełnianie formularzy uwierzytelniających na stronach otwieranych przez HTTP. Jeśli wcześniej przesłanie formularza było blokowane po otwarciu strony przez HTTPS lub HTTP, teraz uwzględnia się także zastosowanie szyfrowania podczas przesyłania danych do przetwornika formularza. Funkcja menedżera haseł dla mieszanych formularzy uwierzytelniających nie została wyłączona, ponieważ ryzyko używania niebezpiecznego hasła i ponownego wykorzystywania haseł na różnych stronach przewyższa ryzyko potencjalnego przechwycenia ruchu.
- Przy rozpoczęciu wprowadzania danych w mieszanych formularzach wyświetlane jest ostrzeżenie informujące użytkownika o przesyłaniu wypełnionych danych przez niezabezpieczony kanał komunikacyjny.
- Przy próbie przesłania mieszania formularza wyświetlana jest oddzielna strona z powiadomieniem o potencjalnym ryzyku przesyłania danych przez niezabezpieczony kanał komunikacyjny. W wcześniejszych wersjach do wskazania mieszanych formularzy używano ikony kłódki w pasku adresu, lecz takie oznaczenie nie było oczywiste dla użytkowników i efektywnie nie odzwierciedlało powstających ryzyk.
- Blokowanie (bez szyfrowania) plików wykonywalnych zostało rozszerzone o blokowanie niebezpiecznego pobierania archiwów (zip, iso itp.) oraz wyświetlanie ostrzeżeń przy niebezpiecznym pobieraniu
dokumentów (docx, pdf itp.). W następnej wersji oczekiwane jest zablokowanie dokumentów i wyświetlenie ostrzeżenia dla obrazów, plików tekstowych i multimedialnych. Blokada została wdrożona, ponieważ pobieranie plików bez szyfrowania może być wykorzystywane do przeprowadzania złośliwych działań poprzez podmianę zawartości w procesie ataków MITM. - W menu kontekstowym domyślnie wyświetlana jest opcja „Zawsze pokazuj pełny URL”, którą wcześniej wymagano zmiany ustawień na stronie about:flags. Pełny URL można także zobaczyć klikając dwukrotnie na pasku adresu. Przypominamy, że od domyślnie adres jest wyświetlany bez protokołu i subdomeny www. W usunięto ustawienie dotyczące przywracania starego zachowania, jednak po niezadowoleniu użytkowników dodano nową eksperymentalną flagę, która dodaje do menu kontekstowego opcję wyłączania ukrywania i pokazywania pełnego adresu URL w każdych warunkach.
- Dla niewielkiego odsetka użytkowników uruchomiono w domyślnie w pasku adresu tylko domeny, bez elementów ścieżki i parametrów zapytania. Na przykład, zamiast „https://example.com/secure-google-sign-in/” wyświetli się „example.com”. Wprowadzenie sugerowanego trybu do wszystkich użytkowników oczekiwane jest w jednej z kolejnych aktualizacji. Aby wyłączyć to zachowanie, można skorzystać z opcji „Zawsze wyświetlaj pełny adres URL”, a aby zobaczyć pełny adres URL, można kliknąć na pasku adresu. Motywacją do zmiany jest chęć ochrony użytkowników przed phishingiem, manipulującym parametrami w URL — przestępcy wykorzystują nieuwagę użytkowników, aby stworzyć wrażenie otwierania innej strony i dokonywania oszustw (jeśli dla technicznie biegłego użytkownika takie podmiany rzucają się w oczy, to niedoświadczeni użytkownicy łatwo dają się nabrać na takie proste manipulacje).
- Wznawiamy usunięcia wsparcia dla FTP. W Chrome 86 FTP jest domyślnie wyłączone dla około 1% użytkowników, a w Chrome 87 zakres wyłączenia zostanie zwiększony do 50%, jednak wsparcie można przywrócić przy pomocy flagi „—enable-ftp” lub „—enable-features=FtpProtocol”. W Chrome 88 wsparcie dla FTP zostanie całkowicie wyłączone.
- W wersji na Androida, podobnie jak w wersji na systemy stacjonarne, w menedżerze haseł wprowadzono weryfikację zapisanych loginów i haseł w bazie skompromitowanych kont z wyświetlaniem ostrzeżeń w przypadku wykrycia problemów lub prób użycia trywialnych haseł. Weryfikacja odbywa się na podstawie bazy, obejmującej ponad 4 miliardy skompromitowanych kont, które pojawiły się w wyciekach baz danych użytkowników. Aby zachować prywatność porównywanie prefiksów haseł po stronie użytkownika, a same hasła i ich pełne hasze nie są przekazywane na zewnątrz.
- Wersja na Androida również Przycisk „Sprawdź bezpieczeństwo” (Safety check) oraz rozszerzony tryb ochrony przed niebezpiecznymi stronami (Enhanced Safe Browsing). Przycisk „Safety check” przedstawia podsumowanie potencjalnych problemów z bezpieczeństwem, takich jak użycie skompromitowanych haseł, stan sprawdzania złośliwych stron (Safe Browsing), obecność niezainstalowanych aktualizacji i wykrywanie złośliwych rozszerzeń. Rozszerzony tryb ochrony aktywuje dodatkowe kontrole w celu ochrony przed phishingiem, złośliwą aktywnością i innymi zagrożeniami w sieci, a także zapewnia dodatkową ochronę dla konta Google i usług Google (Gmail, Drive itp.). Podczas gdy w zwykłym trybie Safe Browsing kontrole są wykonywane lokalnie na podstawie okresowo pobieranej bazy danych na systemie klienta, to w przypadku Enhanced Safe Browsing informacje o stronach i pobraniach są przesyłane do weryfikacji w czasie rzeczywistym na serwerze Google, co pozwala na szybką reakcję na zagrożenia natychmiast po ich wykryciu, nie czekając na aktualizację lokalnej czarnej listy.
- Wsparcie dla pliku wskaźnika „.well-known/change-password”, dzięki któremu właściciele stron mogą wskazać adres formularza internetowego do zmiany hasła. W przypadku wykrycia naruszenia danych logowania, Chrome natychmiast zaproponuje użytkownikowi formularz do zmiany hasła, określony na podstawie informacji z tego pliku.
- Wprowadzono nowe powiadomienie „Wskazówka dotycząca bezpieczeństwa”, które wyświetla się podczas otwierania stron internetowych, których domena jest bardzo podobna do innej i heurystyka wskazuje na duże prawdopodobieństwo spoofingu (np. otworzono goog0le.com zamiast google.com).
- Wsparcie dla pamięci podręcznej nawigacji (Back-forward cache), umożliwiającej natychmiastowe przejście po użyciu przycisków „Wstecz” i „Dalej” lub podczas nawigacji po wcześniej przeglądanych stronach bieżącej witryny. Pamięć podręczna włącza się za pomocą ustawienia chrome://flags/#back-forward-cache.
- Przeprowadzono optymalizację zużycia zasobów CPU przez okna
poza polem widzenia. Chrome sprawdza, czy okno przeglądarki nie jest przykrywane przez inne okna i wyklucza renderowanie pikseli w obszarach nakładania. Wskazana optymalizacja została włączona dla niewielkiego procenta użytkowników w Chrome 84 i 85, a teraz aktywowana jest powszechnie. W porównaniu do poprzednich wersji usunięto także niekompatybilność z systemami wirtualizacji, przez którą wyświetlane były puste białe strony. - Wzmocniono ograniczenie zużycia zasobów dla zakładek w tle. Takie zakładki nie mogą teraz zużywać więcej niż 1% zasobów CPU i mogą być aktywowane nie częściej niż raz na minutę. Po pięciu minutach w tle zakładki są zamrażane, z wyjątkiem zakładek, w których odtwarzana jest zawartość multimedialna lub prowadzone jest nagranie.
- Wznowiono prace nad nagłówka HTTP User-Agent. W nowej wersji dla wszystkich użytkowników włączono wsparcie dla mechanizmu , rozwijane jako zamiennik User-Agent. Nowy mechanizm zakłada selektywne udostępnianie danych o konkretnych parametrach przeglądarki i systemu (wersja, platforma itp.) dopiero po zapytaniu serwera, co daje użytkownikom możliwość selektywnego udostępniania takich informacji właścicielom witryn. Przy użyciu User-Agent Client Hints identyfikator nie jest domyślnie przekazywany bez wyraźnego zapytania, co uniemożliwia przeprowadzanie pasywnej identyfikacji (domyślnie wskazane jest tylko nazwisko przeglądarki).
- Zmieniła się indikacja dostępności aktualizacji i konieczności ponownego uruchomienia przeglądarki w celu jej zainstalowania. Zamiast kolorowej strzałki w polu awatara konta teraz pojawia się napis „Aktualizacja”.
- Przeprowadzono prace nad wprowadzeniem w przeglądarkach inkluzywnej terminologii. W nazwach polityk słowa „whitelist” i „blacklist” zostały zastąpione przez „allowlist” i „blocklist” (już dodane polityki będą nadal działać, ale dla nich wyświetli się ostrzeżenie o przejściu do kategorii przestarzałych). W i wzmianki „blacklist” zostały zastąpione przez „blocklist”.
Widoczne dla użytkownika wzmianki „blacklist” i „whitelist” zostały zastąpione już na początku 2019 roku. - Dodano eksperymentalną funkcję edytowania zapisanych haseł, którą można aktywować za pomocą flagi „chrome://flags/#edit-passwords-in-settings”.
- Przeniesiono do kategorii stabilnych i ogólnodostępnych API , który umożliwia tworzenie aplikacji webowych współdziałających z plikami w lokalnym systemie plików. Na przykład, nowe API może być użyteczne w zintegrowanych środowiskach deweloperskich uruchamianych w przeglądarkach, edytorach tekstu, obrazów i wideo. Aby uzyskać możliwość bezpośredniego zapisu i odczytu plików lub korzystania z dialogów do otwierania i zapisywania plików, a także do przeglądania zawartości katalogów, aplikacja prosi użytkownika o specjalne potwierdzenie.
- Dodano selektor CSS „„, który stosuje tę samą heurystykę, co przeglądarka przy podejmowaniu decyzji o pokazaniu wskaźnika zmiany fokusu (przy przenoszeniu fokusu na przycisk za pomocą kombinacji klawiszy wskaźnik pojawia się, a przy kliknięciu myszką — nie). Wcześniej dostępny selektor CSS „:focus” zawsze podświetlał fokus.
Dodatkowo do ustawień dodano opcję „Quick Focus Highlight”, po jej włączeniu obok aktywnych elementów będzie wyświetlany dodatkowy wskaźnik fokusu, który pozostaje widoczny nawet gdy na stronie przez CSS wyłączone są elementy stylu dla wizualnego wyróżnienia fokusu. - 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.
- do niskopoziomowego dostępu do urządzeń HID (zespół interfejsu człowieka, klawiatury, myszy, kontrolery, panelem dotykowym), co umożliwia realizację logiki działania z urządzeniami HID w JavaScript, aby umożliwić pracę z rzadkimi urządzeniami HID bez potrzeby posiadania w systemie specyficznych sterowników.
Przede wszystkim nowy API ma na celu zapewnienie wsparcia dla kontrolerów gier. - , rozszerza możliwości API Układania Okien o wsparcie dla konfiguracji z wieloma ekranami. W przeciwieństwie do window.screen nowy API pozwala manipulować położeniem okna w ogólnej przestrzeni ekranowej systemów z wieloma monitorami, nie ograniczając się do bieżącego ekranu.
- Meta-tag , dzięki któremu witryna może informować przeglądarkę o konieczności aktywacji trybów oszczędzania energii i optymalizacji obciążenia CPU.
- API do informowania o potencjalnych naruszeniach trybów izolacji (COEP) oraz (COOP), bez stosowania rzeczywistych ograniczeń.
- W API zaproponowano nowy typ poświadczeń , zapewniający dodatkowe potwierdzenie przeprowadzanej operacji płatniczej. Strona weryfikująca, na przykład bank, ma możliwość wygenerowania klucza publicznego PublicKeyCredential, który może być żądany przez sprzedawcę do dodatkowego bezpiecznego potwierdzenia płatności.
- do niskopoziomowego dostępu do urządzeń HID (zespół interfejsu człowieka, klawiatury, myszy, kontrolery, panelem dotykowym), co umożliwia realizację logiki działania z urządzeniami HID w JavaScript, aby umożliwić pracę z rzadkimi urządzeniami HID bez potrzeby posiadania w systemie specyficznych sterowników.
- W API dodano wsparcie dla kątów wysokości (kąt między rysikiem a ekranem) i azymutu (kąt między osią X a projekcją rysika na ekran), zamiast kątów TiltX i TiltY (kąty między płaszczyzną rysika a jedną z osi oraz płaszczyzną osi Y i Z). Dodano również funkcje konwersji między wysokością/azymutem a TiltX/TiltY.
- Zmodyfikowano kodowanie spacji w adresie URL, gdy jest on obliczany w obsługach protokołu — metoda navigator.registerProtocolHandler() teraz zamienia spacje na "" zamiast " + ", co ujednolica zachowanie z innymi przeglądarkami, takimi jak Firefox.
- W CSS dodano pseudo-element „„, umożliwiający dostosowanie koloru, rozmiaru, kształtu i typu numerów oraz kropek dla wypunktowań w blokach
- i
- .
- Dodano wsparcie dla nagłówka HTTP , reguły dostępu do dokumentów, podobne do mechanizmu izolacji sandbox dla iframe, ale bardziej uniwersalne. Na przykład, za pomocą Document-Policy można ograniczyć użycie niskiej jakości obrazów, wyłączyć wolne API JavaScript, skonfigurować zasady ładowania iframe, obrazów i skryptów, ograniczyć całkowity rozmiar dokumentu i ruch, zabronić metod prowadzących do ponownego rysowania strony, wyłączyć funkcję .
- W elemencie dodano obsługę parametrów ‘inline-grid’, ‘grid’, ‘inline-flex’ i ‘flex’, definiowanych przez właściwość CSS ‘display’.
- Dodano metodę do zastąpienia wszystkich elementów podrzędnych węzła rodzica innym węzłem DOM. Wcześniej do zastąpienia węzłów można było używać kombinacji metod node.removeChild() i node.append() lub node.innerHTML i node.append().
- spectrum schematów URL, które można nadpisać za pomocą registerProtocolHandler(). Lista schematów obejmuje zdecentralizowane protokoły cabal, dat, did, dweb, ethereum, hyper, ipfs, ipns i ssb, co pozwala definiować linki do elementów niezależnie od strony internetowej lub bramki, która zapewnia dostęp do zasobu.
- W API dodano obsługę formatu text/html do kopiowania i wklejania HTML przez schowek (przy zapisie i odczycie do schowka przeprowadzana jest czyszczenie niebezpiecznych konstrukcji HTML). Zmiana ta, na przykład, umożliwia organizację w web-edytorach wklejania i kopiowania sformatowanego tekstu z obrazami i linkami.
- W WebRTC możliwość podłączenia własnych handlerów danych, wywoływanych na etapach kodowania lub dekodowania WebRTC MediaStreamTrack. Na przykład, tę możliwość można wykorzystać do dodania wsparcia dla end-to-end szyfrowania danych przesyłanych przez pośrednie serwery.
- W silniku JavaScript V8 o 75% wdrożenie Number.prototype.toString. Do klas asynchronicznych dodano właściwość .name z pustą wartością. Usunięto metodę Atomics.wake, która w swoim czasie została przemianowana na Atomics.notify, aby odpowiadała specyfikacji ECMA-262. Otwarty kod narzędzi fuzzingowych .
- W wykorzystywanym w ostatnim wydaniu podstawowym (baseline) kompilatorze Liftoff dla WebAssembly włączono możliwość używania instrukcji wektorowych do przyspieszenia obliczeń. Z danych testowych wynika, że optymalizacja pozwoliła przyspieszyć wykonanie niektórych testów 2,8 razy. Inna optymalizacja znacznie przyspieszyła wywoływanie funkcji JavaScript importowanych z WebAssembly.
- Narzędzia dla programistów webowych: W panelu Media dodano informacje o odtwarzaczach używanych do odtwarzania wideo na stronie, w tym dane o zdarzeniach, logi, wartości właściwości i parametry dekodowania klatek (na przykład można określić przyczyny utraty klatek i problemy ze współpracą z JavaScript).
W menu kontekstowym panelu Elements dodano możliwość tworzenia zrzutów ekranu wybranego elementu (na przykład można utworzyć zrzut ekranu spisu treści lub tabeli).
W konsoli webowej panel z ostrzeżeniami o problemach został zastąpiony zwykłym komunikatem, a problemy z zewnętrznymi plikami cookie są domyślnie ukryte na zakładce Issues i można je włączyć specjalnym przełącznikiem.
W zakładce Rendering dodano przycisk „Wyłącz lokalne czcionki”, który umożliwia symulację braku lokalnych czcionek, a w zakładce Sensors pojawiła się możliwość symulacji nieaktywności użytkownika (dla aplikacji korzystających z API Idle Detection).
W panelu Application dostępne są szczegółowe informacje o każdym iframe, otwartym oknie i pop-up’ach, w tym dane dotyczące izolacji Cross-Origin za pomocą COEP i COOP.
- zmiana implementacji protokołu na wersję rozwijaną w specyfikacji IETF, zamiast wariantu Google QUIC.
Oprócz wprowadzenia nowości i poprawy błędów w nowej wersji usunięto . Wiele luk zostało wykrytych w wyniku automatycznego testowania narzędziami , , , i . Jedna podatność (CVE-2020-15967, odwołanie do zwolnionej pamięci w kodzie do interakcji z Google Payments) została oznaczona jako krytyczna, tzn. pozwala obejść wszystkie poziomy zabezpieczeń przeglądarki i wykonać kod w systemie poza środowiskiem sandbox. W ramach programu przyznawania nagród za wykrycie podatności w bieżącej wersji firma Google wypłaciła 27 nagród na łączną kwotę 71500 dolarów USA (jedna nagroda 15000 dolarów, trzy nagrody po 7500 dolarów, pięć nagród po 5000 dolarów, dwie po 3000 dolarów, jedna po 200 dolarów i dwie nagrody po 500 dolarów). Wysokość 13 nagród nie została jeszcze określona.
Źródło: opennet.ru
