Возвратно-ориентированное программирование для написания вирусов

Два студента из Калифорнийского университета в Сан Диего, Эрик Баханэн и Райан Рёмер показали, как можно превратить обычный компьютерный код во вредоносный. Для этого используется специальная техника, называемая «возвратно-ориентированным программированием». Этот подход отличается от традиционного, в котором используются инъекции вредоносного кода в обычные программы, сообщает Либератум.

В прошлом году профессор Говав Шахэм из Калифорнийского университета в Сан-Диего уже показывал, как эта техника может быть использована, чтобы заставить процессор x86 исполнять вредоносные инструкции без инъекции вредоносного кода. Однако его атака требовала кропотливого ручного кодирования и опиралась на особенности архитектуры x86. В отличие от него, Баханэн и Рёмер разработали способ автоматической атаки применительно к RISC процессорам.

Как и многие традиционные способы «вирусописания», возвратно-ориентированное программирование опирается на замену содержимого стэка, позволяющего изменить порядок выполнения инструкций. Но вместо использования инъекции кода новая технология собирает вредоносный код из текущих инструкций в программе.

В качестве примера Шахэм приводит ситуацию, в которой данная технология используется с целью заставить браузер красть пароли пользователя или рассылать спам, применяя только тот код, который изначально есть в самом браузере. В исследовании не только был рассмотрен новый механизм заражения, но и предложено несколько вариантов защиты от возвратно-ориентированного программирования. Но если это не сработает, то в будущем, возможно, придется отбрость современную «антивирусную» модель и сосредоточиться на динамическом определении того, каковы могут быть результаты исполнения того или иного потока.

Программное обеспечение: 
field_vote: 
Ваша оценка: Нет Средняя: 5 (1 оценка)

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.