Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Майкл_Сикорски,_Эндрю_Хониг_Вскрытие_покажет!_Практический_анализ.pdf
Скачиваний:
18
Добавлен:
19.04.2024
Размер:
17.17 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

.

 

 

 

 

 

0

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Анализ вредоносных программ для начинающих

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

Цель анализа вредоносных программ

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

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

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

Сетевые сигнатуры используются для обнаружения зловредного кода путем отслеживания сетевого трафика. Их можно создавать и без анализа вредоносного

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Глава 0. Анализ вредоносных программ для начинающих  

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w25

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

ПО, но в этом случае они обычно оказываются менее эффективными, дают меньшую частоту обнаружений и больше ложных срабатываний.

После получения сигнатуры остается понять, как именно работает вредонос. Именно этим обычно больше всего интересуется начальство, которое жаждет по­ дробных объяснений о серьезном вторжении. Углубленные методики, которые вы изучите в этой книге, позволят вам определять назначение и возможности вредоносного ПО.

Методики анализа вредоносного ПО

Чаще всего при анализе вредоноса в вашем распоряжении будет лишь его исполняемый файл, который нельзя прочитать просто так. Чтобы извлечь из него какую-то полезную информацию, вам придется воспользоваться различными инструментами

иловкими приемами, добывая сведения по крупице и затем формируя из них общую картину.

Существует два основных подхода к анализу вредоносного ПО: статический

идинамический. Статический анализ заключается в исследовании вредоноса без его запуска. При динамическом анализе вредонос должен быть запущен. Обе эти категории включают в себя как базовые, так и продвинутые методики.

Базовый статический анализ

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

Базовый динамический анализ

Методики базового динамического анализа подразумевают запуск вредоноса и наблюдение за его поведением в системе. Это позволяет устранить заражение и/или сгенерировать эффективные сигнатуры. Но, чтобы обеспечить безопасное выполнение вредоносной программы, вы должны сперва подготовить среду, которая позволит вам изучать ее, не рискуя повредить систему или сеть. Как и в случае с базовым статическим анализом, данные методики доступны большинству людей и не требуют глубоких знаний программирования, однако они бессильны против некоторых зловредов.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w

 

 

to

 

 

26    Глава 0. Анализ вредоносных программ для начинающих

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Продвинутый статический анализ

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Продвинутый статический анализ заключается в разборе «внутренностей» зловреда методом обратного проектирования. Для этого мы загружаем исполняемый файл в диз­ассемблер и исследуем программные инструкции, чтобы понять, что он делает. Эти инструкции выполняются центральным процессором, поэтому таким образом мы можем узнать все детали поведения программы. Продвинутый статический анализ имеет более высокий порог вхождения по сравнению с базовым и требует специальных знаний о дизассемблировании, конструкциях программного кода и концепциях операционной системы Windows. Но не волнуйтесь — все это вы сможете изучить в данной книге.

Продвинутый динамический анализ

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

Типы вредоносного ПО

Процесс анализа вредоносного ПО часто можно ускорить, если сделать обоснованное предположение о назначении вредоноса и затем его подтвердить. Естественно, точность ваших догадок будет зависеть от того, знаете ли вы, чем обычно занимаются вредоносные программы. Ниже приведены категории, к которым относится большинство вредоносов.

Бэкдор. Вредоносный код, который устанавливается на компьютер, чтобы открыть доступ злоумышленнику. Бэкдоры обычно позволяют подключиться к компьютеру с минимальной аутентификацией или вовсе без таковой и выполнить команды в локальной системе.

Ботнет. Открывает злоумышленнику доступ к системе, чем похож на бэкдор, однако все компьютеры, зараженные одним ботнетом, получают одни и те же инструкции от единого управляющего сервера.

Загрузчик. Зловред, единственной целью которого является загрузка другого вредоносного кода. Злоумышленники обычно устанавливают загрузчики при первом доступе к системе. Этот вредонос загрузит и установит дополнительные зараженные программы.

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

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Глава 0. Анализ вредоносных программ для начинающих  

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w27

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

примера можно привести программы, захватывающие хеши паролей, перехватчики и кейлогеры. Эти вредоносы обычно используются для получения доступа к учетным записям интернет-приложений, таких как электронная почта или интернет-банкинг.

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

Руткит. Вредоносная программа, скрывающая существование другого кода. Руткиты обычно применяются в сочетании с другими вредоносами, такими как бэкдоры, что позволяет им открыть злоумышленнику доступ к системе и усложнить обнаружение кода.

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

Программа для рассылки спама. Вредонос, который заражает компьютер пользователя и затем с его помощью рассылает спам. Этот тип программ генерирует доход для злоумышленников, позволяя им продавать услуги по рассылке спама.

Червь, вирус. Вредоносный код, который способен копировать себя и заражать другие компьютеры.

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

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

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