Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Майкл_Сикорски,_Эндрю_Хониг_Вскрытие_покажет!_Практический_анализ.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

 

 

.

 

 

 

 

 

.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

 

 

 

 

Предисловие

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

Летом 2011 года я присутствовал на выступлении Пейтера Затко (по прозвищу Мадж) на конференции Black Hat в Лас-Вегасе, штат Невада, где он рассказывал об асимметричной природе современного программного обеспечения. Он объяснил, как в ходе анализа 9000 вредоносных файлов у него получилась выборка, каждый элемент которой состоял в среднем из 125 строк кода.

Вы можете возразить, что Мадж специально отбирал только «простые» или «заурядные» экземпляры. Что насчет по-настоящему грозного вредоносного ПО? Наподобие (затаите дыхание) Stuxnet? Согласно Ларри Л. Константину (www.informit.com/ articles/article.aspx?p=1686289), Stuxnet насчитывал около 15 тысяч строк кода, что в 120 раз превышает объем среднего вредоноса из вышеупомянутой выборки. Этот вирус был узконаправленным и заточенным под конкретную атаку, что, вероятно, сказалось на его размере.

На секунду отвлечемся от мира вредоносного ПО. Текстовый редактор, который я использую (gedit из состава среды GNOME), включает в себя файл gedit.c с 295 строками кода — и это всего лишь один из 128 исходных файлов, опубликованных в репозитории данного проекта (git.gnome.org/browse/gedit/tree/gedit?id=3.3.1) (не считая трех других каталогов). Если свести все вместе, получится 70 484 строки. То есть по своему объему вредоносы более чем в 500 раз уступают обычным приложениям. Удивительная эффективность, если сравнивать с такой довольно прозаичной программой, как текстовый редактор!

Среднее значение в 125 строчек, полученное Маджем, показалось мне немного заниженным, поскольку «вредонос» — понятие растяжимое. Многие вредоносные приложения существуют в виде пакетов или наборов со множеством функций

иэлементов инфраструктуры. В качестве примера я взял файлы, которые можно справедливо назвать исходными элементами трояна Zeus (.cpp, .obj, .h и т. д.),

инасчитал в них 253 774 строки. Если сравнить Zeus с одним из образцов из выборки Маджа, получится соотношение, превышающее 2000 к 1.

Затем Мадж сравнил размер вредоносного ПО с продуктами, которые должны его перехватывать и обезвреживать. По его оценке, современные защитные системы

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w

 

 

to

 

 

16    Предисловие

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

 

 

 

 

насчитывают в среднем 10 миллионов строк кода. Для ровного счета предположим, что некоторые продукты состоят из 12,5 миллиона строчек; это выводит соотношение между атакующим и защитным кодом на уровень 100 000 к 1. Иными словами, чтобы противостоять одной вредоносной строке кода, приходится возводить целую крепость высотой 100 000 строк.

Мадж также сравнил объем вредоносного ПО и операционных систем, в работу которых оно должно вмешиваться. По оценкам аналитиков, исходный код Windows XP состоит из 45 миллионов строк, при этом аналогичных данных о Windows 7 вообще не существует. В качестве среднего показателя для современных ОС Мадж берет число 150 миллионов (вероятно, подразумевая последние версии Windows). Для наглядности возьмем 125 миллионов — в результате получается, что инструмент, способный взломать операционную систему, может быть в миллион раз меньше ее самой.

Теперь посмотрим, как соотносятся размеры в каждом из упомянутых случаев:

120:1 — Stuxnet в сравнении со средним вредоносом;

500:1 — простой текстовый редактор в сравнении со средним вредоносом;2000:1 — вредоносный пакет в сравнении со средним вредоносом;100 000:1 — защитный инструмент в сравнении со средним вредоносом;

1 000 000:1 — атакуемая операционная система в сравнении со средним вредоносом.

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

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

Представьте, что вам нужно понять принцип работы защитной системы по ее коду, состоящему из тех самых 12,5 миллиона строчек. Это непосильная задача, хотя некоторые исследователи занимаются такими вещами в качестве хобби. Один из потрясающих примеров такой работы можно найти в книге Тэвиса Орманди Sophail: A Critical Analysis of Sophos Antivirus (dl.packetstormsecurity.net/papers/virus/Sophail.pdf), которая была представлена на конференции Black Hat в Лас-Вегасе в 2011 году. Анализ такого огромного масштаба является скорее исключением из правила.

Вместо того чтобы беспокоиться о миллионах (или сотнях/десятках тысяч) строчек кода, следует сосредоточиться на участке размером в тысячу или меньше: именно там находится большая часть вредоносного ПО, которое вам когда-либо

 

 

 

 

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

 

 

 

 

Предисловие.   

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w17

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

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

Как авторы вредоносного ПО всегда готовы завалить вас зараженными файлами, так и авторы этой книги готовы помочь вам обрести навыки борьбы с вредоносами. Эта книга — одна из тех, которые должны быть под рукой у каждого аналитика безопасности. Если вы новичок, то, прежде чем вступать в бой, вам следует ознакомиться с вводным материалом и практическими примерами. Если вы специалист средней руки, это издание поможет вам выйти на новый уровень. Здесь есть что почерпнуть даже продвинутым инженерам — и когда ваши менее опытные коллеги будут у вас что-то спрашивать, вы сможете порекомендовать им прочесть те или иные страницы.

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

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

Ричард Бейтлич (@taosecurity),

глава службы безопасности в Mandiant и основатель TaoSecurity, Манассас-Парк, Виргиния, 2 января 2012 года