Supply Chain Security
Узнать большеМногие уязвимости и недекларированные возможности попадают в код еще в процессе создания продуктов. Разработчики должны предпринимать меры, чтобы устранить их до релиза программного обеспечения (далее – ПО) и представить пользователям надежные и безопасные решения. В этом разработчикам помогают различные виды тестирования ПО, например, анализ по методу White Box. В статье рассказываем, почему тестирование получило такое название, как и с помощью каких инструментов возможно его выполнить.
Что такое White Box-тестирование
White Box-тестирование (метод «белого ящика») получило такое название, поскольку для проведения качественного анализа по данному методу необходимо знать структуру исследуемого приложения и иметь доступ к исходному коду. Данная технология позволяет с первых стадий разработки проверять программный код на наличие недоработок, уязвимостей и недекларированных возможностей.
Методом White Box выполняется Static Application Security Testing (далее — SAST) — статическое сканирование приложений без необходимости развертывания продуктов в рабочей среде. Проверку можно выполнять вручную совместными усилиями тестировщиков, разработчиков и ИБ-специалистов, но надежнее автоматизировать процессы, используя специальный анализатор кода.
Когда применяется анализ White Box
Анализ SAST по методу White Box практически всегда интегрируют в цикл безопасной разработки ПО, применяют как к работе отделов разработки внутри компании, так и для кода, созданного по заказу в подрядных организациях. С его помощью можно обнаружить большинство уязвимостей и недекларированных возможностей в коде еще до сборки приложения.
С помощью White Box-тестирования можно контролировать защищенность ПО без привлечения разработчиков, только силами сотрудников ИБ-служб. Если применять специальный анализатор кода, где реализован SAST, все проблемы и уязвимости будут представлены в виде простых и понятных пользователю отчетов. Останется только систематизировать результаты и оповестить разработчиков о слабых местах программных продуктов, чтобы добиться устранения ошибок.
Отличия White Box от Black Box
Анализ Black Box — метод «черного ящика». По такому принципу выполняется динамическое тестирование Dynamic Application Security Testing (далее — DAST). Его главное отличие от SAST по методу White Box в том, что для его проведения не требуется иметь доступ к исходному программному коду и детально погружаться в структуру ПО.
Цель White Box — выявить ошибки, уязвимости и другие проблемы безопасности в коде программы. Анализ по методу Black Box позволяет проверить, как приложение будет вести себя в ходе эксплуатации. Именно поэтому проведение тестирования по методу «черного ящика» предполагает запуск ПО в имитированной среде, которая будет максимально повторять реальную.
На проведение DAST в большинстве случаев требуется больше времени, чем на White Box-тестирование, поскольку для эффективной проверки реализуется несколько сценариев воздействия на программу.
Преимущества и минусы White Box
Начнем с преимуществ:
- Достижение практически 100% покрытия кода.
- Возможность автоматизировать тестирование с помощью специальных анализаторов.
- Возможность своевременно обнаруживать проблемы ПО и устранять их еще до релиза продукта, если интегрировать тестирование в цикл безопасной разработки.
- Проверка собранных частей ПО через бинарный анализ. Специальные алгоритмы с помощью реверс-инжиниринга восстановят исходник из исполняемых файлов, однако эта опция доступна только в решении Solar appScreener.
- Сокращение коммуникации между командой разработчиков и тестировщиками.
- Отсутствие необходимости в развертывании виртуальной среды для тестирования.
- Проверка программ и приложений любых типов.
Главный недостаток White Box-тестирования — False Positive (FP) или ложноположительные срабатывания. Иногда статические анализаторы кода дают ложноположительные срабатывания, в результате обработки которых могут возникнуть сложности в интерпретации данных о проведённом тестировании. Если использовать для анализа инструменты платформы Solar appScreener, можно минимизировать такие срабатывания благодаря уникальной технологии Fuzzy Logic Engine.
Анализ White box в анализаторе Solar appScreener
В технологической платформе для обеспечения комплексного анализа безопасности программных продуктов Solar appScreener реализован модуль для проведения статического анализа (SAST).
Как происходит тестирование:
- Программный код преобразуется во внутреннее представление.
- Для оптимизации модели применяются алгоритмы статического анализа, затем — правила поиска к указанной модели.
- На код транслируются недекларированные возможности и уязвимости из базы анализатора.
- По результатам сканирования создается отчет, содержащий перечень обнаруженных проблем.
Solar appScreener позволяет проводить анализ по методу White Box, даже если нет доступа к исходному программному коду. В таком случае Solar appScreener будет проверять бинарный файл. В зависимости от языка программирование, на котором написано приложение, к коду будут применены технологии декомпиляции или деобфускации. Solar appScreener поддерживает 36 языков программирования, что является рекордом среди систем аналогичного класса.
В Solar appScreener реализована уникальная технология, позволяющая более эффективно проводить тестирование White Box (SAST) — Fuzzy Logic Engine. Она необходима, чтобы минимизировать количество ложноположительных срабатываний анализатора.
Преимущества использования Solar appScreener для проведения тестирования White Box
Внедрение отечественного анализатора позволит достичь следующих целей:
- Обеспечить соблюдение нормативных требований, касающихся безопасности программного обеспечения, выпускаемого на российский рынок.
- Выстроить цикл безопасной и эффективной разработки ПО.
- Ускорить релиз готовой версии защищенного программного продукта.
- Снизить риски ИБ и предотвратить инциденты, связанные с уязвимостями в коде.
- Контролировать подрядчиков, разрабатывающих ПО или проверять наследованные программы даже в случае, если отсутствует доступ к исходному коду.
Solar appScreener можно использовать в рамках импортозамещения вместо зарубежных решений для проведения тестирований по методу White Box. Платформа прошла сертификацию ФСТЭК России и присутствует в реестре отечественного программного обеспечения.