BIS Journal №2(57)2025

27 марта, 2025

Испытания статических анализаторов

Испытания открытых и коммерческих статических анализаторов исходных кодов компилируемых и динамических языков программирования под патронажем ФСТЭК России [1] — это уникальное для отечественного рынка событие, свидетельствующее как о растущем уровне зрелости рынка и требований [2], так и о востребованности технологии статического анализа для организации процессов разработки безопасного и качественного ПО (далее — ​РБПО).

Особый интерес к испытаниям вызван формулировкой их целей (см. ниже) и антицелей. Во главу угла ставятся именно технологические возможности «движков» инструментов, определяемые и регламентируемые ГОСТ Р 71207–2024 [3].

Разумеется, конечного пользователя при выборе инструмента могут интересовать и иные критерии — ​наличие интеграционного функционала, наличие детекторов на актуальные «мисконфиги» (под этим термином понимается класс уязвимостей, связанных с неправильной настройкой ПО, например, установленные в настройках «по умолчанию» слабые режимы шифрования трафика веб-сервера), и даже наличие понятной маркетинговой стратегии разработчика инструмента. Естественно и желание увидеть некую совокупную метрику, сочетающую в себе «тёплое с мягким умноженное на цветовые предпочтения» — ​аналог точки в знаменитом «Гартнеровском квадрате».

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

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

[1] https://ib-bank.ru/bisjournal/news/21667

[2] https://ib-bank.ru/rbpo_pubs

[3] https://protect.gost.ru/document1.aspx?control=31&baseC=6&page=3&month=2&year=2024&search=&id=257752

 

Краткая характеристика испытаний

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

— оценка технологических возможностей отечественных и открытых статических анализаторов исходного кода

— формирование публичных методик оценки и критериев применимости анализаторов в различных видах исследований и испытаний

 

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

— соответствие требованиям ГОСТ Р 71207-2024 в части:

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

— соответствие дополнительным критериям, вырабатываемым жюри

 

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

— компилируемые языки программирования (Си / Си++ / Java / Go / C#)

— интерпретируемые языки программирования с динамической типизацией (Python / JavaScript)

 

Не войдут в критерии оценки

— наличие сертификатов тех или иных регуляторов или добровольных сертификаций

— интеграционный функционал и возможности инструментов по встраиванию, взаимодействию с иными видами анализаторов

— факты использования технологий искусственного интеллекта «в движке», либо «для приоритизации»

— функционал, требующий запуска ПО и его анализа в динамическом режиме

— активность маркетологов и рекламщиков; число статей и выступлений на коммерческих конференциях

 

План испытаний

 

Критерии оценки на этапе «Домашнее задание»

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

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

 

Комментарии от организаций-участников испытаний

ИСП РАН (участник испытаний)

Испытания статанализаторов — важная инициатива регулятора, которая решает сразу несколько задач. Во-первых, раскрывает сильные и слабые стороны анализаторов на едином наборе тестов как для пользователей-вендоров, так и для разработчиков самих анализаторов. Во-вторых, «обкатывает» положения недавно принятого ГОСТ 71207 в отношении к уровню технологий анализа и классам критических ошибок на ряде популярных языков программирования. Можно ожидать, что по итогам испытаний будут, кроме прочего, сформированы предложения по развитию требований ГОСТ. Наконец, методика испытаний в дальнейшем сможет стать основой для оценки и других инструментов, в частности, динамических анализаторов. Также важно, что все ведущие российские разработчики анализаторов откликнулись на предложение ФСТЭК. Совместно с коллегами приятно работать и обмениваться опытом, и мы уверены, что результаты испытаний будут интересны и полезны для всего сообщества.

 

ПВС (участник испытаний)

Благодаря инициативе ФСТЭК у разработчиков ПО и сертификационных лабораторий появится единая методика оценки инструментов при их выборе.

В ГОСТ Р 71207–2024 (раздел 7 и 8) перечислены требования, предъявляемые к инструментам СА. Однако пользователям затруднительно самостоятельно проверить, насколько им соответствует анализатор. Нужен большой набор синтетических (малых) и реальных (больших) тестов, проверяющих, что выявляются все типы критических ошибок (п. 6.7). Более того, тесты должны проверить, что детекторы СА реализованы на должном уровне и обеспечивают глубокий анализ кода. Имеется в виду, что тесты следует делать разносторонними и иногда сложными, чтобы убедиться, что в инструменте реализованы методы анализа, перечисленные в п. 7.4., например анализ потока данных.

Всё это возможно, но ресурсозатратно. Дополнительная сложность, что пользователи инструментов просто не обладают такой же экспертизой, какая есть у команд, разрабатывающих СА. Непонятно, как убедиться, что разработанные тесты действительно проверяют все важные аспекты.

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

Ценность разрабатываемой методики в том, что затем можно взять любой инструмент и достаточно быстро, надёжно и единообразно оценить, насколько он соответствует требованиям ГОСТ Р 71207–2024.

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

 

Базальт СПО (жюри и участник испытаний)

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

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

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

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

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

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

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

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

07.08.2025
МыЧатъ. «Госуслуги» в мессенджере Max уже скоро (?)
07.08.2025
Подтверждена совместимость MFA SOFT Secure Authentication Server и JumpServer PAM
07.08.2025
ФБР изъяло 2,4 млн долларов в «крипте» у Chaos Ransomware
07.08.2025
«Сколтех» займётся софтом и хардом для сетей связи нового поколения
07.08.2025
Минэк — технологический ФОИВ. Официально
07.08.2025
АО «Аладдин Р. Д.» представило новую версию корпоративного центра сертификации Aladdin Enterprise CA 2.2
07.08.2025
IaaS-гиганты стелют себе ИИ-соломку
07.08.2025
CISA предложило «Стратегии вытеснения» для помощи в реагировании на инциденты
06.08.2025
«По сути, мы внедряем принципиально новый подход к госслужбе»
06.08.2025
Банкиры и страховщики показали лучшие результаты в киберзащите

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

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

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