Специалисты «Базис», компании-лидера российского рынка средств виртуализации, вместе с сотрудниками ИСП РАН и испытательной лаборатории «Фобос-НТ» провели очередной этап тестирования компонентов с открытым исходным кодом, которые используются в инструментах виртуализации по всему миру, в том числе в продуктах компании. Результатом совместной работы стало обнаружение и последующее устранение 191 дефекта в коде, некоторые из которых были расценены как уязвимости.
В рамках нового этапа испытаний тестировались следующие компоненты с открытым исходным кодом: nginx, ActiveMQ Artemis, Apache Directory, libvirt-exporter, QEMU. Особое внимание было уделено libvirt — сбой в работе этой библиотеки может нанести ущерб инфраструктуре и привести к утечке конфиденциальной информации, поэтому она была подвергнута комплексному исследованию. Перечисленные компоненты используются вендорами по всему миру — libvirt предоставляет API для управления виртуальными машинами, nginx помогает балансировать нагрузку и т.д. — и от качества их работы зависит множество российских и иностранных решений для работы с виртуальными средами.
При разработке и тестировании продуктов «Базис» применяются различные виды анализа, такие как фаззинг, статический анализ, композиционный анализ, модульное и функциональное тестирование. На прошедшем этапе испытаний основной упор исследователи сделали на разметке срабатываний статического анализатора Svace (разработан в ИСП РАН) и создании фаззинг-целей.
Статический анализ выявил 178 дефектов в коде тестируемых компонентов. Изучив их, специалисты ИСП РАН и «Базис» разработали 86 исправлений, которые были приняты в основные ветки разработки соответствующих проектов. Большая часть срабатываний относилась к популярному брокеру сообщений ActiveMQ Artemis и серверу каталогов Apache Directory.
Фаззинг-тестирование выявило еще 13 дефектов в коде — 5 в Apache Directory LDAP API и 8 в библиотеке libvirt. Последние были найдены в ходе проверки функций обработки инструкций, которые потенциально могут быть получены из конфигурационных файлов при создании виртуальной машины. В частности, были найдены ошибки, связанные с переполнением буфера, а также несколько проблем, связанных с неоптимальной работой функций в отношении некоторых контроллеров. Все поданные исправления были оперативно приняты в основные ветки разработки libvirt и Apache Directory.
В рамках подготовки к тестированию для наиболее критичных компонентов открытого ПО, лежащих на поверхности атаки, были разработаны фаззинг-тесты. Их можно найти в соответствующих проектах на GitLab-портале Центра исследований безопасности системного ПО. В дальнейшем созданные сотрудниками ИСП РАН и «Базис» цели послужили исследованиям, которые специалисты «Фобос-НТ» выполняли на своих мощностях. Найденные коллегами дефекты также были учтены при обновлении компонентов с открытым исходным кодом в продуктах «Базис».
«Мы очень серьезно относимся к качеству кода экосистемы «Базис», поэтому тестируем на ошибки и уязвимости не только собственный код, но даже компоненты с открытым исходным кодом, которые используем. Более того, без такого тестирования невозможны современная безопасная разработка и сертификация. Такой подход делает наши решения более качественными и защищенными, а также вносит вклад в развитие открытых инструментов виртуализации, которые используются различными вендорами по всему миру. Реализовать его было бы сложно без партнеров, сотрудничество с ИСП РАН и НТЦ «Фобос-НТ» позволяет «Базису» выстраивать качественные процессы безопасной разработки и тестирования инструментов виртуализации, повысить уровень зрелости экосистемы. В результате наши продукты не только сертифицированы ФСТЭК России, но и в максимально короткие сроки проходят инспекционный контроль. В итоге наши заказчики могут быть уверены, что решения «Базиса» проверены, а созданная на их основе инфраструктура компании безопасна», — отметил Дмитрий Сорокин, технический директор компании «Базис».
Очередной этап тестирования и исследования кода проходил на инфраструктуре Центра исследований безопасности системного ПО, созданного ФСТЭК России на базе ИСП РАН. Компания «Базис» принимает непосредственное участие в деятельности Центра и является активным участником РБПО-процессов, инициируемых и развиваемых ФСТЭК России. Работы по разметке и созданию целей для фаззинга выполнялись совместно с ИСП РАН, к решению этой задачи были привлечены студенты профильных специальностей МГТУ им. Н.Э. Баумана и Чебоксарского государственного университета. Сотрудники испытательной лаборатории НТЦ «Фобос-НТ» проводят сертификационные испытания продуктов «Базис» и занимаются улучшением фаззинг-тестов, в том числе разработанных компанией.
Источник: