Какие компьютерные вирусы существуют? Методы борьбы? Что надо делать, если пропали данные

Алгоритм работы файлового вируса

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

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

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

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

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

Загрузочные вирусы заражают загрузочный (boot) сектор флоппи-диска и boot-сектор или Master Boot Record (MBR) винчестера. Принцип действия загрузочных вирусов основан на алгоритмах запуска операционной системы при включении или перезагрузке компьютера - после необходимых тестов установленного оборудования (памяти, дисков и т.д.) программа системной загрузки считывает первый физический сектор загрузочного диска (A:, C: или CD-ROM в зависимости от параметров, установленных в BIOS Setup) и передает на него управление.

В случае дискеты или компакт-диска управление получает boot-сектор, который анализирует таблицу параметров диска (BPB - BIOS Parameter Block) высчитывает адреса системных файлов операционной системы, считывает их в память и запускает на выполнение. Если же на загрузочном диске отсутствуют файлы операционной системы, программа, расположенная в boot-секторе диска выдает сообщение об ошибке и предлагает заменить загрузочный диск.

В случае винчестера управление получает программа, расположенная в MBR винчестера. Эта программа анализирует таблицу разбиения диска (Disk Partition Table), вычисляет адрес активного boot-сектора (обычно этим сектором является boot-сектор диска C:), загружает его в память и передает на него управление. Получив управление, активный boot-сектор винчестера проделывает те же действия, что и boot-сектор внешнего носителя.

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

Заражение дискет производится единственным известным способом - вирус записывает свой код вместо оригинального кода boot-сектора дискеты. Винчестер заражается тремя возможными способами - вирус записывается либо вместо кода MBR, либо вместо кода boot-сектора загрузочного диска (обычно диска C:), либо модифицирует адрес активного boot-сектора в Disk Partition Table, расположенной в MBR винчестера.

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

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

Если продолжение вируса размещается в секторах, которые принадлежат свободным кластерам диска (при поиске этих секторов вирусу приходится анализировать таблицу размещения файлов - FAT), то, как правило, вирус помечает в FAT эти кластеры как сбойные (так называемые псевдосбойные кластеры). Этот способ используется вирусами “Brain”, “Ping-Pong” и некоторыми другими.

В вирусах семейства “Stoned” задействован другой метод. Эти вирусы размещают первоначальный загрузочный сектор в неиспользуемом или редко используемом секторе - в одном из секторов винчестера (если такие есть), расположенных между MBR и первым boot-сектором, а на дискете такой сектор выбирается из последних секторов корневого каталога.

Некоторые вирусы записывают свой код в последние сектора винчестера, поскольку эти сектора используются только тогда, когда винчестер полностью заполнен информацией (что является довольно редким явлением, если учесть размеры современных дисков). Реже используется метод сохранения продолжения вируса за пределами диска. Достигается это двумя способами. Первый сводится к уменьшению размеров логических дисков: вирус вычитает необходимые значения из соответствующих полей BPB boot-сектора и Disk Partition Table винчестера (если заражается винчестер), уменьшает размер логического диска и записывает свой код в “отрезанные” от него сектора.

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

Конечно, существуют и другие методы размещения вируса на диске, например, вирусы семейства “Azusa” содержат в своем теле стандартный загрузчик MBR и при заражении записываются поверх оригинального MBR без его сохранения.

При заражении большинство вирусов копирует в код своего загрузчика системную информацию, хранящуюся в первоначальном загрузчике (для MBR этой информацией является Disk Partition Table, для Boot-сектора дискет - BIOS Parameter Block). В противном случае система окажется неспособной загрузить себя, поскольку дисковые адреса компонент системы высчитываются на основе этой информации. Такие вирусы довольно легко удаляются переписыванием заново кода системного загрузчика в boot-секторе и MBR - для этого необходимо загрузиться с незараженной системной дискеты и использовать команды SYS для обезвреживания дискет и логических дисков винчестера или FDISK/MBR для лечения зараженного MBR-сектора.

Однако некоторые 100%-стелс вирусы не сохраняют эту информацию или даже более того - преднамеренно шифруют ее. При обращении системы или других программ к зараженным секторам вирус подставляет их незараженные оригиналы, и загрузка системы происходит без каких-либо сбоев, однако лечение MBR при помощи FDISK/MBR в случае такого вируса приводит к потере информации о разбиении диска (Disk Partition Table). В этом случае диск нужно переформатировать с потерей всей информации или восставить Disk Partition Table “вручную’, что требует определенной квалификации.

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

Пользователям новых операционных систем загрузочные вирусы также могут доставить неприятности. Несмотря на то, что перечисленные выше системы работают с дисками напрямую (минуя вызовы BIOS), что блокирует вирус и делает невозможным дальнейшее его распространение, код вируса все-таки, хоть и очень редко, получает управление при перезагрузке системы. Поэтому вирус “March6”, например, может годами “жить” в MBR сервера и никак не влиять при этом на работу и производительность компьютерной системы. Однако при случайной перезагрузке 6-го марта этот вирус полностью уничтожит все данные на диске.

Алгоритм работы загрузочного вируса

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

 как правило, уменьшает объем свободной памяти, копирует в освободившееся место свой код и считывает с диска свое продолжение (если оно есть). В дальнейшем некоторые вирусы “ждут” загрузки операционной системы и восстанавливают размер памяти в первоначальное значение. В результате они оказываются расположенными не за пределами операционной системы, а как отдельные блоки памяти, выделяемые под систему.

 перехватывает необходимые вектора прерываний (обычно INT 13H), считывает в память оригинальный boot-сектор и передает на него управление.

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

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

Макро-вирусы

Макро-вирусы (macro viruses) являются программами на языках (макро-языках), встроенных в некоторые системы обработки данных (текстовые редакторы, электронные таблицы), анимации и т.д. Для своего размножения такие вирусы используют возможности макро-языков и при их помощи переносят себя из одного зараженного файла (документа) в другие. Наибольшее распространение получили макро-вирусы для Microsoft Word, Excel и Office. Существуют также макро-вирусы, заражающие документы Ami Pro и базы данных Microsoft Access, Flash-анимацию. На сегодняшний день известно множество систем, для которых существуют макро-вирусы. В этих системах вирусы получают управление при открытии или закрытии зараженного файла, перехватывают стандартные файловые функции и затем заражают файлы, к которым каким-либо образом идет обращение.

Для существования вирусов в конкретной системе (редакторе) необходимо наличие встроенного в систему макроязыка с возможностями:

 привязки программы на макроязыке к конкретному файлу;

 копирования макропрограмм из одного файла в другой;

 возможность получения управления макро-программой без вмешательства пользователя (автоматические или стандартные макросы).

Данным условиям удовлетворяют редакторы Microsoft Word, Office и AmiPro, а также электронная таблица Excel и база данных Microsoft Access. Эти системы содержат в себе макроязыки: Word, Excel, Access, Office - Visual Basic for Applications. При этом:

 макропрограммы привязаны к конкретному файлу (AmiPro) или находятся внутри файла (Word, Excel, Office);

 макроязык позволяет копировать файлы (AmiPro) или перемещать макропрограммы в служебные файлы системы и редактируемые файлы (Word, Excel, Office);

 при работе с файлом при определенных условиях (открытие, закрытие и т.д.) вызываются макропрограммы (если таковые есть), которые определены специальным образом (AmiPro) или имеют стандартные имена (Word, Excel, Office).

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

Физическое расположение вируса внутри файла зависит от его формата, который в случае продуктов Microsoft чрезвычайно сложен - каждый файл-документ Word или таблица Excel представляют собой последовательность блоков данных (каждый из которых также имеет свой формат), объединенных между собой при помощи большого количества служебных данных. Этот формат носит название OLE2 - Object Linking and Embedding.

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

Вирусы для Word могут заражать компьютеры любого класса, а не только IBM PC. Заражение возможно в том случае, если на данном компьютере установлен текстовый редактор, полностью совместимый с Microsoft Word.

Следует также отметить, что сложность форматов документов Word, таблиц Excel и особенно Office имеет следующую особенность: в файлах-документах и таблицах присутствуют “лишние” блоки данных, т.е. данные, которые никак не связаны с редактируемым текстом или таблицами, либо являются случайно оказавшимися там копиями прочих данных файла. Причиной возникновения таких блоков данных является кластерная организация данных в OLE2-документах и таблицах - даже если введен всего один символ текста, то под него выделяется один или даже несколько кластеров данных. При сохранении документов и таблиц в кластерах, не заполненных “полезными” данными, остается “мусор”, который попадает в файл вместе с прочими данными.

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

При работе с документом Word любой версии выполняет различные действия: открывает документ, сохраняет, печатает, закрывает и т.д. При этом Word ищет и выполняет соответствующие “встроенные макросы” - при сохранении файла по команде File/Save вызывается макрос FileSave, при сохранении по команде File/SaveAs - FileSaveAs, при печати документов - FilePrint и т.д., если, конечно, таковые макросы определены.

Существует также несколько “авто-макросов”, автоматически вызываемые при различных условиях. Например, при открытии документа Word проверяет его на наличие макроса AutoOpen. Если такой макрос присутствует, то Word выполняет его. При закрытии документа Word выполняет макрос AutoClose, при запуске Word вызывается макрос AutoExec, при завершении работы - AutoExit, при создании нового документа - AutoNew.

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

Автоматически (т.е. без участия пользователя) выполняются также макросы/функции, ассоциированные с какой-либо клавишей либо моментом времени или датой, т.е. Word/Excel вызывают макрос/функцию при нажатии на какую-либо конкретную клавишу (или комбинацию клавиш) либо при достижении какого-либо момента времени. В Office возможности по перехвату событий несколько расширены, но принцип используется тот же.

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

Таким образом, если документ заражен, при открытии документа Word вызывает зараженный автоматический макрос AutoOpen (или AutoClose при закрытии документа) и, таким образом, запускает код вируса, если это не запрещено системной переменной DisableAutoMacros. Если вирус содержит макросы со стандартными именами, они получают управление при вызове соответствующего пункта меню (File/Open, File/Close, File/SaveAs). Если же переопределен какой-либо символ клавиатуры, то вирус активизируется только после нажатия на соответствующую клавишу.

Большинство макро-вирусов содержат все свои функции в виде стандартных макросов Word/Excel/Office. Существуют, однако, вирусы, использующие приемы скрытия своего кода и хранящие свой код в виде не-макросов. Известно три подобных приема, все они используют возможность макросов создавать, редактировать и исполнять другие макросы. Как правило, подобные вирусы имеют небольшой (иногда - полиморфный) макрос-загрузчик вируса, который вызывает встроенный редактор макросов, создает новый макрос, заполняет его основным кодом вируса, выполняет и затем, как правило, уничтожает (чтобы скрыть следы присутствия вируса). Основной код таких вирусов присутствует либо в самом макросе вируса в виде текстовых строк (иногда - зашифрованных), либо хранится в области переменных документа или в области Auto-text.

Алгоритм работы Word макро-вирусов

Большинство известных Word-вирусов при запуске переносят свой код (макросы) в область глобальных макросов документа (“общие” макросы), для этого они используют команды копирования макросов MacroCopy, OrganizerCopy либо при помощи редактора макросов - вирус вызывает его, создает новый макрос, вставляет в него свой код, который и сохраняет в документе.

При выходе из Word глобальные макросы (включая макросы вируса) автоматически записываются в DOT-файл глобальных макросов (обычно таким файлом является NORMAL.DOT). Таким образом, при следующем запуске редактора MS-Word вирус активизируется в тот момент, когда WinWord грузит глобальные макросы, т.е. сразу.

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

Таким образом, если вирус перехватывает макрос FileSaveAs, то заражается каждый DOC-файл, сохраняемый через перехваченный вирусом макрос. Если перехвачен макрос FileOpen, то вирус записывается в файл при его считывании с диска.

Второй способ внедрения вируса в систему используется значительно реже - он базируется на так называемых “Add-in” файлах, т.е. файлах, являющихся служебными дополнениями к Word. В этом случае NORMAL.DOT не изменяется, а Word при запуске загружает макросы вируса из файла (или файлов), определенного как “Add-in”. Этот способ практически полностью повторяет заражение глобальных макросов за тем исключением, что макросы вируса хранятся не в NORMAL.DOT, а в каком-либо другом файле.

Возможно также внедрения вируса в файлы, расположенные в каталоге STARTUP, - Word автоматически подгружает файлы-темплейты из этого каталога.

Алгоритм работы Excel макро-вирусов

Методы размножения Excel-вирусов в целом аналогичны методам Word-вирусов. Различия заключаются в командах копирования макросов (например, Sheets.Copy) и в отсутствии NORMAL.DOT - его функцию (в вирусном смысле) выполняют файлы в STARTUP-каталоге Excel.

Полиморфные вирусы

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

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

Полиморфные расшифровщики

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

MOV reg_1, count ; reg_1, reg_2, reg_3 выбираются из

MOV reg_2, key ; AX,BX,CX,DX,SI,DI,BP

MOV reg_3, _offset ; count, key, _offset также могут меняться

xxx byte ptr , reg_2 ; xor, add или sub

Более сложные полиморфные вирусы используют значительно более сложные алгоритмы для генерации кода своих расшифровщиков: приведенные выше инструкции (или их эквиваленты) переставляются местами от заражения к заражению, разбавляются ничего не меняющими командами типа NOP, STI, CLI, STC, CLC, DEC неиспользуемый регистр, XCHG неиспользуемые регистры и т.д.

Полноценные же полиморфные вирусы используют еще более сложные алгоритмы, в результате работы которых в расшифровщике вируса могут встретиться операции SUB, ADD, XOR, ROR, ROL и другие в произвольном количестве и порядке. Загрузка и изменение ключей и других параметров шифровки производится также произвольным набором операций, в котором могут встретиться практически все инструкции процессора Intel (ADD, SUB, TEST, XOR, OR, SHR, SHL, ROR, MOV, XCHG, JNZ, PUSH, POP ...) со всеми возможными режимами адресации.

В результате в начале файла, зараженного подобным вирусом, идет набор бессмысленных на первый взгляд инструкций, причем некоторые комбинации, которые вполне работоспособны, не берутся фирменными дизассемблерами (например, сочетание CS:CS: или CS:NOP). И среди этой “каши” из команд и данных изредка проскальзывают MOV, XOR, LOOP, JMP - инструкции, которые действительно являются “рабочими”.

Уровни полиморфизма

Существует деление полиморфных вирусов на уровни в зависимости от сложности кода, который встречается в расшифровщиках этих вирусов.

Уровень 1: вирусы, которые имеют некоторый набор расшифровщиков с постоянным кодом и при заражении выбирают один из них. Такие вирусы являются “полу-полиморфными” и носят также название “олигоморфные” (oligomorphic). Примеры: “Cheeba”, “Slovakia”, “Whale”.

Уровень 2: расшифровщик вируса содержит одну или несколько постоянных инструкций, основная же его часть непостоянна.

Уровень 3: расшифровщик содержит неиспользуемые инструкции – “мусор” типа NOP, CLI, STI и т.д.

Уровень 4: в расшифровщике используются взаимозаменяемые инструкции и изменение порядка следования (перемешивание) инструкций. Алгоритм расшифрования при этом не изменяется.

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

Уровень 6: permutating-вирусы. Изменению подлежит основной код вируса - он делится на блоки, которые при заражении переставляются в произвольном порядке. Вирус при этом остается работоспособным. Подобные вирусы могут быть незашифрованны.

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

 Уровень 1: для детектирования вируса достаточно иметь несколько масок.

 Уровень 2: детектирование по маске с использованием “wildcards”.

 Уровень 3: детектирование по маске после удаления инструкций – “мусора”.

 Уровень 4: маска содержит несколько вариантов возможного кода, т.е. становится алгоритмической.

 Уровень 5: невозможность детектирования вируса по маске.

Недостаточность такого деления продемонстрирована в вирусе 3-го уровня полиморфичности, который так и называется – “Level3’. Этот вирус, являясь одним из наиболее сложных полиморфных вирусов, по приведенному выше делению попадает в Уровень 3, поскольку имеет постоянный алгоритм расшифровки, перед которым стоит большое количество команд- “мусора”. Однако в этом вирусе алгоритм генерирования “мусора” доведен до совершенства: в коде расшифровщика могут встретиться практически все инструкции процессора i8086.

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

Изменение выполняемого кода

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

Реже этот способ применяется сложными загрузочными вирусами. Такие вирусы внедряют в загрузочные сектора лишь достаточно короткую процедуру, которая считывает и диска основной код вируса и передает на него управление. Код этой процедуры выбирается из нескольких различных вариантов (которые также могут быть разбавлены “пустыми” командами), команды переставляются между собой и т.д.

Еще реже этот прием встречается у файловых вирусов - ведь им приходится полностью менять свой код, а для этого требуются достаточно сложные алгоритмы. На сегодняшний день известны всего два таких вируса, один из которых (“Ply”) случайным образом перемещает свои команды по своему телу и заменяет их на команды JMP или CALL. Другой вирус (“TMC”) использует более сложный способ - каждый раз при заражении вирус меняет местами блоки своего кода и данных, вставляет “мусор”, в своих ассемблерных инструкциях устанавливает новые значения смещений на данные, меняет константы и т.д. В результате, хотя вирус и не шифрует свой код, он является полиморфным вирусом - в коде не присутствует постоянного набора команд. Более того, при создании своих новых копий вирус меняет свою длину.

компьютерных вирусов

Файловые вирусы

Вирус может внедриться в файлы трех типов:

Командные (ВАТ);

Загружаемые драйверы (IO.SYS, MSDOS.SYS и др.);

Выполняемые двоичные файлы (EXE, COM).

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

Внедрение вируса в SYS-файл происходит следующим образом: вирусы внедряются в SYS-файл, приписывают свои коды к "телу" файла и модифицируют адреса программ стратегии (Strategy) и прерывания (Interrupt) заражаемого драйвера (встречаются вирусы, изменяющие адрес только одной из программ). При инициализации зараженного драйвера вирус перехватывает соответствующий запрос операционной системы, передает его драйверу, ждет ответа на него, корректирует его и остается в оперативной памяти вместе с драйвером в одном блоке памяти. Такой вирус может быть чрезвычайно опасным и живучим, так как внедряется в оперативную память при загрузке DOS раньше любой антивирусной программы, если она, конечно, тоже является драйвером.

Зараженный файл-драйвер:

Возможно также инфицирование системного драйвера другим способом, когда вирус модифицирует его заголовок так, что DOS рассматривает инфицированный файл как цепочку из двух (или более) файлов.

Зараженный файл-драйвер:

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

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

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

Файловые вирусы при распространении внедряются в тело заражаемого файла: начало, конец или середину. Существует несколько возможностей внедрения вируса в середину файла: он может быть скопирован в таблицу настройки адресов EXE-файла ("Boot - Exe"), область стека файла COMMAND.COM ("Lehigh"), может раздвинуть файл или переписать часть файла в его конец, а свои коды - в освободившееся место ("Apri l - 1- Exe", "Phoenix") и т. д. Кроме того, копирование вируса в середину файла может произойти в результате ошибки вируса. В этом случае файл может быть необратимо испорчен. Встречаются и другие способы внедрения вируса в середину файла, например, вирус "Mutant" применяет метод компрессирования некоторых участков файла.

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

Внедрение вируса в начало файла применяется в подавляющем большинстве случаев при поражении COM-файлов. EXE-файлы заражаются таким методом либо в результате ошибки вируса, либо при использовании алгоритма вируса "Pascal".

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

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

Вирус, после передачи ему управления, действует по следующему алгоритму:

Восстанавливает программу (но не файл) в исходном виде;

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

Выполняет, если они есть, дополнительные функции: деструктивные действия, графические или звуковые эффекты.

Возвращает управление основной программе.

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

Загрузочные вирусы заражают загрузочный сектор флоппи-диска и Boot-сектор, или Master Boot Record винчестера. При инфицировании диска вирус в большинстве случаев переносит оригинальный Boot-сектор в какой-либо другой сектор диска. Если длина вируса больше длины сектора, то в заражаемый сектор перемещается первая часть вируса, остальные размещаются в других секторах. Затем вирус копирует системную информацию, хранящуюся в первоначальном загрузчике, и записывает их в загрузочный сектор (для MBR этой информацией является Disk Partition Table, для Boot-сектора дискет - BIOS Parameter Block).

Алгоритм работы загрузочного вируса.

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

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

После запуска программы, содержащей вирус, становится возможным заражение дру­гих файлов. Наиболее часто вирусом заражаются загрузочный сектор диска и исполняемые файлы, имеющие расширения ЕХЕ, СОМ, SYS или ВАТ. Крайне редко заражаются тексто­вые и графические файлы.

Зараженная программа - это программа, содержащая внедренную в нее программу-вирус.

Признаках проявления вирусов

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

Прекращение работы или неправильная работа ранее успешно функционировавших программ;

Медленная работа компьютера;

Невозможность загрузки операционной системы;

Исчезновение файлов и каталогов или искажение их содержимого;

Изменение даты и времени модификации файлов;

Изменение размеров файлов;

Неожиданное значительное увеличение количества файлов на диске;

Существенное уменьшение размера свободной оперативной памяти;

Вывод на экран непредусмотренных сообщений или изображений;

Подача непредусмотренных звуковых сигналов;

Частые зависания и сбои в работе компьютера.

Следует заметить, что вышеперечисленные явления необязательно вызываются при­сутствием вируса, а могут быть следствием других причин. Поэтому всегда затруднена пра­вильная диагностика состояния компьютера.

Основные виды вирусов

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

По среде обитания;

По способу заражения;

По степени воздействия;

По особенностям алгоритма.

В зависимости от среды обитания вирусы можно разделить

На сетевые,

Файловые,

Загрузочные

Файлово-загрузочные.

