Разработчики Google создали алгоритм, защищающий от ошибок безопасности памяти. Он уже встроен в Chrome 102. Сейчас специалисты работают над тем, чтобы включить новый алгоритм и в другие продукты.

Компания Google в своем блоге, посвященном безопасности в Интернете, опубликовала описание новой технологии MiraclePtr для предотвращения использования use-after-free уязвимостей в браузере Chrome.

По заявлению представителей компании, ошибки безопасности памяти — самая многочисленная категория проблем с безопасностью Chrome. В свою очередь, самыми популярными среди таких ошибок являются ошибки use-after-free (использование данных после освобождения памяти). Они возникают, когда программа не очищает указатель после освобождения памяти. Эти недостатки могут привести к произвольному выполнению кода, повреждению данных или отказу в обслуживании (DoS).

В сочетании с другими недостатками безопасности, уязвимости use-after-free в ряде случаев приводят к полной компрометации системы.

 

Use-after-free ошибки составляют около 50% от всех проблем, с которыми сталкиваются пользователи Google Chrome. Источник https://security.googleblog.com

Эксплуатация use-after-free в Chrome может привести к выходу из песочницы. Для этого злоумышленник должен использовать ошибку в базовой ОС или уязвимость в привилегированной части Chrome, например, в процессе браузера.

По словам Google, один из способов уменьшить эту поверхность атаки — свести к минимуму количество интерфейсов операционной системы, доступных из песочницы процесса визуализации.

Для решения проблемы на прошлой неделе Google представил технологию MiraclePtr, которая переписывает кодовую базу для использования типа интеллектуального указателя «raw_ptr<T>», чтобы предотвратить использование ошибок use-after-free.

Алгоритм реализации MiraclePtr называется BackupRefPtr. Основываясь на подсчете содержимого, он использует собственный распределитель динамической памяти Chrome, PartitionAlloc, который содержит области памяти в карантине, вместо того, чтобы освобождать их, если их счетчик содержимого не равен 0.

Google уже включил BackupRefPtr для Windows и Android в Chrome 102 и ожидает, что MiraclePtr решит как минимум половину всех проблем с использованием use-after-free.

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

Компания также отмечает, что MiraclePtr увеличивает использование памяти до 6,5% в Windows и до 5% в Android. Память в карантине составляет всего 0,01% от общей памяти, необходимой для  использования процесса браузера, но хранение счетчика ссылок иногда может оказаться проблематичным.

По словам Google, MiraclePtr не был предназначен для диагностики, однако, уже помог предотвратить использование уязвимостей use-after-free и исправить ряд ранее неизвестных исследователям ошибок.

С заботой о вашей безопасности, команда Origin Security

Оставить комментарий

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