KASan в игре: как один инструмент перевернул мир безопасности микроконтроллеров

KASan в игре: как один инструмент перевернул мир безопасности микроконтроллеров

26 марта 2024 года, команда разработчиков Android, в лице Евгения Родионова и Ивана Лозано, представила новый подход к повышению безопасности прошивок - Kernel Address Sanitizer (KASan). Этот инструмент, изначально разработанный для ядра Linux, теперь адаптирован для работы с прошивками микроконтроллеров и другим низкоуровневым ПО.

KASan, использующийся на этапе тестирования и фаззинга, позволяет выявлять уязвимости, связанные с нарушением целостности памяти, еще до того, как они окажутся в конечном продукте. Использование KASan уже позволило обнаружить и устранить более 40 критических ошибок в прошивках.

Сопровождая этот анонс, команда выпустила проект, демонстрирующий применение KASan в среде QEMU для bare-metal систем, что дает разработчикам ценные направления для интеграции и адаптации инструмента под собственные нужды.

ASan - это инструмент на основе компилятора, позволяющий выявлять некорректные обращения к памяти в реальном времени. Он может обнаруживать такие ошибки, как обращение за пределы массива, использование после освобождения памяти, двойное освобождение и использование после возврата из функции. ASan работает путем встраивания специального кода проверки адресов памяти, используемых при загрузке/сохранении данных.

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

Разработчикам предстоит реализовать рутинные функции KASan, отвечающие за проверку доступности участков памяти и обработку обнаруженных нарушений, а также управление теневой памятью. Это включает в себя функции для проверки каждого обращения к памяти и функции для «отравления» или «очищения» блоков теневой памяти в зависимости от их использования.

похожие материалы

Стрелочка
Стрелочка
Каждое пятое предприятие планирует расширить применение технологии в кибербезопасности
Каждое пятое предприятие планирует расширить применение технологии в кибербезопасности

21% промышленных компаний в мире планируют расширить использование технологий искусственного интеллекта для решения задач кибербезопасности — на основе как внешних ИИ-сервисов, так и собственных разработок.

Трамп хочет закрыть глаза на опасности, создаваемые ИИ, из-за опасений отстать от Китая
Трамп хочет закрыть глаза на опасности, создаваемые ИИ, из-за опасений отстать от Китая

Президент США Дональд Трамп преуменьшил опасения, связанные с быстрыми темпами развития искусственного интеллекта, и выступил против замедления его разработки, подчеркнув приоритет американского лидерства над Китаем.