70% уязвимостей в Chrome связаны с безопасностью памяти - «Новости» » Самоучитель CSS
Меню
Наши новости
Учебник CSS

Невозможно отучить людей изучать самые ненужные предметы.

Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3

Надо знать обо всем понемножку, но все о немногом.

Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы

Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)

Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода

Самоучитель CSS

Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5

Новости

Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости

Справочник CSS

Справочник от А до Я
HTML, CSS, JavaScript

Афоризмы

Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы

Видео Уроки


Видео уроки
Наш опрос



Наши новости

       
25-05-2020, 20:01
70% уязвимостей в Chrome связаны с безопасностью памяти - «Новости»
Рейтинг:
Категория: Новости

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



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, jаvascript, Kotlin и Java.


Специалисты компании 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, j

Теги: CSS

Просмотров: 340
Комментариев: 0:   25-05-2020, 20:01
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

 
Еще новости по теме:



Другие новости по теме:
Комментарии для сайта Cackle