

«АК-ВС 3» представляет собой инструмент, предназначенный для автоматизации процесса проведения испытаний при сертификации в соответствии с требованиями различных регуляторов, а также для выполнения периодических проверок в рамках разработки безопасного программного обеспечения.
Инструмент объединяет три ключевых метода динамического анализа, которые позволяют детально исследовать поведение программы в условиях реального исполнения, обнаруживать как типовые, так и трудноуловимые ошибки, и обеспечивать соответствие современным требованиям к безопасности программного обеспечения.
ДИНАМИЧЕСКИЙ АНАЛИЗ БЕЗОПАСНОСТИ ПРИЛОЖЕНИЙ (DAST)
Динамический анализ безопасности приложений представляет собой процесс выявления уязвимостей в режиме выполнения (run-time) программного обеспечения. Основные методы динамического анализа включают общий сбор путей выполнения (трассировку выполнения), полносистемный анализ и фаззинг-тестирование.
Общий сбор путей выполнения включает проведение сборки исходных текстов, в которые будут интегрированы специальные датчики. Эти датчики отслеживают проходящие через них вызовы функций и осуществляют запись логов в файл, на основе которых впоследствии осуществляется анализ и формируется трасса выполнения. Это позволяет определить, какие блоки кода были вызваны, а какие остались неиспользованными, а также проследить за прохождением по веткам выполнения.
Таким образом, можно выделить следующие этапы трассировки выполнения:
Данный подход в АК-ВС 3 позволяет выявить наиболее используемые участки кода, а при наличии всех возможных сценариев работы программы с помощью данного метода возможно найти «мёртвый код». В результате данный анализ позволяет из всей кодовой базы выделить именно те участки кода, которые требуют тщательного анализа безопасности кода.
ПОЛНОСИСТЕМНЫЙ ДИНАМИЧЕСКИЙ АНАЛИЗ (КОД 2)
АК-ВС 3 обеспечивает эффективное выполнение полносистемного динамического анализа благодаря способности записывать и воспроизводить сценарии работы системы в контролируемой виртуальной среде. Это осуществляется за счёт использования специализированной платформы QEMU и возможностей виртуализации, предоставляемых инструментом. Виртуализация позволяет фиксировать состояние системы на любом этапе, что, в свою очередь, упрощает диагностику сложных и скрытых проблем.
Одной из ключевых особенностей АК‑ВС 3 является автоматизированное отслеживание и анализ «помеченных данных» и функций, изменяющих их, что позволяет оперативно выявлять источники и пути распространения «чувствительной» информации и проверять корректность обращения с секретами путём поиска их следов в артефактах работы программы — от переменных окружения до оперативной памяти.
АК-ВС 3 также обеспечивает визуальное представление результатов анализа. Например, с помощью таких инструментов, как граф процессов и flame-граф, пользователи могут легко интерпретировать результаты, видеть конкретные места возникновения проблем безопасности и оперативно устранять их. Это значительно сокращает время анализа и повышает эффективность работы специалистов.
Важным преимуществом инструмента является высокая точность и глубина анализа, достигаемая за счёт сочетания динамического подхода с возможностью детального просмотра состояния памяти и сети на момент выполнения сценария.
Этапы полносистемного анализа включают:
Рисунок 1. Граф, отражающий последовательность вызова функций/программ. Синим отмечены «заражённые» объекты, в которых модифицируются помеченные данные
ФАЗЗИНГ-ТЕСТИРОВАНИЕ
Фаззинг-тестирование представляет собой метод исследования, при котором на вход программы подаются случайные данные. В АК-ВС 3 реализован современный подход фаззинг-тестирования, основанный на использовании обратной связи (feedback-based fuzzing). Данный подход значительно увеличивает качество проводимого тестирования, так как в данном случае инструмент получает информацию о том, как случайные данные влияют на систему. Стоит отметить, что для получения наиболее точной информации о внутреннем состоянии программы данный подход требует доступа к исходному коду программы. Однако также предусмотрена возможность фаззинг-тестирования без статического инструментирования, если доступ к исходным текстам ограничен. Входные данные генерируются с использованием как мутационных, так и генерационных методов. Для повышения качества генерируемых данных возможно использование динамического символьного выполнения—метода, при котором внутренние и внешние данные программы оцениваются как абстрактные символьные переменные, а не как конкретные значения.
АК-ВС 3 содержит в себе все необходимые модули для качественного проведения фаззинг-тестирования:
Также необходимо отметить удобство использования веб‑интерфейса АК‑ВС 3 — одна из тех деталей, которые превращают фаззинг в прозрачный рабочий процесс. Достаточно открыть браузер, выбрать проект, и вы сразу видите живую картину: как меняется интенсивность прогона по времени, сколько найдено уникальных сбоев и другую сводку результатов фаззинг-тестирования (рис. 2).
Рисунок 2. Статистика о выполнении фаззинг-тестирования в АК-ВС 3
ЗАКЛЮЧЕНИЕ
АК‑ВС 3 — комплексное решение для обеспечения безопасности программного обеспечения, объединяющее современные методы анализа и механизмы соблюдения нормативных требований. Благодаря гибкой архитектуре и интеграции с конвейерами CI/CD продукт легко встраивается в процессы разработки и выступает единой мощной платформой тестирования. На одной площадке можно проводить разные виды проверок и выполнять регулярный анализ безопасности на протяжении всего жизненного цикла ПО. Клиент‑серверная архитектура обеспечивает быструю интеграцию, масштабируемость и удобное сопровождение, позволяя централизованно управлять проектами и распределять вычислительную нагрузку между несколькими узлами в инфраструктуре разработчика.
Для отслеживания последних новостей в сфере информационной безопасности подписывайтесь на наш телеграм-канал EchelonEyes.
Реклама. АО «НПО «ЭШЕЛОН», ИНН: 7718676447, Erid: 2VfnxyLFCba
Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных
Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных