Итоги этапа «Домашнее задание» испытаний статических анализаторов под патронажем ФСТЭК России

7 июля, 2025

Итоги этапа «Домашнее задание» испытаний статических анализаторов под патронажем ФСТЭК России

В апреле-мае 2025 года состоялся первый этап испытаний открытых и коммерческих статических анализаторов исходных кодов компилируемых и динамических языков программирования под патронажем ФСТЭК России. Полный отчёт об итогах этапа был согласован участниками и жюри и передан организаторам испытаний.

Испытания разделены на два этапа: «Домашнее задание» и «Основной этап». Ключевые положения и результаты первого этапа и планы на следующий представлены ниже.

 

1. Цели и задачи испытаний

Подробное описание целей, задач и условий испытаний приведены в публикации «Испытания статических анализаторов» (BIS Journal — «Информационная безопасность бизнеса», № 2(57) 2025, стр. 72–82). Далее изложены основные положения.

Цели испытаний:

  • оценка технологических возможностей отечественных и открытых статических анализаторов исходного кода;
  • формирование публичных методик оценки и критериев применимости анализаторов в различных видах исследований и испытаний.

Критерии оценки:

  • соответствие требованиям ГОСТ Р 71207–2024 [1];
  • соответствие дополнительным критериям, вырабатываемым жюри.

