Первый сетевой вирус

Как известно, прототипом Интернета является сеть Пентагона. Считается, что первый сетевой вирус Creeper появился здесь. Та программа, которая там выступала в качестве вируса, могла сама выйти в сеть и оставить на удаленной машине свою копию. Тот вирус выполнял функции, которые соответствуют функциям современного антивируса. Он распространялся по сети, после чего обнаруживал вирус Creeper и уничтожал его. Однако конкретно слова «вирус» тогда не было. Получается. Что Фред Коэн скорее является не автором вируса, а создателем термина. Тем не менее, Фред Коэн считается одним из самых авторитетных специалистов в области безопасности компьютерных сетей. Также он еще в 1987 году доказал, что нельзя создать алгоритм для стопроцентного обнаружения всех возможных вирусов. Пользователям рекомендуется только чаще обновлять антивирусное программное обеспечение.

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

Затем количество вирусов и число зараженных компьютеров стали лавинообразно увеличиваться в соответствии с экспоненциальным законом. Это потребовало принятия срочных мер как технического и организационного, так и юридического характера.

Среди побудительных мотивов, движущих авторами вирусов, можно назвать следующие:

― озорство и одновременно недопонимание всех последствий распространения вируса;

― стремление «насолить» кому-либо;

― неестественная потребность в совершении преступлений;

― желание самоутвердиться;

― невозможность использовать свои знания и умения в конструктивном русле (это в большей степени экономическая проблема);

― уверенность в полной безнаказанности (в ряде стран, в том числе и в нашей, пока отсутствуют соответствующие правовые нормы).

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

1) латентный период, в течение которого вирусом никаких действий не предпринимается;

2) инкубационный период, в рамках которого вирус только размножается;

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

Первые две фазы служат для того, чтобы скрыть источник вируса, канал его проникновения, и заразить (инфицировать) как можно больше файлов до выявления вируса. Длительность этих фаз может определяться временным интервалом, наступлением какого-либо события или наличием требуемой конфигурации аппаратных средств (в частности, наличием НЖМД).

Компьютерные вирусы классифицируются в соответствии со следующими признаками:

1) среда обитания;

2) способ заражения среды обитания;

3) способ активизации;

4) способ маскировки.

5) по алгоритмам функционирования

1) по среде обитания выделяют:

― файловые вирусы, инфицирующие программные файлы, т.е. файлы с программами;

― загрузочные вирусы, заражающие компоненты системной области, используемые при загрузке DOS;

― файлово-загрузочные вирусы, интегрирующие черты первых двух групп.

Файловые вирусы могут внедряться (имплантироваться) в:

― файлы с компонентами DOS;

― позиционно-независимые перемещаемые машинные программы, находящиеся в СОМ-файлах;

― позиционно-зависимые перемещаемые машинные программы, размещаемые в ЕХЕ-файлах;

― внешние драйверы устройств (SYS- и BIN-файлы);

― объектные модули (OBJ-файлы);

― файлы с программами на языках программирования (в расчете на компиляцию этих программ);

― командные файлы (ВАТ-файлы);

― объектные и символические библиотеки (LIB- и др. файлы);

― оверлейные файлы (OV?-, PIF- и др. файлы).

Наиболее часто файловые вирусы способны внедряться в СОМ и/или ЕХЕ-файлы.

Загрузочные вирусы могут заражать:

― BR (точнее — SB) на дискетах;

― BR (точнее — SB) системного логического диска, созданного на винчестере;

― MBR (точнее — NSB) на жестком диске.

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

Конечно, у файловых вирусов инфицирующая способность выше.

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

2) Способы заражения среды обитания, естественно, зависят от типа последней. Зараженная вирусом среда называется вирусоносителем.

Тело файлового вируса может размещаться при имплантации в:

― конце файла;

― начале файла;

― середине файла;

― хвостовой (свободной) части последнего кластера, занимаемого файлом.

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

1) дописывает к файлу собственную копию (тело вируса);

сохраняет в этой копии оригинальное начало файла;

2) сохраняет в этой копии оригинальное начало файла;

3) заменяет оригинальное начало файла на команду передачи управления на тело вируса.

3) В зависимости от способа активизации различают:

― нерезидентные вирусы;

― резидентные вирусы.

Для нерезидентного вируса активизация эквивалентна получению им управления после запуска инфицированной программы. Тело вируса исполняется однократно в случае выполнения зара­женной программы и осуществляет описанные выше действия.

