Безопасность
ELF-парсера
в KasperskyOS

Разработчик тулчейнов рассказывает на Хабре о харденинге парсера ELF-файлов в KasperskyOS
Безопасность ELF-парсера в KasperskyOS

На Хабре вышла статья «Путешествие туда и обратно за безопасным ELF-парсером» нашего коллеги Максима Жукова, старшего разработчика группы разработки тулчейнов для KasperskyOS. В ней он поднимает важную и часто недооцененную проблему — надежность и безопасность системных компонентов, которые лежат в основе любой операционной системы, но редко попадают в фокус внимания. Один из таких компонентов — парсер ELF-файлов, то есть программа, которая обрабатывает исполняемые файлы в формате ELF (Executable and Linkable Format), используемые во многих UNIX-подобных системах. 

Безопасность ELF-парсера в KasperskyOS

Что делает парсер ELF? Он принимает бинарный файл и распаковывает его, чтобы система могла его исполнять, поняв, какие сегменты кода куда загружать, какие библиотеки подключать, какие права задать процессу и т. д. То есть это точка входа для любых исполняемых компонентов в систему.

Если в этой точке что-то пойдет не так — например, парсер будет некорректно интерпретировать структуру ELF-файла или упустит вредоносную вставку — злоумышленник может получить доступ к системе или обойти защиту. А теперь представьте, что вы используете эту систему в промышленности, транспорте или критической инфраструктуре. Уязвимость в парсере — это не просто ошибка, а дверь в вашу систему.

В KasperskyOS такая потенциальная брешь в безопасности неприемлема. Мы создаем системы, которым должны доверять по определению — в том числе и в ситуациях, когда обновление невозможно или непрактично. Это основа нашего кибериммунного подхода, где безопасность зашита в архитектуру.

Максим Жуков рассказывает в статье, как он искал способы сделать парсер ELF-файлов в KasperskyOS максимально надежным и проверяемым. Спойлер: его проверки были дополнены новыми этапами:

  • фаззингом через libFuzzer;
  • статическим анализом с PVS-Studio и Svace;
  • динамическим анализом с clang-стеком и санитайзерами;
  • пентестами;
  • продвинутым фаззингом с Melkor;
  • unit-тестами с CBMC.

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

Если вам интересна безопасная разработка и системное программирование — обязательно загляните в статью «Путешествие туда и обратно за безопасным ELF-парсером».

Безопасность ELF-парсера в KasperskyOS

На Хабре вышла статья «Путешествие туда и обратно за безопасным ELF-парсером» нашего коллеги Максима Жукова, старшего разработчика группы разработки тулчейнов для KasperskyOS. В ней он поднимает важную и часто недооцененную проблему — надежность и безопасность системных компонентов, которые лежат в основе любой операционной системы, но редко попадают в фокус внимания. Один из таких компонентов — парсер ELF-файлов, то есть программа, которая обрабатывает исполняемые файлы в формате ELF (Executable and Linkable Format), используемые во многих UNIX-подобных системах. 

Безопасность ELF-парсера в KasperskyOS

Что делает парсер ELF? Он принимает бинарный файл и распаковывает его, чтобы система могла его исполнять, поняв, какие сегменты кода куда загружать, какие библиотеки подключать, какие права задать процессу и т. д. То есть это точка входа для любых исполняемых компонентов в систему.

Если в этой точке что-то пойдет не так — например, парсер будет некорректно интерпретировать структуру ELF-файла или упустит вредоносную вставку — злоумышленник может получить доступ к системе или обойти защиту. А теперь представьте, что вы используете эту систему в промышленности, транспорте или критической инфраструктуре. Уязвимость в парсере — это не просто ошибка, а дверь в вашу систему.

В KasperskyOS такая потенциальная брешь в безопасности неприемлема. Мы создаем системы, которым должны доверять по определению — в том числе и в ситуациях, когда обновление невозможно или непрактично. Это основа нашего кибериммунного подхода, где безопасность зашита в архитектуру.

Максим Жуков рассказывает в статье, как он искал способы сделать парсер ELF-файлов в KasperskyOS максимально надежным и проверяемым. Спойлер: его проверки были дополнены новыми этапами:

  • фаззингом через libFuzzer;
  • статическим анализом с PVS-Studio и Svace;
  • динамическим анализом с clang-стеком и санитайзерами;
  • пентестами;
  • продвинутым фаззингом с Melkor;
  • unit-тестами с CBMC.

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

Если вам интересна безопасная разработка и системное программирование — обязательно загляните в статью «Путешествие туда и обратно за безопасным ELF-парсером».

Консультация по решению

Остались вопросы или требуется дополнительная информация по решению? Оставьте заявку на консультацию, и мы с вами свяжемся!

Задать вопрос

Отвечаем на самые популярные вопросы о KasperskyOS и решениях на ее основе

Перейти в FAQ
Мы используем файлы cookie, чтобы сделать работу с сайтом удобнее.
Продолжая находиться на сайте, вы соглашаетесь с этим. Подробную информацию о файлах cookie можно прочитать здесь.