Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
Как СВД ВС использует PVS-Studio в...

Как СВД ВС использует PVS-Studio в сертифицируемой разработке защищённой ОС

05 Дек 2025

Мы продолжаем рассказывать, как компании используют PVS-Studio. В этом кейсе — опыт компании СВД ВС.

О компании

СВД ВС — разработчик защищённых операционных систем реального времени, работающих как на российских, так и на зарубежных процессорных архитектурах.

Главный продукт компании — ЗОСРВ "Нейтрино". Это POSIX-совместимая встраиваемая операционная система жёсткого реального времени со встроенными средствами защиты информации от несанкционированного доступа. Нейтрино используется заказчиками преимущественно в составе систем управления оборудованием. ЗОСРВ "Нейтрино" включена в Реестр российского программного обеспечения и сертифицирована по требованиям безопасности информации к операционным системам.

В СВД ВС работает группа разработки СЗИ (средств защиты информации). Она занимается вопросами сертификации и информационной безопасности, а также участвует во внедрении процессов разработки безопасного программного обеспечения (РБПО). Статический анализ кода является важным этапом процесса безопасной разработки.

Задача

Вопросы безопасности всегда были в центре внимания команды разработки СВД ВС из-за высоких требований к защите со стороны пользователей конечного продукта. Исходя из этих приоритетов компания последовательно выстраивала комплексный процесс разработки безопасного ПО, важной частью которого является статический анализ кода.

Для обеспечения контроля качества кода команда начинала с использования встроенных инструментов компилятора: pedantic-mode, строгих настроек сборки, — а затем перешла к тестированию open source решений для проверки кода. Постепенно стало очевидно, что текущих инструментов не хватает, чтобы обеспечить уровень безопасности, необходимый для сертификации и соответствующий ожиданиям заказчиков.

"Open source — не лучший выбор для сертифицируемых решений", — Евгений Дужак, руководитель группы СЗИ.

Команда разработки приступила к поиску коммерческого инструмента статического анализа кода, который бы решал несколько ключевых задач:

  • Гарантия прохождения сертификации. Статический анализатор должен предоставлять опции, необходимые для формирования достоверных отчётов о качестве кода продукта. Отчёты принимаются лабораториями и используются для обеспечения требуемого уровня контроля и подтверждения качества.
  • Интеграция статического анализа в текущий pipeline разработки как части процесса верификации (проверки проекта на соответствие проектной документации, техническим спецификациям и стандартам). Это необходимо для обеспечения регулярной и непрерывной проверки кода как на уровне "пакетов" (с генерацией кумулятивных отчётов за период), так и при внесении изменений через pull-реквесты.
  • Адаптация инструмента под уникальные особенности проекта. Статический анализатор должен корректно работать с многомодульными репозиториями и большими кодовыми базами, а также иметь возможность гибкой настройки и доработки с учётом специфики продукта.

Решение

Для решения поставленных задач команда СВД ВС выбрала PVS-Studio. Инструмент оказался наиболее подходящим по сочетанию функций, совместимости с инфраструктурой и гибкости интеграции. Дополнительным преимуществом стала декларация о соответствии требованиям ФСТЭК России, что позволило использовать анализатор для программных продуктов, проходящих сертификацию.

Анализатор PVS-Studio плавно встроился в процесс сборки. Для соблюдения строгих требований по воспроизводимости контрольных сумм сборки команда разработки СВД ВС организовала эталонное сборочное окружение — Docker-контейнер с установленным комплектом разработчика ЗОСРВ Нейтрино и PVS-Studio. Раз в неделю выполняется верификационная сборка (согласно требованиям нового ГОСТ 56939-2024), в ходе которой собирается информация по всем компонентам, чтобы отслеживать динамику качества кода и своевременно устранять негативные тенденции.

"Отчёт доступен внутри организации: каждый разработчик может просмотреть его, определить проблемные участки в зоне своей ответственности и внести исправления", — Евгений Дужак, руководитель группы СЗИ.

