Анатомия и функционирование компьютерных вирусов История появления вирусов
Компьютерный вирус (КВ) – это самовоспроизводящаяся программа, производящая несанкционированные действия.
КВ – результат взаимодействия трех направлений:
разработка самовоспроизводящихся программ;
создание программ, повреждающих или уничтожающих другие программы;
разработка и освоение массового производства дешевых и мощных ПК.
Идея создания самовоспроизводящихся программ берет свое начало из работ по созданию самовоспроизводящихся механизмов, метод создания которых в 1951 году предложил Джон фон Нейман.
Для того чтобы самовоспроизводящиеся программы могли успешно размножаться, им необходимо определенное “жизненное пространство”– некоторое критическое количество ПК и соответствующий уровень информационных потоков между ними.
В 1987 году количество ПК достигло нескольких миллионов, тогда и произошла первая эпидемия. Пакистанский вирус был написан для наказания американских туристов, покупавших в Пакистане незаконные копии программ.
Вторым историческим предшественником КВ можно считать программы-вандалы и троянские программы. Они содержат скрытый модуль, выполняющий несанкционированные действия.
Программы-вандалы обычно выполняют или имитируют выполнение какой-нибудь полезной или экзотической функции. При этом в качестве побочного эффекта они стирают файлы, разрушают каталоги, форматируют диск и т.д.
Чтобы привлечь пользователей, троянская программа-вандал часто маскируется под новую версию какого-нибудь известного программного продукта.
Толчком к появлению программ-вандалов послужило появление первых компьютерных сетей. При этом автор подсовывает программу в несколько BBS(доска объявлений), пользователи которых затем“попадаются на удочку”. В качестве примера троянской программы-вандала можно привести программу“Сюрприз”. Написанная на Бейсике, она исполняла командуDEL*.*, затем выдавала на экран сообщение“Surprise!”.И таких простых и злобных программ написано немало.
Иногда в качестве самостоятельной разновидности троянских программ-вандалов выделяют так называемые логические мины – скрытые модули, встроенные в ранее разработанную и широко используемую программу. Этот модуль является безвредным до определенного события, при наступлении которого он срабатывает. Подобные программы иногда используются уволенными или обиженными сотрудниками. В истории отечественного программирования был довольно “громкий” случай компьютерного саботажа. В начале 80-х годов газеты сообщили о программисте, который перед увольнением встроил в программу, управлявшую главным конвейером ГАЗа,“мину”, которая через некоторое время привела к остановке конвейера.
Программы, обеспечивающие вход в систему или получение привилегированной функции (режима работы) в обход существующей системы полномочий, называют люками (back door).
Троянские программы могут также использоваться в целях разведки, например, программы для угадывания паролей.
Самой нашумевшей историей, связанной с распространением троянской программы, был случай, получивший название AIDS Information Trojan– троянская программа в составе базы данных по СПИДу. В конце 1989 года программа, записанная на дискете, была разослана злоумышленником в 20 тыс. медицинских организаций. Программа действительно выдавала нужную информацию, а через некоторое время вся информация на винчестере была перекодирована, и на экране появлялось требование заплатить деньги. Автор был арестован через три месяца.
Формально, компьютерным вирусом называется программа, которая может заражать другие программы путем включения в них своей, возможно модифицированной копии, причем последняя сохраняет возможность к дальнейшему размножению. Программа, зараженная вирусом, может рассматриваться как автоматически созданная троянская программа. Зараженные программы передаются через дискеты или по сети на другие компьютеры. Так и возникает эпидемия.
Упрощенно процесс заражения вирусом программных файлов вирусом можно представит следующим образом. Код зараженной программы обычно изменен таким образом, чтобы вирус получил управление первым, до начала работы программы-вирусоносителя.
П
Команда перехода
-
Тело вируса
Начало программы
Программа
Тело вируса
Программа
Конец программы
Тело вируса
После отработки своего тела передает управление программе-вирусоносителю, и та нормально выполняет свои функции.