Атака возврата в библиотеку

Атака возврата в библиотеку (англ. Return-to-libc attack) — один из видов компьютерных атак, популярных на x86-совместимых машинах и схожие с ними, связанных с переполнением буфера, когда адрес возврата функции на стеке подменяется адресом иной функции в программе, и в последующую часть стека записываются параметры для вызываемой функции. Эта техника позволяет нападающему выполнить какую-либо существующую функцию без необходимости внедрять вредноносный код в программу.

В GNU, GNU/Linux и других UNIX-подобных ОС имеется разделяемая библиотека libc, предоставляющая функции языка Си и стандарта POSIX, например system() для выполнения произвольных программ. Подобные библиотеки существуют и в ОС семейства Windows. Хотя атакующий может заставить программу совершить переход по любому адресу, большинство программ используют libc (слинкованы с ней), в ней имеются удобные функции запуска произвольных программ. Поэтому функции стандартной библиотеки являются наиболее вероятной целью подобных эксплойтов, что и дало название классу атак. Тем не менее возможно использование и других адресов возврата, в том числе функций из других библиотек и (или) фрагментов кода (в том числе возврат на середину инструкции), подробнее см. Возвратно-ориентированное программирование.

Источник: Википедия

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я