Прибыль каждые 10 минут!
ComputerF1
Главная
Вход
Регистрация
Суббота, 20.04.2024, 14:36Приветствую Вас Гость | RSS
Меню сайта

Категории раздела
Операционные системы Windows [30]
Windows термины [11]
Термины значений
Помощь вашему компьютеру [11]
В этой категории находятся статьи, помогающие устранить неисправности вашего компьютера.
Компьютерные сети [3]
Всё о компьютерных сетях
Флешка [5]
Все о флешках
Железо [17]
Мониторы, материнские платы, процессоры, жесткие диски, блоки питания .....
Интернет [12]
Всё о интернет, безопасная работа в интернете
Хакер [7]
Хакерские статьи
Компьютерные вирусы [13]
Виды вирусов
Офисные АТС [0]
BIOS [22]
Всё о BIOS

Мини-чат

Наш опрос
Оцените мой сайт
Всего ответов: 512

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Компьютерные вирусы

Что такое компьютерные вирусы и как они работают 3 часть

Вирусы в BAT-файлах

Среди огромного количества файловых вирусов, заражающих выполнимые файлы в формате COM и EXE, существует несколько вирусов, способных заражать пакетные файлы. Для этого используется весьма изощренный способ. Мы рассмотрим его на примере вируса BAT.Batman. При заражении пакетного файла в его начало вставляется текст следующего вида:

@ECHO OFF

REM [...]

copy %0 b.com>nul

b.com

del b.com

rem [...]

В квадратных скобках [...] схематично показано расположение байт, которые являются ассемблерными инструкциями или данными вируса. Команда @ECHO OFF отключает вывод на экран названий выполняемых команд. Строка, начинающаяся с команды REM, является комментарием и никак не интерпретируется.

Команда copy %0 b.com>nul копирует зараженный командный файл в файл B.COM. Затем этот файл запускается и удаляется с диска командой del b.com.

Самое интересное, что выполнимый файл B.COM, созданный вирусом, до единого байта совпадает с зараженным командным файлом. Но командный файл состоит из команд операционной системы, а выполнимый COM-файл - из команд центрального процессора. Как же работает такая программа? Если переименовать любой текстовый файл в выполнимый, просто заменив его расширение на COM, он, конечно же, не будет работать. В лучшем случае компьютер просто зависнет.

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

 

Текст BAT-файла

 

 

Команды ассемблера

Описание команд

@ECHO OFF

@

40h

INC AX

Увеличить на единицу значение регистра AX

 

E

45h

INC BP

Увеличить на единицу значение регистра BP

 

C

43h

INC BX

Увеличить на единицу значение регистра BX

 

H

48h

DEC AX

Уменьшить на единицу значение регистра AX

 

O

4Fh

DEC DI

Уменьшить на единицу значение регистра DI

 

 

20h

AND [BX+46],CL

Сравнить значение регистра CL со значением ячейки памяти

 

O

4Fh

 

 

 

F

46h

 

 

 

F

46h

INC SI

Увеличить на единицу значение регистра SI

 

 

0Dh

OR AX,520A

Записать в регистр AX результат логической операции ИЛИ между текущим значением AX и 520Ah

 

 

0Ah

 

 

REM

R

52h

 

 

 

E

45h

INC BP

Увеличить на единицу значение регистра BP

 

M

4Dh

DEC BP

Уменьшить на единицу значение регистра BP

 

 

20h

AND [SI],DH

Записать в регистр AX результат логической операции И между значением регистра DH и значением ячейки памяти

 

 

34h

 

 

 

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

Резидентная часть вируса следит за записью данных в файлы. Если первая строка, записываемая в файл, содержит команду @echo, вирус считает, что записывается командный файл и заражает его.

Вирус BAT.Winstart

Вирус BAT.Winstart использует такую же технологию, что и вирус BAT.Batman. При запуске зараженного BAT-файла вирус копирует его в файл Q.COM, который создается в корневом каталоге диска C:. Затем файл Q.COM запускается уже как обычный выполнимый файл. В этот раз он устанавливает свой резидентный модуль в оперативной памяти и переименовывает файл C:\Q.COM в C:\WINSTART.BAT. Резидентный модуль вируса отслеживает момент запуска пользователем других программ и создает файл WINSTART.BAT в текущем каталоге.

 

@ECHO OFF

:s%r#

COPY %0.BAT C:\Q.COM>NUL

C:\Q

[...]

Когда командный файл WINSTART.BAT интерпретируется, как выполнимый файл в формате COM, то первая строка @ECHO OFF будет состоять из команд центрального процессора, которые фактически ничего не делают (см. вирус BAT.Batman). Вторая строка :s%r# будет воспринята как команда перехода на код вируса, схематично показанный квадратными скобками. Получив управление, основной коод вируса перехватывает прерывания операционной системы и оставляет себя резидентным в оперативной памяти компьютера.

 

Почему командный файл вируса называется WINSTART.BAT?

 

Файл WINSTART.BAT содержит команды, выполняемые при запуске операционной системой Windows в расширенном режиме. В этот файл обычно вносят вызовы резидентных программ, которые должны быть доступны только приложениям Windows. Программы MS-DOS, выполняемые в Windows, не имеют доступа к этим резидентным программам. За счет этого для программ MS-DOS остается больше свободной памяти.

Файл WINSTART.BAT не создается автоматически при установке Windows. Он должен быть создан самим пользователем и записан в каталог Windows, корневой каталог диска C: или любой другой каталог, определенный переменной среды PATH.

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

