Началось формирование ASan-сборок Firefox для выявления проблем при работе с памятью

В рамках проекта ASan Nightly разработчики Mozilla начали публикацию ежедневно обновляемых сборок Firefox, собранных с AddressSanitizer для выявления проблем в процессе работы с памятью, в том числе вызванных обращением к областям памяти после их освобождения (user-after-free) и различными вариантами переполнения буферов и стека.

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

Размер вознаграждения может составить от 500 до 3000 долларов, в зависимости от опасности проблемы. Для участия в программе выплаты вознаграждения пользователь должен идентифицировать себя, указав свой email в поле asanreporter.clientid через интерфейс about: config (если email не будет указан отчёты будут отправляться анонимно, а присуждённое вознаграждение будет рассматриваться как пожертвование проекту).

В качестве причины создания отдельной ASan-сборки называется желание восполнить недостаток информации, присылаемой в результате отчётов о крахах — подобные отчёты часто указывают на наличие потенциальной уязвимости, но причину краха не всегда удаётся оперативно выявить из-за отсутствия необходимых отладочных данных. Например, в обычных сборках очень трудно локализовать проблемы user-after-free, так как крах обычно происходит значительно позднее выполнения кода с ошибкой при освобождении памяти.

Из-за необходимости сохранения всех освобождённых блоков сборка ASan потребляет заметно больше памяти по сравнению со штатными сборками, поэтому для комфортной работы рекомендуется 16 Гб ОЗУ и ежедневный перезапуск браузера. ASan-сборка пока доступна только для Linux. С точки зрения производительности ASan-сборока незначительно отличается от обычных ночных сборок.

©  OpenNet