З. Компьютерные вирусы

Вирус для управления компьютером

1. Алексеев Е.Г., Богатырев С.Д. Информатика. Мультимедийный электронный учебник. — URL: http://inf.e-alekseev.ru/text/Virus.html (дата обращения: 24.04.2018).

2. Как понять есть ли вирусы на компьютере? [Электронный ресурс] — URL: https://treeone.ru/126-priznaki-zarazheniya-kompyuternym-virusom / (дата обращения: 24.04.2018).

3. Классификация компьютерных вирусов [Электронный ресурс]. — URL: http://izi.vlsu.ru/teach/books/921/theory3.html (дата обращения: 24.04.2018).

4. Классификация компьютерных вирусов [Электронный ресурс]. -URL:http://sumk.ulstu.ru/docs/mszki/Zavgorodnii/10.1.html (дата обращения: 24.04.2018).

5. Компьютерные вирусы [Электронный ресурс]. — URL: http://www.km.ru/referats/75F9F2F1DD0D41249ABCAC2DD9777BDC / (дата обращения: 24.04.2018).

6. Компьютерные вирусы [Электронный ресурс]. — URL: http://trinity.e-stile.ru/tema-7-kompyuternye-virusy/ (дата обращения: 24.04.2018).

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

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

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

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

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

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

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

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

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

  1. По деструктивному воздействию
  • Безвредные вирусы. Они не мешают работе компьютера, но могут уменьшать объем свободной оперативной памяти и памяти на дисках, действия таких вирусов проявляются в каких-либо графических или звуковых эффектах.
  • Опасные вирусы. К ним относятся вирусы, которые могут привести к определенным сбоям в работе операционной системы или некоторых программ.
  1. По способу заражения
  • Резидентные вирусы. Чаще всего эти вирусы являются одной из разновидностей файловых и загрузочных. Причем самой опасной разновидностью. Резидентный вирус при заражении (инфицировании) компьютера оставляет в оперативной памяти свою резидентную часть, которая потом перехватывает обращение операционной системы к объектам заражения (файлам, загрузочным секторам дисков и т. п.) и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения или перезагрузки компьютера.
  • Нерезидентные вирусы — вирусы, не оставляющие своих резидентных частей в оперативной памяти компьютера. Некоторые вирусы оставляют в памяти некоторые свои фрагменты не способные к дальнейшему размножению такие вирусы считаются не резидентными.
  1. По среде обитания
  • Файловые вирусы. До появления Интернета именно эти вирусы были самыми распространенными. На сегодняшний день известны зловредные программы, заражающие все типы выполняемых объектов любой операционной системы (для Windows опасности подвергаются исполняемые файлы (.exe, .com), командные файлы (.bat), драйвера (.sys), динамические библиотеки (.dll) и т. д.). Заражение происходит следующим образом. Вирус записывает свой код в файл-жертву. Кроме того, зараженный файл специальным образом изменяется. В результате при обращении к нему операционной системы (запуск пользователем, вызов из другой программы и т. п.) управление передается в первую очередь коду вируса, который может выполнить любые действия, заданные ему создателем. После выполнения своих действий вирус передает управление программе, которая выполняется нормальным образом. В следствии чего пользователь может долго не догадываться о заражении компьютера, если на нем не установлено специальное ПО.
  • Загрузочные вирусы. Эти вирусы заражают загрузочные сектора жестких дисков. Принцип их действия заключается в следующем. Вирус добавляет свой код к одной из специальных программ, которые начинают выполняться после включения компьютера до загрузки операционной системы. В принципе в задачу этого ПО как раз и входят подготовка и запуск ОС. Таким образом, вирус получает управление и может выполнить определенные действия, например, записать себя в оперативную память. И только после этого будет загружаться операционная система. Вот только вирус уже будет находиться в памяти и сможет контролировать ее работу.
  • Макровирусы. Эти вирусы представляют собой программы, которые выполнены на языках, встроенных в различные программные системы. Чаще всего жертвами становятся файлы, созданные различными компонентами Microsoft Office (Word, Excel и т.д.). Встроенный в эти программные продукты Visual Basic прекрасно подходит для написания макровирусов. Принцип их действия очень прост. Вирус записывает себя в DOT-файл, в котором содержатся все глобальные макросы, часть из которых он подменяет собой. После этого все файлы, сохраненные в этой программе, будут содержать макровирус. При этом он может выполнять множество различных деструктивных действий вплоть до удаления всех документов.
  • Сетевые вирусы. Главной особенностью этих вирусов является возможность работы с различными сетевыми протоколами. То есть они могут различными путями записывать свой код на удаленном компьютере. Наибольшее распространение в наше время получили интернет-черви. Эти вирусы чаще всего используют для своей работы электронную почту, «прицепляясь» к письму. При этом на новом компьютере они либо автоматически выполняются, либо различными способами подталкивают пользователя к своему запуску [6].
  1. По особенностям алгоритма
  • Вирусы спутники (companion) — эти вирусы поражают EXE-файлы путем создания COM-файла двойника, и поэтому при запуске программы запустится сначала COM-файл с вирусом, после выполнения своей работы вирус запустит EXE-файл. При таком способе заражения «инфицированная» программа не изменяется.
  • Вирусы «черви» (Worms) — вирусы, которые распространяются в компьютерных сетях. Они проникают в память компьютера из компьютерной сети, вычисляют адреса других компьютеров и пересылают на эти адреса свои копии. Иногда они оставляют временные файлы на компьютере, но некоторые могут и не затрагивать ресурсы компьютера за исключением оперативной памяти и разумеется процессора.
  • «Паразитические» — все вирусы, которые модифицируют содержимое файлов или секторов на диске. К этой категории относятся все вирусы не являются вирусами-спутниками и вирусами червями.
  • «Стелс-вирусы» (вирусы-невидимки, stealth) — представляющие собой весьма совершенные программы, которые перехватывают обращения DOS к пораженным файлам или секторам дисков и «подставляют» вместо себя незараженные участки информации. Кроме этого, такие вирусы при обращении к файлам используют достаточно оригинальные алгоритмы, позволяющие «обманывать» резидентные антивирусные мониторы.
  • «Полиморфные» (самошифрующиеся или вирусы-призраки, polymorphic) — вирусы достаточно трудно обнаруживаемые вирусы, не имеющие сигнатур, т.е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфного вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.
  • «Макро-вирусы» — вирусы этого семейства используют возможности макроязыков, встроенных в системы обработки данных (текстовые редакторы, электронные таблицы и т.д.). В настоящее время наиболее распространены макро-вирусы, заражающие текстовые документы редактора Microsoft Word [3].

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

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

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

