Компиляторные технологии


Инновации

Собственные технологии

BinSide: статический анализатор бинарного кода

BinSide – платформа обнаружения дефектов в программе методами статического анализа исполняемого кода. Необходима, когда нет доступа к исходному коду (например, при анализе закрытых библиотек).

Casr: инструмент формирования отчётов об ошибках

Casr – это инструмент, позволяющий автоматически формировать отчёты об аварийных завершениях, возникающих во время эксплуатации и тестирования ПО, на основе анализа coredump файлов в ОС Linux. В отчётах содержатся сведения о степени критичности аварийного завершения, а также дополнительная информация, которая помогает установить его причины.

Система анализа сетевого трафика Protosphere

Protosphere – система глубокого анализа сетевого трафика (DPI). Может встраиваться как компонент в системы мониторинга, классификации, защиты от вторжений и утечек информации. Регистрирует несоответствия между реализацией протокола и фактическим трафиком. Позволяет быстро добавлять поддержку новых (в том числе закрытых) протоколов благодаря универсальности внутреннего представления.

Статический анализатор Svace

Svace – необходимый инструмент жизненного цикла разработки безопасного ПО, основной статический анализатор компании Samsung. Обнаруживает более 50 классов критических ошибок в исходном коде. Поддерживает языки C, C++, C#, Java, Kotlin и Go. Включён в Единый реестр российского ПО (№4047).

Безопасный компилятор

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

Блесна: инструмент динамического анализа помеченных данных

Блесна – специализированный инструмент, предназначенный для поиска утечек в памяти чувствительных данных, таких как пользовательские пароли и ключи шифрования. Применим для анализа всего программного стека от загрузчика до прикладного ПО.

ИСП Обфускатор

ИСП Обфускатор — комплекс технологий по противодействию массовой эксплуатации уязвимостей, возникающих в результате ошибок или закладок. Если злоумышленник смог атаковать одно из устройств с одинаковым ПО, остальные останутся под защитой благодаря изменениям, внесённым в код.

Платформа для анализа программ на основе эмулятора QEMU

Платформа ИСП РАН для анализа программ построена на базе открытого эмулятора QEMU, который используется при необходимости кроссплатформенной разработки. Поддерживает механизмы обратной отладки и интроспекции, а также режим полносистемной эмуляции для отладки низкоуровневого ПО.

Среда анализа бинарного кода

Уникальный промышленный инструмент для анализа свойств бинарного кода. Позволяет работать с кодом различных целевых процессорных архитектур. Не требует наличия отладочной информации и исходных текстов. Применим для анализа всего программного стека от загрузчика до прикладного ПО. Включена в Единый реестр российского ПО (№5323).

Прочие технологии

Natch: инструмент определения поверхности атаки

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

ИСП Crusher: комплекс динамического анализа программ

ИСП Crusher – программный комплекс, комбинирующий несколько методов динамического анализа. Состоит из двух инструментов: ИСП Fuzzer для проведения фаззинг-тестирования и Sydr, отвечающий за автоматическую генерацию тестов для сложных программных систем. В ближайшее время в комплекс планируется включить ещё одну технологию ИСП РАН: BinSide. ИСП Crusher позволяет построить процесс разработки в соответствии с ГОСТ Р 56939-2016 и «Методикой выявления уязвимостей и недекларированных возможностей в программном обеспечении» ФСТЭК России.