Спецпроекты

ПО Свободное ПО Софт Безопасность Стратегия безопасности

«Базис» и ИСП РАН при поддержке «Фобос-НТ» обнаружили уязвимости в популярном открытом ПО виртуализации

Специалисты «Базис», компании-лидера российского рынка средств виртуализации, вместе с сотрудниками ИСП РАН и испытательной лаборатории «Фобос-НТ» провели очередной этап тестирования компонентов с открытым исходным кодом, которые используются в инструментах виртуализации по всему миру, в том числе в продуктах компании. Результатом совместной работы стало обнаружение и последующее устранение 191 дефекта в коде, некоторые из которых были расценены как уязвимости. Об этом CNews сообщили представители компании «Базис».

В рамках нового этапа испытаний тестировались следующие компоненты с открытым исходным кодом: nginx, ActiveMQ Artemis, Apache Directory, libvirt-exporter, QEMU. Особое внимание было уделено libvirt – сбой в работе этой библиотеки может нанести ущерб инфраструктуре и привести к утечке конфиденциальной информации, поэтому она была подвергнута комплексному исследованию. Перечисленные компоненты используются вендорами по всему миру – libvirt предоставляет API для управления виртуальными машинами, nginx помогает балансировать нагрузку и т.д. – и от качества их работы зависит множество российских и иностранных решений для работы с виртуальными средами.

При разработке и тестировании продуктов «Базис» применяются различные виды анализа, такие как фаззинг, статический анализ, композиционный анализ, модульное и функциональное тестирование. На прошедшем этапе испытаний основной упор исследователи сделали на разметке срабатываний статического анализатора Svace (разработан в ИСП РАН) и создании фаззинг-целей.

Статический анализ выявил 178 дефектов в коде тестируемых компонентов. Изучив их, специалисты ИСП РАН и «Базис» разработали 86 исправлений, которые были приняты в основные ветки разработки соответствующих проектов. Большая часть срабатываний относилась к популярному брокеру сообщений ActiveMQ Artemis и серверу каталогов Apache Directory.

Фаззинг-тестирование выявило еще 13 дефектов в коде – пять в Apache Directory LDAP API и восемь в библиотеке libvirt. Последние были найдены в ходе проверки функций обработки инструкций, которые потенциально могут быть получены из конфигурационных файлов при создании виртуальной машины. В частности, были найдены ошибки, связанные с переполнением буфера, а также несколько проблем, связанных с неоптимальной работой функций в отношении некоторых контроллеров. Все поданные исправления были оперативно приняты в основные ветки разработки libvirt и Apache Directory.

В рамках подготовки к тестированию для наиболее критичных компонентов открытого ПО, лежащих на поверхности атаки, были разработаны фаззинг-тесты. Их можно найти в соответствующих проектах на GitLab-портале Центра исследований безопасности системного ПО. В дальнейшем созданные сотрудниками ИСП РАН и «Базис» цели послужили исследованиям, которые специалисты «Фобос-НТ» выполняли на своих мощностях. Найденные коллегами дефекты также были учтены при обновлении компонентов с открытым исходным кодом в продуктах «Базис».

«Мы очень серьезно относимся к качеству кода экосистемы «Базис», поэтому тестируем на ошибки и уязвимости не только собственный код, но даже компоненты с открытым исходным кодом, которые используем. Более того, без такого тестирования невозможны современная безопасная разработка и сертификация. Такой подход делает наши решения более качественными и защищенными, а также вносит вклад в развитие открытых инструментов виртуализации, которые используются различными вендорами по всему миру. Реализовать его было бы сложно без партнеров, сотрудничество с ИСП РАН и НТЦ «Фобос-НТ» позволяет «Базису» выстраивать качественные процессы безопасной разработки и тестирования инструментов виртуализации, повысить уровень зрелости экосистемы. В результате наши продукты не только сертифицированы ФСТЭК России, но и в максимально короткие сроки проходят инспекционный контроль. В итоге наши заказчики могут быть уверены, что решения «Базиса» проверены, а созданная на их основе инфраструктура компании безопасна», – отметил Дмитрий Сорокин, технический директор компании «Базис».

Очередной этап тестирования и исследования кода проходил на инфраструктуре Центра исследований безопасности системного ПО, созданного ФСТЭК России на базе ИСП РАН. Компания «Базис» принимает непосредственное участие в деятельности Центра и является активным участником РБПО-процессов, инициируемых и развиваемых ФСТЭК России. Работы по разметке и созданию целей для фаззинга выполнялись совместно с ИСП РАН, к решению этой задачи были привлечены студенты профильных специальностей МГТУ им. Н.Э. Баумана и Чебоксарского государственного университета. Сотрудники испытательной лаборатории НТЦ «Фобос-НТ» проводят сертификационные испытания продуктов «Базис» и занимаются улучшением фаззинг-тестов, в том числе разработанных компанией.

Короткая ссылка