Последней командой вируса выполняется команда перехода на выполнение зараженных файлов или на выполнение программ ОС.

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

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

Принцип работы вируса.

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

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

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

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

Классификация компьютерных вирусов по критерию «режим функционирования» включает:

  • резидентные вирусы — вирусы, которые после активации постоянно находятся в оперативной памяти компьютера и контролируют доступ к его ресурсам;
  • транзитные вирусы — вирусы, которые выполняются только в момент запуска зараженной программы.

Классификация компьютерных вирусов по критерию «объект внедрения» такова:

файловые вирусы — вирусы, заражающие файлы.

В свою очередь, файловые вирусы подразделяются на вирусы, заражающие:

  • — исполняемые файлы;
  • — командные файлы;
  • — файлы, составляемые на макроязыках программирования, или файлы, содержащие макросы (макровирусы);
  • — файлы с драйверами устройств;
  • — файлы с библиотеками исходных, объектных, загрузочных и оверлейных модулей, с библиотеками динамической компоновки и т.п.;
  • загрузочные (бутовые) вирусы — вирусы, заражающие код, хранящийся в системных областях дисков.

Загрузочные вирусы подразделяются на вирусы, заражающие:

  • — системный загрузчик, расположенный в загрузочном секторе логических дисков;
  • — внесистемный загрузчик, расположенный в загрузочном секторе жестких дисков.

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

  • перезаписывающие вирусы (overwriting);
  • паразитические вирусы (parasitic);
  • вирусы-компаньоны (companion);
  • вирусы-ссылки (.link);
  • вирусы, заражающие объектные модули (OBJ);
  • вирусы, заражающие библиотеки компиляторов (LIB);
  • вирусы, заражающие исходные тексты программ.

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

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