Резидентный вирус логически можно разделить на две части — инсталлятор и резидентный модуль. При запуске инфицированной программы управление получает инсталлятор, который выполняет следующие действия:

1) размещает резидентный модуль вируса в ОЗУ и выполняет операции, необходимые для того, чтобы последний хранился в ней постоянно;

2) подменяет некоторые обработчики прерываний, чтобы резидентный модуль мог получать управ­ление при возникновении определенных событий (например, в случае открытия или считывания файла).

Для размещения вируса резидентно в памяти могут использоваться стандартные средства DOS. Однако применение такого метода может быть легко обнаружено антивирусными средствами. Наиболее совершенные вирусы действуют в обход средств DOS, непосредственно корректируя список МСВ. Это позволяет произвести установку резидентного модуля в большей степени скрытно.

Резидентный модуль остается в памяти до перезагрузки DOS. Некоторые вирусы все же «выдерживают» теплую перезагрузку (по Ctrl-Alt-Del), перехватывая прерывание от клавиатуры и распознавая нажатие этой комбинации клавиш. Выявив такую ситуацию, вирус активизируется и сам загружает DOS выгодным для себя образом, оставаясь в памяти.

Получив управление по прерыванию, резидентный модуль вируса выполняет нижеприведенные действия:

1) возможно, отыскивает и инфицирует очередную жертву;

2) вероятно, выполняет несанкционированные действия.

В частности, резидентный вирус может заразить считываемый, открываемый или просто найденный программный файл.

По сравнению с нерезидентными резидентные вирусы являются более изощренными и опасными.

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

4) В соответствии со способами маскировки различают:

― немаскирующиеся вирусы;

― самошифрующиеся вирусы;

― стелс-вирусы.

Авторы первых вирусов уделяли особое внимание механизмам размножения (репликации) с внедрением тел в другие программы. Маскировка же от антивирусных средств не осуществлялась. Такие вирусы называются немаскирующимися.

В связи с появлением антивирусных средств разработчики вирусов сосредоточили усилия на обеспечении маскировки своих изделий. Сначала была реализована идея самошифрования вируса. При этом лишь небольшая его часть является доступной для осмысленного чтения, а остальная — расшифровывается непосредственно перед началом работы вируса. Такой подход затрудняет как обнаружение вируса, так и анализ его тела специалистами;

В последнее время появились стелс-вирусы, названные по аналогии с широкомасштабным проектом STEALTH по созданию самолетов-невидимок. Методы маскировки, используемые стелс-вирусами, носят комплексный характер, и могут быть условно разделены на две категории:

1) маскировка наличия вируса в программе-вирусоносителе;

2) маскировка присутствия резидентного вируса в ОЗУ.

К первой категории относятся:

1) автомодификация тела вируса;

2) реализация эффекта удаления тела вируса из вирусоносителя при чтении последнего с диска, в частности, отладчиком (это осуществляется, путем перехвата прерывания, конечно, в случае наличия резидентного вируса в ОЗУ);

3) имплантация тела вируса в файл без увеличения его размера;

4) эффект неизменности длины инфицированного файла (осуществляется аналогично п. 2);

5) сохранение неизменным оригинального начала программных файлов.

Например, при чтении каталога средствами DOS резидентный вирус может перехватить соответствующее прерывание и искусственно уменьшить длину-файла. Конечно, реальная длина файла не меняется, но пользователю выдаются сведения, маскирующие ее увеличение. Работая же с каталогами непосредственно (в обход средств DOS), ,Вы получите истинную информацию. Такие возможности предоставляет, в частности, оболочка Norton Commander.

К второй категории методов маскировки можно отнести:

1) занесение тела вируса в специальную зону резидентных модулей DOS, в хвостовые части кластеров, в CMOS-память, видеопамять и т.п.;

2) модификацию списка МСВ, о чем уже говорилось;

3) манипулирование обработчиками прерываний, в частности, специальные методы их подмены, с целью обойти резидентные антивирусные средства;

4) корректировку общего объема ОЗУ.

Конечно, маскировка может комбинироваться с шифрованием.

5) По алгоритмам функционирования вирусы делятся на следующие группы:

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

· вирусы-репликаторы ("черви"), саморазмножающиеся и распространяющиеся по компьютерным сетям. Сами деструктивных действий не выполняют;

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

· самошифрующиеся вирусы (в режиме простоя зашифрованы и расшифровываются только в момент начала работы вируса);

