Уклонение при помощи морфизма кода
Уклонение при помощи морфизма кода
Полиморфизм – это способ существования во множественных формах, а морфизм – это процесс, используемый для достижения полиморфизма. Полиморфный код преследует цель сохранения в другой форме функциональных свойств уникального кода. Сетевая система обнаружения вторжения может только анализировать сетевую информацию, поступающую из канала связи. Только так она сможет выявить код атаки. Благодаря этому вирусы смогут оставаться необнаруженными в течение некоторого времени. Единственное различие состоит в том, что сканеры вирусов проверяют файлы на дисках, а не поток сетевых данных. Способ, с помощью которого большинство сканеров вирусов взялись бы разрешить описанную проблему, заключается в использовании эвристических способов сканирования. Это похоже на то, что делала бы размещенная на хосте система обнаружения вторжения (идентификация подозрительных событий, несоответствующий доступ к файлу и т. д.).
Полиморфизм достигается использованием полезного для осуществления атаки оригинального кода и кодирования его с помощью обратимого алгоритма. Все команды типа NOP и их последовательности заменяются подходящими двоичными данными. Закодированный таким образом двоичный код пересылается через сеть вместе с небольшой функцией декодирования, обычно размещаемой в начале пересылаемых данных (для того чтобы избежать соответствия сигнатур, функция декодирования может генерироваться динамически). По достижении атакуемой цели декодирующая функция декодирует первоначальный код атаки и выполняет его. Таким способом поддерживается оригинальная функциональность кода атаки.
В статье автора (www.ktwo.ca/c/ADMmutate-README) был тщательно рассмотрен полиморфный управляющий код. Статья была опубликована в начале 2001 года. В коде предусмотрено использование известных на сегодняшний день уязвимостей и уязвимостей, которые могут появиться в будущем. Основой для получения полиморфного кода является постоянно присутствующая возможность вычисления одной и той же величины различными способами. Например, если при атаке нужно вычислить величину, равную четырем, то ее можно вычислить любым из следующих способов: 2 + 2, 3 + 1, 6 – 2 и т. д. Есть буквально бесконечное число способов вычисления заданной величины. Именно этим занимается код атаки, использующий некоторые машинные команды. У исследуемой сетевой трафик системы обнаружения вторжения нет возможности отождествить выражение, вычисляющее искомую величину как 2 + 2, с выражением, вычисляющим эту же величину как 3 + 1. Она получает только низкоуровневые машинные команды и сравнивает их с известным образцом. Сетевая система обнаружения вторжения не интерпретирует машинные команды, как это делает целевой хост-адресат.
Этим способом можно замаскировать от обнаружения любой код атаки. При этом не поможет никакое правило, вне зависимости от того, является ли оно специализированным или общим. Для основанной на сравнении сигнатур сетевой системы обнаружения вторжения единственная возможность обнаружить код атаки появится только в том случае, если будет определена сигнатура декодирующей функции. До настоящего времени автору не были известны никакие сигнатуры или методы, развитые для этого класса полиморфного управляющего кода. В таблице 16.1 параллельно показаны две разновидности одного и того же выполняемого полиморфного управляющего кода.
Таблица 16.1.
Видоизменения управляющего кода
Как можно видеть из таблицы, три варианта исполняемого кода очень мало похожи друг на друга. Вообще, возможно большое число перестановок, которые могут быть использованы.
Очевидно, что большинство систем обнаружения вторжения не всегда вполне готовы к немедленному использованию. Для достижения долговременного успеха они нуждаются в частом обновлении и постоянном обслуживании. Системы обнаружения вторжения, у которых есть надежда обнаружить неизвестные ранее типы атак, являются аномалией среди систем обнаружения вторжения, основанных на сравнении сигнатур. Подобные системы не используют сигнатуры вообще. Вместо этого они контролируют все сетевые соединения и изменения в них, для того чтобы попытаться построить обобщенный образ типичного трафика. При обнаружении статистических аномалий подается сигнал тревоги. В результате самообучения и накопления энтропии в своих базах данных система обнаружения вторжения со временем, теоретически, становится все более совершенной и точной. Есть лишь один вопрос. Насколько эффективна система обнаружения вторжения, основанная только на обнаружении аномалий сетевого трафика? Ведь атаки могут маскироваться под повседневную деятельность сети. В этом случае при совпадении характерных признаков атаки с признаками повседневной деятельности сети атака может быть не обнаружена. Как это часто бывает, не так уж и плохо от каждого понемногу позаимствовать чуть-чуть полезного. Основанная на сравнении сигнатур хорошая система обнаружения вторжения, дополненная средствами обнаружения атаки по анализу аномалий сетевого трафика, должна гарантировать контроль большинства событий вторжения.
В бесконечной игре в кошки-мышки по вопросам безопасности можно предсказать появление поколения полиморфных статистически нормализованных атак. Эти атаки добавят еще одно препятствие для разработчиков сетевых систем обнаружения вторжения, которые они должны будут преодолеть.Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Уклонение от работы
Уклонение от работы Иногда у вас попросту «сердце не лежит» к работе. Например, порученная задача вас пугает, кажется неудобной или скучной. А может, вы думаете, что она приведет к конфликтам или неминуемо загонит в сложную ситуацию? Или вам просто не хочется ее
Отправка писем при помощи PHP
Отправка писем при помощи PHP Отправка писем при помощи PHPРано или поздно каждый владелец сайта сталкивается с необходимостью отправки писем непосредственно с сайта через скрипт, а не через почтовые программы. Это могут быть письма, отправляемые скриптом гостевой книги,
Соединение при помощи OptiConnect
Соединение при помощи OptiConnect Если компьютер работает не в сети, и сами данные, и средства их обработки располагаются на нем самом. Одиночная система AS/400 поддерживает очень большие, в том числе многопроцессорные, конфигурации, что вполне удовлетворяет нужды большинства
6.3. Получение помощи
6.3. Получение помощи При работе с программой Midnight Commander практически в любой момент можно обратиться к интерактивной подсказке, вызов которой осуществляется нажатием клавиши ‹F1›. Подсказка организована как гипертекст, т. е. в ее тексте встречаются гипертекстовые ссылки
Получение помощи
Получение помощи Мы очень старались сделать информацию в этой книге и на прилагающемся к ней компакт-диске максимально точной. Если у вас возникнут проблемы, обратитесь за помощью к указанным ниже
Раздел помощи
Раздел помощи Очень важно, чтобы на сайте был выделен раздел помощи на главной странице и человек знал, что он может посмотреть ответы на типичные вопросы или задать собственный. Это сильно повышает
Рисование при помощи QPainter
Рисование при помощи QPainter Чтобы начать рисовать на устройстве рисования (обычно это виджет), мы просто создаем объект QPainter и передаем ему указатель на устройство. Например:void MyWidget::paintEvent(QPaintEvent *event) { QPainter painter(this); …}Мы можем рисовать различные фигуры, используя функции
При помощи сетки
При помощи сетки Если требуется конструировать на плоскостях, отличных от основных сеток, или использовать одну и ту же плоскость во всех окнах проекций, то удобно применять объект Grid (Координатная сетка). Объекты сетки весьма полезны при увеличении сложности модели и
Система помощи
Система помощи Вместе с программой ArchiCAD поставляется система интерактивной контекстно зависимой помощи, предназначенная для получения пользователем оперативной справочной информации. Контекстно зависимой принято называть информацию, связанную с активным
Уклонение на уровне пакетов
Уклонение на уровне пакетов На сетевые системы обнаружения вторжения возложена малопонятная задача выявления смысла из буквально миллионов ежесекундно поступающих кусочков информации при обеспечении приемлемого времени реакции (обычно желательно обеспечить время
Уклонение на уровне приложений
Уклонение на уровне приложений У датчиков системы обнаружения вторжения есть возможность исследовать внутреннее устройство протокола связи приложений в интересах обнаружения вторжения. Разработчики систем обнаружения вторжения используют два основных способа.
Аутентификация при помощи сертификатов
Аутентификация при помощи сертификатов В том случае, когда пользователи имеют сертификаты открытых ключей, необходимость в ЦРК отпадает. Это не означает, что отпадает необходимость в доверии и третьих сторонах; просто доверенной третьей стороной становится УЦ. Однако