RSS Блог "След бит"
Подписаться
Используйте GWP-ASan для обнаружения эксплойтов в производственных средах
GWP-ASan — это инструмент обнаружения ошибок в памяти на основе выборки, разработанный для производственных сред, решающий проблемы с производительностью инструментов, таких как ASan. Он обнаруживает критические ошибки, такие как использование после освобождения и переполнение буфера, с минимальным влиянием на производительность. GWP-ASan инструментирует небольшую часть выделений памяти, используя защитные страницы вокруг выборочных выделений для выявления нарушений доступа к памяти. Это позволяет ему выявлять ошибки, связанные с кучей, с почти нулевыми накладными расходами, балансируя обнаружение и производительность. Инструмент реализован в различных проектах, таких как Chromium, Firefox и Android, демонстрируя свою универсальность. Подход GWP-ASan на основе выборки делает его подходящим для крупномасштабных развертываний с незначительными затратами на производительность даже при обнаружении редких ошибок. Программы могут быть собраны с помощью GWP-ASan с использованием компиляторов, таких как Clang, и аллокаторов, которые его поддерживают. Поведение инструмента настраивается с помощью переменных среды, таких как частота выборки и максимальное количество одновременных выделений. GWP-ASan идентифицирует ошибки, вызывая ошибки сегментации, когда программы пытаются получить доступ к памяти в пределах защитных страниц. Инструменты символизации могут улучшить читаемость сообщений об ошибках. Накладные расходы на производительность низкие и могут контролироваться параметрами конфигурации, что делает его пригодным для использования в производстве.