Заражение файлов AUTOEXEC.BAT и CONFIG.SYS

Файлы конфигурации AUTOEXEC.BAT и CONFIG.SYS, содержат команды, выполняемые во время загрузки операционной системмы. В том числе в этих файлах перечислены драйвера и программы, которые надо загрузить.

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

Целый ряд вирусов, например Em, Nocopy, Some, DrWatson, вносят изменения в файлы AUTOEXEC.BAT и CONFIG.SYS. Эти вирусы создают на диске выполнимый файл, содержащий код вируса, а затем наглым образом вставляют команду запуска этого файла в AUTOEXEC.BAT или CONFIG.SYS.

Вирус BAT.282

Неопасный нерезидентный вирус. Создает в корневых каталогах дисков B: и C: файл VIRUS.BAT, содержащий вирусный код. Вставляет в файл AUTOEXEC.BAT вызов файла VIRUS.BAT

Обращайте внимание на все изменения в файлах AUTOEXEC.BAT и CONFIG.SYS. Изменение этих файлов, не связанное с установкой нового программного обеспечения, может быть результатом работы вируса.

Комбинированные вирусы

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

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

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

Повторное заражение файлов и загрузочных секторов

Большинство вирусов заражают один и тот же файл или загрузочную запись только один раз. Такие вирусы перед заражением нового файла проверяют, не был ли он заражен раньше. В качестве признака, по которому определяется заражение, могут использоваться нестандартное время создания файла (операционная система MS-DOS позволяет устанавливать время создания файла 62 секунды), заведомо неправильная дата создания файла (например 2001 год). Более сложные вирусы определяют факт заражения поиском своей сигнатуры и т. д.

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

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

Вирус Yankee Doodle

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

Вирус DIR

Летом 1991 года разразилась эпидемия нового вируса. Его проявления были весьма интересны. Во время копирования зараженных файлов в любом случае копировались только 1024 байта, несмотря на то, что фактические длины файлов были совершенно другие. Проверка целостности структуры файловой системы с помощью программы CHKDSK или Norton Disk Doctor выявляла наличие большого количества потерянных кластеров и пересечений файлов. Если, обнаружив нарушение в структуре файловой системы, пользователь пытался ее исправить, то все зараженные файлы оказывались испорченными.

Однако, несмотря на то что внешне зараженные программы кажутся совершенно неработоспособными, они работали как обычно. Так появился новый тип вируса, впоследствии названный DIR.

Способ размножения вируса DIR значительно отличается от используемых обычными файловыми вирусами и вирусами-спутниками. Тем не менее, мы отнесли его к группе файловых вирусов, так как объектом нападения становятся именно исполнимые файлы программ.

Чтобы лучше понять механизм распространения вируса DIR, мы проведем небольшой экскурс в структуру файловой системы MS-DOS. Более подробную информацию вы найдете в шестой главе этой книги.

При описании загрузочных вирусов мы уже рассказывали, что данные хранятся на жестких дисках и дискетах в отдельных секторах. Несколько секторов, расположенных рядом, называют кластером. Когда на диске создается новый файл, операционная система отводит для него несколько свободных кластеров. Кластеры файла не обязательно должны следовать друг за другом. Поэтому операционная система хранит список номеров всех кластеров, распределенных файлу, в специальной таблице. Эта таблица называется таблицей распределения файлов (FAT - File Allocation Table).

В таблице распределения файлов для каждого кластера есть один элемент. Его значение характеризует состояние кластера. Например, свободный кластер отмечается нулевым значением, а кластер, непригодный для использования, отмечается числом FF7h (FFF7h). Если кластер распределен файлу, то соответствующий элемент FAT содержит номер следующего кластера файла. Последний кластер файла отмечается числом в диапазоне от FF8h до FFFh (от FFF8h до FFFFh).

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

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

Другие каталоги имеют точно такую же структуру, что и корневой каталог. В них также находятся описания файлов и других подкаталогов.

Когда пользователь запускает файл на выполнение, операционная система просматривает описания файлов в текущем каталоге текущего логического диска. Если файл с нужным именем найден, операционная система узнает из описания файла номер первого кластера файла, а затем по таблице FAT определяет остальные номера кластеров. После этого данные из кластеров файла считываются в оперативную память. Здесь они объединяются в один непрерывный участок, даже если кластеры файла были разбросаны по всему логическому диску.

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

Заражение вирусом DIR происходит следующим образом. Вирус DIR копирует свой код в один из кластеров заражаемой дискеты или логического диска. Этот кластер помечается в таблице FAT как конец файла. Затем вирус меняет описания файлов COM и EXE в структурах каталогов. Вирус записывает вместо номера первого кластера файла номер кластера, содержащего его код (рис. 1.9). Настоящий номер первого кластера зараженного файла шифруется и записывается в неиспользуемую область описания файла.

Рис. 1.8. Структура каталогов

Когда пользователь запускает один из зараженных файлов, с диска считывается только один кластер, содержащий код вируса. Таким образом, вирус сразу получает управление. Он устанавливает себя резидентным в оперативной памяти и перехватывает все обращения к диску. Затем вирус определяет настоящее расположение файла программы и загружает ее.

Рис. 1.9. Структура каталогов после заражения вирусом DIR

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

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



Источник: http://www.frolov-lib.ru/books/step/v05/ch1.htm
Категория: Компьютерные вирусы | Добавил: serg (04.09.2011)
Просмотров: 5658 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт

Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Прибыль каждые 10 минут!