Объявление

Свернуть
Пока нет объявлений.

70% уязвимостей в Chrome связаны с безопасностью памяти

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • 70% уязвимостей в Chrome связаны с безопасностью памяти

    Специалисты компании Google подсчитали, что примерно 70% проблем с безопасность в кодовой базе Chrome связаны с управлением памятью. Теперь в компании пытаются понять, как лучше решить эту проблему.

    В общей сложности инженеры Google изучили 912 ошибок («высокой» или «критической» степени серьезности), исправленных в стабильной ветке Chrome с 2015 года. Как оказалась, половина из вышеупомянутых 70% — это use-after-free уязвимости, возникающие из-за некорректного управления указателями памяти, что в итоге открывает внутренние компоненты Chrome для атак.

    Интересно, что выводы экспертов Google хорошо соотносятся со статистикой компании Microsoft, которая еще в прошлом году пришла к похожему выводу: за последние 12 лет 70% патчей для продуктов компании были выпущены для проблем с безопасностью памяти.

    В сущности, обе компании страдают от одной и того же: использования языков C и C ++, которые считаются «небезопасными». Дело в том, что это весьма старые инструменты, созданные десятки лет назад, в то время, когда кибератаки и эксплуатация уязвимостей не представляли такой угрозы, как сейчас, и большинство разработчиков ПО попросту не думали о подобных нюансах.

    Так, имея дело с C и C ++, разработчики имеют полный контроль над управлением указателями памяти в приложении. Не существует никаких ограничений или предупреждений, чтобы предупреждать разработчиков, если те совершают базовые ошибки в вопросах управления памятью. В результате в приложениях возникает множество уязвимостей, связанных с переполнением буфера, use-after-free, состоянием гонки, double free и так далее.

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

    Инженеры Google пишут, что в период с марта 2019 года по настоящее время в Chrome было устранено 130 критических уязвимостей. Из них 125 были так или иначе связаны с нарушением целостности информации в памяти. То есть, невзирая на достижения разработчиков в области исправления ошибок других классов, управление памятью по-прежнему остается проблемой.

    Все это стало настолько большой проблемой для Google, что теперь инженеры, работающие над Chrome, обязаны следовать «Правилу двух». Согласно этому правилу, когда Chrome-разработчики пишут новую функцию, их код может нарушать не более двух из перечисленных условий:

    код обрабатывает недоверенный ввод;
    код работает без песочницы;
    код написан на небезопасном языке программирования (C/C ++).


    До недавнего времени инженеры Google были большими сторонниками использования песочницы в Chrome. Так, они изолировали десятки процессов в собственной программной среде и развернули Site Isolation (помещает ресурсы каждого сайта в свои собственные изолированные процессы в песочнице). Однако теперь компания вынуждена искать другие подходы, отмечая, что использование песочниц в настоящее время достигло своего максимума с учетом производительности.

    В дальнейшем Google планирует заняться разработкой кастомных библиотек C ++ с лучшей защитой от ошибок, связанных с памятью. Эти библиотеки будут использоваться с кодовой базой Chrome. Также инженеры компании изучают возможность использования проекта MiraclePtr, целью которого — превратить use-after-free уязвимости в несвязанные с безопасностью сбои, которые будут минимально влиять на производительность, стабильность, память и размер бинарников.

    Кроме того, Google заявляет, что намеревается исследовать использование более «безопасных» языков программирования там, где это возможно. Речь идет о Rust, Swift, JavaScript, Kotlin и Java.

  • #2
    Ну связаны и связаны.
    Ничего не продаю. Покупаю только через Гарант за мой счет.

    Комментарий


    • #3
      Ребята, а просто платить больше программерам не пробовали чтобы они вылизывали код и не пытались всё успеть как загнанные собаки. Чтобы им не приходилось отправлять в продакт код в котором в каждой второй строке варнинг компилятора.

      Комментарий

      Обработка...
      X