Chrome łata 24 luki w zabezpieczeniach, włącza system bezpieczeństwa „Sanitizer” PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Chrome łata 24 dziury w zabezpieczeniach, włącza system bezpieczeństwa „Sanitizer”

najnowsza przeglądarka Chrome Google, wersja 105, jest niedostępny, chociaż pełny numer wersji jest irytująco różny w zależności od tego, czy korzystasz z systemu Windows, Mac czy Linux.

Na systemach uniksowych (Mac i Linux), chcesz 105.0.5195.52, ale w systemie Windows szukasz 105.0.5195.54.

Według Google ta nowa wersja zawiera 24 poprawki bezpieczeństwa, ale żadna z nich nie została zgłoszona jako „na wolności”, co oznacza, że ​​tym razem nie było żadnych poprawek zero-day.

Niemniej jednak istnieje jedna słabość, którą nazwano Krytyczny, a kolejne osiem oceniane Wysoki.

Spośród naprawionych błędów nieco ponad połowa z nich wynika z niewłaściwego zarządzania pamięcią, a dziewięć wymieniono jako używać po wolnym błędy i cztery as przepełnienia bufora sterty.

Wyjaśnienie typów błędów pamięci

A używać po wolnym jest dokładnie tym, co mówi: oddajesz pamięć, aby zwolnić ją dla innej części programu, ale nadal z niej korzystasz, potencjalnie zakłócając prawidłowe działanie Twojej aplikacji.

Wyobraź sobie na przykład, że część programu, która myśli, że ma teraz wyłączny dostęp do naruszającego bloku pamięci, otrzymuje niezaufane dane wejściowe i dokładnie sprawdza, czy nowe dane są bezpieczne w użyciu…

…ale potem, na chwilę przed rozpoczęciem korzystania z tych zweryfikowanych danych wejściowych, Twój wadliwy kod „po zwolnieniu” ingeruje i wstrzykuje nieaktualne, niebezpieczne dane do tej samej części pamięci.

Nagle kod wolny od błędów w innym miejscu programu zachowuje się tak, jakby sam w sobie zawierał błędy, dzięki błędowi w twoim kodzie, który właśnie unieważnił to, co było w pamięci.

Atakujący, którzy potrafią znaleźć sposób na manipulowanie czasem nieoczekiwanej interwencji twojego kodu, mogą być w stanie nie tylko zawiesić program na żądanie, ale także wyrwać mu kontrolę, powodując w ten sposób tzw. zdalne wykonanie kodu.

I a przepełnienie bufora sterty odnosi się do błędu, w którym zapisujesz do pamięci więcej danych, niż zmieści się w miejscu, które zostało Ci pierwotnie przydzielone. (kupa to żargonowy termin określający kolekcję bloków pamięci, które są obecnie zarządzane przez system.)

Jeśli jakaś inna część programu ma blok pamięci, który akurat znajduje się blisko lub obok twojego na stercie, to niepotrzebne dane, które właśnie wypisałeś, nie przepełnią się nieszkodliwie w nieużywane miejsce.

Zamiast tego uszkodzi dane, które są aktywnie używane w innym miejscu, co ma podobne konsekwencje do tego, co właśnie opisaliśmy w przypadku błędu użycia po zwolnieniu.

System „Odkażacza”

Na szczęście, oprócz naprawiania błędów, których w ogóle nie powinno być, Google ogłosił nadejście nowej funkcji, która dodaje ochronę przeciwko klasie luk przeglądarki znanej jako skrypty między witrynami (XSS).

Błędy XSS są spowodowane tym, że przeglądarka wstawia niezaufane dane, na przykład z formularza internetowego przesłanego przez zdalnego użytkownika, bezpośrednio do bieżącej strony internetowej, bez wcześniejszego sprawdzania (i usuwania) ryzykownych treści.

Wyobraź sobie na przykład, że masz stronę internetową, która oferuje mi pokazanie, jak wybrany przeze mnie ciąg tekstowy wygląda w Twojej nowej, zabawnej czcionce.

