Вирусы спутники вирусы компаньоны

Обновлено: 22.04.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

Вирусы-спутники сейчас широко распространены – соотношение companion и parasitic вирусов примерно один к двум.

Инфицирование методом создания COM-файла спутника

Заражение производится с помощью командного процессора:

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

2. Найти EXE-файл-жертву.

3. Проверить, не присутствует ли в каталоге с найденным EXE-файлом COM-файл с таким же именем, как у файла-жертвы.

4. Если такой COM-файл присутствует, файл уже заражен, переходим к пункту 6.

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

6. Процедурой Exec загрузить и выполнить файл с именем стартового, но с расширением EXE – то есть выполнить инфицированную программу.

7. Вернуть управление в DOS.

Приведенный ниже листинг показывает заражение файлов этим методом.

подключается к каждой программе при компиляции)>

Author=’Dirty Nazi/SGWW. 4 PVT only!’;

и False, если еще нет>

function VirusPresent: Boolean;

но с расширением COM>

программа уже инфицирована этим вирусом>

If IOResult=0 Then

If Not VirusPresent Then

копируем вирусный код в COM?файл>

Exec(GetEnv(’COMSPEC’),’/C COPY /B ’+ParamStr(0)+’

с атрибутами Archive>

FindFirst(’*.EXE’, Archive, Sr);

While DosError=0 Do

If Sr.Name=’’ Then Exit;

If InfFiles > InfCount Then Exit;

If ParamCount <> 0 Then

For I:=1 To ParamCount Do

FindFirst(TargetFile, AnyFile, DirInfo);

If DosError=0 Then

не внося в программу изменений>

Инфицирование методом переименования EXE-файла

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

2. Найти EXE-файл-жертву.

3. Проверить, не присутствует ли в каталоге с найденным EXE-файлом-жертвой файл с таким же именем и с расширением, которое выбрано для инфицированной программы (например, OVL – программный оверлей).

4. Если такой файл присутствует, программа уже инфицирована – переходим к пункту 7.

5. Переименовать найденный файл-жертву (EXE) в файл с таким же именем, но с расширением, выбранным для инфицированной программы.

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

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

8. Если такой файл не найден, переходим к пункту 12.

9. Изменить расширение найденного файла на COM (ни в коем случае не на EXE, ведь в EXE-файле с таким именем находится вирусный код!).

10. Процедурой Exec загрузить и выполнить переименованный файл – то есть выполнить инфицированную программу.

11. Вернуть COM-файлу с инфицированной программой выбранное расширение, то есть превратить его опять в неисполняемый.

12. Вернуть управление в DOS.

В представленном здесь виде вирус легко обезвредить, достаточно просто переименовать OVL-файл обратно в EXE. Но, чтобы усложнить лечение, в вирусе может быть использован такой прием:

Buf10: Array [1.10] of Byte;

BlockRead(Prog, Buf10, 10);

For Cicle:=1 To 10 Do Buf10[Cicle]:=Not Buf10[Cicle];

BlockWrite(Prog, Buf10, 10);

При использовании этой процедуры надо учитывать, что заражаемая и запускаемая на исполнение программа должна быть связана с переменной Prog типа File, описанной в основном модуле. Суть процедуры состоит в том, что из заражаемой программы считываются 10 байт и кодируются операцией Not. EXE-программа становится неработоспособной. Запускать эту процедуру нужно не только перед прогоном оригинала, но и после него.

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

Термин "компьютерный вирус " появился позднее. Считается, что впервые его употребил сотрудник Лехайского университета (США) Ф. Коэн в 1984 году на 7-й конференции по безопасности информации. С тех пор прошло немало времени, острота проблемы многократно возросла, однако строгого определения компьютерному вирусу так и не дано.

История вирусов

Основы теории самовоспроизводящихся механизмов заложил американец венгерского происхождения Джон фон Нейман, который в 1951 году предложил метод создания таких механизмов. Первой публикацией, посвящённой созданию самовоспроизводящихся систем, является статья Л. С. Пенроуз в соавторстве со своим мужем, нобелевским лауреатом по физике Р. Пенроузом, о самовоспроизводящихся механических структурах, опубликованная в 1957 году американским журналом Nature. В этой статье, наряду с примерами чисто механических конструкций, была приведена некая двумерная модель подобных структур, способных к активации, захвату и освобождению. По материалам этой статьи Ф. Ж. Шталь (F. G. Stahl) запрограммировал на машинном языке ЭВМ IBM 650 биокибернетическую модель, в которой существа двигались, питаясь ненулевыми словами. При поедании некоторого числа символов существо размножалось, причём дочерние механизмы могли мутировать. Если кибернетическое существо двигалось определённое время без питания, оно погибало.

Загрузочные вирусы

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

Компаньон-вирусы

Компаньон-вирусы создают для ЕХЕ-файлов файлы-спутники, имеющие то же самое имя, но с расширением СОМ. ОС MS DOS первым выполнит СОМ-файл (вирус), а затем запустит и ЕХЕ-файл.

Классификация вирусов по способу заражения:

Классификация вирусов по способу заражения:

Классификация по деструктивным возможностям:

Классификация по деструктивным возможностям:

Классификация вирусов по среде обитания

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

Классификация по особенностям алгоритма:

Классификация по особенностям алгоритма:

Вирусы - блокираторы

Вирусы, блокирующие операционную систему Windows (Trojan.Winlock и аналоги). Эта эпидемия началась ещё в середине 2009 года, но до сих пор держит в напряжении и пользователей и разработчиков антивирусных программ. Принцип работы вируса — вывод на экран большого окна, перекрывающего все другие окна, на котором указано требование оплатить разблокировку. Вирус может использовать и небольшой элемент социальной инженерии, объясняя своё появление необходимостью оплаты штрафа за использование нелицензионного ПО или просмотр порнографических материалов

Вирусы - шифровальщики

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

Компаньон-вирусы создают для ЕХЕ-файлов файлы-спутники, имеющие то же самое имя, но с расширением СОМ. ОС MS DOS первым выполнит СОМ-файл (вирус), а затем запустит и ЕХЕ-файл.

Инфицирование методом создания COM-файла спутника
    Заражение производится с помощью командного процессора:
  • Если в командной строке указаны параметры, сохранить их в переменную типа String для передачи инфицированной программе.
  • Найти EXE-файл-жертву.
  • Проверить, не присутствует ли в каталоге с найденным EXE-файлом COM-файл с таким же именем, как у файла-жертвы.
  • Если такой COM-файл присутствует, файл уже заражен, переходим к пункту 6.
  • С помощью командного процессора скопировать файл, из которого получено управление, в файл с именем жертвы и расширением COM.
  • Процедурой Exec загрузить и выполнить файл с именем стартового, но с расширением EXE – то есть выполнить инфицированную программу.
  • Вернуть управление в DOS.

Приведенный ниже листинг показывает заражение файлов этим методом.

Инфицирование методом переименования EXE-файла
  1. Если в командной строке указаны параметры, сохранить их в переменную типа String для передачи инфицированной программе.
  2. Найти EXE-файл-жертву.
  3. Проверить, не присутствует ли в каталоге с найденным EXE-файлом-жертвой файл с таким же именем и с расширением, которое выбрано для инфицированной программы (например, OVL – программный оверлей).
  4. Если такой файл присутствует, программа уже инфицирована – переходим к пункту 7.
  5. Переименовать найденный файл-жертву (EXE) в файл с таким же именем, но с расширением, выбранным для инфицированной программы.
  6. С помощью командного процессора скопировать файл, из которого получено управление, в файл с именем жертвы и расширением жертвы.
  7. Найти в каталоге, из которого получено управление, файл с именем стартовой программы, но с расширением, выбранным для инфицированной – это и будет зараженная программа, которую в данный момент необходимо запустить на исполнение.
  8. Если такой файл не найден, переходим к пункту 12.
  9. Изменить расширение найденного файла на COM (ни в коем случае не на EXE, ведь в EXE-файле с таким именем находится вирусный код!).
  10. Процедурой Exec загрузить и выполнить переименованный файл – то есть выполнить инфицированную программу.
  11. Вернуть COM-файлу с инфицированной программой выбранное расширение, то есть превратить его опять в неисполняемый.
  12. Вернуть управление в DOS.

В представленном здесь виде вирус легко обезвредить, достаточно просто переименовать OVL-файл обратно в EXE. Но, чтобы усложнить лечение, в вирусе может быть использован такой прием:

При использовании этой процедуры надо учитывать, что заражаемая и запускаемая на исполнение программа должна быть связана с переменной Prog типа File, описанной в основном модуле. Суть процедуры состоит в том, что из заражаемой программы считываются 10 байт и кодируются операцией Not. EXE-программа становится неработоспособной. Запускать эту процедуру нужно не только перед прогоном оригинала, но и после него.

Читайте также: