Архитектура Solar inCode

Архитектура Solar inCode

Solar inCode состоит из двух основных частей: системы анализа, обрабатывающей исходный и бинарный коды, и системы отчетности, предоставляющей рекомендации по устранению уязвимостей и НДВ, а также настройке WAF. Возможности по интеграции с сервисами непрерывной интеграции и системами отслеживания ошибок (например, Atlassian JIRA) позволяют оперативно устранять найденные уязвимости и НДВ, обеспечивая SDL.

Система анализа кода

В основе системы статического анализа Solar inCode лежат три основные технологии: технология анализа исполняемых файлов, технология анализа исходного кода, а также уникальная технология Fuzzy Logic Engine для снижения числа ложных срабатываний и пропуска уязвимостей.

Технология анализа исходного кода

Статический анализ исходного кода с помощью Solar inCode включает в себя лексический анализ и семантический анализ. Семантический анализ кода имеет очень важное значение — большинство уязвимостей в коде вызваны не лексическими ошибками в записи инструкций, обнаруживаемыми при лексическом анализе, а ошибками в последовательности этих инструкций. Семантический анализ позволяет представить, как эти инструкции будут выполняться и что будет результатом их выполнения, в результате чего формируется математическая модель выполнения программы.

В настоящее время Solar inCode поддерживает статический анализ исходного кода, написанного на следующих языках программирования: Java, JavaScript, JSP, Scala, HTML5, PHP, Python, PL/SQL, T/SQL, С#, C/C++, Objective-C, Swift, Visual Basic 6.0, Delphi, ABAP, Ruby, Go, Solidity (язык написания «умных контрактов» для блокчейн Ethereum), Groovy, Kotlin.

Возможна загрузка проектов в архивах форматов .7z, .ear/aar, .rar, .tar.bz2, .tar.gz, .tar, .cpio.

Технология анализа исполняемых файлов

Статический анализ исполняемых файлов осуществляется с применением запатентованной технологии реверс-инжиниринга (декомпиляции). Она позволяет с высокой точностью восстанавливать исходный код из исполняемых файлов, даже если к нему были применены обфусцирующие (запутывающие) преобразования.

Solar inCode легко детектирует язык приложения и без труда понимает программы-полиглоты, написанные на нескольких языках. Для анализа достаточно загрузить код в Solar inCode, нажать кнопку «Сканировать» и дождаться окончания работы анализатора. Если речь идет о приложениях для Google Android и Apple iOS, то для их анализа достаточно указать ссылку на соответствующий магазин приложений.

Технологии анализа исполняемых файлов позволяют применять SAST даже когда разработка закончена и нет возможности проанализировать исходный код проекта. Кроме того, появляется возможность исследования кода сторонних компонентов, которые были использованы при создании приложения (например, кода свободно распространяемых библиотек).

Поддерживается статический анализ исполняемых файлов со следующими расширениями: .jar, .war, .dll, .exe, .apk, .ipa, .app.

SAST исполняемых файлов, предоставляемый Solar inCode, позволяет избежать основного недостатка DAST — неполноты охвата возможных уязвимостей.

Обращаем ваше внимание на то, что для декомпиляции стороннего кода необходимо получить согласие правообладателя этого кода. Если это невозможно, то модуль декомпиляции необходимо отключать. В этом случае будет доступен только перечень уязвимостей исполняемого файла.

Технология Fuzzy Logic Engine

Для минимизации количества ложных срабатываний (false positive) и пропуска уязвимостей и НДВ в коде (false negative) в Solar inCode реализована уникальная технология Fuzzy Logic Engine. Ее функциональность реализована с использованием математического аппарата нечетких множеств и нечеткой логики и является технологическим ноу-хау компании Ростелеком-Solar. Параметры работы фильтров определяются базой знаний, которая постоянно пополняется.

Количество ложных срабатываний и пропусков уязвимостей является одним из ключевых параметров анализатора кода, поэтому развитие и совершенствование Fuzzy Logic Engine является важным приоритетом развития Solar inCode.

С выходом новой версии Solar inCode офицер безопасности получил возможность работать с фильтрами Fuzzy Logic Engine с целью уменьшения числа ложных срабатываний и пропуска уязвимостей и НДВ.

Система отчетности

Система отчетности Solar inCode позволяет получать рекомендации в формате как для службы ИБ, так и команды разработки:

1
отчетность в формате разработки содержит детальные описания уязвимостей и НДВ, ссылки на содержащие их участки, а также рекомендации по их устранению путем внесения изменений в код;
2
отчетность в формате ИБ представляет собой детальные рекомендации по устранению уязвимостей и НДВ с описанием способов их эксплуатации. Также данный формат содержит детальные рекомендации по настройке WAF, что позволяет заблокировать возможность эксплуатации уязвимостей в приложениях во время исправления кода.

Кроме этого:

1
выгружать отчеты в форматах PDF или HTML, в том числе сверстанные в соответствии с классификацией уязвимостей по версии PCI DSS, OWASP Top 10, OWASP Mobile Top 10, HIPAA или CWE/SANS Top 25;
2
получать уведомления с обновлением статуса проверки по электронной почте.

Возможности интеграции

Solar inCode обладает широкими возможностями по интеграции с репозиториями, системами отслеживания ошибок, интегрированными средами разработки и сервисами непрерывной интеграции.

Интеграция с репозиторием разработки Git

Код для анализа загружается напрямую из репозитория, что позволяет избавиться от необходимости каждый раз загружать файлы с исходным кодом. Открытый API позволяет реализовывать интеграцию с дургими репозиториями.

Интеграция с системами отслеживания ошибок

В базовой версии Solar inCode поддерживает интеграцию с системой Atlassian JIRA, но при необходимости может быть реализована поддержка любой другой системы отслеживания ошибок. Такая интеграция позволяет офицеру безопасности напрямую заводить задачи по устранению найденных уязвимостей и НДВ и отслеживать ход их выполнения. Например, он может открыть кейс для команды разработки по внесению изменений в код или для системных администраторов для внесения соответствующих правил в WAF.

Интеграция в процессы CI и SDL

1
поддержка интегрированной среды разработки Eclipse, Visual Studio и XCode;
3
поддержка серверов непрерывной интеграции Jenkins и TeamCity;
4
встроенный API, включающий JSON API и интерфейс командной строки, и предоставляющий широкие возможности по дополнительной интеграции и автоматизации.

Solar inCode

Инструмент нового поколения для проверки безопасности приложений
Указан неверный адрес подписки.

Первыми получайте новости о наших продуктах на свой e-mail.

Спасибо!
Ваша заявка принята

В ближайшее время с Вами свяжется наш менеджер

Спасибо!

Теперь вы будете в числе первых получать новости о наших продуктах