+7 499 673-37-62 перейти в Личный кабинет Запросить консультацию

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

Ключевые технологии, которые лежат в основе решения Solar appScreener и его функциональных возможностей

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

  • Анализ исходного кода и исполняемых файлов
  • Выявление уязвимостей и недекларированных возможностей
  • Проверка унаследованного и заказного ПО
  • Построение отчетов и сравнение результатов проверок
  • Разграничение прав разработчиков
  • Рекомендации для разработчиков и офицеров безопасности
  • Интеграция в процесс безопасной разработки (SSDLC)
  • Интеграция с системами отслеживания ошибок

Схема работы продукта

Solar appScreener проводит анализ как исходного кода, так и бинарного кода.


  • Строится внутреннее представление кода, на котором применяются алгоритмы статического анализа. Если проводится анализ бинарного кода, предварительно применяется деобфускация (распутывание) и декомпиляция участков кода с уязвимостями.
  • После этого осуществляется трансляция уязвимостей и НДВ на исходный код.
  • Применение технологии Fuzzy Logic Engine минимизирует количество ложных срабатываний.
  • Система отчетности предоставляет рекомендации по устранению уязвимостей, недекларированных возможностей и по настройке WAF.

Технологии

В основе системы статического анализа Solar appScreener лежат 10+ методов статического анализа, технологии анализа исполняемых файлов на основе деобфускации и декомпиляции, а также собственная технология 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

* Для декомпиляции стороннего кода необходимо получить согласие правообладателя этого кода. Если это невозможно, то модуль декомпиляции придется отключить.

Технология 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

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

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

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

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

Наверх