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

Solar inCode состоит из системы отчетности и системы анализа, в которую входит несколько функциональных модулей.

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

Механизмы системы отчетности inCode реализуют следующий функционал:

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

Система анализа

Механизмы системы анализа inCode представлены несколькими функциональными модулями.

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

В основе inCode лежат две технологии:

  • декомпиляция – восстановление исходного кода из исполняемых файлов;
  • технология анализа исходного кода, включающая в себя лексический и семантический модули анализ.
Важно подчеркнуть ценность семантического модуля анализа. Большинство уязвимостей в программном коде – это не лексические ошибки в записи инструкций, которые можно обнаружить лексическим анализатором, а ошибки в последовательности этих инструкций. Такие ошибки можно обнаружить, только если представить, как эти инструкции будут выполняться и что будет результатом их выполнения. Это можно сделать, только выполнив семантический анализ, результатом которого является математическая модель выполнения программы.

Модуль Enterprise

Данный модуль успешно используется в настоящее время и реализует следующий функционал:
  • анализ исходного кода на языках Java, Scala, Java for Android, C#, Objective C, PL/SQL,JavaScript, PHP;
  • анализ приложений на языках Java, Scala, на платформе iOS и Android методом статического анализа при отсутствии исходных кодов;
Анализ приложений, реализованных на различных языках, осуществляется с применением запатентованной технологии реверс-инжиниринга. Данная технология позволяет восстановить исходный код с высокой степенью точности, даже если к коду были применены обфусцирующие (запутывающие) преобразования.

Модуль нечеткой логики (Fuzzy Logic Engine)

Данный модуль необходим для минимизации количества ложных срабатываний (False Positive) и пропуска уязвимостей в коде (False Negative). Данный модуль реализован с использованием математического аппарата нечеткой логики и является технологическим ноу-хау Solar Security. Параметры работы фильтров данного модуля определяются базой знаний, которая постоянно пополняется по результатам проведенных проектов. Количество ложных срабатываний и пропусков уязвимостей является одним из ключевых параметров сканера кода, поэтому технологическая модернизация данного модуля является важным приоритетом развития продукта.

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

Решение inCode обладает широкими возможностями по интеграции:

  • интеграция с репозиторием разработки. Код для анализа загружается напрямую из репозитория, в этом случае отсутствует необходимость каждый раз загружать файлы с исходным кодом;
  • интеграция с Service Desk. При обнаружении уязвимостей безопасник может не только устранить уязвимости силами своего подразделения, но и в несколько кликов открыть кейс по реализации выданных рекомен-даций другими подразделениями. Например, чтобы администраторы внесли соответствующие правила в WAF или SIEM;
  • интеграция в процессы непрерывной интеграции (Continuous Integration) и безопасной разработки (SDLC);
  • интеграция с Solar inView. Результаты работы inCode встраиваются в структуру отчетности и метрик inView. 
^ Наверх