На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Схемы атак, или планы злоумышленника

Хотя беспрерывно появляются какие-то новшества, но на данный момент суще­ствует всего лишь несколько довольно специфических методов взлома программно­го обеспечения. Это означает, что применение стандартных методов взлома часто позволяет найти новые способы проведения атак. Конкретная атака обычно являет­ся результатом усовершенствования стандартной атаки для взлома конкретной це­ли. Стандартные ошибки могут быть использованы хакерами для сокрытия данных, предотвращения обнаружения, ввода команд, взлома баз данных и внедрения виру­сов. Очевидно, что для того, чтобы хорошо научиться взламывать программное обеспечение, следует ознакомиться со стандартными методами и шаблонами атак и научиться определять, какой из этих методов наиболее подойдет для проведения конкретной атаки.
Шаблон атаки — это набросок взлома по отношению к уязвимому месту в про­граммном обеспечении. Таким образом, в шаблоне атаки предусматривается не­сколько основных свойств уязвимого места и предоставляются сведения, необходи­мые хакеру для взлома атакуемой системы.
Программа атаки, атака и хакер
Продолжая создавать список определений, скажем, что программа атаки (exploit) — это экземпляр шаблона атаки, созданный для компрометации конкретно­го фрагмента кода в атакуемой системе. Программы атаки обычно встроены в удоб­ные для использования средства или программы. Программы атаки обычно хранятся отдельно, что удобно для их классификации и доступа.
Атака (attack) — это процесс применения программы атаки. Этот термин часто ошибочно используется для обозначения программы атаки. Атаки — это события, которые раскрывают некорректные состояния и внутренние логические ошибки в системе.
И последнее, хакер (attacker) —это человек, который использует программу атаки для проведения атаки. Хакеры не всегда являются злоумышленниками, хотя и весь­ма трудно избавиться от нехорошего подтекста этого слова. Обратите внимание, что мы используем его даже по отношению к новичкам в деле взлома (script-kiddies), ко­торые не способны самостоятельно создать программы атаки. Хакер — это тот, кто представляет непосредственную угрозу для атакуемой системы. Каждая атака имеет конечную цель, которой добивается человек. Без человека шаблон атаки представля­ет собой только план на бумаге. Хакер воплощает теорию в практику. Каждая атака может быть описана по отношению к уязвимым местам в атакуемой системе. Хакер

может ослабить или усилить атаку в зависимости от уровня его знаний и опыта. Опытные хакеры лучше пользуются шаблонами атаки, чем их начинающие едино­мышленники.
Шаблон атаки
Мы используем термин шаблон (pattern) в том же смысле, что и для шаблона вы­кроек — набросок для проведения атаки определенного типа. В атаках на переполне­ние буфера, например, используется несколько стандартных шаблонов. Шаблоны позволяют сделать несколько "вариаций на одну тему". Эти "вариации" могут быть выполнены "по разным направлениям", включая временной промежуток, исполь­зуемые ресурсы, методы атаки и т.д.
Шаблон атаки включает в себя вектор вторжения, который одновременно указы­вает на зону активизации и содержит полезную нагрузку (в данном случае полезной нагрузкой являются данные, с помощью которых хакер проводит атаку). Что касает­ся шаблона атаки, то очень важно понять различие между вектором вторжения и по­лезной нагрузкой. Хорошая программа атаки не только позволяет взломать про­граммный код, но и ухудшает ситуацию после исполнения кода с полезной нагруз­кой. Вся суть в том, чтобы, используя ошибку, доставить полезную нагрузку в нужное место и запустить эти вредоносные данные.
Вектор вторжения
С помощью вектора вторжения (injection vector) с максимально возможной точ­ностью описывается формат атаки, основанной на введении вредоносных данных. Каждая атакуемая среда накладывает определенные ограничения на форму прово­димой атаки. В зависимости от наличия защитных механизмов, вектор внедрения может быть очень сложным. Целью вектора внедрения является донести полезную нагрузку атаки в зону активизации (activation zone) атакуемой системы. В векторе вторжения должны учитываться основные принципы атаки, синтаксис команд, ко­торые может принимать система, места размещения различных полей и допустимые численные диапазоны принимаемых системой данных. Таким образом, вектор втор­жения для конкретной атаки представляет собой набор базовых правил схемы про­ведения атаки. Эти правила продиктованы ограничениями атакуемой среды. Векто­ры ввода также отвечают за генерацию уведомлений обратной связи, т.е. с их помо­щью хакер может проследить за ходом проведения атаки.
Зона активизации
Зона активизации (activation zone) — это область атакуемого программного обес­печения, в которой возможно исполнение, или активизация, полезной нагрузки ата­ки. В зоне активизации намерения хакера (посредством полезной нагрузки) вопло­щаются в реальность. Зоной активизации может быть командный интерпретатор, определенный исполняемый машинный код в буфере или вызовы системной биб­лиотеки. В зоне активизации генерируются сообщения об успехе. Исполнение по­лезной нагрузки называют активизацией полезной нагрузки.
Уведомление об успехе
Уведомление об успехе (output event) указывает на то, что был достигнут иско­мый результат атаки (с точки зрения хакера). Таким уведомлением может оказаться,

например, создание удаленного командного интерпретатора, выполнение команды или уничтожение данных. Уведомление об успехе иногда может состоять из не­скольких небольших событий, которые совместно указывают на достижение конеч­ной цели атаки. Такие небольшие события называют слагаемыми элементами (agreggation element) уведомления об успехе. Итак, уведомление об успехе демонст­рирует, что цели и намерения хакера были достигнуты.
Уведомление обратной связи
Во время проверки системы на предмет ее взлома через уязвимое место генери­руются уведомления обратной связи (feedback event). Это события, которые легко может увидеть хакер. А то, насколько легко, зависит от среды реализации атаки. Уведомлением обратной связи можно считать ответы на запросы и временные про­межутки между событиями. Например, такой параметр, как время ответа на выпол­нение конкретной транзакции, является уведомлением обратной связи. Уведомле­ния обратной связи — это инструменты для определения успеха или неудачи прово­димой атаки.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика