Особенности самомодифицирующихся вирусов кратко

Обновлено: 02.07.2024

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

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

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

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

Любая дискета, не защищённая от записи, находясь в дисководе заражённого компьютера, может быть заражена. Дискеты, побывавшие в зараженном компьютере, являются разносчиками вирусов. Существует ещё один канал распространения вирусов, связанный с компьютерными сетями, особенно всемирной сетью Internet. Часто источниками заражения являются программные продукты, приобретённые нелегальным путем.

Существует несколько классификаций компьютерных вирусов :

1. По среде обитания различают вирусы сетевые, файловые, загрузочные и файлово-загрузочные.

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

3. По степени воздействия вирусы бывают неопасные, опасные и очень опасные;

4. По особенностям алгоритмов вирусы делят на паразитические, репликаторы, невидимки, мутанты, троянские, макро-вирусы.

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

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

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

Стелс-вирусы (невидимки) перехватывает обращения к зараженным файлам и областям и выдают их в незараженном виде.

Троянские вирусы маскируют свои действия под видом выполнения обычных приложений.

Вирусом могут быть заражены следующие объекты:

2. Загрузчик операционной системы и главная загрузочная запись жесткого диска . Вирусы, поражающие эти области, называются загрузочными . Такой вирус начинает свою работу при начальной загрузке компьютера и становится резидентным, т.е. постоянно находится в памяти компьютера. Механизм распространения загрузочных вирусов - заражение загрузочных записей вставляемых в компьютер дискет. Часто такие вирусы состоят из двух частей, поскольку загрузочная запись имеет небольшие размеры и в них трудно разместить целиком программу вируса. Часть вируса располагается в другом участке диска, например, в конце корневого каталога диска или в кластере в области данных диска. Обычно такой кластер объявляется дефектным, чтобы исключить затирание вируса при записи данных на диск.

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

Если не принимать мер по защите от вирусов, то последствия заражения могут быть очень серьезными. Например, в начале 1989 г. вирусом, написанным американским студентом Моррисом, были заражены и выведены из строя тысячи компьютеров, в том числе принадлежащих министерству обороны США. Автор вируса был приговорен судом к трем месяцам тюрьмы и штрафу в 270 тыс. дол. Наказание могло быть и более строгим, но суд учел, что вирус не портил данные, а только размножался.

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

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

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

Обзор комплексных вирусов

Раньше полезным и популярным показателем считалось количество вирусов, которые способен обнаружить антивирус, однако с приходом более полезных и разумных методов про него забыли. Сегодня такими показателями считаются время реагирования антивирусной компании на новую угрозу и возможности их продукта к обнаружению вирусов. Однако эти показатели часто не затрагивают угрозу иного рода – комплексных вирусов. При обнаружении комплексных вирусов скорее всего придется столкнуться с двумя проблемами: либо это вирусы, которые просто очень сложно обнаружить, либо поисковый механизм антивируса не позволяет это сделать. Мы начнем, пожалуй, с определений, которые нам пригодятся.

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

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

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

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

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

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

Определение угрозы

Все эти примеры стоят нескольких дней (и ночей) работы, имея ввиду реверсинг, репликацию вируса и написание алгоритма определения вируса. Исследователю будет легче написать сначала отдельную программу на Си, и после этого интегрировать алгоритм в антивирусный продукт.

Ограничения в технологии поиска вирусов

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

Сравнительно простой вирус, направленный на только зарождающуюся платформу (скажем Win64), может выявить ограничения поискового механизма антивируса, которые усложнят его обнаружение настолько же, насколько сложно обнаружить полиморфный вирус на Win32. Конечно все зависит от доступной антивирусной технологии. Может оказаться, что формат файла не проверяется антивирусом, либо не поддержан. Также может понадобиться эмуляция. Эти факторы влияют на способность обнаружения вируса.

Некоторые новые вирусы, найденные в 2004 году, нацеленные на платформу Win64 и довольно сложно определяемые, включают в себя W64/Rugrat (документ PDF) (IA64), W64/Shruggle (AMD64) и несколько вирусов с MSIL-инфекторами. Соответствующие форматы исполняемых файлов варьируются, так что даже задача подбора поисковой строки превращается в трюк акробата, если антивирус не поддерживает эти форматы.

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

Кроме времени реакции, различается и способность к обнаружению вирусов, это видно при измерении способности обнаружить все виды полиморфных вирусов, учитывая допустимую погрешность. А что такое допустимая погрешность? Хотя она разная у каждой компании, обычно она составляет лишь небольшой процент ложных обнаружений, но есть и исключения. Последний пример – W32/Zelly – этому вирусу была разрешена большая (50%) погрешность некоторыми компаниями лишь для того, чтобы стать первыми его находчиками.

Что если ваша антивирусная компания перестанет уделять внимание комплексным вирусам? Это должно подсказать вам, что их технологии и/или профессионализм не на высшем уровне. Что если завтрашний Mydoom будет полиморфным? Смогут ли они дать ответ угрозе?

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

Один хакер может причинить столько же вреда, сколько 10 000 солдат! Боитесь что ANONYMOUS опустошат ваши счета ? Хакеры объявили Кибервойну России! Узнай первым , как выжить в цифровом кошмаре!


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

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

Например, вирус Anti-MIT ежегодно 1 декабря разрушает всю информацию на жестком диске, вирус Tea Time мешает вводить информацию с клавиатуры с 15:10 до 15:13. В 1989 году американский студент сумел создать вирус, который вывел из строя около 6 000 компьютеров Министерства обороны США. Эпидемия известного вируса Dir-II разразилась в 1991 году. Вирус использовал действительно оригинальную, принципиально новую технологию и на первых порах сумел широко распространиться за счет несовершенства традиционных антивирусных средств. Кристоферу Пайну удалось создать вирусы Pathogen и Queeq, а также вирус Smeg. Именно последний был самым опасным, его можно было накладывать на первые два вируса, и из-за этого после каждого прогона программы они меняли конфигурацию. Поэтому их было невозможно уничтожить. Чтобы распространить вирусы, Пайн скопировал компьютерные игры и программы, заразил их, а затем отправил обратно в сеть. Пользователи загружали в свои компьютеры, зараженные программы и инфицировали диски. Ситуация усугубилась тем, что Пайн умудрился занести вирусы и в программу, которая с ними борется. Запустив ее, пользователи вместо уничтожения вирусов получали еще один. В результате этого были уничтожены файлы множества фирм, убытки составили миллионы фунтов стерлингов.

Широкую известность получил американский программист Моррис. Он известен как создатель вируса, который в ноябре 1988 года заразил порядка 7 тысяч персональных компьютеров, подключенных к Internet.

 по среде обитания вируса;

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

 по деструктивным возможностям;

 по особенностям алгоритма вируса.

Более подробную классификацию вирусов внутри этих групп можно представить примерно так (табл. 28):



Основными путями проникновения вирусов в компьютер являются съемные внешние устройства, а также компьютерные сети. Заражение жесткого диска вирусами может произойти при загрузке программы с внешнего устройства, содержащего вирус.

Как работает вирус

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

Эта программа тестирует оборудование.

Среди секторов есть несколько служебных, используемых операционной системой для собственных нужд. Из служебных секторов нас интересует один - сектор начальной загрузки (boot-sector).

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

ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА.

Теперь рассмотрим вирус. В загрузочных вирусах выделяют две части - голову и хвост. Хвост, вообще говоря, может быть пустым.

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

 выделяет некоторую область диска и помечает ее как недоступную операционной системе. Это можно сделать по-разному, в простейшем и традиционном случае занятые вирусом секторы помечаются как сбойные (bad);

 копирует в выделенную область диска свой хвост и оригинальный (здоровый) загрузочный сектор;

 замещает программу начальной загрузки в загрузочном секторе (настоящем) своей головой;

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

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

ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА

появляется новое звено:

ПНЗ (ПЗУ) - ВИРУС - ПНЗ (диск) - СИСТЕМА.

Мы рассмотрели схему функционирования простого бутового вируса, живущего в загрузочных секторах дискет. Как правило, вирусы способны заражать не только загрузочные секторы дискет, но и загрузочные секторы винчестеров. При этом в отличие от дискет на винчестере имеются два типа загрузочных секторов, содержащих программы начальной загрузки, которые получают управление. При загрузке компьютера с винчестера первой берет на себя управление программа начальной загрузки в MBR (Master Boot Record - главная загрузочная запись). Если ваш жесткий диск разбит на несколько разделов, то лишь один из них помечен как загрузочный (boot). Программа начальной загрузки в MBR находит загрузочный раздел винчестера и передает управление на программу начальной загрузки этого раздела. Код последней совпадает с кодом программы начальной загрузки, содержащейся на обычных дискетах, а соответствующие загрузочные секторы отличаются только таб. . . . ?? . . . . . . . лицами параметров. Таким образом, на винчестере имеются два объекта атаки загрузочных вирусов - программа начальной загрузки в MBR и программа начальной загрузки boot-секторе загрузочного диска.

Признаки проявления вируса

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

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

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

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

 исчезновение файлов и каталогов или искажение их содержимого;

 изменение даты и времени модификации файлов;

 изменение размеров файлов;

 неожиданное значительное увеличение количества файлов на диске;

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

 подача непредусмотренных звуковых сигналов;

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

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

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

Требования к антивирусным программам

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

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

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

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

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

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

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

Большинство программ-докторов умеют лечить только от некоторого фиксированного набора вирусов, поэтому они быстро устаревают. Но некоторые программы могут обучаться не только способам обнаружения, но и способам лечения новых вирусов.

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

Детектор, позволяющий обнаруживать несколько вирусов, называют полидетектором.

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

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

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

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

Появились полезные гибриды ревизоров и докторов, т.е. ДОКТОРЫ-РЕВИЗОРЫ - программы, которые не только обнаруживают изменения в файлах и системных областях дисков, но и могут в случае изменений автоматически вернуть их в исходное состояние. Такие программы могут быть гораздо более универсальными, чем программы-докторы, поскольку при лечении они используют заранее сохраненную информацию о состоянии файлов и областей дисков. Это позволяет им излечивать файлы даже от тех вирусов, которые не были созданы на момент написания программы. Но они могут лечить не от всех вирусов, а только от тех, которые используют стандартные, известные на момент написания программы, механизмы заражения файлов.

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

 попытки коррекции файлов с расширениями СОМ и ЕХЕ;

 изменение атрибутов файлов;

 прямая запись на диск по абсолютному адресу;

 запись в загрузочные сектора диска;

 загрузка резидентной программы.

Краткий обзор антивирусных программ

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

Один из наиболее известных и популярных антивирусов. Процент распознавания вирусов очень высокий (близок к 100 %). В программе используется механизм, который позволяет распознавать новые неизвестные вирусы.

В интерфейсе программы Norton AntiVirus имеется функция LiveUpdate, позволяющая щелчком на одной-единственной кнопке обновлять через Web как программу, так и набор сигнатур вирусов. Мастер по борьбе с вирусами выдает подробную информацию об обнаруженном вирусе, а также предоставляет вам возможность выбора: удалять вирус либо в автоматическом режиме, либо более осмотрительно, посредством пошаговой процедуры, которая позволяет увидеть каждое из выполняемых в процессе удаления действий. Антивирусные базы обновляются часто. Имеется резидентный монитор.

