+7 (800) 302-85-34 Запросить консультацию

Принцип работы Solar appScreener

Научные достижения Solar appScreener в безопасной разработке

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

  • Полноценный контроль безопасности кода с помощью одного инструмента
  • Статический анализ исходного кода и исполняемых файлов
  • Динамический анализ кода веб-приложений
  • Анализ состава компонентов ПО, заимствованных из 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

Дополнительные материалы

  • Исследование защищенности мобильных фитнес-приложений

    Скачать
  • Исследование защищенности мобильных приложений для выбора недвижимости

    Скачать
Самые важные новости кибербезопасности у вас в почте
Наверх