Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Схемы функционирования основных видов вирусов




Понятие и классификация компьютерных вирусов

 

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

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

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

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

Формальное определение компьютерного вируса до сих пор не придумано.

Количество программных вирусов непрерывно растет. Создаются даже учебные пособия, помогающие в написании вирусов.

Так что же такое компьютерный вирус?

Одно из самых известных толкований принадлежит В.Э.Фигурнову, чья книга «IBM PC для пользователей» известна многим читателям еще с середины 80-х годов. «Это специально написанная небольшая по размерам программа, которая может приписывать себя к другим программам (т.е. заражать их), а также выполнять различные нежелательные действия на компьютере».

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

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

Веселин Бончев, известный вирусолог, дает такое определение вируса: «…это последовательность символов, которая, будучи интерпретирована компьютером, добавляет себя к другим символьным последовательностям, чтобы компьютеры, интерпретируя их, в дальнейшем рекурсивно распространяли (возможно, модифицированную) исходную последовательность».

Фред Коэн, теоретик вирусологии, автор термина «компьютерный вирус», считает, что вирус – «…программа, которая может инфицировать другие программы, модифицируя их с целью внедрения в них возможно измененной копии себя».

А вот еще несколько определений.

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

Толковый словарь русского языка. Компьютерный вирус (спец.) – специально созданная небольшая программа, способная присоединяться к другим программам ЭВМ, засорять оперативную память и выполнять другие нежелательные действия (похоже на определение Н.Н.Безрукова).

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

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

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

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

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

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

ü операционная система;

ü особенности алгоритма работы;

ü деструктивные возможности.

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

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

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

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

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

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

Заражаемая операционная система. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких операционных систем: Ms Dos, Ms Windows, Win95/NT, OS/2 и т.д. Макровирусы заражают файлы форматов Word, Excel, Office. Загрузочные вирусы также ориентированы на конкретные форматы расположения системных данных в загрузочных секторах дисков.

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

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

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

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

По особенностям алгоритма вирусы трудно классифицировать из-за большого их разнообразия.

По деструктивным возможностям вирусы можно разделить на:

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

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

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

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

Есть и иные подходы в классификации вирусов.

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

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

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

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

Троянские кони – это самостоятельные программы. Они притворяются нормальными программами, но во время активности, когда они функционируют будто бы для решения задач пользователя, «в тылу» происходят совсем другие скрытые процессы. Занимаются они от распознавания, сбора, пересылки паролей до ликвидации данных или целого диска. Их можно считать «троянскими конями», которые всегда связаны с имитацией программы.

 

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

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

Различают три стадии в жизненном цикле вируса:

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

Активное размножение – заражаются все доступные программы.

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

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

Среди всего разнообразия вирусов наиболее распространены следующие основные группы: загрузочные, файловые, файлово-загрузочные, полиморфные.

Загрузочные вирусы. Рассмотрим схему функционирования простого загрузочного вируса, заражающего дискеты.

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

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

Нормальная схема начальной загрузки следующая:

ПНЗ (ПЗУ) – ПНЗ (диск) – Система

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

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

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

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

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

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

Таким образом, голова вируса теперь первой получает управление, вирус устанавливается в память и передает управление оригинальному загрузочному сектору. В цепочке ПНЗ (ПЗУ) – ПНЗ (диск) – Система появляется новое звено:

ПНЗ (ПЗУ) – Вирус – ПНЗ (диск) – Система.

Мораль: никогда не оставляйте (случайно) дискет в дисководе А.

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

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

Вирус ищет новый объект для заражения – подходящий по типу файл, который еще не заражен или заражает сразу, не проверяя. Заражая файл, вирус внедряется в его код, чтобы получить управление при запуске этого файла. Кроме своей основной функции – размножения, вирус вполне может сделать что-нибудь еще замысловатое: сказать, спросить, сыграть. Если файловый вирус резидентный, то он установится в память и получит возможность заражать файлы и проявлять прочие способности не только во время работы зараженного файла. Заражая исполняемый файл вирус всегда изменяет его код – следовательно, заражение исполняемого файла всегда можно обнаружить. Но, изменяя код файла, вирус не обязательно вносит другие изменения.

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

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

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




Поделиться с друзьями:


Дата добавления: 2015-07-13; Просмотров: 4383; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.049 сек.