В общем случае жизненный цикл компьютерного вируса содержит следующие этапы:
внедрение (инфицирование);
инкубационный период, в течение которого вирус себя не проявляет (как правило, ожидает либо появления подходящего объекта для заражения, либо выполнения заданных автором вируса условий);
саморазмножение (может выполняться различными способами, о которых будет сказано ниже);
выполнение специальных функций, то есть собственно выполнение тех вредных действий, для которых вирус создавался;
проявление – заключается в демонстрации вирусом своего присутствия на компьютере (обычно в визуальной или в звуковой форме).
Перечисленные этапы не являются обязательными (за исключением этапов инфицирования и саморазмножения) и могут иметь иную последовательность. Например, вирус может сначала сообщить о своем присутствии и лишь после этого заняться заражением. Особую опасность представляет этап выполнения специальных функций, которые могут привести к катастрофическим последствиям.
Как уже было сказано выше, любая классификация вирусов достаточно условна. Тем не менее один из вариантов классификации мы все-таки приведем.
В соответствии с ним вирусы подразделяются на классы по следующим признакам:
среда обитания;
способ заражения;
деструктивная возможность;
особенности алгоритма вируса.
По среде обитания компьютерные вирусы можно разделить на загрузочные, дисковые, файловые, флэш-вирусы и сетевые.
Загрузочные вирусы внедряются в загрузочный сектор диска (boot-сектор) или в сектор, содержащий системный загрузчик винчестера.
Дисковые вирусы замечательны тем, что способны работать с физическими секторами жестких дисков. Такой вирус захватывает свободные (или даже занятые данными) секторы диска, устанавливает для них в файловой системе признак «плохих» (такие секторы в дальнейшем не распределяются под данные) или «специальных» (не подлежащих перезаписи) и «живет» в них до прихода доктора-антивируса.
К файловым относят вирусы, заражающие исполняемые файлы (файлы с расширениями. exe,com,bat). Особой разновидностью файловых вирусов являются так называемые макровирусы. Они «живут» в макросах – программах, написанных на языке VBA (Visual Basic Application), которые используются для расширения функциональных возможностей приложений из комплекта MS Office.
Еще один, наиболее «современный» тип файловых вирусов – это вредоносные сценарии (скрипты), написанные на одном из популярных скриптовых языков программирования (VBScript или JavaScript) и входящие в состав HTML-страниц. Для краткости будем именовать такие вирусы сценарными (или скриптовыми).
Флэш-вирусы обязаны своим названием микросхемам перезаписываемой энергонезависимой памяти (флэш-памяти). Как известно, в современных компьютерах такие микросхемы используются на материнских платах для хранения кода программы BIOS. Неудивительно, что компьютеры, «подцепившие» флэш-вирус, зачастую вообще оказываются неспособны загружаться.
Сетевые вирусы для распространения активно используют протоколы и возможности локальных и глобальных сетей. Основным принципом работы сетевого вируса является возможность самостоятельно передать свой код на удаленный сервер или рабочую станцию. «Полноценные» сетевые вирусы при этом обладают возможностью запустить на выполнение свой код на удаленном компьютере или, по крайней мере, «подтолкнуть» пользователя к запуску зараженного файла.
Помимо перечисленных, существуют и «комбинированные» вирусы – например, файлово-загрузочные, способные заражать как файлы, так и загрузочные секторы дисков. Такие вирусы, как правило, работают по довольно сложным алгоритмам и часто применяют оригинальные методы проникновения в систему.
ПРИМЕЧАНИЕ
По состоянию на ноябрь 2005 года почтовые и сетевые черви составляли около 78 % от всех выявленных вирусов, файловые вирусы – около 20 %, загрузочные и другие вирусы в общей сложности составляют около 2 % (по данным Лаборатории Касперского).
По способу заражения вирусы подразделяются на резидентные и нерезидентные.
Резидентный вирус при инфицировании компьютера оставляет в оперативной памяти (ОП) свою резидентную часть, которая затем перехватывает обращение операционной системы к объектам заражения и внедряется в них. Обычно эта процедура предусматривает проверку, не присутствует ли уже в объекте копия вируса. Если объект «чист», то вирус копируется из памяти в заражаемый объект с модификацией его первой команды. Объектами заражения в этом случае могут быть исполняемые программы на жестком диске и на гибких дисках. Резидентные вирусы находятся в памяти и активны вплоть до выключения или перезагрузки компьютера. Резидентными можно считать макровирусы, поскольку они постоянно присутствуют в памяти компьютера в течение всего времени работы приложения, использующего «вредоносный» макрос. Соответственно, все документы, созданные или просто открытые в это время, будут заражены.
Нерезидентные (транзитные) вирусы не заражают ОП и активны ограниченное время. Транзитные вирусы не остаются в памяти после выполнения зараженной программы. Такой вирус перед передачей управления исходной программе ищет незараженный файл, пригодный для внедрения.
По деструктивным способностям вирусы можно разделить на:
безвредные;
неопасные;
опасные;
очень опасные.
Безвредные вирусы только уменьшают объем свободной памяти на диске в результате своего распространения.
Влияние неопасных вирусов ограничивается также уменьшением свободной памяти на диске и дополнительно сопровождается графическими, звуковыми и другими эффектами.
Опасные вирусы приводят к серьезным сбоям в работе компьютера.
В результате работы очень опасных вирусов уничтожаются программы, данные, удаляется необходимая для работы информация, записанная в системных областях памяти. Особо опасны вирусы, прикрепляемые к объектной библиотеке какого-либо компилятора. Такие вирусы автоматически внедряются в любую программу, работающую с инфицированной библиотекой. Известны также вирусы, способные разрушать BIOS компьютера, что приводит к невозможности его загрузки.
Вообще известные в настоящее время вирусы могут выполнять следующие разрушительные функции:
изменение данных в файлах;
изменение данных, передаваемых через параллельные и последовательные порты;
изменение назначенного диска (запись информации производится не на диск, указанный пользователем, а на диск, указанный вирусом);
переименование файлов;
форматирование отдельных частей жесткого диска (гибкого диска) или даже всего диска;
уничтожение, изменение или перемещение загрузочного сектора диска;
снижение производительности системы из-за постоянного выполнения паразитных программ;
отказ в выполнении определенной функции (например, блокировку клавиатуры, блокировку загрузки программы с защищенного от записи гибкого диска и т. д.).
Вирусы могут использовать следующие алгоритмы работы:
стелс-алгоритмы;
самошифрование и полиморфизм;
нестандартные приемы.
Применение стелс-алгоритмов (от англ. stealth – «невидимка») позволяет вирусам полностью или частично скрыть себя в системе. Наиболее распространенным стелс-алгоритмом является перехват запросов OC на чтение-запись зараженных объектов. Стелс-вирусы при этом либо временно лечат их, либо «подставляют» вместо себя незараженные участки информации. В случае макровирусов наиболее популярный способ – запрет вызовов меню просмотра макросов. Один из первых файловых стелс-вирусов – вирус «Frodo», первый загрузочный стелс-вирус – «Brain».
Самошифрование и полиморфизм (от англ. polymorphism – «многообразие») используются практически всеми типами вирусов для того, чтобы максимально усложнить процедуру обнаружения вируса. Полиморфик-вирусы – это вирусы, не имеющие сигнатур, то есть не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.
Различные нестандартные приемы часто используются в вирусах для того, чтобы как можно глубже спрятать себя в ядре OC (как это делает вирус «3APA3A»), защитить от обнаружения свою резидентную копию (вирусы «TPVO», «Trout2»), затруднить лечение от вируса (например, поместив свою копию в Flash-BIOS) и т. д.
Почему из программных закладок уделено внимание только программам-шпионам? Дело в том, что логические бомбы – вещь достаточно сложная и дорогостоящая, и потому на уровне «домашних» компьютеров практически не встречаются. Можно привести такой пример использования логических бомб. В свое время (в начале 90-х годов прошлого века) для вооруженных сил Ирака были закуплены во Франции зенитно-ракетные комплексы. Как потом стало известно, их программное обеспечение содержало логические бомбы. Когда США начали боевые действия против Ирака (операция «Буря в пустыне»), логические бомбы были активизированы по сигналам с военных спутников. В результате практически вся система противовоздушной обороны Ирака оказалась выведенной из строя.
Но вернемся к более «мирным» программам-шпионам. На такие программы обычно возлагаются следующие функции:
сбор сведений о программном обеспечении, установленном на компьютере (в том числе тип и версия используемой операционной системы);
перехват клавиатурного ввода (в частности, отслеживание вводимых паролей, сетевых имен и т. д.);
поиск на жестком диске (дисках) персональных данных;
выявление адресов посещаемых веб-сайтов, адресов электронной почты и т. п.;
создание снимков экрана или окон конкретных активных приложений (некоторые «шпионы» способны также записывать целые видеоклипы о работе владельца компьютера).
Большинство программ-шпионов умеет передавать собранные сведения своему «хозяину», то есть лицу (или организации), заславшему «шпиона».
Наиболее простой и распространенный на сегодняшний день способ передачи «шпионом» собранных сведений – это пересылка их посредством Интернета (например, по электронной почте).
Кому могут принести пользу собранные сведения? В первую очередь на ум приходят пресловутые спецслужбы, контролирующие личную жизнь граждан. Но это, скорее, исключение. Значительно большую заинтересованность в сборе сведений о конфигурации компьютера «рядового» пользователя проявляют производители программного обеспечения и аппаратных компонентов вычислительной техники. Конкретные цели сбора сведений могут быть разными: это и борьба с пиратским использованием программ, и исследование потребительского рынка, и конкурентная борьба, а также другие смежные направления.
ПРИМЕЧАНИЕ
Иногда программы-шпионыиспользуются не для нападения, а для защиты – когда владелец компьютера устанавливает такую программу сам, чтобыона следила за работой на компьютере других лиц. Частный случай подобного применения «шпионов» – контроль за действия подчиненных со стороны руководства.
Теперь о том, каким образом программы-шпионы попадают на компьютер. Может применяться тот же способ, что и при заражении вирусами, то есть «шпион» может «прятаться» внутри файла данных или исполняемого файла. Однако это не самый популярный вариант, поскольку размер «шпиона» обычно значительно больше размера вируса, и спрятать его внутри файла-контейнера непросто.
Значительно чаще «шпион» входит в дистрибутив какой-либо безобидной (или даже полезной) программы, приобретаемой или скачиваемой из Интернета. В процессе установки такой программы на компьютер параллельно производится также установка «шпиона». Нередко «шпион» прописывается на компьютере по всем правилам: с регистрацией в системном реестре, с созданием собственной папки, собственных типов файлов данных и т. д. Благодаря этому «шпион» зачастую продолжает «жить и работать» даже после удаления той основной программы, в которой он был спрятан.
Таким образом, программа, обеспечивающая установку «шпиона» на компьютер, играет роль своеобразного троянского коня, в недрах которого прячется неприятный сюрприз.
ПРИМЕЧАНИЕ
Изначально именно программы, содержащие недекларированные возможности, получили прозвище «троянские кони», или, в сокращенном варианте, «троянцы» (ато и вовсе «трояны»). Однако со временем входившая в них шпионская начинка стала использоваться самостоятельно (или кочевала из одной программы-контейнера в другую). В результате наименование «троянец» стало применяться не к контейнеру, а собственно к вредоносной программе. Сейчас можно встретить программы-вирусы, которые называют троянцами, хотя они используют отнюдь не «троянскую» технологию распространения (например, TROJ_EVIL, распространяющийся как файловый вирус). Имя вируса, данное ему автором, далеко не всегда соответствует типу вируса. Например, если вирус называется Worm, это еще не значит, что перед вами действительно вирус-червь. Возможно, его создателю просто понравилось это словечко.
На сегодняшний день известно несколько достаточно популярных программ, содержащих в своем составе шпионские модули, в том числе CuteFTP, Go!Zilla, ReGet.
Известен также и перечень наиболее популярных «шпионов», услугами которых пользуются создатели программного обеспечения. Суперагентами сегодня считаются программы-шпионы Radiate, Cydoor и Web3000. Все они попадают на компьютер с довольно известными продуктами. Так, например, Radiate используют разработчики программ Gif Animator, Go!Zilla, GetRight и ReGet. Cydoor вы получаете в нагрузку к Audio CD MP3 Studio 2000, PC-to-Phone и ReGet. А Web3000 попадает на ваш компьютер вместе с NetCaptor, NetSonic и NetMonitor.
Антишпионские программы содержат в своих базах данных сведения о 200300 программах, относящихся к классу spyware.
Сегодня в связи с развитием сетевых технологий все большее распространение получает специфический вид программ-шпионов – так называемый бэкдор (транслитерация от англ. backdoor – «черный ход»).
Бэкдор – это программа, позволяющая удаленно управлять компьютером. Она может, например, изменить параметры рабочего стола, скорректировать права доступа пользователей компьютера, инсталлировать или, наоборот, удалить установленное программное обеспечение и т. п. Изначально подобная технология была разработана с целью облегчения жизни системных администраторов, но.
Каким образом бэкдор может попасть на компьютер пользователя? Так же, как и любая другая вредоносная программа.
При первом запуске бэкдор скрытно устанавливает себя в операционную систему и затем следит за действиями пользователя, не выдавая никаких сообщений. Более того, запущенный бэкдор может отсутствовать в перечне активных приложений. В результате владелец компьютера не знает о присутствии в системе программы удаленного администрирования, в то время как его компьютером может удаленно управлять злоумышленник.
О проекте
О подписке