· мутирующие вирусы (периодически автоматически видоизменяются: копии вируса не имеют ни одной повторяющейся цепочки байт), необходимо каждый раз создавать новые антивирусные базы для обезвреживания этих вирусов;

· "отдыхающие" вирусы (основное время проводят в латентном состоянии и активизируются только при определенных условиях, например, вирус "Чернобыль" функционирует только в день годовщины чернобыльской трагедии).

 

Можно схематично представить классификацию вредоносных программ:

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

Загрузочные вирусы внедряются в загрузочный сектор дискеты (boot-sector) или в сектор, содержащий программу загрузки системного диска (master boot record). При загрузке ОС с зараженного диска такой вирус изменяет программу начальной загрузки либо модифицирует таблицу размещения файлов на диске, создавая трудности в работе компьютера или даже делая невозможным запуск операционной системы.

Файлово-загрузочные вирусы интегрируют возможности двух предыдущих групп.

Макровирусы заражают и искажают текстовые файлы (.doc) и файлы электронных таблиц некоторых популярных редакторов. Комбинированные сетевые макровирусы не только заражают создаваемые документы, но и рассылают копии этих документов по электронной почте (печально известный вирус "I love you").

Сетевые черви используют для своего распространения команды и протоколы телекоммуникационных систем (электронной почты, компьютерных сетей). Они подразделяются на Internet-черви (распространяются по Интернету), LAN-черви (распространяются по локальной сети), IRC-черви (Internet Relay Chat) ─ распространяются через чаты. Существуют также смешанные типы, которые совмещают в себе сразу несколько технологий.

В отдельную группу выделяются троянские программы, которые не размножаются и не рассылаются сами.

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

Эмуляторы DDoS-атак (Distributed Denial of Service) приводят к -атакам на веб-серверы, при которых на веб-сервер из разных мест поступает большое количество пакетов, что и приводит к отказам работы системы.

Дроппер (от англ. drop ─ бросать) ─ программа, которая "сбрасывает" в систему вирус или другие вредоносные программы, при этом сама больше ничего не делает.

Скрипт-вирусы ─ это вирусы, написанные на скрипт-языках, таких как Visual Basic Script, Java Script и др.

Для своевременного обнаружения и удаления вирусов важно знать основные признаки появления вируса в компьютере:

─ неожиданная неработоспособность компьютера или его компонентов;

─ невозможность загрузки операционной системы;

─ медленная работа компьютера;

─ частые зависания и сбои в компьютере;

─ прекращение работы ранее успешно исполнявшихся программ;

─ искажение или исчезновение файлов и каталогов;

─ непредусмотренное форматирование диска;

─ необоснованное увеличение количества файлов на диске;

─ необоснованное изменение размера файлов;

─ искажение данных в CMOS-памяти;

─ существенное уменьшение объема свободной оперативной памяти;

─ вывод на экран непредусмотренных сообщений и изображений;

─ появление непредусмотренных звуковых сигналов.

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

Антивирусные программы можно разделить на:

· программы-детекторы;

· программы-ревизоры,

· программы-фильтры;

· программы-доктора, или дезинфекторы, фаги;

· программы-вакцины, или иммунизаторы.

Приведем краткие характеристики антивирусных программ.

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

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

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

Программы-доктора ─ самые распространенные и популярные (например, Kaspersky Antivirus, Doctor Web, Norton Antivirus и т. д.), которые не только обнаруживают, но и лечат зараженные вирусами файлы и загрузочные секторы дисков. Они сначала ищут вирусы в оперативной памяти и уничтожают их там (удаляют тело резидентного файла), а затем лечат файлы и диски. Многие программы-доктора являются полифагами и обновляются достаточно часто.

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

Для защиты компьютера от вирусов необходимо:

· не использовать нелицензионные или непроверенные программные продукты;

· иметь на компьютере один или несколько наборов антивирусных программ и обновлять их еженедельно;

· не пользоваться дискетами с чужих компьютеров, а при необходимости такого использования сразу же проверять их антивирусными программами;

· не запускать программ, назначение которых неизвестно или непонятно;

· использовать антивирусные программы для входного контроля информации, поступающей по сети;

· не раскрывать вложения в электронные письма от неизвестных отправителей;

· при переносе на компьютер архивированных файлов сразу же после разархивирования проверять их антивирусными программами;

· перед открытием текстовых, табличных и иных файлов, содержащих макросы, проверять их на наличие вирусов;

· периодически проверять винчестер на наличие вирусов;

· не оставлять дискеты в дисководе при включении и выключении компьютера во избежание заражения их загрузочными вирусами.