Общая характеристика методов и средств нейтрализации программных вирусов

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

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

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

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

Специальный класс саморепродуцирующихся программ был представлен впервые в 1984г. Ф. Коэном. На основе необычного сходства некоторых свойств этой программы с биологическим вирусом она и была названа компьютерным вирусом. Сообщение Ф. Коэна на 7-й конференции по безопасности информации, проходившей в США, в то время не нашло отклика у специалистов, которые не придали ему большого значения. Однако сообщения о фактах проявления компьютерных вирусов стали появляться уже в 1985 г. В мае 1985 г. вследствие вирусной атаки во время голосования в конгрессе США вышла из строя компьютерная система подсчета голосов. В сентябре 1985 г. вирус, написанный Д. Г. Бурлесоном, уничтожил за два дня более 160 тысяч платежных записей. Начиная с 1987 г, количество таких сообщений резко увеличилось. Описания фактов заражения компьютерными вирусами, в том числе и с достаточно серьезными последствиями, практически не сходят со страниц западной прессы и в последние годы.

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

С 1987 г. начали фиксироваться факты появления компьютерных вирусов и в нашей стране. На первой Всесоюзной научно-технической конференции "Методы и средства защиты от компьютерных вирусов в операционной системе MS DOS" (Киев, ноябрь 1990 г.) была приведена статистика выявления вирусов на территории СССР: 1987 г. - 8; 1988 г. - 24; 1989 г. - 49; 1990 г. (осень) - 75. В настоящее время ежедневно в мире выявляется сотни вирусов. Страны, где производится наибольшее число вирусов: Китай, Россия и США.

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

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

Компьютерный вирус (вирус) - вредоносная программа, способная создавать вредоносные программы и (или) свои копии.[38]

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

Один из авторитетнейших «вирусологов» страны Е. Касперский предлагает условно классифицировать вирусы по следующим признакам:

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

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

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

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

Более подробная классификация вирусов внутри этих групп представлена на рис..11.1.

Вирус может существовать в следующих четырех фазах:

1. «спячка»;

2. распространение в вычислительной системе или сети;

3. запуск;

4. разрушение программ и данных или какие-либо другие негативные эффекты.

Фаза «спячки» может использоваться автором вируса для создания у пользователя уверенности в правильной работе системы.

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

По механизму распространения различают:

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

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

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

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

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

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

Способы заражения программ:

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

· метод оттеснения. Код вируса располагается в начале зараженной программы, а тело самой программы приписывается к концу;

· метод вытеснения. Из начала (или середины) файла «изымается» фрагмент, равный по объему коду вируса, и приписывается к концу файла. Сам вирус записывается в освободившееся место. Разновидность метода вытеснения — когда оригинальное начало файла не сохраняется вообще. Такие программы являются «убитыми насмерть» и не могут быть восстановлены никаким антивирусом;

· прочие методы, например, сохранение вытесненного фрагмента программы в «кластерном хвосте» файла и пр.

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

Рис. 12.1. Основные классы вирусов

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

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

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

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

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

Позиционно зависимый вирус, размещаемый в начале программы, обычно копирует исходные начальные команды в конец области данных программы на магнитном диске. Большинство вирусов, обнаруженных на сегодняшний день в России и за рубежом, ориентированны на действие в среде определенных операционных систем. Наибольшее распространение они получили в персональных ЭВМ. Степень опасности вируса характеризует потенциально наносимый им вред.

Целесообразно учитывать следующую шкалу степени опасности:

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

- вирус имеет недеструктивную фазу проявления, из-за ошибок он может заразить и тем самым «испортить» некоторые программы;

- инициирование ошибок в программах пользователей или операционной системы;

- фаза проявления вируса связана с воздействием на систему, например, эффект замедления, блокировка клавиатуры, при этом файлы преднамеренно не портятся;

- фаза проявления (помимо выше названных эффектов) связана с преднамеренной порчей или стиранием программных или других файлов - файловая система остается работоспособной;

- вирус частично портит некоторые важные части файловой системы на диске, возможно их восстановление вручную;

- вирус полностью портит файловую систему на жестком диске, форматирует винчестер и т. п.;

- имитация сбоев аппаратных средств;

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

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

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

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

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

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

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

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

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

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

В настоящее время вирусам активно противостоят антивирусные программные комплексы, модули которых включают вышеуказанные и другие программы-антивирусы.

Наиболее распространенные в настоящее время в России антивирусные программные комплексы - это KIS (Kaspersky Internet Security), DRWEB, Symantec AntiVirus, MCAfee, NOD32.

На начало 2011 г., например, комплекс KIS (производитель - лаборатория Касперского) позволял обнаружить и обезвредить более 5 млн. вирусов.

Специалисты по защите информации исследуют в настоящее время различные новые методы «лечения» ЭВМ от вирусов. Однако до сих пор не найдено метода, дающего полную гарантию защиты. Среди разрабатываемых перспективных методов можно отметить следующие: адаптивные и самообучающиеся; интеллектуальные; аппаратные.

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: