RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2020, том 32, выпуск 4, страницы 89–96 (Mi tisp526)

Эта публикация цитируется в 1 статье

CASR: анализ coredump файлов в ОС Linux и составление отчётов об ошибках

А. Н. Федотов, Ш. Ф. Курмангалеев

Институт системного программирования им. В.П. Иванникова РАН

Аннотация: Несмотря на то, что при разработке программного обеспечения используются различные технологии и подходы, позволяющие диагностировать ошибки на ранних этапах разработки и тестирования, часть ошибок обнаруживается во время эксплуатации. Для пользователя ошибки часто выглядят, как аварийное завершение программы во время работы. Для сбора отчётов об аварийных завершениях программ в операционную систему встраивается специальный компонент анализа. Такой компонент присутствует как в ОС Windows, так и в ОС на базе Linux, в частности в Ubuntu. Важным параметром является степень критичности найденной ошибки, причем данная информация полезна как разработчику дистрибутива, так и пользователю. В частности, пользователи, имея такую диагностику, могут принять организационно-технические меры до выхода исправления ошибки от разработчика программного обеспечения. В статье представлен CASR: инструмент анализа образа памяти в момент завершения процесса (coredump) и составления отчётов об ошибках. Инструмент позволяет проводить оценку критичности обнаруженного аварийного завершения путём анализа образа памяти, а также собирать необходимую информацию для разработчика, которая поможет исправить дефект. В качестве такой информации выступают версия дистрибутива ОС, версия пакета, карта памяти процесса, состояние регистров, значения переменных среды, стек вызовов, номер сигнала, который привёл к аварийному завершению, и т.д. Оценка критичности даёт возможность разработчику программного обеспечения исправить ошибки, которые являются наиболее опасными в первую очередь. CASR позволяет обнаружить файлы и сетевые соединения, которые были открыты в момент аварийного завершения. Эта информация поможет воспроизвести ошибку, а также принять меры пользователям и администраторам в случае атаки на систему. Инструмент предназначен для работы на ОС Linux, поддерживает архитектуры x86/64, armv7 и может поставляться в виде пакета для дистрибутивов на базе Debian. Инструмент был успешно протестирован на нескольких ошибках, сведения о которых были получены из открытых источниках.

Ключевые слова: оценка критичности, дамп памяти, отчёты об ошибках.

DOI: 10.15514/ISPRAS-2020-32(4)-6



© МИАН, 2024