Jeśli wpiszę przykładowy tekst Cwm fjord bank glyphs vext quiz (wymyślone, ale niejasno znaczące połączenie angielskiego i walijskiego, które zawiera wszystkie 26 liter alfabetu w zaledwie 26 literach, na wypadek, gdybyś się zastanawiał), wtedy możesz bezpiecznie umieścić ten dokładny tekst na tworzonej stronie internetowej.

W JavaScript, na przykład, możesz przepisać treść strony internetowej w ten sposób, wstawiając tekst, który dostarczyłem bez żadnych modyfikacji:

document.body.innerHTML = " Cwm glify brzegu fiordu Vext quiz"

Ale jeśli oszukałem i poprosiłem Cię o „pokazanie” ciągu tekstowego Cwm fjord<script>alert(42)</script> zamiast tego byłoby to lekkomyślne, gdybyś to zrobił…

document.body.innerHTML = " Cwm fiord alert(42) "

…ponieważ pozwoliłbyś mi wstrzyknąć niezaufany kod JavaScript my wybierając bezpośrednio do Twój strona internetowa, na której mój kod może odczytywać Twoje pliki cookie i uzyskiwać dostęp do danych, które w innym przypadku byłyby niedostępne.

Tak więc, aby stworzyć coś, co jest znane jako odkażanie twoich wejść łatwiej, Chrome oficjalnie włączył obsługę nowej funkcji przeglądarki o nazwie setHTML().

Może to służyć do przesyłania nowej zawartości HTML za pomocą funkcji o nazwie Sanitizer po pierwsze, więc jeśli użyjesz tego kodu zamiast…

document.body.setHTML(" Cwm fiord alert(42) ")

… następnie Chrome najpierw przeskanuje proponowany nowy ciąg HTML pod kątem problemów z bezpieczeństwem i automatycznie usunie każdy tekst, który może stanowić zagrożenie.

Możesz to zobaczyć w akcji za pomocą Narzędzia deweloperskie uruchamiając powyższe setHTML() kod na Konsola monit, a następnie pobranie rzeczywistego kodu HTML, który został wstrzyknięty do document.body zmienna, tak jak tutaj:

Zwróć uwagę, jak podświetlony tag skryptu został „wyczyszczony” z kodu HTML ostatecznie wstawionego na stronę.

Nawet jeśli wyraźnie umieściliśmy <script> w danych wejściowych, które przekazaliśmy do setHTML() funkcja, kod skryptu został automatycznie usunięty z utworzonych danych wyjściowych.

Jeśli naprawdę chcesz dodać potencjalnie niebezpieczny tekst do elementu HTML, możesz dodać drugi argument do elementu setHTML() funkcja, która określa różne rodzaje ryzykownych treści do zablokowania lub zezwolenia.

Domyślnie, jeśli ten drugi argument zostanie pominięty jak powyżej, to Sanitizer działa na swoim maksymalnym poziomie bezpieczeństwa i automatycznie usuwa wszystkie niebezpieczne treści, o których wie.

Co robić?

  • Jeśli jesteś użytkownikiem Chrome. Sprawdź, czy jesteś na bieżąco, klikając Trzy kropki > Pomoc > Google Chrome, lub przechodząc do specjalnego adresu URL chrome://settings/help.
  • Jeśli jesteś programistą internetowym. Dowiedz się o nowościach Sanitizer i setHTML() funkcjonalność poprzez czytanie porady od Google oraz Dokumentacja internetowa MDN.

Przy okazji, jeśli korzystasz z Firefoksa, Sanitizer jest dostępny, ale nie jest jeszcze domyślnie włączony. Możesz go włączyć, aby dowiedzieć się o nim więcej, przechodząc do about:config i przełączanie dom.security.sanitizer.enabled opcja do true.


Znak czasu:

Więcej z Nagie bezpieczeństwo