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