Контроль качества удалось выстроить так, что исходный код не покидает внутреннюю инфраструктуру:

"Мы нашли способы обезличивать данные: на внутреннем хранилище сохраняются только предупреждения, сам код не хранится. Всё лишнее мы отрезаем и публикуем только то, что нужно. Такой подход оказалось проще капсулировать, чем работать с сервером", — Евгений Дужак, руководитель группы СЗИ.

Инструмент оказался удобным для повседневной работы разработчиков: прежде всего при анализе отчётов, исправлении ошибок и проверке изменений в pull-реквестах для обеспечения непрерывного контроля качества кода.

"Наши разработчики привыкли работать с кодом в системе контроля версий. С PVS-Studio это гораздо проще, возможно, именно потому, что не нужно отправлять что-то на удалённый сервер, чтобы посмотреть результат. Быстро формируется прекрасный HTML-отчёт, и с ним сразу можно работать", — Евгений Дужак, руководитель группы СЗИ.

В отличие от ранее протестированных решений, PVS-Studio показал устойчивость при анализе больших объёмов кода и корректно работал с многомодульной структурой проекта:

"У нас внедрение анализатора произошло в момент перехода с условно монолитной организации. Предыдущий тестируемый статический анализатор не справлялся с некоторыми частями нашей операционной системы — видимо, ему не хватало оперативной памяти. С PVS таких проблем не возникло: он корректно обработал все наши репозитории, выдал полезные замечания, и у нас сразу был материал для работы", — Евгений Дужак, руководитель группы СЗИ.

Команда СВД ВС также отметила высокий уровень технической поддержки PVS-Studio, благодаря которой продукт удалось адаптировать под особенности операционной системы.

"В PVS-Studio очень отзывчивая техподдержка. Мы сталкивались со сложностями из-за особенностей нашей системы, которая сильно отличается от большинства операционных систем на рынке. По возникавшим вопросам нам быстро отвечали и в том числе адаптировали продукт под наши потребности", — Евгений Дужак, руководитель группы СЗИ.

В процессе работы команда PVS-Studio оперативно адаптировала продукт под требования СВД ВС, реализовав улучшения, которые заметно повысили эффективность и удобство использования анализатора:

  • Расширение функциональности: добавлена поддержка специальной версии IDE для ОС Нейтрино (6.0, Windows), реализована поддержка мониторинга компиляции процессов, запущенных под fakeroot, добавлен отдельный код возврата анализатора в случае отсутствия файлов для анализа.
  • Доработки анализатора: улучшена производительность анализатора при обработке вложенных циклов, расширена поддержка аннотаций для системных функций dlopen, pthread_create, dup2 и mbrtowc. Кроме того, был улучшен механизм принудительного анализа файлов, помеченных как системные, и добавлена возможность формирования отчёта даже при отсутствии предупреждений.

"Такой живой, быстрый диалог с оперативными решениями показал нам, что стоит выбрать PVS-Studio, а не что-то другое", — Евгений Дужак, руководитель группы СЗИ.

Многие улучшения PVS-Studio появляются благодаря обратной связи от Enterprise-пользователей. Полный список улучшений можно увидеть здесь.

Результаты

Сертификация

Комплексный подход СВД ВС к разработке безопасного ПО, включающий регулярное использование статического анализатора PVS-Studio, позволяет компании разрабатывать продукт, соответствующий требованиям испытательной лаборатории "Эшелон" и органов по сертификации.

"PVS-Studio принимается сертификационной системой," — Евгений Дужак, руководитель группы СЗИ.

Интеграция PVS-Studio в Комплект разработчика для Нейтрино

Комплект разработчика (КР) — среда разработки от СВД ВС, объединяющая инструменты для разработки, отладки и тестирования прикладного и системного программного обеспечения, работающего в Нейтрино.

СВД ВС предоставили пользователям КР возможность работать с PVS-Studio в едином инструментальном окружении: после совместной работы над адаптацией плагина PVS-Studio для Qt Creator под ОС Нейтрино, статический анализатор стал частью комплекта разработчика.

