О методах извлечения алгоритмов из бинарного кода
Кулагин И.И. (ИСП РАН, Москва, Россия; МГУ, Москва, Россия)
Падарян В.А. (ИСП РАН, Москва, Россия; МГУ, Москва, Россия; ВШЭ, Москва, Россия)
Кошкин В.А. (ИСП РАН, Москва, Россия)
Аннотация
В работе предложен итеративный метод извлечения алгоритмов из бинарного кода и построения их высокоуровневого представления. Построение алгоритмов предложенным методом реализовано в виде анализа динамических слайсов. Метод базируется на алгоритме отслеживания потока данных в прямом или обратном направлениях и выполняет композицию динамических состояний в функциональные блоки двух уровней представления. Также предложены два уровня представления извлеченных алгоритмов – функциональная схема слайса и схема выполнения алгоритма. Функциональная схема слайса представляет собой структурированное представление слайса и является более низкоуровневым, чем схема выполнения алгоритма. Схемой выполнения алгоритма является представление, состоящее только из резюме функций и их параметров. Предложенный метод построения алгоритмов и способы их представления позволяют повысить продуктивность аналитика при решении задач анализа безопасности кода, улучшить качество полученных результатов анализа. Разработанные способы представления алгоритмов могут быть использованы и для реализации алгоритмов автоматического анализа безопасности кода. Кроме того, авторы выполнили обзор подходов к извлечению алгоритмов из бинарного кода и способов их представления инструментами статического анализа кода, рассмотрены их некоторые недостатки и ограничения.
Полный текст статьи в формате pdf
Ключевые слова
Издание
Труды Института системного программирования РАН, том 36, вып. 3, 2024, стр. 139-160.
ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).
DOI: 10.15514/ISPRAS-2024-36(3)-10.
Для цитирования
Кулагин И.И., Падарян В.А., Кошкин В.А. О методах извлечения алгоритмов из бинарного кода.. Труды Института системного программирования РАН, том 36, вып. 3, 2024, стр. 139-160. DOI: 10.15514/ISPRAS-2024-36(3)-10.