Casr: инструмент формирования отчётов об ошибках


Скачать сборник технологий

Casr: инструмент формирования отчётов об ошибках

Casr – это инструмент, позволяющий автоматически формировать отчёты об аварийных завершениях, возникающих во время эксплуатации и тестирования ПО на ОС Linux. В отчётах содержатся сведения о степени критичности аварийного завершения, а также дополнительная информация, которая помогает установить его причины. CASR – это проект с открытым исходным кодом (https://github.com/ispras/casr).

Особенности и преимущества

CASR позволяет получать отчёты об ошибках разными способами (coredump, GDB, Asan, Ubsan) и обрабатывать исключения от разных языков программирования (Rust, Go, Java, Python). Предоставляет возможность автоматизации анализа результатов фаззинга с выгрузкой в системы управления уязвимостями.

Casr – это:

  • Обнаружение критичных аварийных завершений, которые могут привести к перехвату потока управления.
  • Классификация аварийных завершений, которая проводится в зависимости от состояния программы на момент завершения (перезапись адреса возврата из функции, разыменование нулевого указателя и др.). Далее аварийные завершения группируются по степени критичности: эксплуатируемые, потенциально эксплуатируемые, отказ в обслуживании.
  • Развёрнутый отчёт об ошибке, который содержит информацию о степени критичности аварийного завершения, а также дополнительные данные (версии ОС и пакета, строка запуска программы, стек вызовов, открытые файлы и сетевые соединения, состояние регистров и др.).
  • Дедупликация и кластеризация аварийных завершений на основе стека вызовов. Кластеры потенциально содержат схожие отчёты, которые описывают одну и ту же уязвимость.
  • Интеграция с современными фаззерами Sydr/AFL++/LibFuzzer (go-fuzz, Atheris, Jazzer).
  • Библиотека libcasr для написания собственных инструментов анализа.
  • Выгрузка результатов в систему управления уязвимостей DefectDojo, которая позволяет удобно встроить процесс разбора результатов фаззинга в CI.

Для кого предназначен Casr?

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

Опыт внедрения

CASR используется для анализа аварийных завершений в инструменте Sydr (ИСП РАН).

Системные требования

Поддержка ОС семейства Linux x86 (32/64), aarch64, RISCV64.

Схема работы

Casr: инструмент формирования отчётов об ошибках

Разработчик/участник

Компиляторные технологии

Перейти к списку всех технологий