Это позволяет командам, разрабатывающим программное обеспечение под ОС Нейтрино, эффективно использовать анализатор и улучшать качество своего кода: интеграция позволяет автоматически выявлять ошибки, потенциальные уязвимости и проверять код на соответствие стандартам.

Таким образом, сотрудничество СВД ВС с PVS-Studio вышло за рамки формата "поставщик — клиент", став технологическим партнёрством.

"Мы хотели показать пользователям Комплекта, что есть прекрасный инструмент, который помогает улучшать качество кода и с которым можно работать напрямую в IDE," — Евгений Дужак, руководитель группы СЗИ.

Снижение количества ошибок и потенциальных уязвимостей в коде

Благодаря эффективной интеграции PVS-Studio в процесс сборки, регулярное применение анализатора стало неотъемлемой частью внутреннего процесса верификации. Систематическое использование инструментальных средств вместе с полноценным внедрением процессов РБПО позволяет разработчикам СВД ВС поддерживать высокий уровень качества кода, вовремя выявлять ошибки и потенциальные уязвимости, что подтверждается результатами взаимодействия с органами сертификации.

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

"У нас плановый статический анализ не прекращается. Разработчики СВД ВС активно пользуются анализатором, тем самым повышая качество кода. Со временем они учатся и начинают сразу писать код, который требует меньше исправлений", — Евгений Дужак, руководитель группы СЗИ.

Кроме того, регулярное использование статического анализатора демонстрирует, что решения с открытым исходным кодом могут быть недостаточно надёжными для использования при разработке продуктов с высокими требованиями к безопасности.

"Статический анализатор показывает, что популярный open source код далеко не всегда безопасен. Код создают люди, а люди могут ошибаться, и в open source проектах порой сложно определить, кто несёт ответственность за качество. Статический анализатор помогает разработчикам выявлять потенциальные риски и показывает, что заимствованный код необходимо тщательно проверять и нести за него ответственность", — Евгений Дужак, руководитель группы СЗИ.

Партнёрские активности

Долговременное сотрудничество СВД ВС с PVS-Studio развилось в технологическое партнёрство, основанное на открытом диалоге и общих интересах в области безопасной разработки.

Совместные мероприятия, вебинары и отраслевые конференции укрепляют партнёрские связи между СВД ВС и PVS-Studio и создают дополнительные возможности для обмена опытом. Такое взаимодействие помогает поддерживать актуальность подходов к качеству кода и развивать внутренние процессы компании, сохраняя их в соответствии с современными требованиями индустрии.

"В первую очередь именно публичный образ PVS, как компании, и живое общение помогли прийти к общему пониманию. Участие в конференциях, митапах, совместные инициативы — всё это усилило взаимодействие", — Евгений Дужак, руководитель группы СЗИ.

Среди последних совместных вебинаров СВД ВС и PVS-Studio: "Эффективная разработка с Нейтрино и PVS-Studio" и одиннадцатый вебинар на тему динамического анализа кода из цикла "Вокруг РБПО за 25 вебинаров".

Заключение

Благодаря зрелой системе процессов РБПО и комплексному подходу к разработке, частью которого является статический анализатор PVS-Studio, СВД ВС выстраивает устойчивую систему обеспечения безопасности и качества своего продукта, гарантируя его соответствие требованиям сертификации.

Партнёрство СВД ВС и PVS-Studio демонстрирует, как технологическая экспертиза и практический опыт могут сочетаться для создания надёжных и сертифицируемых решений, применяемых в системах с повышенными требованиями к безопасности.

Хотите оценить эффективность внедрения статического анализа в вашей компании? Протестируйте бесплатную пробную версию PVS-Studio по ссылке и свяжитесь с нами для получения информации о ценах.

Последние статьи:

Опрос:

book gost

Дарим
электронную книгу
за подписку!



Комментарии (0)

Следующие комментарии next comments
close comment form