Широкие возможности для обеспечения безопасности информационных систем
- Полноценный контроль безопасности кода с помощью одного инструмента
- Статический анализ исходного кода и исполняемых файлов
- Динамический анализ кода веб-приложений
- Анализ состава компонентов ПО, заимствованных из open-source-библиотек
- Выявление уязвимостей и недекларированных возможностей
- Интеграция в цикл DevSecOps для обеспечения безопасной разработки
- Рекомендации для разработчиков и офицеров безопасности

Схема работы Solar appScreener
Solar appScreener может проводить статический анализ, динамический анализ и анализ состава ПО.

- Строится внутреннее представление кода, на котором применяются алгоритмы SAST. Если нужно проверить бинарный код, предварительно применяется деобфускация и декомпиляция участков кода с уязвимостями.
- Применение Fuzzy Logic Engine сокращает количество ложных срабатываний.
- Формируется отчет с рекомендациями по устранению уязвимостей.
Статический анализ
- Для запуска DAST нужно вставить URL приложения и начать сканирование.
- Предоставляется список найденных уязвимостей и рекомендации по их устранению.
- Проводится корреляция результатов SAST и DAST для подтверждения уязвимостей.
Динамический анализ
- Из исходного кода или репозитория формируется SBOM (Software Bill of Materials) либо сразу загружается готовый SBOM.
- Применяются алгоритмы анализа сторонних зависимостей, формируется список уязвимостей и зависимостей.
Анализ состава ПО
Технологии
В основе работы Solar appScreener лежит комплексный подход к безопасности приложений и передовые технологии по анализу кода: статический анализ исходного и бинарного кода, динамический анализ кода, анализ состава компонентов ПО, а также собственная технология Fuzzy Logic Engine для снижения числа ложных срабатываний.

Технология статического анализа исходного кода
Статический анализ исходного кода с помощью Solar appScreener включает в себя лексический, синтаксический, семантический анализы, taint-анализ, распространение констант, распространение типов, анализ синонимов и анализ графов потока управления.
Solar appScreener является единственным в мире анализатором с поддержкой кода, написанного на 36 языках программирования: ABAP, Apex, ASP.NET, COBOL, С#, C/C++, Objective-C, Delphi, Go, Groovy, HTML5, Java, Java for Android, JavaScript, JSP, Kotlin, Pascal, Perl, PHP, PL/SQL, T/SQL, Python, Ruby, Rust, Scala, Solidity, Swift, TypeScript, VBA, VB.NET, VBScript, Visual Basic 6.0, Vyper, 1C, LotusScript, Dart.
Также возможна загрузка проектов в архивах форматов: 7Z, EAR, AAR, RAR, TAR.BZ2, TAR.GZ, TAR, CPIO.
Технология анализа бинарного кода
Статический анализ исполняемых файлов осуществляется с применением запатентованной технологии реверс-инжиниринга (декомпиляции). Она позволяет с высокой точностью восстанавливать исходный код из исполняемых файлов, даже если его пытались обфусцировать, то есть запутать.
Solar appScreener легко определяет язык приложения и без труда понимает программы-полиглоты, написанные на нескольких языках. Решение также умеет анализировать мобильные приложения для Google Android и Apple iOS – для этого достаточно указать ссылку на соответствующий магазин приложений*.
Технологии анализа исполняемых файлов позволяют применять SAST, даже когда разработка закончена и нет возможности проанализировать исходный код проекта. Кроме того, можно исследовать код сторонних компонентов, использованных при создании приложения (например, код свободно распространяемых библиотек).
Поддерживаемые форматы исполняемых файлов:
- JAR/WAR (Java)
- DLL/EXE (C/C++)
- APK (Android)
- IPA (Apple iOS)
- APP (Apple macOS)
- AAR
- EAR
- AAB (Android)
* Для декомпиляции стороннего кода необходимо получить согласие правообладателя этого кода. Если это невозможно, то модуль декомпиляции придется отключить.


Технология динамического анализа кода
Модуль динамического анализа входит в решение Solar appScreener и реализован на основе встроенного сканера, с помощью которого можно провести анализ веб-приложения, отправив заведомо неверные или случайные данные и проверив реакцию приложения на них.
Для удобства управления сканированиями и получения результатов проекты динамического анализа можно привязать к проектам статического анализа и на основе корреляции их результатов получить более полную картину безопасности приложения.
Технология анализа состава ПО
В Solar appScreener реализован модуль анализа состава ПО, который позволяет вовремя выявлять уязвимые компоненты и зависимости в open-source-библиотеках, тем самым предотвращает использование этих компонентов в коде разрабатываемых сервисов и значительно снижает риски информационной безопасности для компании.
Анализ кода проводится на основе нескольких источников – стандартных баз уязвимостей, дополненных собственной базой от экспертов Solar appScreener, что обеспечивает более полное покрытие анализа.
SCA дополняет другие модули и делает возможным полный цикл контроля безопасности ПО с помощью Solar appScreener без использования других решений и сервисов для анализа кода.


Технология Fuzzy Logic Engine
Для минимизации количества ложных срабатываний и пропусков уязвимостей и НДВ в коде в Solar appScreener реализована уникальная технология Fuzzy Logic Engine.
Технология использует математический аппарат нечеткой логики и является инновационным ноу-хау компании «Ростелеком-Солар». Параметры работы фильтров Fuzzy Logic Engine определяются базой знаний, которая постоянно пополняется по результатам проведенных проектов.
Количество ложных срабатываний и пропусков уязвимостей - одна из ключевых характеристик анализатора кода, поэтому развитие и совершенствование Fuzzy Logic Engine является важным приоритетом Solar appScreener.
Интеграция
Solar appScreener обладает широкими возможностями по интеграции с репозиториями, системами отслеживания ошибок, интегрированными средами разработки и сервисами CI/CD, что позволяет бесшовно встраиваться в цикл разработки ПО.
Интеграция с репозиториями разработки Git и Subversion
Код для анализа загружается напрямую из репозитория, избавляя от необходимости каждый раз загружать файлы с исходным кодом.
Интеграция с VCS-хостингами GitLab, GitHub, Bitbucket
Можно настроить автоматическое сканирование с помощью механизма webhook для получения информации в режиме реального времени. Также поддерживаются push- и tag-события.
Интеграция с системами отслеживания ошибок
Продукт поддерживает интеграцию с Atlassian Jira, но при необходимости можно интегрировать любую другую систему отслеживания ошибок. Это позволяет напрямую заводить задачи по устранению найденных уязвимостей и отслеживать ход их выполнения.
Открытый встроенный API
В Solar appScreener встроен открытый API. Он включает в себя JSON API и интерфейс командной строки и предоставляет широкие возможности по дополнительной интеграции и автоматизации.
Интеграция в процессы CI/CD и SDLC
- Поддержка интегрированных средств разработки Eclipse, Microsoft Visual Studio и IntelliJ IDEA
- Поддержка средств сборки Xcode, CMake, Microsoft Visual Studio, GNU Make, GNU Autotools, Gradle, sbt, Maven
- Поддержка серверов непрерывной интеграции и доставки Jenkins, Azure DevOps Server 2019 и TeamCity
- Поддержка интеграции c платформой непрерывного анализа и измерения качества кода SonarQube
Дополнительные материалы