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