Чтобы отвечать вызовам современных угроз безопасности информации, инструменты разработки безопасного ПО должны не только существовать, но и доказывать свою эффективность на практике. Так в конце 2025 года завершились масштабные испытания статических анализаторов исходного кода, проведённые при поддержке ФСТЭК России.
Эти испытания стали важным этапом в развитии отечественных средств анализа кода и позволили сформировать более прозрачное представление о текущем уровне инструментов статического анализа и их соответствии требованиям ГОСТ Р 71207–2024.
Для нашей команды участие в испытаниях стало возможностью получить независимую оценку ключевых характеристик анализатора на реальных тестовых наборах, а также сопоставить результаты с другими решениями в рамках единых испытаний [1].
При оценке качества статических анализаторов использовались классические метрики, отражающие корректность их срабатываний.
Результаты по C/C++
По основной формуле для языков C/C++ анализатор АК-ВС 3 показал следующие результаты:
Первое место по показателю TN имеет особую практическую значимость, поскольку низкое количество ложных срабатываний напрямую снижает трудозатраты на анализ отчётов и повышает применимость инструмента в промышленных проектах с большими кодовыми базами.
Результаты по Java
Для языка Java результаты АК-ВС 3 распределились следующим образом:
Несмотря на более низкую позицию по показателю TP, суммарная метрика TN + TP демонстрирует второе место, что указывает на сбалансированное качество анализа в целом. Высокое значение TN подтверждает низкий уровень ложных срабатываний, что особенно важно для Java-проектов, использующих большое количество типовых библиотек, фреймворков и повторяющихся шаблонов кода.
При всём том, что результаты по части заявленных языков программирования (C#, Go, JavaScript, Python) не были озвучены, в совокупности результаты по C/C++ и Java показывают, что АК-ВС 3 демонстрирует высокие значения по ключевым метрикам.
Развитие АК-ВС 3
Отдельную ценность представляет не только итоговая оценка, но и обратная связь, полученная в ходе испытаний. По сути, испытания стали источником данных о тех направлениях развития инструмента, которые требуют приоритетного внимания и способны дать наибольшую практическую пользу при реальном использовании.
Так, в рамках дальнейшего развития продукта планируется расширение перечня поддерживаемых языков программирования, включая Swift и Kotlin, что позволит применять инструмент при анализе более широкого круга современных программных проектов, включая мобильные приложения.
Особое внимание уделяется развитию модуля фаззинг-тестирования, нацеленного на существенное повышение эффективности динамического анализа [2]. В частности, реализована поддержка всех основных режимов инструментации AFL++, что позволяет более гибко адаптировать процесс фаззинга к особенностям исследуемого программного обеспечения. Для оптимизации использования вычислительных ресурсов разработаны механизмы распределения ядер процессора между различными режимами фаззинга, а также предоставлена возможность создания пользовательских схем распределения. Автоматизирован процесс сборки проекта во всех режимах инструментации, и, что немаловажно, в отчёте по результатам фаззинга теперь доступны графики скорости фаззинга и детальная информация о достигнутом покрытии кода, позволяющие оценить эффективность проведённого тестирования. Параллельно развивается модуль полносистемного динамического анализа Код2, который обеспечивает запись, последующий анализ полносистемных трасс, а также позволяет автоматизировано определять поверхность атаки исследуемого ПО.
Дополнительно планируется разработка веб-интерфейса для IDE «Эшелониум», которая в настоящее время доступна в виде десктопного приложения. Так процесс просмотра, анализа и разметки результатов статического анализа станет ещё более удобным.
Следующий этап в развитии РБПО: композиционный анализ
Не стоит забывать о том, что практики разработки безопасного ПО не ограничиваются статическим и динамическим анализом [3]. Всё большую роль играет управление рисками, связанными с заимствованными компонентами: библиотеками, фреймворками, сторонними пакетами. Это находит отклик как в отечественных регуляторных требованиях, так и в международных практиках.
Если статический и динамический анализ уже реализованы и активно развиваются в составе АК-ВС 3, то композиционный анализ выделен в отдельное направление.
В настоящее время в разработке находится инструмент CAT (Composition Analysis Tool) — средство композиционного анализа, предназначенное для:
Важно подчеркнуть, что CAT будет доступен как в виде самостоятельного продукта, так и в качестве модуля в составе АК-ВС 3, что позволит разработчикам выстроить конвейер РБПО, включающий сразу три вида анализа.
В завершение отметим, что всем, кто интересуется статическим анализом исходного кода, практическими примерами и новостями в этой области, будет полезно подписаться на Telegram-канал @AK_BC_3.
[1] Сравнительный анализ и выбор статических анализаторов безопасности кода / Марков А. С., Антипов И. С., Арустамян С. С., Магакелова Н. А. // Вопросы кибербезопасности. 2024. №5 (63). С. 79–88.
[2] Интеллектуальные методы фаззинг-тестирования в рамках цикла безопасной разработки программ / Арустамян С. С., Антипов И. С. В сборнике: Безопасные информационные технологии. Сборник трудов Двенадцатой международной научно-технической конференции. Москва, 2023. С. 11–15.
[3] Вареница В. В., Марков А. С., Цирлов В. Л. [и др.]. Как избежать ошибок при безопасной разработке программного обеспечения / Москва: Квант-медиа, 2025. — 344 с. — ISBN978–5–605–33861–1.
Арустамян С. С., Вареница В. В., Марков А. С. Методические и реализационные аспекты внедрения процессов разработки безопасного программного обеспечения // Безопасность информационных технологий. 2023. Т. 30. №2. С. 23–37.
Реклама. АО НПО «ЭШЕЛОН», ИНН: 7718676447, Erid: 2VfnxxJZpWd
Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных
Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных