Chrome исправляет 24 дыры в безопасности, активирует систему безопасности «Sanitizer» PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Chrome залачивает 24 дыры в системе безопасности и запускает систему безопасности «дезинфицирующее средство»

Последний браузер Chrome от Google, версия 105, отсутствует, хотя полный номер версии раздражающе отличается в зависимости от того, используете ли вы Windows, Mac или Linux.

В Unix-подобных системах (Mac и Linux) вы хотите 105.0.5195.52, но в Windows вы ищете 105.0.5195.54.

По данным Google, эта новая версия включает в себя 24 исправления безопасности, хотя ни одно из них не числится «исчезнувшим», что означает, что на этот раз не было исправлений нулевого дня.

Тем не менее, есть одна уязвимость, получившая название критический, и еще восемь оцененных High.

Из исправленных недостатков немногим более половины связаны с неправильным управлением памятью, девять из которых перечислены как использовать после освобождения баги, и четыре как буфер кучи переполняется.

Объяснение типов ошибок памяти

A использовать после освобождения это именно то, что он говорит: вы возвращаете память, чтобы освободить ее для другой части программы, но все равно продолжаете ее использовать, что потенциально может мешать правильной работе вашего приложения.

Представьте, например, что часть программы, которая думает, что теперь имеет исключительный доступ к проблемному блоку памяти, получает ненадежный ввод и тщательно проверяет, безопасно ли использовать новые данные…

… но затем, за мгновение до того, как он начнет использовать этот проверенный ввод, ваш ошибочный код «использования после освобождения» вмешивается и вводит устаревшие, небезопасные данные в ту же самую часть памяти.

Внезапно свободный от ошибок код в другом месте программы ведет себя так, как если бы он сам был ошибочным, благодаря уязвимости в вашем коде, которая только что сделала недействительным то, что было в памяти.

Злоумышленники, которые могут найти способ манипулировать временем неожиданного вмешательства вашего кода, могут не только вывести программу из строя по своему желанию, но и вырвать у нее контроль, тем самым вызывая то, что известно как удаленное выполнение кода.

И переполнение буфера кучи относится к ошибке, при которой вы записываете в память больше данных, чем поместится в изначально выделенное вам пространство. (куча это жаргонный термин для набора блоков памяти, которыми в данный момент управляет система.)

Если какая-то другая часть программы имеет блок памяти, который находится рядом или рядом с вашим в куче, то лишние данные, которые вы только что записали, не будут безвредно переполняться в неиспользуемое пространство.

Вместо этого он испортит данные, которые активно используются где-то еще, что аналогично тому, что мы только что описали для ошибки использования после освобождения.

Система «Санитайзер»

К счастью, помимо исправления неправильных функций, которых вообще не должно было быть, Google объявил о появлении новой функции, которая добавляет защиту против класса недостатков браузера, известных как межсайтовый скриптинг (XSS).

Ошибки XSS вызваны тем, что браузер вставляет ненадежные данные, скажем, из веб-формы, отправленной удаленным пользователем, непосредственно на текущую веб-страницу без предварительной проверки (и удаления) опасного содержимого.

Представьте, к примеру, что у вас есть веб-страница, предлагающая показать мне, как выглядит текстовая строка по моему выбору, напечатанная вашим причудливым новым шрифтом.

Если я наберу образец текста Cwm fjord bank glyphs vext quiz (надуманный, но неясно значимый мэшап английского и валлийского языков, который содержит все 26 букв алфавита всего в 26 буквах, если вам интересно), то вы можете безопасно поместить этот точный текст на веб-страницу, которую вы создаете.

В JavaScript, например, вы можете переписать тело веб-страницы следующим образом, вставив предоставленный мной текст без каких-либо изменений:

документ.body.innerHTML = " Cwm fjord bank glyphs vext викторина"

Но если бы я сжульничал и попросил вас «отобразить» текстовую строку Cwm fjord<script>alert(42)</script> вместо этого было бы безрассудно с вашей стороны сделать это…

документ.body.innerHTML = " Цвм-фьорд alert(42) "

…потому что вы позволите мне внедрить ненадежный код JavaScript my выбор непосредственно в надежная веб-страница, где мой код может считывать ваши файлы cookie и получать доступ к данным, которые в противном случае были бы запрещены.

Итак, чтобы сделать то, что известно как очистка ваших входов проще, теперь Chrome официально включил поддержку новой функции браузера под названием setHTML().

Это можно использовать для продвижения нового HTML-контента через функцию, называемую Sanitizer во-первых, так что если вы используете этот код вместо этого...

документ.тело.setHTML(" Цвм-фьорд alert(42) ")

…тогда Chrome сначала просканирует предлагаемую новую строку HTML на наличие проблем с безопасностью и автоматически удалит любой текст, который может представлять опасность.

Вы можете увидеть это в действии через Инструменты разработчика запустив вышеуказанное setHTML() код на Консоли приглашение, а затем получение фактического HTML-кода, который был введен в document.body переменная, как мы сделали здесь:

Обратите внимание, как выделенный тег скрипта был «очищен» от HTML-кода, в конечном итоге вставленного на страницу.

Несмотря на то, что мы явно указали <script> тег во входных данных, которые мы передали в setHTML() функция, код скрипта автоматически удалялся из созданного вывода.

Если вам действительно нужно добавить потенциально опасный текст в элемент HTML, вы можете добавить второй аргумент к setHTML() функция, указывающая различные типы опасного контента, которые следует блокировать или разрешать.

По умолчанию, если этот второй аргумент опущен, как указано выше, то Sanitizer работает на максимальном уровне безопасности и автоматически удаляет все известное ему опасное содержимое.

Что делать?

  • Если вы пользователь Chrome. Убедитесь, что вы в курсе, нажав Три точки > Документи > О Google Chrome, или перейдя по специальному URL-адресу chrome://settings/help.
  • Если вы веб-программист. Узнай о новом Sanitizer и setHTML() функциональность при чтении совет от гугла и Веб-документы MDN.

Кстати, если вы используете Firefox, Sanitizer доступен, но еще не включен по умолчанию. Вы можете включить его, чтобы узнать больше об этом, перейдя на about:config и переключение dom.security.sanitizer.enabled вариант true.


Отметка времени:

Больше от Голая Безопасность