Файл: Исследование проблем борьбы с вирусами и антивирусные программы ( Что такое компьютерный вирус ).pdf
Добавлен: 15.06.2023
Просмотров: 261
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Электронно-вычислительные машины и программное обеспечение.
Глава 2. Что такое компьютерный вирус.
Глава 3. История появления и развития вирусов
Глава 4. Методы распространения вирусов
Глава 5. Классификации компьютерных вирусов
Глава 6. Краткая история антивируса.
Глава 7. Современный антивирус.
Глава 8. Рейтинг современных антивирусов.
Однако имеются и сочетания данных перечисленных видов вирусов. К примеру:
- Файло-загрузочные. Эти вирусы не только заражают файлы, но и загрузочные сектора жестких дисков. Они имеют очень сложный алгоритм своей работы за счет использования стелс и полиморфик-технологий и оригинальных методов проникновения в систему.
- Сетевые макро-вирусы. Они заражают редактируемые документы на компьютере, плюс, копии вируса рассылают по электронной почте.
При классификации вирусов по особенностям алгоритма работы, выделяют следующие типы:
- Резидентный. При заражении компьютера в оперативной памяти оставляет свою резидентную часть, перехватывающую обращения ОС к объектам заражения для внедрения в них. Данный вид вирусов располагаются в памяти и проявляют активность до перезагрузки операционной системы или выключения компьютера. Нерезидентный вирус не заражает память компьютера, а активность его ограничена временем. Ряд вирусов даже при размещении в памяти небольших резидентных программ не распространяются. Подобные вредоносные утилиты называются нерезидентными. К резидентным вредоносным программам можно отнести макро-вирусы, так как они присутствуют в памяти компьютера постоянно во время работы зараженного редактора. В этом случае роль операционной системы переходит редактору, а активность вируса ограничена временем работы редактора. В многозадачных ОС время активности резидентного ДОС-вируса ограничивается временем работы зараженного ДОС-окна, а в ряде ОС активность ограничена временем инсталляции драйверов.
- Вирусы, использующие стелс-алгоритмы. Они полностью или частично скрывают в системе. Самым распространенным стелс-алгоритмом считается перехват запросов операционки на чтение, либо запись зараженных объектов. Стелс-вирусы временно лечат их или же вместо себя «подставляют» незараженные участки данных. Ярким примеров использования этих алгоритмов в случае с макро-вирусами является отсутствие возможности вызова меню просмотра макросов. Одними из первых загрузочных стелс-вирусов является вирус Brain, а файловых стелс-вирусов – Frodo.
- Вирусы с самошифрованием и полиморфичностью. Практически все типы вредоносных утилит используют данные алгоритмы работы для максимального усложнения процедуры детектирования вируса. Полиморфик-вирусы очень сложно обнаружить из-за отсутствия сигнатур, то есть отсутствия хотя бы одного постоянного участка кода. Чаще всего 2 образца такого вредоносного ПО не будут иметь ни одного схожего фрагмента кода. Данная ситуация достигается за счет шифрования основного тела вируса, а также модификации программы-расшифровщика.
- Вирусы, использующие нестандартные приемы. Применение нестандартных приемов обусловлено необходимостью спрятать тело вируса как можно глубже в ядре операционной системе, защиты от обнаружения резидентсткой копии, затруднения лечения от вируса.
По способу заражения файлов вирусы делятся на: "overwriting", паразитические ("parasitic"), компаньон-вирусы ("companion"), "link"-вирусы, вирусы-черви и вирусы, заражающие объектные модули (OBJ), библиотеки компиляторов (LIB) и исходные тексты программ.
- Overwriting. Данный метод заражения является наиболее простым: вирус записывает свой код вместо кода заражаемого файла, уничтожая его содержимое. Естественно, что при этом файл перестает работать и не восстанавливается. Такие вирусы очень быстро обнаруживают себя, так как операционная система и приложения довольно быстро перестают работать. Мне не известно ни одного случая, когда подобного типа вирусы были бы обнаружены "в живом виде" и стали причиной эпидемии.
К разновидности overwriting-вирусов относятся вирусы, которые записываются вместо DOS-заголовка NewEXE-файлов. Основная часть файла при этом остается без изменений и продолжает нормально работать в соответсвующей операционной системе, однако DOS-заголовок оказывается испорченным. - Parasitic. К паразитическим относятся все файловые вирусы, которые при распространении своих копий обязательно изменяют содержимое файлов, оставляя сими файлы при этом полностью или частично работоспособными. Основными типами таких вирусов являются вирусы, записывающиеся в начало файлов ("prepending"), в конец файлов ("appending") и в середину файлов ("inserting"). В свою очередь, внедрение вирусов в середину файлов происходит различными методами - путем переноса части файла в его конец или копирования своего кода в заведомо неиспользуемые данные файла ("cavity"-вирусы).
- Компаньон-вирусы. К категории "компаньон" относятся вирусы, не изменяющие заражаемых файлов. Алгоритм работы этих вирусов состоит в том, что для заражаемого файла создается файл-двойник, причем при запуске зараженного файла управление получает именно этот двойник, т.е. вирус.
Наиболее распространены компаньон-вирусы, использующие особенность DOS первым выполнять .COM-файл, если в одном каталоге присутствуют два файла с одним и тем же именем, но различными расшинениями имени - .COM и .EXE. Такие вирусы создают для EXE-файлов файлы-спутники, имеющие то же самое имя, но с расширением .COM, например, для файла XCOPY.EXE создается файл XCOPY.COM. Вирус записывается в COM-файл и никак не изменяет EXE-файл. При запуске такого файла DOS первым обнаружит и выполнит COM-файл, т.е. вирус, который затем запустит и EXE-файл. Некоторые вирусы используют не только вариант COM-EXE, но также и BAT-COM-EXE.
Вторую группу составляют вирусы, которые при заражении переименовывают файл в какое-либо другое имя, запоминают его (для последующего запуска файла-хозяина) и записывают свой код на диск под именем заражаемого файла. Например, файл XCOPY.EXE переименовывается в XCOPY.EXD, а вирус записывается под именем XCOPY.EXE. При запуске управление получает код вируса, который затем запускает оригинальный XCOPY, хранящийся под именем XCOPY.EXD. Интересен тот факт, что данный метод работает, наверное, во всех операционных системах - подобного типа вирусы были обнаружены не только в DOS, но в Windows и OS/2.
В третью группу входят так называемые "Path-companion" вирусы, которые "играют" на особенностях DOS PATH. Они либо записывают свой код под именем заражаемго файла, но "выше" на один уровень PATH (DOS, таким образом, первым обнаружит и запустит файл-вирус), либо переносят файл-жертву на один подкаталог выше и т.д.
Возможно существование и других типов компаньон-вирусов, использующих иные оригинальные идеи или особенности других операционных систем. - Файловые черви. Файловые черви (worms) являются, в некотором смысле, разновидностью компаньон-вирусов, но при этом никоим образом не связывают свое присутствие с каким-либо выполняемым файлом. При размножении они всего лишь копируют свой код в какие-либо каталоги дисков в надежде, что эти новые копии будут когда-либо запущены пользователем. Иногда эти вирусы дают своим копиям "специальные" имена, чтобы подтолкнуть пользователя на запуск своей копии - например, INSTALL.EXE или WINSTART.BAT.
Существуют вирусы-черви, использующие довольно необычные приемы, например, записывающие свои копии в архивы (ARJ, ZIP и прочие). К таким вирусам относятся "ArjVirus" и "Winstart". Некоторые вирусы записывают команду запуска зараженного файла в BAT-файлы (см. например, "Worm.Info").
Не следует путать файловые вирусы-черви с сетевыми червями. Первые используют только файловые функции какой-либо операционной системы, вторые же при своем размножении пользуются сетевыми протоколами. - Link-вирусы. Link-вирусы, как и компаньон-вирусы не изменяют физического содержимого файлов, однако при запуске зараженного файла "заставляют" ОС выполнить свой код. Этой цели они достигают модификацией необходимых полей файловой системы.
На сегодняшний день известен единственный тип Link-вирусов - вирусы семейства "Dir_II". При заражении системы они записывают свое тело в последний кластер логического диска. При заражении файла вирусы корректируют лишь номер первого кластера файла, расположенный в соответствующем секторе каталога. Новый начальный кластер файла будет указывать на кластер, содержащий тело вируса. Таким образом, при заражении файлов их длины и содержимое кластеров диска, содержащих эти файлы, не изменяется, а на все зараженные файлы на одном логическом диске будет приходиться только одна копия вируса. - OBJ-, LIB-вирусы и вирусы в исходных текстах. Вирусы, заражающие библиотеки компиляторов, объектные модули и исходные тексты программ, достаточно экзотичны и практически не распространены. Всего их около десятка. Вирусы, заражающие OBJ- и LIB-файлы, записывают в них свой код в формате объектного модуля или библиотеки. Зараженный файл, таким образом, не является выполняемым и неспособен на дальнейшее распространение вируса в своем текущем состоянии. Носителем же "живого" вируса становится COM- или EXE-файл, получаемый в процессе линковки зараженного OBJ/LIB-файла с другими объектными модулями и библиотеками. Таким образом, вирус распространяется в два этапа: на первом заражаются OBJ/LIB-файлы, на втором этапе (линковка) получается работоспособный вирус.
Заражение исходных текстов программ является логическим продолжением предыдущего метода размножения. При этом вирус добавляет к исходным текстам свой исходный код (в этом случае вирус должен содержать его в своем теле) или свой шестнадцатеричный дамп (что технически легче). Зараженный файл способен на дальнейшее распространение вируса только после компиляции и линковки (см. например, вирусы "SrcVir", "Urphin").[10]
При классификации вирусов по деструктивным возможностям обычно имеют ввиду степень их разрушительности:
- Безвредные, не влияющие на работу компьютера, за исключение уменьшения свободного места на диске. Неопасные, влияющие лишь на уменьшение свободного места на жестком диске и на графические, звуковые и иные эффекты.
- Опасные, приводящие к серьезным сбоям в функционировании компьютера.
- Очень опасные вирусы. В их алгоритм работы заложены функции, вызывающие потерю программ, уничтожение данных, уничтожение необходимой для работы ПК информации из системных областей памяти.[11]
При инфицировании файла вирус может производить ряд действий, маскирующих и ускоряющих его распространение. К подобным действиям можно отнести обработку атрибута read-only, снятие его перед заражением и восстановление после. Многие файловые вирусы считывают дату последней модификации файла и восстанавливают ее после заражения. Для маскировки своего распространения некоторые вирусы перехватывают прерывание DOS, возникающее при обращении к защищенному от записи диску (INT 24h), и самостоятельно обрабатывают его.
Говоря про файловые вирусы, необходимо отметить такую их черту, как скорость распространения. Чем быстрее распространяется вирус, тем вероятее возникновение эпидемии этого вируса. Чем медленнее распространяется вирус, тем сложнее его обнаружить (если, конечно же, этот вирус пока неизвестен антивирусным программам). Понятия "быстрого" и "медленного" вируса (Fast infector, Slow infector) являются достаточно относительными и используются только как характеристика вируса при его описании.
Нерезидентные вирусы часто являются "медленными" - большинство из них при запуске заражает один или два-три файла и не успевает заполонить компьютер до запуска антивирусной программы (или появления новой версии антивируса, настроенной на данный вирус). Существуют, конечно же, нерезидентые "быстрые" вирусы, которые при запуске ищут и заражат все выполняемые файлы, однако такие вирусы очень заметны: при запуске каждого зараженного файла компьютер некоторое (иногда достаточно долгое) время активно работает с винчестером, что демаскирует вирус.
"Скорость" резидентных вирусов обычно выше, чем у нерезидентных - они заражают файлы при каких-либо обращениях к ним. В результате на диске оказываются зараженными все или почти все файлы, которые постоянно используются в работе.
Скорость распространения резидентных файловых вирусов, заражающих файлы только при их запуске на выполнение, будет ниже, чем у вирусов, заражающих файлы и при их открытии, переименовании, изменении атрибутов файла и т.д. Многие вирусы при создании своей копии в оперативной памяти компьютера пытаются занять область памяти с самыми старшими адресами, разрушая временную часть командного интерпретатора COMMAND.COM. По окончании работы зараженной программы временная часть интерпретатора восстанавливается, при этом происходит открытие файла COMMAND.COM и, если вирус заражает файлы при их открытии, его заражение. Таким образом, при запуске подобного вируса первым будет заражен файл COMMAND.COM.
Глава 6. Краткая история антивируса.
Мы уже достаточно подробно поговорили о разрушающей силе человека. Теперь настало время поговорить о созидательной...
С момента появления первого вируса, встал вопрос о том как с ним бороться. Изначально спасение утопающих — являлось делом самих утопающих. Фирмы, выпускающие компьютеры и программное обеспечение, самостоятельно разрабатывали «лекарства» от вирусов, которые их поражали. Но такое положение дел оставалось не долго. Появились программы и фирмы, специализирующиеся на борьбе с компьютерными вирусами. Так появились первые «антивирусы».
Конец 1980-х стал временем бума развития вирусов, который сразу спровоцировал бум развития антивирусов.
За неимением на данный момент в толковых словарях определения этому термину, воспользуемся определением, предлагаемым нам википедией: антивирусные программы или же антивирусы — это специализированная программа для обнаружения компьютерных вирусов, а также нежелательных (считающихся вредоносными) программ вообще и восстановления заражённых (модифицированных) такими программами файлов, а также для профилактики — предотвращения заражения (модификации) файлов или операционной системы вредоносным кодом.[12]
Первые антивирусные утилиты появились зимой 1984 года. Энди Хопкинс (англ. Andy Hopkins) написал программы CHK4BOMB и BOMBSQAD. CHK4BOMB позволяла проанализировать текст загрузочного модуля и выявляла все текстовые сообщения и «подозрительные» участки кода (команды прямой записи на диск и др.). Благодаря своей простоте (фактически использовался только контекстный поиск) и эффективности CHK4BOMB получила значительную популярность. Программа BOMBSQAD.COM перехватывает операции записи и форматирования, выполняемые через BIOS. При выявлении запрещённой операции можно разрешить её выполнение.[13]
В 1988 году была разработана первая версия отечественного антивируса Aidstest. Автор этой легендарной программы — Д.Н. Лозинский. Она использовалась практически на всех персональных компьютерах в СССР, а затем в странах СНГ, оставаясь вне конкуренции долгие годы. Разработка Лозинского помогла многим пользователям, в частности в государственном и коммерческом секторах, справиться с вирусной проблемой на начальном этапе ее появления.[14]
В начале 90-х годов прошлого века появились отечественные антивирусы, которыми мы пользуемся и сейчас...
Автор антивируса Dr.Web — Игорь Данилов — начал свои антивирусные эксперименты в 1990-1991 годах. Именно тогда были созданы прототипы сторожа и сканера.
В 1992 году появилась программа MtE — генератор полиморфного (постоянно меняющегося) кода, которым мог воспользоваться не только опытный, но и любой начинающий программист. Полиморфные вирусы стали появляться каждый день, а всевозможные дополнительные способы борьбы, такие как усложнение алгоритмических языков сверки кода, — перестали работать. Спасло ситуацию только появление эмулятора кода. Система «снимала» зашифрованную часть полиморфного вируса и добиралась до постоянного тела вируса. Первой антивирусной программой с эмулятором стал AVP Евгения Касперского.[15]
Помимо эмулятора кода, позволившего антивирусам подстроиться под стремительно набиравшую обороты «индустрию вирусов», примерно в то же время появились такие системы защиты, как криптоанализ, статистический анализ, эвристический анализатор и поведенческий блокиратор.
В 1992 году была разработана первая версия антивирусной системы Spider’s Web, включавшая в себя резидентный сторож Spider и доктор (сканер по современной терминологии) Web.
Именно доктор Web впоследствии (в 1994 году) дал всему семейству антивирусных программ Игоря Данилова название, ставшее известным на весь мир — Dr.Web.
В 1991 году Евгений Касперский возглавил группу разработчиков антивируса AntiViral Toolkit Pro (AVP) в Научно-техническом центре (НТЦ) КАМИ, фирме своего бывшего преподавателя в Высшей школе КГБ СССР Алексея Ремизова.[16] 26 июня 1997года была основана «Лаборатория Каспперского», выпустившая «антивирус Касперского», который в свою очередь стал именем нарицательным на долгие годы.
Глава 7. Современный антивирус.
Антивирусная программа, в современном ее понимании, представляет собой сложную, комбинированную систему, направленную на комплексную защиту системы, куда она установлена.
Как правило в нее входят следующие элементы: вирусная база, модуль сканирования программ, модуль сканирования выполняющихся процессов, карантин, брандмауер, сканер почты, песочница.
Вирусная база — это библиотека знаний обо всех известных вирусах. Для обеспечения максимальной защиты она должна быть всегда максимально полной. Современные антивирусные программы насколько рас в сутки обновляют актуальность базы данных вирусов. Как правило она содержит не только полные версии существующих вирусов, но и общие алгоритмы, похожие на их деятельность.