Предметная область испытаний:

  • компилируемые языки программирования (C / C++ / Java / Go / C#);
  • интерпретируемые языки программирования с динамической типизацией (Python / JavaScript).

Важно отметить, что в настоящий момент ФСТЭК России не предъявляет каких-либо специальных требований к инструментам статического анализа, на соответствие которым возможно проводить сертификационные испытания инструментов. Как следствие, любые требования заказчиком наличия сертификата ФСТЭК России на инструмент статического анализа являются его частной инициативой (подробнее — в эфире канала AMLive, выпуск «Как встроить безопасность в процесс разработки ПО: практика, ошибки, решения»). Одним из результатов испытаний может стать формирование таких требований и методик проверки соответствия им инструментов.

 

[1] ГОСТ Р 71207–2024. Защита информации Разработка безопасного программного обеспечения. Статический анализ программного обеспечения. Общие требования. ОКС 35-020, введён 1 апреля 2024 года.

 

2. Краткая характеристика этапа «Домашнее задание»

Решение задачи определения соответствия инструментов статического анализа ГОСТу Р 71207–2024 требует значительных усилий по подготовке и проведению испытаний. На этапе «Домашнее задание» участники, жюри и организаторы решали ряд задач подготовительного характера, которые перечислены ниже.

Задачи:

  • достижение необходимого уровня сплочения и единообразия взглядов коллективов участников и жюри, в том числе прямых конкурентов, для дальнейшей совместной работы;
  • формирование базового комплекта публичных, по возможности простых и атомарных, тестов для проверки базового соответствия статических анализаторов требованиям ГОСТ и дополнительным требованиям жюри:

— основной массив тестов и система его генерации подготовлен ИСП РАН,
— значимый вклад в развитие системы тестов внесли коллеги из АО «Позитив Текнолоджиз», ООО «ПВС» и АО «НПО "Эшелон"»,
— хостинг и управление репозиторием комплекта тестов предоставлены ООО «Базальт СПО».

  • определение характеристик (технических, временных, оценочных) проведения «Основного этапа» испытаний, в том числе формата комплекта тестов «Основного этапа»;
  • доработка участниками испытаний инструментов по итогам выявления существенных недостатков на этапе «Домашнее задание».

Условия этапа предполагают декларативный, неверифицируемый характер сведений о результатах, представленных в отчётах. Все участники испытаний самостоятельно запускали инструменты на базовом комплекте тестов и предоставляли жюри ими же заполненные таблицы с результатами разметки срабатываний. В задачи жюри не входило оценивать достоверность данных сведений — основной задачей было оценить эффективность предложенной системы оценки и определить порядок её доработки к началу «Основного этапа».

В таблице ниже представлен краткий перечень сильных и слабых сторон движков инструментов, который позволяет оценить их по качественным критериям, без каких-либо оценок количественных параметров и подтверждения соответствия требованиям ГОСТа.

 

3. Сводная таблица качественных результатов этапа «Домашнее задание»

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

 

4. План «Основного этапа» испытаний

Срок подготовки к проведению «Основного этапа» испытаний — до 5 августа 2025 года. В это время участники и представители жюри разрабатывают комплекты тестов, которые будут опубликованы непосредственно перед началом «Основного этапа» в условиях замороженных версий и конфигураций инструментов.

Комплект тестов «Основного этапа» будет состоять из двух блоков:

  1. Блок закрытого комплекта условно-атомарных тестов (Блок А) предназначен для оценки того, реализован ли конкретный предписанный ГОСТом Р 71207–2024 вид анализа в проверяемом инструменте. Также он позволит проверить наличие в инструментах функционала перехвата сборки, анализа распространения помеченных данных, предоставит возможность оценить работоспособность инструмента на больших проектах. Все участники испытаний, наравне с участниками жюри, могут разработать свои тесты для «Основного этапа».
  2. Блок разметки открытых компонентов (Блок Б) предназначен для подсчёта процента ложноположительных / ложноотрицательных срабатываний по методике ГОСТа Р 71207–2024. Вводятся три класса разметки: False Positive, Wont Fix и Confirmed. Для определения случаев Wont Fix и Confirmed служит методика Центра исследований безопасности системного ПО. Представители компаний в составе жюри предоставляют списки компонентов с открытым исходным кодом для исследования, из которых организаторы испытаний отберут по три компонента для каждого из ЯП.

Этап анализа тестов и открытых компонентов состоится в МГТУ им. Н. Э. Баумана в присутствии участников, жюри и организаторов 5 и 6 августа 2025 года. Далее, в течение трёх месяцев (до 1 ноября 2025 года) планируется совместное выполнение разметки и кросс-верификации результатов. В ноябре жюри сформирует и представит организаторам испытаний сводный отчёт, результаты которого ФСТЭК России запланировала огласить в декабре 2025 на Открытой конференции ИСП РАН.

Для организации массовой и эффективной разметки и кросс-верификации результатов испытаний к участию в «Основном этапе» в качестве экспертов будут приглашены представители ведущих отечественных разработчиков — лицензиатов ФСТЭК России. Для участия заинтересованные специалисты могут связаться с организаторами или модератором испытаний.

 

5. Стратегические задачи

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

  • необходимо определиться с порядком и рекомендациями разработчикам инструментов статического анализа и участниками РБПО-сообщества по использованию, поддержке и развитию комплекта тестов этапа «Домашнее задание», в том числе с учётом перспектив его популяризации в отечественной IT-отрасли;
  • необходимо провести работу по выработке, нотированию и имплементированию в инструментах статического анализа адаптеров единого варианта формата Sarif, допускающего обмен результатами инструментов в рамках работ Центра исследований безопасности системного ПО ФСТЭК России. 

 

6. Комментарии участников испытаний по итогам этапа «Домашнее задание»

ИСП РАН

Испытания, организованные регулятором, помогают всем участникам улучшить инструменты и в целом рынок — все коллеги отметили, что результаты тестов для них были крайне полезны. Получилось выстроить конструктивное общение, обменяться экспертизой — считаем это наиболее важным, и благодарны организаторам. Создание единого, публичного, поддерживаемого комплекта тестов для проверки инструментов статического анализа является важнейшим шагом, позволяющим объединить доступную в отрасли экспертизу, существенно расширить возможности тестирования и развития инструментов относительно известных ранее тестовых наборов. Ещё одним важным, системным шагом является озвученное ФСТЭК России предложение о создании единого формата (на основе формата Sarif) обмена результатами статического анализа, поддерживаемого всеми отечественными инструментами.

 

АО «Позитив Текнолоджиз»

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

Также хотелось бы отметить следующее: одной из архитектурных особенностей PT AI является способность автоматически определять возможность эксплуатации обнаруженных уязвимостей, т.е. проверять, может ли потенциальный злоумышленник использовать выявленные недостатки в программном коде для реализации атак. Однако поскольку тестовые примеры в большей части представляли собой ошибки в программном коде, которые не приводили к уязвимостям, инструмент не всегда отмечал их в отчётах.

 

ООО «ПВС»

Показатели PVS-Studio по TPR и TNR выше 50% по всем категориям критических ошибок, перечисленных в ГОСТе Р 71207–2024 (пп. 6.3, 6.5) и представленных в дополнительном комплекте тестов. Исключением является один показатель TNR 41% для тестов разыменования нулевых указателей в С / С++.

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

Анализатор PVS-Studio уже предоставлял возможность фильтрации предупреждений, выявляющей ошибки, которые согласно ГОСТу считаются критическими. Однако этап «Домашнего задания» подсветил существующие недостатки и стал поводом доработать разметку детекторов, сделав её более аккуратной.

 

АО «НПО "Эшелон"»

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

Этап «Домашнего задания» уже показал полезность испытаний: нам удалось выявить слабые места определённых чекеров и инициировать их доработку. АК-ВС 3 показал уверенные результаты и успешно отработал по всем пяти основным категориям тестов для C / C++, для которых достигнута высокая точность определения как TP, так и TN срабатываний. Ключевыми направлениями для доработки стали повышение точности анализа Java и C#, доработка модулей Python и JavaScript и развитие модуля Go. Полноценное соответствие ГОСТ в стадии активной доработки и является ключевой задачей на «Основном этапе» испытаний.

 

ООО «Базальт СПО»

«Базальт СПО» выступает в испытаниях не только в качестве члена жюри, но и как участник. Специалисты компании исследуют возможности свободных статических анализаторов по методике, подготовленной рабочей группой.

На этапе «Домашнее задание» выяснилось, что изначально выбранные анализаторы, рассматриваемые независимо друг от друга, дают высокий результат не для всех групп тестов. Было принято решение объединить несколько свободных инструментов под управлением единой платформы — CodeChecker, включающей clang-static-analyzer, clang-tidy, cppcheck и gcc. Эта связка зарекомендовала себя достаточно хорошо: TPR — 64,6 %, TNR — 85,3% по всему набору тестов, что соответствует пункту 8.4 ГОСТа Р 71207–2024.

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

«Базальт СПО» поддерживает решение организаторов испытаний и авторов тестов о публикации этого комплекта под свободной лицензией GPLv2. Специалисты «Базальт СПО» содействовали с размещением комплекта в открытом доступе на ресурсе altlinux.space.

 

Автор: Дмитрий Владимирович Пономарев, модератор испытаний, сотрудник ИЛ НТЦ Фобос-НТ/ ИСП РАН / МГТУ им. Н. Э. Баумана ИУ10

Стать автором BIS Journal

Смотрите также

Подписаться на новости BIS Journal / Медиа группы Авангард

Подписаться
Введите ваш E-mail

Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных

07.07.2025
«Это проще, чем самолётами пытаться вывозить конкретные кадры»
07.07.2025
Отец Twitter показал «бету» нового офлайн-мессенджера
07.07.2025
ЕС запускает план по внедрению квантово-безопасной инфраструктуры
07.07.2025
Цифровое министерство взялось за «сеньоров»
07.07.2025
«Альфа-Банк»: Багбаунти — ещё один шаг в сторону повышения защищённости
04.07.2025
Конгрессмен рассказал агентам ФБР про кибербез (не наоборот)
04.07.2025
«Это ускорит развитие национальной платёжной инфраструктуры»
04.07.2025
«Пар»? «Ростелеком» строит свой Steam
04.07.2025
«Не будет никакой остановки». Европейский AI Act — на марше
04.07.2025
В России всё же создадут базу биометрии мошенников

Стать автором BIS Journal

Поля, обозначенные звездочкой, обязательные для заполнения!

Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных