RUS  ENG
Полная версия
ЖУРНАЛЫ // Моделирование и анализ информационных систем // Архив

Модел. и анализ информ. систем, 2019, том 26, номер 2, страницы 213–228 (Mi mais674)

Эта публикация цитируется в 3 статьях

Theory of data

Об обнаружении атак типа повторного использования исполнимого кода

Ю. В. Косолапов

Южный Федеральный Университет, ул. Мильчакова, 8а, г. Ростов-на-Дону, 344090 Россия

Аннотация: При эксплуатации уязвимостей программного обеспечения типа переполнения буфера в настоящее время часто используется техника повторного использования кода. Такие атаки позволяют обходить защиту от исполнения кода в стеке, реализуемую на программно-аппаратном уровне в современных информационных системах. В основе атак лежит нахождение в уязвимой программе подходящих участков исполнимого кода – гаджетов – и сцепление этих гаджетов в цепочки. В статье предлагается способ защиты приложений от атак, использующих повторное использование кода. Способ основан на выделении свойств, которые позволяют отличить цепочки гаджетов от типичных цепочек легальных базовых блоков программы. Появление во время выполнения программы нетипичной цепочки базовых блоков может свидетельствовать о выполнении вредоносного кода. Одним из свойств цепочки гаджетов является исполнение в конце цепочки специальной инструкции процессора, используемой для вызова функции операционной системы. Для операционной системы Linux на базе архитектуры x86/64 проведены эксперименты, показывающие важность этого свойства при выявлении исполнения вредоносного кода. Разработан алгоритм выявления нетипичных цепочек, который позволяет выявлять все известные на настоящий момент техники повторного использования кода.

Ключевые слова: повторное использование исполнимого кода, уязвимости программного обеспечения.

УДК: 517.9

Поступила в редакцию: 17.12.2018
Исправленный вариант: 13.05.2019
Принята в печать: 15.05.2019

DOI: 10.18255/1818-1015-213-228



© МИАН, 2025