Основными типами таких вирусов являются вирусы, записывающиеся в начало файлов (prepending), в конец файлов (appending) и в середину файлов (inserting).

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

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

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

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

Часто используется метод cavity, при котором вирус записывается в заведомо неиспользуемые области файла. Вирус может быть скопирован в незадействованные области заголовка ЕХЕ-файла, в «дыры» между секциями ЕХЕ-файла или в область текстовых сообщений популярных компиляторов.

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

Вирусы без точки входа. Отдельно следует отметить довольно незначительную группу вирусов, не имеющих точки входа (ЕРО-вирусы — Entry Point Obscuring viruses). К ним относятся вирусы, не изменяющие адрес точки старта в заголовке ЕХЕ-файлов. Такие вирусы записывают команду перехода на свой код в какое-либо место в середину файла и получают управление не непосредственно при запуске зараженного файла, а при вызове процедуры, содержащей код передачи управления на тело вируса. Причем выполняться эта процедура может крайне редко (например, при выводе сообщения о какой- либо специфической ошибке). В результате вирус может долгие годы «спать» внутри файла и «проснуться» только при некоторых ограниченных условиях. Перед тем как записать в середину файла команду перехода на свой код, вирусу необходимо выбрать «правильный» адрес в файле — иначе зараженный файл может оказаться испорченным. Известно несколько способов, с помощью которых вирусы определяют такие адреса внутри файлов, например: поиск в файле последовательности стандартного кода заголовков процедур языков программирования (C/C++), дизассемблирование кода файла или замена адресов импортируемых функций и др.

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

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

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

Вирусы с прочими способами заражения. Существуют вирусы, которые никоим образом не связывают свое присутствие с каким- либо исполняемым файлом. При размножении они всего лишь копируют свой код в какие-либо каталоги дисков «в надежде», что эти новые копии будут когда-либо запущены пользователем. Иногда эти вирусы дают своим копиям «специальные» имена, чтобы подтолкнуть пользователя на запуск своей копии: например, Install.exe или Winstart.bat.

Некоторые вирусы записывают свои копии в архивы (Arj, Zip, Rar), другие записывают команду запуска зараженного файла в бат-файлы (bat-файлы). Link-вирусы также не изменяют физического содержимого файлов, однако при запуске зараженного файла «заставляют» ОС выполнить свой код. Этой цели они достигают модификацией необходимых полей файловой системы.

Классификация компьютерных вирусов по критерию «степень и способ маскировки» включает:

  • вирусы, не использующие средств маскировки;
  • stealth-вирусы — вирусы, пытающиеся быть невидимыми на основе контроля доступа к зараженным элементам данных;
  • вирусы-мутанты (MtE-вирусы) — вирусы, содержащие в себе алгоритмы шифрования, обеспечивающие различие разных копий вируса.

В свою очередь, MtE-вирусы подразделяются на две группы:

  • — обычные вирусы-мутанты, в разных копиях которых различаются только зашифрованные тела, а дешифрованные тела вирусов совпадают;
  • — полиморфные вирусы, в разных копиях которых различаются не только зашифрованные, но и их дешифрованные тела.

Наиболее распространенные типы вирусов характеризуются следующими основными особенностями.

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

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

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

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

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

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

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

Вирусные «скрипты» (скрипт-вирусы) — вирусы, написанные на языках Visual Basic Script, Java Script, BAT и др. Эти вредоносные программы могут как располагаться в отдельных файлах, так и встраиваться в HTML-документ и в таком случае интерпретироваться браузером (причем не только с удаленного сервера, но и с локального диска).

  • VBS-вирусы, написанные на языке Visual Basic Script;
  • JS-вирусы, написанные на языке Java Script;
  • ВАТ-вирусы, написанные на языке командного интерпретатора MS-DOS (на ВАТ-языке);
  • PIF-eupyc в формате PIF(Program Information File);
  • WScript-черви, как правило, встроенные в HTML-файлы;
  • РНР-скрипт-вирусы, написанные на языке РНР, либо вирусы, заражающие РНР-файлы;
  • HTML-вирусы, встраиваемые в HTML-страницы;
  • Perl-вирусы, написанные на языке Perl.

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

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

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector