8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 9 10 11 12 13 14 15 ... 102

эаиичного имиджа на lOOOh байт. Поскольку различные сект зличные атрибуты доступа к памяти, а всякий атрибут распр< :о страницу целиком, «делить» одну физическую страницу м< 1И с идентичными атрибутами.)

IDA-WinNT.Infit.4608

?" £* iump Swrcjj B»» jQptom. Windows Нф,: .. ..

:BFBft383D start :BFBfl383B :8FBfl383B varjst -.BFBfi383D M!sr"«t«t :8FB«383D var~SC :8F8fi383B чйг~38 :8F8ft383» :8F8ftl83&

: m йй:шад

: 8K 81)3844

: m М138Ч9

: 8F 8П3840 :8F8fi384F :8F 8(43854 :8F8ft38S8 :8F0fi38SA :8Feft385F :8F8Й3863 :ВРЙЙ3865 :№вй38бй :ИРЙЙ386Е :BF 8Й3878

proc near

= byteptr -»(C!i

= byteptr ~s»sft

- byteptr -3Ch

byteptr -38h

ehx

pax, ?.(i<ih

pax, [efixpaxSj

[езх], gjx

eax, 270b

t»ax, [ebx+eas**!]

[eax], ebx

pax, 2F5ii

pax, [pbx+eax*i»]

[eax], ebx

pax, 387h

pax, [Pbx*eax»Ji]

[eax], ebx

pax, S1Bh

pax, [ebx»eax«*j

. J

*ecu>r-g functbn fciahV..

iOown" !№fc 1S5M6 CCB&S23D i;OF0A333D siart

с. 1.4. Так выглядит дизассемблерный листинг файла, зараженного вируа nNT.Infis.4608: точка входа расположена в секции .reloc, помещенной посредственно за концом инициализированных данных змой «кромки» исполняемого файла

осмотрим, например, как устроен стандартный «блокнот tepad.exe через утилиту efd.exe от Ильфака Гупльфанова, мы ос ж в 6BCh байт, разделяющий секции .data и .rsrc. Причем нег амом исполняемом файле этот разрыв отсутствует (секции пр ipyry вплотную, без зазора), и он образуется уже после проен ж в память (листинг 1.7).

1СТИНГ 1.7. Расположение секций РЕ-файла до их проекции в память и пост

TI0N 2 (.data ): virtual size : 00001944 ( 6468.)


virtual address 00008000

section size 00000600 ( 1536.)

offset to raw data for section: 00006COO

offset to relocation ; 00000000

offset to line numbers - 00000000

number of relocation entries : 0

number of line number entries : 0

Flags C0000040-.

data only

Readable

Writable

Alignment: 16 bytes by default SECTION 3 (.rsrc ):

virtual size . 00006000 ( 24576.) virtual address : 00OOAO0O section size : 00005400 ( 21504.) offset to raw data for section: 00007200 offset to relocation : 00000000 offset to line numbers : 0000000C number of relocation entries : 0 number of line number entries : 0 Flags 40000040: data only Readable

Поэтому внедрение вируса в середину файла с последующей раздвижкой секций .data и .rsrc не искажает RVA-адреса остальных частей файла. Тем же самым способом вирус может внедриться и вконец секции .text, что сделает факт заражения менее заметным (хотя, учитывая, что в копне секции .command, «Блокнот» содержит свыше 1Кб неиспользуемого пространства, легко узнаваемого по цеопчкс нулей, драть задницу с перемещением секций незачем). Некоторые антивирусы (и DrWeb в частности), обнаружив, что точка входа указывает на секцию с атрибутом writable, сообщают, что файл, возможно, заражен. Однако это очень ненадежный признак, уверенно распознающий вторжение вируса в последнюю секцию файла, но пропускающий остальные типы внедрений. К тому же в атрибуте writable нуждаются многие вполне законопослушные Упаковщики и навесные защиты, вызывающие ложное срабатывание эвристического анализатора (впрочем, про то, что антивирусам доверять не стоит, мы Уже говорили).

Убедитесь также, что точка входа не начинается с машинной команды jump или "И, передающей управление куда-то в конец файла. Обычно вирусы либо на-кяадывают.Щтр непосредственно поверх «живого» кода исходной программы (естественно, предварительно сохранив его оригинальное содержимое в своем теле), либо внедряют сюда целую функцию, предназначенную для отвода глаз («голый» jump привлекает к себе слишком много внимания). Реже здесь удастся встретить текстовые строки или какой-нибудь забавный код, как, например, 8 случае с Win32.cabanas.b (рис. 1.5).


IDA - CABANAS EXE

"*» E<* Sea«3i Vjew £ptra« )grrio»s Help

«««йпдАяйЙИГЛк!)AU KteDowi .t>i* t7££ ШЮВЙЙ itWfflffflu slat

ic. 1.5. Так выглядит дизассемблерный листинг файла, пораженного bmdvcc in32.Cabanas.b — непосредственно в точке входа находится jump



0 ... 9 10 11 12 13 14 15 ... 102