· Сетевые вирусы распространяются по различ­ным компьютерным сетям.

· Файловые вирусы внедряются главным образом в исполняемые модули, т.е. в файлы, имеющие расширения СОМ и ЕХЕ. Файловые вирусы могут внед­ряться и в другие типы файлов, но, как правило, записанные в таких файлах, они никогда не получают управление и, следовательно, теряют способность к размножению.

· Загрузоч­ные вирусы внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Record).

· Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.

По способу заражения вирусы делятсяна

Резидентные

Нерезидентные.

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

· Нерезидентные в пру с ы не заража­ют память компьютера и являются активными ограниченное время.

По степени воздействия вирусы можно разделить на следующие виды:

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

опасные вирусы , которые могут привести к различным нарушениям в работе ком­пьютера;

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

По особенностям алгоритма вирусы трудно классифицировать из-за большого разно­образия.

Можно отме­тить вирусы-репликаторы, называемые червями , которые распространяются по компьютерным сетям, вычисляют адреса сетевых компьютеров и записывают по этим адре­сам свои копии.

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

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

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

Программы обнаружения и защиты от вирусов

Характеристика антивирусных программ

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

Различают следующие виды антивирусных программ:

· программы-детекторы;

· программы-доктора или фаги;

· программы-ревизоры;

· программы-фильтры;

· программы-вакцины или иммунизаторы.

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

Программы-доктора или фаги - предназначены для лечения зараженных дисков и программ. Лечение программы состоит в изъятии из зараженной программы тела вируса. Полифаг способен уничтожить много вирусов. Наиболее известными являются Aidstest, Norton AntiVirus и Doctor Web.

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

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

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

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

Следует заметить, что выбор одного "наилучшего" антивируса крайне ошибочное решение. Рекомендуется использовать несколько разных антивирусных пакетов одновременно. Выбирая антивирусную программу следует обратить внимание на такой параметр, как количество распознающих сигнатур (последовательность символов, которые гарантированно распознают вирус). Второй параметр - наличие эвристического анализатора неизвестных вирусов, его присутствие очень полезно, но существенно замедляет время работы программы. На сегодняшний день существует большое количество разнообразных антивирусных программ.

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

Антивирус-ревизор диска ADINF (Avanced DiskINFoscope) разрешает находить и уничтожать, как существующие обычные, stealth- и полиморфные вирусы, так и совсем новые. Антивирус имеет в своем распоряжении лечащий блок ревизора ADINF - Adinf Cure Module - что может обезвредить до 97% всех вирусов. Эту цифру приводит "Диалогнаука", исходя из результатов тестирования, которое происходило на коллекциях вирусов двух признанных авторитетов в этой области - Д.Н.Лозинского и фирмы Dr.Sоlомоn"s (Великобритания).

ADINF загружается автоматически в случае включения компьютера и контролирует boot-сектор и файлы на диске (дата и время создания, длина, контрольная сумма), выводя сообщения про их изменения. Благодаря тому, что ADINF осуществляет дисковые операции в обход операционной системы, обращаясь к функциям BIOS, достигаются не только возможность выявления активных stеаlth-вірусів, но и высокая скорость проверки диска. Если найден boot-вирус, то ADINF просто восстановит предшествующий загрузочный сектор, который хранится в его таблице. Если вирус файловый, то здесь на помощь приходит лечащий блок Adinf Cure Module, который на основе отчета основного модуля о зараженных файлах сравнивает новые параметры файлов с предыдущими, хранящиеся в специальных таблицах. При выявлении расхождений ADINF восстанавливает предыдущее состояние файла, а не уничтожает тело вируса, как это делают полифаги.

Антивирус AVP (AntiVirus Program) относится к полифагам, в процессе работы проверяет оперативную память, файлы, в том числе архивные, на гибких, локальных, сетевых и CD-ROM дисках, а также системные структуры данных, такие как загрузочный сектор, таблицу разделов и т.д. Программа имеет эвристический анализатор, который, по утверждениям разработчиков антивируса способен находить почти 80% всех вирусов. Программа AVP является 32-разрядным приложением для работы в среде операционных систем Windows 98, NT и 2000, имеет удобный интерфейс, а также одну из самых больших в мире антивирусную базу. Базы антивирусов к AVP обновляются приблизительно один раз в неделю и их можно получить с Internеt. Эта программа осуществляет поиск и изъятие разнообразнейших вирусов, в том числе:

  • полиморфных, или самошифрующихся вирусов;
  • стелс-вирусов, или вирусов-невидимок;
  • новых вирусов для Windows;
  • макровирусов, заражающих документы Word и таблицы Excel.

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

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

Что такое вирусы

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

Своим названием компьютерные вирусы обязаны определённому сходству с вирусами естественными: способности к самозаражению; высокой скорости распространения; избирательности поражаемых систем (каждый вирус поражает только определённые системы или однородные группы систем); способности "заражать" ещё незаражённые системы; трудности в борьбе с вирусами и т.д..

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

Условно вирусы можно классифицировать по следующим признакам:
* по среде обитания вируса
* по способу заражения среды обитания
* по деструктивным возможностям
* по особенностям алгоритма вируса
* по виду деструктивных действий

Загрузочные вирусы заражают загрузочный (boot) сектор флоппи-диска и boot-сектор или Master Boot Record (MBR) винчестера. Принцип действия загрузочных вирусов основан на алгоритмах запуска операционной системы при включении или перезагрузке компьютера.

Чтобы было более понятно, я подробно объясню, как происходит загрузка компьютера: после включения ПК в сеть блок питания посылает сигнал POWER_ON на материнскую плату, та в свою очередь проверяет напряжения в цепи питания, если оно соответствует норме, то компьютер включается. Далее управление получает программа в BIOS (Basic Input Output System) видеокарты, она производит тестирование компонентов видеокарты и при получении положительных данных, передает управление BIOS материнской платы. Он запускает процедуру POST (Power-On Self Test), которая производит самотестирование всех компонентов системы, если тестирование происходит удачно и все найденные устройства вернули положительные сигналы, BIOS в соответствии с данными в разделе Boot и передает управление тому устройству, которое стоит в данном списке первым. Управление передается посредством поиска первого физического сектора, считывания его и запуска начального загрузчика.

В случае дискеты или компакт-диска управление получает boot-сектор, который анализирует таблицу параметров диска (BPB - BIOS Parameter Block) высчитывает адреса системных файлов операционной системы, считывает их в память и запускает на выполнение. Если же на загрузочном диске отсутствуют файлы операционной системы, программа, расположенная в boot-секторе диска выдает сообщение об ошибке и предлагает заменить загрузочный диск.

В случае винчестера управление получает, выше указанный, начальный загрузчик который, анализирует таблицу разбиения диска (Disk Partition Table), вычисляет адрес активного boot-сектора (обычно этим сектором является boot-сектор диска C:), загружает его в память и передает на него управление. Получив управление, активный boot-сектор винчестера проделывает те же действия, что и boot-сектор дискеты. Далее все проще, в системных файлах находится загрузчик операционной системы, который и производит дальнейшую загрузку ОС.

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

Заражение дискет производится единственным известным способом - вирус записывает свой код вместо оригинального кода boot-сектора дискеты. Винчестер заражается тремя возможными способами - вирус записывается либо вместо кода MBR, либо вместо кода boot-сектора загрузочного диска (обычно диска C:), либо модифицирует адрес активного boot-сектора в Disk Partition Table, расположенной в MBR винчестера.

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


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

Если продолжение вируса размещается в секторах, которые принадлежат свободным кластерам диска (при поиске этих секторов вирусу приходится анализировать таблицу размещения файлов - FAT), то, как правило, вирус помечает в FAT (Fail Allocation Table) эти кластеры как сбойные (так называемые псевдосбойные кластеры).

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

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

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

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

При заражении большинство вирусов копирует в код своего загрузчика системную информацию, хранящуюся в первоначальном загрузчике (для MBR этой информацией является Disk Partition Table, для Boot-сектора дискет - BIOS Parameter Block). В противном случае система окажется неспособной загрузить себя, поскольку дисковые адреса компонент системы высчитываются на основе этой информации.

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

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

Алгоритм работы загрузочного вируса

Практически все загрузочные вирусы резидентны. Они внедряются в память компьютера при загрузке с инфицированного диска. При этом системный загрузчик считывает содержимое первого сектора диска, с которого производится загрузка, помещает считанную информацию в память и передает на нее (т.е. на вирус) управление. После этого начинают выполняться инструкции вируса, который:
1. как правило, уменьшает объем свободной памяти (слово по адресу 0040:0013), копируют в освободившееся место свой код и считывает с диска свое продолжение (если оно есть). В дальнейшем некоторые вирусы "ждут" загрузки ОС и восстанавливают это слово в его первоначальное значение. В результате они оказываются расположенными не за пределами ОС, а как отдельные блоки памяти операционной системы.
2. перехватывает необходимые вектора прерываний (обычно - INT 13h), считывает в память оригинальный boot-сектор и передает на него управление.

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

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

Файловые вирусы

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

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

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

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

Внедрение вируса в начало файла

Внедрение вируса в начало файла применяется в подавляющем большинстве случаев при заражении DOS"овских BAT- и COM-файлов. Известно несколько вирусов, записывающих себя в начало EXE-файлов операционных систем DOS, Windows и даже Linux. При этом вирусы, чтобы сохранить работоспособность программы, либо лечат зараженный файл, повторно запускают его, ждут окончания его работы и снова записываются в его начало (иногда для этого используется временный файл, в который записывается обезвреженный файл), либо восстанавливают код программы в памяти компьютера и настраивают необходимые адреса в ее теле (т.е. дублируют работу ОС).

Внедрение вируса в конец файла

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

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

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

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

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

Внедрение вируса в середину файла

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

Вторым является метод "cavity", при котором вирус записывается в заведомо неиспользуемые области файла. Вирус может быть скопирован в незадействованные области таблицы настройки адресов DOS EXE-файла или заголовок NewEXE-файла, в область стека файла COMMAND.COM ("Lehigh") или в область текстовых сообщений популярных компиляторов ("NMSG"). Существуют вирусы, заражающие только те файлы, которые содержат блоки, заполненные каким-либо постоянным байтом, при этом вирус записывает свой код вместо такого блока.

Вирусы без точки входа

Отдельно следует отметить довольно незначительную группу вирусов, не имеющих "точки входа" (EPO-вирусы - Entry Point Obscuring viruses). К ним относятся вирусы, не записывающие команд передачи управления в заголовок COM-файлов (JMP) и не изменяющие адрес точки старта в заголовке EXE-файлов. Такие вирусы записывают команду перехода на свой код в какое-либо место в середину файла и получают управление не непосредственно при запуске зараженного файла, а при вызове процедуры, содержащей код передачи управления на тело вируса. Причем выполняться эта процедура может крайне редко (например, при выводе сообщения о какой-либо специфической ошибке). В результате вирус может долгие годы "спать" внутри файла и выскочить на свободу только при некоторых ограниченных условиях.

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

Первый способ - поиск в файле последовательности стандартного кода C/Pascal. Эти вирусы ищут в заражаемых файлах стандартные заголовки процедур C/Pascal и записывают вместо них свой код.

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

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

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

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

Наиболее распространены компаньон - вирусы, использующие особенность 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, RAR и прочие). К таким вирусам относятся "ArjVirus" и "Winstart". Некоторые вирусы записывают команду запуска зараженного файла в BAT-файлы.

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

Link-вирусы

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

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

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

OBJ-, LIB-вирусы и вирусы в исходных текстах

Вирусы, заражающие библиотеки компиляторов, объектные модули и исходные тексты программ, достаточно экзотичны и практически не распространены. Всего их около десятка. Вирусы, заражающие OBJ- и LIB-файлы, записывают в них свой код в формате объектного модуля или библиотеки. Зараженный файл, таким образом, не является выполняемым и неспособен на дальнейшее распространение вируса в своем текущем состоянии. Носителем же "живого" вируса становится COM- или EXE-файл, получаемый в процессе линковки зараженного OBJ/LIB-файла с другими объектными модулями и библиотеками. Таким образом, вирус распространяется в два этапа: на первом заражаются OBJ/LIB-файлы, на втором этапе (линковка) получается работоспособный вирус.

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

Алгоритм работы файлового вируса

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

Внедрение вируса в DOS COM- и EXE-файлы

Выполняемые двоичные файлы COM или EXE, различающиеся заголовком и способом запуска программ на выполнение. Расширение имени файла ("*.COM" или "*.EXE") не всегда соответствует действительному формату файла, что, правда, никак не влияет на работу программы. Файлы COM и EXE заражаются по-разному, следовательно, вирус должен отличать файлы одного формата от другого. Вирусы решают эту задачу двумя способами: одни анализируют расширение имени файла ("*.COM", "*.EXE"), другие - заголовок файла. Первый способ далее будет называться заражением *.COM- (или *.EXE-) файлов, второй - заражением COM- (или EXE-) файлов.

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

Один из наиболее часто встречающихся примеров некорректного заражения файла - COMMAND.COM от Windows95. Этот файл, по сути, является EXE-файлом, более того имеет размер более 90K, что невозможно для COM-файла. Поэтому вирусы, которые различают COM/EXE файлы по расширению имени и не проверяют длины заражаемых COM-файлов (например, "Junkie"), портят такой COMMAND.COM, и он становится неработоспособным.

Примитивная маскировка

При инфицировании файла вирус может производить ряд действий, маскирующих и ускоряющих его распространение. К подобным действиям можно отнести обработку атрибута read-only, снятие его перед заражением и восстановление после. Многие файловые вирусы считывают дату последней модификации файла и восстанавливают ее после заражения. Для маскировки своего распространения некоторые вирусы перехватывают прерывание ОС, возникающее при обращении к защищенному от записи диску (INT 24h), и самостоятельно обрабатывают его.

Скорость распространения

Говоря про файловые вирусы, необходимо отметить такую их черту, как скорость распространения. Чем быстрее распространяется вирус, тем вероятнее возникновение эпидемии этого вируса. Чем медленнее распространяется вирус, тем сложнее его обнаружить (если, конечно же, этот вирус пока неизвестен антивирусным программам). Понятия "быстрого" и "медленного" вируса (Fast infector, Slow infector) являются достаточно относительными и используются только как характеристика вируса при его описании.

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

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

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

Материалы и данные были взяты с ресурсов:
http://www.stopinfection.narod.ru
http://hackers100.narod.ru
http://broxer.narod.ru
http://www.viruslist.com
http://logic-bratsk.ru
http://www.offt.ru
http://www.almanet.info

  • Для комментирования войдите или зарегистрируйтесь