Антивирус признан в мире как один из самых надежных. Несмотря на простоту в использовании он обладает всем необходимым арсеналом для борьбы с вирусами. Эвристический механизм, избыточное сканирование, сканирование архивов и упакованных файлов - это далеко не полный перечень его возможностей. Лаборатория Касперского своевременно выпускает обновления антивирусных баз. Имеется резидентный монитор для контроля над исполняемыми файлами.

Кроме вирусов принято выделять еще, по крайней мере, три вида вредоносных программ. Это троянские программы, логические бомбы и программы-черви. Четкого разделения между ними не существует: троянские программы могут содержать вирусы, в вирусы могут быть встроены логические бомбы, и т. д.

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

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

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

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

Широко известная программа-червь была написана студентом Корнельского университета Робертом Моррисом. Червь Морриса был запущен в Интернет 2 ноября 1988 г. и за 5 часов смог проникнуть более чем на 6000 компьютеров.

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

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

Появление таких вирусов, как W32/Perrun и Palm.Phage, свидетельствует о том, что в любой момент может родиться компьютерный вирус, троянская программа или червь нового, неизвестного ранее типа, либо известного типа, но нацеленного на новое компьютерное оборудование. Новые вирусы могут использовать неизвестные или не существовавшие ранее каналы распространения, а также новые технологии внедрения в компьютерные системы.

20.2. “Невидимые” и самомодифицирующиеся вирусы

Чтобы предотвратить своё обнаружение, некоторые вирусы применяют довольно хитрые приёмы маскировки. Речь пойдёт о двух из них: “невидимых” и самомодифицирующихся вирусах.

“Невидимые” вирусы. Многие резидентные вирусы (и файловые, и загрузочные) предотвращают своё обнаружение тем, что перехватывают обращения DOS (и тем самым прикладных программ) к зараженным файлам и областям диска и выдают их в исходном (незараженном) виде. Разумеется этот эффект наблюдается только на зараженном компьютере – на “чистом” компьютере изменения в файлах и загрузочных областях диска можно легко обнаружить.




Заметим, некоторые антивирусные программы могут обнаруживать “невидимые” вирусы даже на зараженном компьютере. Так, программа ADinf фирмы “Диалог-Наука” для этого выполняет чтение диска, не пользуясь услугами DOS, а программа AVSP фирмы “Диалог-МГУ” – “отключает” на время проверки вирус (последний метод работает не всегда).

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

Самомодифицирующиеся вирусы. Другой способ, применяемый вирусами для того, чтобы укрыться от обнаружения, – модификация своего тела. Многие вирусы хранят большую часть своего тела в закодированном виде, чтобы с помощью дизассемблеров нельзя было разобраться в механизме их работы. Самомодифицирующиеся вирусы используют этот приём и часто меняют параметры этой кодировки, а кроме того, изменяют и свою стартовую часть, которая служит для раскодировки остальных команд вируса. Таким образом, в теле подобного вируса не имеется ни одной постоянной цепочки байтов, по которой можно было бы идентифицировать вирус. Это, естественно, затрудняет нахождение таких вирусов программами-детекторами.

Однако программы-детекторы всё же научились ловить “простые” самомодифицирующиеся вирусы. В этих вирусах вариации механизма расшифровки закодированной части вируса касаются только использования тех или иных регистров компьютера, констант шифрования, добавления “незначащих” команд и т.д. И программы-детекторы приспособились обнаруживать команды в стартовой части вируса, несмотря на маскирующие изменения в них. Но в последнее время появились вирусы с чрезвычайно сложными механизмами самомодификации. В них стартовая часть вируса генерируется автоматически по весьма сложным алгоритмам: каждая значащая инструкция расшифровщика передаётся одним из сотен тысяч возможных вариантов, при этом используется более половины всех команд Intel-8088. Проблема распознавания таких вирусов довольно сложна, и полностью надёжного решения пока не получила. Впрочем, в некоторых антивирусных программах имеются средства для нахождения подобных вирусов, а в программе Dr. Web – также и эвристические методы обнаружения “подозрительных” участков программного кода, типичные для самомодифицирующихся вирусов.

