Вирусы в UNIX, или Гибель Титаника II


Заражение посредством поглощения файла - часть 2


Хуже, если вирус переносит часть оригинального файла в сегмент данных, а часть – в сегмент кода. Такой файл выглядит как обыкновенная программа за тем единственным исключением, что большая часть кодового сегмента представляет собой "мертвый код", никогда не получающий управления. Сегмент данных на первый взгляд выглядит как будто бы нормально, однако при внимательном рассмотрении обнаруживается, что все перекрестные ссылки (например ссылки на текстовые строки) смещены относительно их "родных" адресов. Как нетрудно догадаться – величина смещения и представляет собой длину вируса.

Дизассемблирование выявляет характерные для вирусов этого типа функции exec и fork, использующиеся для запуска "вылеченного" файла, функцию chmod для присвоения файлу атрибута исполняемого и т. д.

 

Рисунок 1 0x004 типовая схема заражения исполняемого файла путем его поглощения

 

Рисунок 2 0x008 пример файла, поглощенного вирусом UNIX.a.out. Крохотный, всего в триста байт, размер кодовой секции указывает на высокую вероятность заражения




- Начало -  - Назад -  - Вперед -



Книжный магазин