КОМПЬЮТЕРНЫЕ ВИРУСЫ


И спорченные и зараженные файлы
Классификация вирусов ПРОФИЛАКТИКА И БОРЬБА С КОМПЬЮТЕРНЫМИ ВИРУСАМИ

ВВЕДЕНИЕ

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

КОМПЬЮТЕРНЫЕ ВИРУСЫ

Что такое компьютерный вирус?

На сегодняшний день можно выделить несколько основных типов вредоносных программ:
- класический компьютерный вирус;
- "троян" или троянский конь (troj);
- червь (worm);
- шпион или spy, keyloger
- rootkick;
- bot или zombie.

В свое время наибольшую распостраненность имели именно класические вирусы - но их создатели редко задавались конкретной целью навредить конечному пользователю, а скорее создавались из позновательных целей. Нынешние же вирусописатели преследуют абсолютно четкие и понятные цели - деньги, и их "детища" стали куда опаснее своих предшественников. Итак позвольте представить самых опасных хищников сегодняшнего информационного пространства - это Трояны и Черви.
Троян или troj получил свое название благодаря сходству между методом заражения и знаменитым тактическим ходом при осаде Трои. Пример заражения трояном - вам приходит письмо от некой "знакомой" с текстом: - "Привет! Я только вернулась с моря - так клево отдохнула! Вот мои фотки - посмотри.", и вложенными фаилами с расширением ".JPG". Вот эти самые фаилы это и есть троянский конь в недрах которого спрятан вредоносный код. Наиболее часто встречающиеся источники заражения - электронная почта, сайты знакомств, сайты с музыкой, сайты с бесплатным ПО. Что делает "троян"? Как правило его задача открыть путь для остальных вирусов, выступить первым плацдармом. Как избежать заражения "трояном" ? Здесь все как в жизни - предохраняйтесь и избешайте случайных связей =). Это правило справедливо для любых вирусов и другого вредоносного ПО. Если вам прислали электронное письмо - прежде чем смотреть вложенные фаилы проверьте отправителя, сохраните вложение на компьютер и проверьте его антивирусом, и только после этого открывайте.

Червь или Worm - особенность этих программ в эволюции и автономности. Червь попадая на компьютер как правило атакует почтовые программы и интернет пейджеры. После получения доступа к почте или пейджеру он начинает рассылать письма/сообщения содержащие видоизмененную версию самого себя. После чего либо самоликвидируется, либо заражает запускаемые фаилы (EXE, COM, BAT). Поскольку вирус самоизменяется то до момента определения его в базе вашего антивируса он неуязвим. Вот почему сегодня лицензионный антивирус это насущная потребность любого владельца ПК.

Компьютерный вирус - это специально написанная небольшая по размерам програmmа, которая может "приписывать" себя к другим програmmам (т.е. "заражать" их), а также выполнять различные нежелательные действия на компьютере. Программа, внутри которой находится вирус, называется зараженной. Когда такая програmmа начинает работу, то сначала управление получает вирус. Вирус находит и "заражает" другие программы, а также выполняет какие-нибудь вредные действия (например, портит файлы или таблицу размещения файлов (FAT) на диске, "засоряет" оперативную память и т.д.). Для маскировки вируса действия по заражению других программ и нанесению вреда могут выполняться не всегда, а скажем, при выполнении определенных условий. После того как вирус выполнит нужные ему действия, он передает управление той програmmе, в которой он находится, и она работает как обычно. Тем самым внешне работа зараженной програmmы выглядит так же, как и незараженной.
Многие разновидности вирусов устроены так, что при запуске зараженной програmmы вирус остается в памяти компьютера и время от времени заражае тпрограmmы и выполняет нежелательные действия на компьютере.
Все действия вируса могут выполняться очень быстро и без выдачи каких либо сообщений, по этому пользователю очень трудно, практически невозможно, определить, что в компьютере происходит что-то необычное.
Пока на компьютере заражено относительно мало програmm, наличие вируса может быть практически незаметным. Однако по прошествии некоторого времени на компьютере начинает твориться что-то странное, например:
- некоторыепрограmmы перестают работать или начинают работать неправильно;
- на экран выводятся посторонние сообщения, символы и т.д.;
- работа на компьютере существенно замедляется;
- некоторые файлы оказываются испорченными и т.д.
К этому моменту, как правило, уже достаточно много (или даже большинство) техпрограmm, с которыми вы работаете, являются зараженными вирусом, а некоторые файлы и диски - испорченными. Более того, зараженныепрограmmы с Вашего компьютера могли быть уже перенесены с помощью дискет или локальной сети на компьютеры ваших коллег и друзей.
Некоторые вирусы ведут себя очень коварно. Они вначале незаметно заражают большое числопрограmm и дисков, а затем наносят очень серьезные повреждения, например, форматируют весь жесткий диск на компьютере, естественно после этого восстановить данные бывает просто невозможно. А бывают вирусы, которые ведут себя очень скрытно, и портят понемногу данные на жестком диске или сдвигают таблицу размещения файлов (FAT).
Таким образом, если не принимать мер по защите от вируса, то последствия заражения могут быть очень серьезными. Например, в начале 1989г. вирусом, написанным американским студентом Моррисом, были заражены и выведены из строя тысячи компьютеров, в том числе принадлежащих министерству обороны США. Автор вируса был приговорен судом к трем месяцам тюрьмы и штрафу в 270 тыс. дол. Наказание могло быть и более строгим, но суд учел, что вирус не портил данные, а только размножался.
Для того, чтобыпрограmmа-вирус была незаметной, она должна иметь небольшие размеры. По этому вирусы пишут обычно на низкоуровневых языках Ассемблер или низкоуровневыми командами языка СИ.
Вирусы пишутся опытнымипрограmmистами или студентами просто из любопытства или для отместки кому-либо или предприятию, которое обошлось с ними недостойным образом или в коммерческих целях или в целях направленного вредительства. Какие бы цели не преследовал автор, вирус может оказаться на вашем компьютере и постарается произвести те же вредные действия, что и у того, для кого он был создан.
Следует заметить, что написание вируса - не такая уж сложная задача, вполне доступная изучающему програmmирование студенту. Поэтому еженедельно в мире появляются все новые и новые вирусы. И многие из них сделаны в нашей стране.

Испорченные и зараженные файлы

Компьютерный вирус может испортить, т.е. изменить ненадлежащим образом, любой файл на имеющихся в компьютере дисках. Но некоторые виды файлов вирус может "заразить". Это означает, что вирус может "внедриться" в эти файлы, т.е. изменить их так, что они будут содержать вирус, который при некоторых обстоятельствах может начать свою работу.
Следует заметить, что тексты програmm и документов, информационные файлы баз данных, таблицы табличных процессоров и другие аналогичные файлы не могут быть заражены обычным вирусом, он может их только испортить. Заражение подобных файлов делается только Макро-вирусами. Эти вирусы могут заразить даже ваши документы.
Загрузчик операционной системы и главная загрузочная запись жесткого диска. Вирусы, поражающие эти области, называются загрузочными или BOOT-вирусами. Такой вирус начинает свою работу при начальной загрузке компьютера и становится резидентными, т.е. постоянно находится в памяти компьютера. Механизм распространения – заражение загрузочных записей вставляемых в компьютер дискет. Часто такие вирусы состоят из двух частей, поскольку загрузочная запись имеет небольшие размеры и в них трудно разместить целикомпрограmmу вируса. Часть вируса располагается в другом участке диска, например в конце корневого каталога диска или в кластере в области данных диска (обычно такой кластер объявляется дефектным, чтобы исключить затирание вируса при записи данных).
Драйверы устройств Файлы, указываемые в предложении DEVICE файла CONFIG.SYS. Вирус, находящийся в них начинает свою работу при каждом обращении к соответствующему устройству. Вирусы, заражающие драйверы устройств, очень мало распространены, поскольку драйверы редко переписывают с одного компьютера на другой. То же относится и к системным файлам DOS (MSDOS.SYS и IO.SYS) – их заражение также теоретически возможно, но для распространения вируса малоэффективно.

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

Классификация вирусов

Вирусы можно делить на классы по разным признакам. Вот, например, по признаку вероломности:

Вирусы, моментально поражающие компьютер, форматируют жесткий диск, портят таблицу размещения файлов, портят загрузочные сектора, стирают так называемое Flash-ПЗУ (где находится BIOS) компьютера (вирус "Чернобыль"), другими словами, как можно быстрее наносят непоправимый урон компьютеру. Сюда же можно отнести и результаты обид програmmистов, пишущих вирусы, на антивирусные програmmы. Имеются в виду так называемые аллергии на определенные антивирусныепрограmmы. Эти вирусы достаточно вероломны. Вот, например, аллергия на Dr.Weber при вызове этой программы, не долго думая, блокирует антивирус, портит все, что находится в директории с антивирусом и C:WINDOWS. В результате приходится переустанавливать операционную систему и затем бороться с вирусом другими средствами.
- вирусы, рассчитанные на продолжительную жизнь в компьютере. Они постепенно и осторожно заражают программу за программой, не афишируя, свое присутствие и производят подмену стартовых областей программ на ссылки к месту, где расположено тело вируса. Кроме этого они производят незаметное для пользователя изменение структуры диска, что даст о себе знать, только когда некоторые данные уже будут безнадежно утеряны (например, вирус "OneHalf-3544","Yankey-2C").
По признаку способов передачи и размножения тоже можно провести разделение.
Раньше вирусы в основном поражали только исполняемые файлы (с расширениями.com и.exe). Действительно, ведь вирус это программа и она должна выполняться.
Теперь вирусы отправляют электронной почтой как демонстрационные программки или как картинки, например, если по электронной почте пришел файл "PicturesForYou.jpg", не спешите его смотреть, тем более что он пришел неизвестно откуда. Если посмотреть на название повнимательнее, то окажется, что оно имеет еще 42 пробела и действительное расширение.exe. То есть реально полное имя файла будет таким:
"PicturesForYou.jpg .exe". Теперь любому понятно, что на самом деле несет в себе эта картинка. Это не файл рисунка, который при активизации вызывает просмотрщик рисунков, а наглый чуточку завуалированный вирус, который только и ждет когда его активизируют щелчком мыши или нажатием клавиши. Такой вирус вы сами загружаете себе на компьютер, под оболочкой какой-нибудь картинки, как "Троянского коня". Отсюда и жаргонное название таких вирусов как "Трояны".
На данный момент существуют такие оболочки информационных каналов как Internet Explorer, Outlook Express, Microsoft Office. Сейчас появились немногочисленные классы так называемых "Макро-вирусов". Они содержат скрытые команды для данных оболочек, которые нежелательны для рядового пользователя. И этот код уже не является кодом для компьютера, то есть это уже не программа, а текст программы, выполняемый оболочкой. Таким образом, он может быть записан в любом необходимом формате: .html, .htm - для Internet Explorer, .doc, .xls, .xlw, .txt, .prt, или любой другой - для Microsoft Office и т. д.. Такие вирусы наносят вред только определенного характера, ведь оболочка не имеет команд, к примеру, для форматирования жесткого диска. Но все же этот вид вирусов заслуживает внимания, ведь с помощью скрытых гиперссылок он способен самостоятельно загрузить из Интернета на ваш компьютер тело вируса, а некоторые вирусы способны обновляться и загружаться по частям через Интернет с определенных серверов. Вот, например, одним из японских студентов разработан именно такой вирус, который подключает небольшой "загрузчик" к любому формату входных данных из Интернета. Далее этот загрузчик самостоятельно скачивает из Интернета с сервера с IP-адресом Babilon5 тела вируса. Этих тел четыре. Каждая из них способна самостоятельно разрушать ваш компьютер, но имеет определенное назначение. Этот вирус по типу является гибридом между макро-вирусами и обычными вирусами. Но надо отметить, что именно гибриды являются наиболее живучими, хитрыми, опасными и многочисленными среди вирусов. Совсем недавно нашумел скандал о программисте, который, как утверждают эксперты, создал и начал распространение макро-вируса, заражавшего текстовые файлы для Microsoft Word. Его вычислили по дате и времени создания исходного документа, которое хранится в невидимых частях.doc файлов. Возможно, что файл был создан другим человеком до того, как к нему был приделан вирус, тогда вопрос о злоумышленнике остается открытым. Но эксперты утверждают, что это именно он.
Например, вирус Win32.HLLM.Klez. один из разновидностей опасного сетевого червя распространяется путем рассылки своих копий по электронной почте. Кроме того, этот червь может распространяться по локальной сети, заражая компьютеры, диски которых являются разделяемыми сетевыми ресурсами, доступными для записи. Попадая в систему, червь рассылает себя по адресам, найденным в адресной книге Windows, в базе данных ICQ и в локальных файлах. Зараженные письма, рассылаемые данным червем, используют одну из сравнительно давно известных ошибок в системе безопасности Internet Explorer, которая позволяет вложенному в письмо программному файлу (с вирусом) автоматически запуститься при простом просмотре почты в программах Outlook и Outlook Express.
Попробуем рассмотреть способы маскировок и защит, применяемых вирусами против нас рядовых пользователей и антивирусных программ.
Вероломность- это основной и самый быстрый способ сделать пакость до обнаружения. Вирус "Чернобыль", например, полностью стирает BIOS (стартовую программу, расположенную в микросхеме ПЗУ, обеспечивающую работу компьютера). После такого компьютер вообще ничего не сможет выдать на экран. Но его работа легко блокируется, если внутри компьютера установлен переключатель, запрещающий писать в область ПЗУ. По этому это был первый, но и, как я думаю, последний представитель аппаратных вирусов.
Регенеративные вирусы делят свое тело на несколько частей и сохраняют их в разных местах жесткого диска. Соответственно эти части способна самостоятельно находить друг друга и собираться для регенерации тела вируса. Программа - антивирус обнаруживает и убивает лишь тело вируса, а части этого тела не заложены в антивирусной базе, так как являются измененными. От таких вирусов помогает целенаправленное низкоуровневое форматирование жесткого диска. Предварительно необходимо принять осторожные меры по сохранению информации.
Хитрые вирусы прячутся не только от нас, но и от антивирусных программ. Эти "хамелеоны" изменяют сами себя с помощью самых хитрых и запутанных операций, применяя и текущие данные (время создания файла) и используя чуть ли не половину всего набора команд процессора. В определенный момент они, конечно же, по хитрому алгоритму превращаются в подлый вирус и начинают заниматься нашим компьютером. Это самый трудно обнаруживаемый тип вирусов, но некоторые антивирусные программы, такие как "Dr.Weber", способны с помощью так называемого эвристического анализа обнаруживать и обезвреживать и подобные вирусы.
"Невидимые" вирусы чтобы предотвратить свое обнаружение применяют так называемый метод "Stelth". Он заключается в том, что вирус, находящийся в памяти резидентно, перехватывает обращения DOS (и тем самым прикладных программ) к зараженным файлам и областям диска и выдает их в исходном (незараженном) виде. Разумеется этот эффект наблюдается только на зараженном компьютере - на "чистом" компьютере изменения в файлах и загрузочных областях диска можно легко обнаружить. Но некоторые антивирусные программы могут обнаруживать вирусы - "невидимки" даже на зараженных компьютерах.
Сетевой червь «Randon» появился в марте 2003 года. Распространятся по IRC-каналам и ресурсам локальных сетей и заражает компьютеры под управлением операционных систем Windows2000 и Windows XP. Для проникновения на компьютер он подключается к локальной сети или IRC-серверу, сканирует находящийся на нем пользователей, устанавливает с ними соединение по порту 445 и пытается подобрать пароль из встроенного списка наиболее часто используемых фраз. В случае успешного взлома системы «Random» пересылает на нее троянскую программу «Apher», которая, в свою очередь, загружает с удаленного Web-сайта остальные компоненты червя. После этого «Randon» устанавливает свои компоненты в системном каталоге Windows, регистрирует свой основной файл. Для сокрытия присутствия в памяти использует специальную утилиту «HideWindows», которая также является компонентом червя. Благодаря ей он оказывается невидимым для пользователя, так что активный процесс «Randon» можно обнаруживать только в диспетчере задач Windows. Его побочные эффекты – создание на зараженной машине большого объема избыточного трафика и переполнение IRC-каналов.
По данным «Лаборатории Касперского», одним из ведущих разработчиков антивирусных программ, представляет обзор вирусной активности за март 2003г.(табл.2 и рис.1)

Двадцатка наиболее распространенных вредоносных программ

Табл. 2
Название Доля в общем числе вирусных инцидентов (%)
1. I-Worm.Klez 37,60%
2. I-Worm.Sobig 10,75%
3. I-Worm.Lentin 9,03%
4. I-Worm.Avron 3,30%
5. Macro.Word97.Thus 2,62%
6. I-Worm.Tanatos 1,38%
7. Macro. Word97.Marker 1,21%
8. Worm.Win32.Opasoft 1,13%
9. I-Worm.Hybris 1,04%
10. Win95.CIH 0,69%
11. Worm.Win32.Randon 0,58%
12. VBS.Redlof 0,57%
13. Backdoor.Death 0,51%
14. Win95.Spaces 0,51%
15. I-Worm.Roron 0,49%
16.Trojan.PSW.Gip 0,49%
17. Backdoor.NetDevil 0,48%
18. Win32.HLLP.Hantaner 0,45%
19. TrojanDropper.Win32.Delf 0,42%
20. TrojanDropper.Win32.Yabinder 0,41%
Другие вредоносные программы* 26,33%

*не вошедшие в 20 наиболее распространенных

ПРОФИЛАКТИКА И БОРЬБА С КОМПЬЮТЕРНЫМИ ВИРУСАМИ

Основные методы защиты от компьютерных вирусов

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

Программы – детекторы и доктора

В большинстве случаев для обнаружения вируса, заразившего компьютер, можно найти уже разработанные программы-детекторы. Эти программы проверяют, имеется ли в файлах на указанном пользователем диске специфическая для данного вируса комбинация байтов. При ее обнаружении в каком-либо файле на экран выводится соответствующее сообщение. Многие детекторы имеют режим лечения вирусов или удаления вирусов.
Следует отметить, программа - детектор может обнаруживать только те вирусы, которые ей известны (т.е. занесены в антивирусную базу данных этой программы).
Одной из таких программ является KIS Касперского.
Все в ней отличается удобным и понятным интерфейсом. Программа выполнена для операционной системы Windows XP и Windows Vista, что позволяет ей работать параллельно с другими приложениями. «Лаборатория Касперского» является российским лидером в области разработки систем антивирусной безопасности.
Также существует AVAST.
Это проверенные в работе защитники вашего компьютера - лечение большинства вирусов и удаление вирусов в случае их критической угрозы или неизлечимости.
Большинство программ - детекторов имеют также и функцию "доктора", т.е. они пытаются вернуть зараженные файлы и области диска в их исходное состояние - лечить вирусы. Те файлы, которые не удалось лечить, как правило, делаются неработоспособными или удаляются.

Профилактика против заражения вирусом

Рассмотрим некоторые меры, которые позволяют уменьшить вероятность заражения компьютера вирусом, а также свести к минимуму ущерб от заражения вирусом, если оно все-таки произойдет.
1. Неплохо бы иметь и при необходимости обновлять архивные и эталонные копии используемых пакетов программ и данных. Перед архивацией данных целесообразно проверить их на наличие вируса.
2. Целесообразно так же скопировать на дискеты служебную информацию вашего диска (FAT, загрузочные сектора) и CMOS (энергонезависимая память компьютера). Копирование и восстановление подобной информации можно выполнить с помощью программы Rescue программного комплекса Norton Utilities.
3. Следует устанавливать защиту от записи на архивных дискетах.
4. Не следует заниматься нелицензионным и нелегальным копированием программного обеспечения с других компьютеров. На них может быть вирус.
5. Все данные, поступающие извне, стоит проверять на вирусы, особенно файлы, "скачанные" из Интернета.
6. Надо заблаговременно подготовить восстанавливающий пакет на дискетах с защитой от записи.
7. На время обычной работы, не связанной с восстановлением компьютера, стоит отключить загрузку с дискеты. Это предотвратит заражение загрузочным вирусом.
8. Используйте программы - фильтры для раннего обнаружения вирусов.
9. Периодически проверяйте диск программами -детекторами или докторами - детекторами или ревизорами для обнаружения возможных провалов в обороне.
10. Обновляйте базу антивирусных программ.
11. Не допускайте к компьютеру сомнительных пользователей.

ЗАКЛЮЧЕНИЕ

В заключение хотелось бы предостеречь от слишком рьяной борьбы с компьютерными вирусами. Ежедневный запуск полного сканирования жесткого диска на наличие вирусов так же не блестящий шаг в профилактике заражений. Единственный цивилизованный способ защиты от вирусов я вижу в соблюдении профилактических мер предосторожности при работе на компьютере. А так же нужно прибегать к помощи специалистов для борьбы с компьютерным вирусом. Кроме того, даже если вирус все-таки проник на компьютер, это не повод для паники.
Нередко главной бедой Интернета являются не вирусы и хакеры, а такое распространенное явление, как компьютерная безграмотность. Пользуясь аналогией Касперского, незнание правил дорожного движения. Люди, недавно научившиеся принимать и отправлять почту, демонизируют компьютерные вирусы, чуть ли не представляя их себе в виде невидимых черных червячков, ползающих по проводам. Вот несколько простых правил, соблюдая которые можно постараться избежать заражение вирусами. Первое: не боятся компьютерных вирусов, все они лечатся. Второе: перевести Microsoft Outlook в режим функционирования в зоне ограниченных узлов, что запретит ей автоматическое выполнение некоторых программ – основной принцип размножения компьютерных вирусов. Третье: не открывайте письма от подозрительных адресатов. Четвертое: использовать свежий, и что еще важнее, ЛИЦЕНЗИОННЫЙ антивирус.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то