Вирусы в системах документооборота.

Программы-черви.

Логические бомбы.

Троянские программы.

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

Кроме вирусов принято выделять еще, по крайней мере, три вида вредоносных программ. Это троянские программы, логические бомбы и программы-черви. Четкого разделения между ними не существует: троянские программы могут содержать вирусы, в вирусы могут быть встроены логические бомбы, и т. д.

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

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

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

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

Широко известная программа-червь была написана студентом Корнельского университета Робертом Моррисом. Червь Морриса был запущен в Интернет 2 ноября 1988 г. и за 5 часов смог проникнуть более чем на 6000 компьютеров.

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

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

Появление таких вирусов, как W32/Perrun и Palm.Phage, свидетельствует о том, что в любой момент может родиться компьютерный вирус, троянская программа или червь нового, неизвестного ранее типа, либо известного типа, но нацеленного на новое компьютерное оборудование. Новые вирусы могут использовать неизвестные или не существовавшие ранее каналы распространения, а также новые технологии внедрения в компьютерные системы.

20.2. “Невидимые” и самомодифицирующиеся вирусы

Чтобы предотвратить своё обнаружение, некоторые вирусы применяют довольно хитрые приёмы маскировки. Речь пойдёт о двух из них: “невидимых” и самомодифицирующихся вирусах.

“Невидимые” вирусы. Многие резидентные вирусы (и файловые, и загрузочные) предотвращают своё обнаружение тем, что перехватывают обращения DOS (и тем самым прикладных программ) к зараженным файлам и областям диска и выдают их в исходном (незараженном) виде. Разумеется этот эффект наблюдается только на зараженном компьютере – на “чистом” компьютере изменения в файлах и загрузочных областях диска можно легко обнаружить.

Заметим, некоторые антивирусные программы могут обнаруживать “невидимые” вирусы даже на зараженном компьютере. Так, программа ADinf фирмы “Диалог-Наука” для этого выполняет чтение диска, не пользуясь услугами DOS, а программа AVSP фирмы “Диалог-МГУ” – “отключает” на время проверки вирус (последний метод работает не всегда).

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

Самомодифицирующиеся вирусы. Другой способ, применяемый вирусами для того, чтобы укрыться от обнаружения, – модификация своего тела. Многие вирусы хранят большую часть своего тела в закодированном виде, чтобы с помощью дизассемблеров нельзя было разобраться в механизме их работы. Самомодифицирующиеся вирусы используют этот приём и часто меняют параметры этой кодировки, а кроме того, изменяют и свою стартовую часть, которая служит для раскодировки остальных команд вируса. Таким образом, в теле подобного вируса не имеется ни одной постоянной цепочки байтов, по которой можно было бы идентифицировать вирус. Это, естественно, затрудняет нахождение таких вирусов программами-детекторами.

Однако программы-детекторы всё же научились ловить “простые” самомодифицирующиеся вирусы. В этих вирусах вариации механизма расшифровки закодированной части вируса касаются только использования тех или иных регистров компьютера, констант шифрования, добавления “незначащих” команд и т.д. И программы-детекторы приспособились обнаруживать команды в стартовой части вируса, несмотря на маскирующие изменения в них. Но в последнее время появились вирусы с чрезвычайно сложными механизмами самомодификации. В них стартовая часть вируса генерируется автоматически по весьма сложным алгоритмам: каждая значащая инструкция расшифровщика передаётся одним из сотен тысяч возможных вариантов, при этом используется более половины всех команд Intel-8088. Проблема распознавания таких вирусов довольно сложна, и полностью надёжного решения пока не получила. Впрочем, в некоторых антивирусных программах имеются средства для нахождения подобных вирусов, а в программе Dr. Web – также и эвристические методы обнаружения “подозрительных” участков программного кода, типичные для самомодифицирующихся вирусов.

Читайте также: