Выявление недостатков безопасности ядра Linux с применением фаззинга системных вызовов

Безопасность программного обеспечения
Авторы:
Аннотация:

Развитие операционных систем, построенных на базе ядра Linux, способствует более широкому применению дистрибутивов Linux в качестве основы системного программного обеспечения в информационных системах различного назначения, в том числе являющихся объектами критической информационной инфраструктуры. Целью работы является анализ имеющихся подходов и инструментов фаззинга системных вызовов ядра Linux, а также экспериментальное фаззинг-тестирование некоторых актуальных версий ядра, направленное на повышение общей безопасности ядра Linux. Для оценки и сравнения существующих типов уязвимостей уровня ядра Linux, а также подходов к фаззингу ядра, использовался теоретический анализ. Также применен метод эмпирического исследования, заключающийся в выявлении дефектов и уязвимостей в определенной конфигурации ядра Linux с помощью фаззинг-тестирования. Проанализированы критические уязвимости уровня ядра, подходы к фаззингу, в том числе системных вызовов, и проведено экспериментальное исследование с использованием фаззера syzkaller, в рамках которого выявлены дефекты и уязвимости в ядре Linux версий 4.9 и 5.4, в том числе уязвимость «использование памяти после освобождения». Исследование требует дальнейшего развития для обнаружения новых уязвимостей в актуальных версиях ядра