Фокус научных интересов коллектива находится на стыке технологий статического и динамического анализа бинарного кода, работающего в любой части вычислительной системы от загрузчика и до кода ядра ОС, включая нейросетевые модели. Кроме этого проводятся исследования в области построения автономных систем и разработки методов поиска ошибок в таких системах.
Руководители | Направления | Темы исследовательских работ |
---|---|---|
Артур Акопян | BinSide: статический анализ бинарного кода | – Автоматизированный межпроцедурный поиск дефектов бинарного кода программ; – Восстановление отладочной информации в исполняемых файлах программ при отсутствии исходного кода; – Интеграция с инструментами и библиотеками анализа бинарного кода ( в т.ч. Ghidra, Angr.io…); – Уточнение и дополнение результатов статического анализа информацией собранной в процессе динамического анализа; – Исследование применимости больших языковых моделей к задачам анализа бинарного кода. |
Анна Ильина | Методы семантического анализа исходного и бинарного кода | – Определение наличия исправлений известных ошибок в бинарном коде и его авторской принадлежности; – Поиск заданной функциональности в бинарном коде вне зависимости от его архитектуры, целевой системы и реализации; – Поиск по базе исходного кода с применением описаний, генерируемых нейронными сетями; – Определение патчей, связанных с устранением критического дефекта, на основе языковых моделей. |
Александр Новиков | Средства и методы анализа ПО | – Обеспечение масштабируемого анализа от одного исполняемого файла до операционной системы; – Анализ качества собранного кода с помощью статического анализа, сбора информации о покрытии кода тестами, определения заимствования ненадёжного кода, в т.ч. содержащие известные ошибки и проч.; – Восстановление и анализ взаимосвязей (т.к. заимствование кода, динамическая компоновка, межпроцессорное взаимодействие) между файлами внутри операционной системы; – Поиск перспективных условных переходов; – Улучшение взаимодействия фаззинга и инструментов динамического символьного выполнения; – Фаззинг баз данных и генерация корректных запросов; – Оценка полезности новых входных данных; – Исследование применимости больших языковых моделей к задачам поиска дефектов. |
Максим Мишечкин | Crusher: Исследование и разработка методов фаззинга программ | – Разработка методов анализа нейронных сетей с использованием фаззинг тестирования; – Исследование методов повышения эффективности распределенного фаззинг-тестирования; – Исследование и разработка методов поиска ошибок на базе динамической бинарной инструментации; – Применение методов оптимизации для повышения эффективности фаззинга; – Исследование и разработка методов комбинации статического и динамического анализа; – Исследование и реализация методов фаззинга устройств интернета вещей; – Исследование и разработка методов применения фаззинг-тестирования ядра ОС; – Разработка программного компонента, позволяющего восстанавливать формальные грамматики по корпусу входных данных; – Исследование и разработка методов осуществления удаленной инструментации для фаззинга встраиваемого ПО; – Разработка инструмента динамического отображения покрытия при фаззинг-тестировании программы; – Исследование и разработка методов применения нейронных сетей для повышения эффективности фаззинг-тестирования. |
Виталий Акользин | Crusher: Исследование и разработка методов динамического анализа сетевых протоколов | – Разработка новых видов инструментации для фаззинга состояний программ, на базе компилятора Clang; – Разработка методов фаззинга программ, обрабатывающих структурированные данные; – Разработка методов фаззинга интерпретаторов и JIT компиляторов; – Исследование и разработка методов фаззинга методами черного ящика; – Разработка методов извлечения автомата протокола; – Исследование применимости больших языковых моделей к задачам фаззинга протоколов и парсеров. |
Федор Ниськов | Crusher: Символьное выполнение, эмуляция и фаззинг встроенного ПО | – Развитие инструмента S2E (полносистемная эмуляция, символьное выполнение, параллелизм); – Разработка методов и инструментов для частичной эмуляции бинарного кода, без эмуляции периферийного оборудования; – Полносистемная эмуляция в т.ч. с использованием гипервизора и ее применение для тестирования ПО; – Анализ кода с помощью символьного выполнения при эмуляции; – Использование и оптимизация снимков состояний при эмуляции («дампы» и «снэпшоты»); – Интеграция эмуляторов с фаззером и другими инструментами анализа кода. |
Максим Мишечкин, Илья Запорожец | Исследование нейронных сетей и их внедрение в инструменты анализа | – Интеграция нейронных сетей в инструменты статического и динамического анализа; – Анализ нейронных сетей на наличие уязвимостей с использованием методов интроспекции. Исследования, связанные с проблемой интерпретируемости больших языковых моделей (LLM); – Использование нейронных сетей в робототехнике. |
Денис Стражков | Анализ безопасности программно-аппаратных компонентов беспилотной техники при проведении исследований в рамках цикла безопасной разработки | – Доработка инструментов статического и динамического анализа ИСП РАН, упрощающих процесс исследования встраиваемого программного обеспечения данного типа оборудования; – Выявление дефектов во встраиваемом программном обеспечении данного типа оборудования, при проведении исследований в рамках цикла безопасной разработки; – Разработка инструментов, позволяющих проводить различные дополнительные типа анализа данного класса оборудования, например для цифровой криминалистики; – Исследование свойств аппаратной безопасности микроконтроллеров, применяемых в данных типах устройств. |
Владлен Горчаков | Анализ безопасности IOT устройств в рамках цикла безопасной разработки | – Исследование и разработка методов автоматизации фаззинга сложных объектов оценки; – Разработка методов фаззинга встраиваемого ПО; – Поиск и выявление ошибок в ПО. |
Максим Столяров | Исследование в области автономной робототехники | – Проектирование управляющих модулей; – Кинематика и мехатроника; – Исследование и разработка управляющих программ. |
Сергей Химач | Коммуникационное оборудование и системы виртуализации | – Анализ взаимодействия в информационных системах и поиск ошибок в ОС и ПО в рамках цикла безопасной разработки ПО; – Построение стендов взаимодействия коммуникационного оборудования; – Построение стендов для исследования сетевых протоколов. |
Даниил Калинин | Компиляторные технологии в фаззинге | – Разработка специализированных компиляторных трансформаций для эффективного фаззинга; – Разработка методов анализа исходного кода программ с целью повышения эффективности фаззинга. |