DIFFuzzer: обнаружение ошибок файловых систем с помощью дифференциального фаззинга серого ящика
Ковалевский, В.М. (ИТМО, Санкт-Петербург, Россия)
Кечин В.В. (ИТМО, Санкт-Петербург, Россия)
Ицыксон В.М. (ИТМО, Санкт-Петербург, Россия)
Аннотация
Файловые системы являются важнейшим компонентом любой современной операционной системы, будь то вычислительная система общего назначения или специализированная система хранения данных. Стоимость ошибки файловой системы очень высока; следовательно, существует потребность в эффективных инструментах для анализа качества и обнаружения ошибок в файловых системах. В данной статье представлен инструмент DIFFuzzer, который основан на методах фаззинга с использованием принципов серого и черного ящиков и реализует подход дифференциального динамического анализа, при котором поведение целевой файловой системы сравнивается с поведением другой, более качественной файловой системы, которая служит генератором эталонного поведения. При сравнении поведения анализируются как возвращаемые значения системных вызовов, так и агрегированное состояние файловых систем. Инструментарий также включает в себя редуктор, который минимизирует ошибочную трассу выполнения и генерирует короткий фрагмент, в котором ошибка все еще появляется. Разработанный инструмент был протестирован на нескольких файловых системах, совместимых с POSIX, и обнаружил несколько ошибок в ходе относительно короткого эксперимента.
Полный текст статьи в формате pdf
Ключевые слова
Издание
Труды Института системного программирования РАН, том 37, вып. 4, часть 2, 2025, стр. 31-46.
ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).
DOI: 10.15514/ISPRAS-2025-37(4)-17.
Для цитирования
Ковалевский, В.М., Кечин В.В., Ицыксон В.М. DIFFuzzer: обнаружение ошибок файловых систем с помощью дифференциального фаззинга серого ящика. Труды Института системного программирования РАН, том 37, вып. 4, часть 2, 2025, стр. 31-46. DOI: 10.15514/ISPRAS-2025-37(4)-17.