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

0 ... 24 25 26 27 28 29 30 ... 102

„ни. Его подробное описание можно найти в спецификации elf-формата /.Executable and Linkable Format - Portable Format Specification*), электронную копию которого можно найти по следующему адресу: www.ibiblio.org/pub/ historic-linux/ftp-archives/sunsite.unc.edu/Nov-06-1994/GCC/ELF.doc.tar.gz, здесь же мы

сосредоточимся преимущественно на технической стороне вопроса. Классический механизм импорта внешних функций из/в elf-файлов в общем виде выглядит так: на нервом этапе вызова импортируемой функции из секции text вызывается «переходник», расположенный в секции .pit (Procedure linkable Table) и ссылающийся, в свою очередь, на указател ь на функцию printf, расположенный в секции .got (Global Offset Tables), ассоциированной с таблицей строк, содержащей имена вызываемых функций (или их хеши). Ниже приведена схема вызова функции printf утилитой 1 s, позаимствованной кз комплекта поставки Red Hat 5.0 (листинг 2.19).

Листинг 2.19. Схема вызова функции printf утилитой Is

lext:C8000t2Dcall printf

.3U.08CC0A58 printtproc near .p.t:08C0OA58

.plt:08C00A58Jmpds:off 800628C

.plt:08000A58 printfendp

goi:0800628C off 800628Cdd offset printf

extern:800658Q extrn printf:near : weak

00C0065B: FF 30 6C 69-62 63 2L 73-6F 2F35 00-73 74 70 63 у libc.S0.5 stpc

0D00066B: 70 79 00 /3-74 72 63 70-79 0069 6F-63 /4 6C 00 py stTpy ioctl

D0C0067B: 70 72 69 6E-74 66 00 73-74 7265 72-72 6F /2 CO printf strerror

В какое место этой цепочки может внедриться вирус? Ну, прежде всего он может создать подложную таблицу строк, перехватывая вызовы всех интересующих его функций. Чаще всего заражению подвергается функция printf/fprinttV sprintf (поскольку без этой функции не обходится практически ни одна программа) и функции файлового ввода/вывода, что автоматически обеспечивает прозрачный механизм поиска новых жертв для заражения. Вирусы-спутники поступают иначе, создавая специальную библиотеку-перехватчик, во всех заражаемых файлах. Поскольку IDA Pro при дизаесемблпронации elf-файлов не отображает имя импортируемой библиотеки, заподозрить что-то неладное в этой ситуации нелегко. К счастью, HEX-редакторы еще никто не отменял и присутствие вируса распознается с первого взгляда...


ЧАСТЬ II

Глава 3

ЖИЗНЕННЫЙ ЦИКЛ ЧЕРВЕЙ Глава 4

ОШИБКИ ПЕРЕПОЛНЕНИЯ БУФЕРА ИЗВНЕ И ИЗНУТРИ,

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

Глава 5

ПОБЕГ ЧЕРЕЗ БРАНДМАУЗЕР ПЛЮС ТЕРМИНАЛИЗАЦИЯ ВСЕЙ NT,

к концу которой выясняется, что брандмаузер не такая уж и надежная штука


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

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

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

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



0 ... 24 25 26 27 28 29 30 ... 102