- •Тема 11: «компьютерные вирусы»
- •Тема 11: «компьютерные вирусы»
- •Содержание занятия и методика его проведения
- •Содержание занятия и методика его проведения
- •1. Понятие компьютерного вируса. Пути проникновения вирусов
- •2. Классификация компьютерных вирусов
- •3. Функционирование загрузочного вируса, заражающего дискеты
- •4. Общие методы защиты компьютеров от вирусов
- •5. Вирусы и компьютерные сети
- •Вопросы для самопроверки
4. Общие методы защиты компьютеров от вирусов
Основные ранние признаки заражения компьютера вирусом:
– уменьшение объема свободной оперативной памяти;
– замедление загрузки и работы компьютера;
– непонятные (без причин) изменения в файлах, а также изменения размеров и даты последней модификации файлов;
– ошибки при загрузке операционной системы;
– невозможность сохранять файлы в нужных каталогах;
– непонятные системные сообщения, музыкальные и визуальные эффекты и т.д.
Признаки активной фазы вируса:
– исчезновение файлов;
– форматирование жесткого диска;
– невозможность загрузки файлов или операционной системы.
Для защиты компьютеров используются антивирусные программы, выполняющие три основные задачи:
– обнаружение вируса;
– удаление вируса;
– превентивная защита.
Чтобы предотвратить вирусную атаку, антивирусная программа реализует множество различных методов обнаружения. Различные антивирусные программы используют некоторые или все методы из следующей группы:
сканирование цифровой сигнатуры используется для идентификации уникального цифрового кода вируса. Цифровая сигнатура представляет собой предварительно установленный шестнадцатеричный код, наличие которого в файле свидетельствует о заражении вирусом. Сканирование цифровой сигнатуры представляет собой в высшей степени эффективный метод идентификации вирусов. Он, однако, всецело зависит от поддержки базы данных с цифровыми сигнатурами вирусов и тонкостей механизма сканирования. Возможно ложное обнаружение вируса в неповрежденном файле;
эвристический анализ (или сканирование по заданным правилам) выполняется быстрее, чем сканирование большинством традиционных методов. Этот метод использует набор правил для эффективного анализа файлов и быстро обнаруживает подозрительный вирусный код. Анализ склонен к ложным тревогам, и, к сожалению, зависит от корректности набора правил выявления вируса, которые все время изменяются;
исследование памяти - метод, обычно применяемый для обнаружения вирусов. Он зависит от распознавания местоположения известных вирусов и их кодов, когда они находятся в памяти;
мониторинг прерываний работает путем локализации и предотвращения вирусных атак, использующих вызовы прерываний. Вызовы прерываний представляют собой запросы различных функций через системные прерывания. Мониторинг прерываний, подобно исследованию памяти, может отвлечь значительные системные ресурсы. Он может стать причиной проблем при легальных системных вызовах и замедлить работу компьютера;
контроль целостности (известный также как вычисление контрольных сумм) просматривает характеристики файлов программ и определяет, были ли они модифицированы вирусным кодом. Этот метод не нуждается в обновлении программного обеспечения, поскольку не зависит от цифровых подписей вирусов. Однако он требует от поддержания базы данных контрольных сумм файлов, свободных от вирусов. Контроль целостности не способен обнаруживать пассивные и активные вирусы-невидимки. Кроме того, он не может идентифицировать обнаруженные вирусы по именам или типам. Если антивирусная программа резидентная, она контролирует вирусы непрерывно. Это традиционная мера защиты файловых серверов, поскольку в них каждый файл при использовании должен пройти проверку. Непрерывный контроль может быть неподходящим средством для клиентского компьютера, поскольку может привести к обработке слишком большого объема информации, а это замедляет работу компьютера. На компьютере предпочтительнее конфигурировать антивирусную программу на запуск в определенное время. Например, она может запускаться при загрузке компьютера или считывании нового файла с гибкого диска. В некоторых пакетах (в том числе, Norton AntiVirus) используют метод, известный как сканирование по расписанию, для выполнения поиска вирусов на жестком диске в заданные периоды времени. Еще один метод заключается в использовании антивирусной программы в период простоя компьютера. Например, его можно использовать как часть программы экранной заставки.
Типы антивирусных средств
1. Программы – детекторы обнаруживают файлы, зараженные одним из известных вирусов; такие программы в чистом виде в настоящее время редки.
2. Фаги или программы-доктора, а также программы-вакцины не только находят зараженные вирусами файлы, но и «лечат» их, т.е. удаляют из файла тело программы вируса, восстанавливая программу в том состоянии, в котором она находилась до заражения вирусом. В начале своей работы фаги ищут вирусы в оперативной памяти, уничтожая их, и только затем переходят к «лечению» файлов. Полифаги – уничтожают большое количество вирусов (примеры, Aidstest, Scan, Norton AntiVirus, Doctor Web).
3. Программы-ревизоры относятся к самым надежным средствам защиты от вирусов. Ревизоры запоминают исходное состояние программ, тогда, когда компьютер еще не заражен вирусом, а затем периодически сравнивают текущее состояние файла с исходным. Если обнаружены изменения, то на экран дисплея выводятся сообщения (пример, ADinf).
4. Программы-фильтры или «сторожа» – небольшие резидентные программы, постоянно находящиеся в памяти компьютера. Они контролируют операции компьютера и обнаруживают подозрительные действия при работе компьютера, характерные для вирусов. При попытке какой – либо программы произвести указанные действия «сторож» посылает сообщение, а пользователь может запретить или разрешить выполнение соответствующей операции. Программы фильтры позволяют обнаружить вирус на ранней стадии его существования, но они не «лечат» файлы и диски.
Вирус-паразит для исполняемого файла. Вирус создает в памяти исполнительного файла дополнительную область для своего размещения. После этого он прочитывает заголовок ЕХЕ-файла и переделывает его так, чтобы он содержал информацию и о месте в памяти, занимаемом вирусом. С этого момента и начинается процесс заражения программы:
вирус считывает текущий заголовок файла и сохраняет его для дальнейшего использования. В этом заголовке хранится информация о длине файла, значении контрольной суммы и т.д.;
после этого вирус определяет, какое количество памяти он должен прибавить к текущему размеру файла, чтобы разместить там свое тело;
вирус копирует свое тело в файл. Размер вируса и внесенных им изменений в заголовок файла составляют сигнатуру вируса;
вирус снова записывает информацию заголовка в программу. Теперь заголовок содержит информацию о месте, занимаемом вирусом;
вирус сохраняет измененную программу на диске.
Вирус-паразит добавляет свое тело к программе и после этого продолжает свою жизнь наравне с программой. Если удалить инфицированный файл, то вместе с ним исчезнет и вирус.
Троянский конь представляет собой компьютерную программу, которая маскируется или скрывается в части программы. В отличие от прочих вирусов, троянцы не реплицируют самих себя в системе. Некоторые формы троянских коней могут быть запрограммированы на саморазрушение и не оставляют никаких следов, кроме причиненных ими разрушений.
Черви. Вирус делает невозможной работу компьютера, создавая огромное количество своих копий в его памяти. Они могут проникать в программы обработки данных и подменять или разрушать данные. Так как червь старается остановить зараженный компьютер, создатель вируса должен наделить его способностями перемещаться с помощью сети от одного компьютера к другому. Черви копируют себя на другие компьютеры с помощью протоколов и систем. Удаленное воспроизведение необходимо, так как после остановки компьютера пользователь постарается вычистить все имеющиеся на жестком диске вирусы. Для своего распространения вирусам-червям не требуется изменять программы хоста. Для нормальной работы червям необходимы операционные системы, обеспечивающие возможность удаленного выполнения и позволяющие приходящим программам выполняться на компьютере. Черви подобны троянским коням в том отношении, что не могут реплицировать самих себя.
Логические бомбы подобны программам, используемым для троянских коней. Однако логические бомбы имеют таймер, который взрывает их в заданную дату и время. Например, вирус Michelangelo имеет триггер, установленный на день рождения знаменитого художника Микеланджело - 6 марта. Благодаря встроенному механизму задержки, логические бомбы активно используются для шантажа.
Полиморфные вирусы – это вирусы, которые зашифровывают свое тело и благодаря этому могут избежать обнаружения путем проверки сигнатуры вируса. Прежде чем приступить к работе, такой вирус расшифровывает себя с помощью специальной процедуры расшифровки. Процедура расшифровки превращает зашифрованную информацию в обычную. Чтобы расшифровать тело вируса, процедура расшифровки захватывает управление компбютером. После расшифровки управление компьютером передается расшифрованному вирусу. Первые шифрующиеся вирусы были неполиморфными или процедура расшифровки вируса не изменялась от копии к копии. Поэтому антивирусные программы могли обнаружить вирус по сигнатуре, присущей процедуре расшифровки. Но в настоящее время ситуация изменилась коренным образом. Полиморфные вирусы обнаружить очень трудно так как они генерируют абсолютно новые процедуры расшифровки при каждом новом заражении. Благодаря этому сигнатура вируса изменяется от файла к файлу. Для изменения процедуры шифрования используется достаточно простой генератор машинного кода, называющийся генератором мутаций. Он использует генератор случайных чисел и достаточно простой алгоритм изменения сигнатуры вируса. Полиморфный вирус изменяет свою сигнатуру при создании очередной копии от файла к файлу.
Стелс-вирусы – это вирусы, которые прячут изменения, созданные в зараженном файле. Для этого они отслеживают системные функции чтения файлов или секторов на носителях информации. Если происходит вызов такой функции, то вирус старается изменить полученные ею результаты: вместо настоящей информации вирус передает функции данные незараженного файла. Таким образом, антивирусная программа не может обнаружить никаких изменений в файле. Но, для того чтобы перехватывать системные вызовы, вирус должен находиться в памяти компьютера.
Примером стелс-вируса является один из первых задокументированных вирусов DOS – Brain. Этот загрузочный вирус просматривал все дисковые системные операции ввода/вывода и перенаправлял вызов всякий раз, когда система пыталась считать зараженный загрузочный сектор. При этом компьютер считывал информацию не с загрузочного сектора, а с того места, где вирус сохранил копию этого сектора. Как правило, стелс-вирусы либо обладают невидимым размером, либо они невидимы для чтения. Вирусы с невидимым размером принадлежат к подвиду вирусов, заражающих файлы. Такие вирусы помешают свое тело внутрь файла, вызывая тем самым увеличение его размера. Однако вирус изменяет информацию о размере файла так, чтобы пользователь не мог обнаружить его присутствия. Другими словами, система указывает на то, что длина зараженного файла равняется длине обычного (незараженного) файла. Вирусы, невидимые для чтения (вроде Stoned.Monkey), перехватывают запросы на чтение зараженной загрузочной записи или файла и предоставляют в ответ первоначальную, не измененную вирусом информацию. И снова пользователь не может обнаружить присутствие вируса.
Медленные вирусы заражают любой исполняемый файл, причем делают это в тот момент, когда пользователь выполняет некоторые операции с этим файлом. Например, медленный вирус может производить заражение загрузочной записи дискеты при выполнении команд системы, изменяющих эту запись (например, FORMAT или SYS). Медленный вирус может заразить копию файла, не заразив при этом файл-источник. Одним из наиболее известных медленных вирусов является Darth_Vader, который заражает только СОМ-файлы и только во время их записи.
Ретро-вирусы – это вирус, который пытается обойти или помешать действиям антивирусных программ. Другими словами, эти вирусы атакуют антивирусное программное обеспечение. Компьютерные профессионалы называют ретро-вирусы анти-антивирусами. Создание ретро-вируса является относительно несложной задачей. В конце концов, создатели вирусов обладают доступом ко всем антивирусным программам. Приобретая такую программу, они изучают ее работу, находят бреши в обороне и после этого создают вирус на основе обнаруженных просчетов. Большинство ретро-вирусов занимается поисками и удалением файлов с данными о сигнатурах вирусов. Таким образом, антивирусная программа, использовавшая этот файл, не может больше нормально функционировать. Более сложные ретровирусы занимаются поиском и удалением баз данных, содержащих информацию о целостности файлов. Удаление подобной базы производит на хранителя целостности такой же эффект, как уничтожение файлов с сигнатурами вирусов на антивирусную программу. Многие ретро-вирусы обнаруживают активизацию антивирусных программ, а затем прячутся от программы либо останавливают ее выполнение. Кроме того, они могут запустить процедуру разрушения до того, как антивирусная программа обнаружит их присутствие. Некоторые ретро-вирусы изменяют оболочку вычислений антивируса и таким образом влияют на выполнение антивирусных программ. Кроме того, существуют ретро-вирусы, использующие недостатки антивирусного программного обеспечения, чтобы замедлить его работу или свести на нет эффективность программы.
Составные вирусы заражают как исполняемые файлы, так и загрузочные сектора дисков. Кроме того, они могут заражать загрузочные сектора дискет. Такое название они получили потому, что заражают компьютер различными путями. Другими словами, они не ограничиваются одним типом файлов или определенным местом на диске. Если запустить инфицированную программу, вирус заразит загрузочную запись жесткого диска. При следующем включении компьютера вирус активизируется и будет заражать все запущенные программы. Одним из наиболее известных составных вирусов является One-Half, который обладает признаками стелс-вируса и полиморфного вируса.
Вооруженные вирусы защищают себя с помощью специального кода, благодаря которому сильно усложняется отслеживание и дизассемблирование вируса. Вооруженные вирусы могут воспользоваться для защиты "пустышкой". Это код, позволяющий увести разработчика антивирусных программ от настоящего кода вируса. Кроме того, вирус может включать в себя специальный фрагмент, указывающий на то, что вирус расположен в одном месте, хотя на самом деле его там не будет. Одним из наиболее известных вооруженных вирусов является Whale.
Вирусы-компаньоны. Свое название эти вирусы получили потому, что параллельно с заражаемым файлом они создают файл с таким же именем, но с другим расширением. Например, вирус-компаньон может сохранить свое тело в файле winword.com. Благодаря этому операционная система перед каждым запуском файла winword.exe будет запускать файл winword.com, который будет располагаться в памяти компьютера. Обычно вирусы-компаньоны генерируются вирусами-фагами.
Вирусы-фаги – это программа, которая изменяет другие программы или базы данных. Компьютерные профессионалы называют эти вирусы фагами потому, что по своему действию они напоминают живые микроорганизмы. В природе вирусы-фаги представляют собой особенно вредные микроорганизмы, которые замещают содержимое клетки своим собственным. Обычно фаги замещают текст программы своим собственным кодом. Чаще всего они являются генераторами вирусов компаньонов. Фаги – это наиболее опасный вид вирусов. Дело в том, что они не только размножаются и заражают другие программы, но и стремятся уничтожить все зараженные программы.
Макровирусы – это один из наиболее опасных типов вирусов. В настоящее время они представляют собой наиболее быстро развивающуюся разновидность "компьютерных инфекций", способных перемещаться посредством Интернет. Макровирусы представляют опасность не только для сетей, но и для автономных компьютеров, т. к. они не зависят от компьютерной платформы и от конкретной операционной системы. Более того, эти вирусы заражают не исполняемые файлы, а файлы с данными, которых больше.
Макровирус – это небольшая программа, написанная на внутреннем языке программирования (иногда эти языки называют языками разработки сценариев или макроязыками) какого-то приложения. В качестве таких приложений обычно выступают текстовые или табличные процессоры, а также графические пакеты.
Обычно макровирусы распространяются путем создания копий в каждом новом документе. Таким образом макровирус может попадать на другие компьютеры вместе с зараженными документами. Наиболее часто макровирусы удаляют файлы так, чтобы впоследствии их нельзя было восстановить. Макровирусы могут выполняться на любом типе компьютеров. Главное, чтобы на компбютере была нужная им программа обработки документов вместе со своим внутренним языком программирования. Именно благодаря этому языку макровирусы могут выполняться на различных платформах и под управлением различных операционных систем.
В настоящее время большинство известных макровирусов написано на Microsoft Word Basic или недавно появившемся Visual Basic for Application (VBA); WordBasic – это внутренний язык программирования текстового процессора Word for Windows (начиная с версии 6.0) и Word 6.0 for Macintosh. Макровирус, созданный с помощью VBA, может заражать и таблицы Excel, и базы данных Access, и презентации PowerPoint. С ростом возможностей внутренних языков программирования возрастет и количество новых макровирусов.
Приоритетность создания вирусов с применением Microsoft Word:
Microsoft Word обладает огромными программными возможностями, благодаря которым макровирус может производить различные действия. Кроме того, созданы версии этой программы для различных компьютерных платформ: существуют версии для DOS, Windows 3.1, Windows 95 и Mac OS. Это увеличивает поле деятельности макровирусов;
общий шаблон (в Windows он хранится в файле normal.dot) содержит глобальные макрокоманды, всегда доступные в Microsoft Word. Для макровируса этот файл представляет собой "плодородную почву", так как именно в этом шаблоне обычно и размещается тело макровируса. Именно из него вирус заражает все созданные в процессоре документы;
Microsoft Word автоматически выполняет указанные макрокоманды без участия пользователя. Благодаря этому макровирус может выполняться вместе с обычными макрокомандами (с помощью обычных макрокоманд программа производит открытие и закрытие документа, а также завершение своей работы).
