Сайт і його автор не підтримує створення шкідливих програм! Група боретсья з їх подальшим розвитком.

Категорії каталогу

Форма входу

Вітаю Вас Гість!

Пошук

Наше опитування

На якій мові програмуєте?
Всього відповідей: 33

Статистика


Онлайн всього: 1
Гостей: 1
Користувачів: 0
Fr, 22.11.2024, 08:37
VX[Korn2025's]

Каталог статей


Головна » Статті » Загальні Статті

[RUS]Firewind - Virii

 

Классы Вирусов

Вирусы можно разделить на классы по следующим признакам:
по среде обитания вируса;
по способу заражения среды обитания;
по деструктивным возможностям;
по особенностям алгоритма вируса.

По СРЕДЕ ОБИТАНИЯ вирусы можно разделить на сетевые, файловые и загрузочные.
Сетевые вирусы распространяются по компьютерной сети, файловые внедряются в выполняемые файлы, загрузочные - в загрузочный сектор диска (boot-сектор) или в сектор, содержащий системный загрузчик винчестера (Master Boot Record). Существуют сочетания -например, файлово-загрузочные вирусы, заражающие как файлы, так и загрузочные сектора дисков. Такие вирусы, как правило, имеют довольно сложный алгоритм работы, часто применяют оригинальные методы проникновения в систему, используют стелс и полиморфик-технологии.


СПОСОБЫ ЗАРАЖЕНИЯ делятся на резидентный и нерезидентный. Резидентный вирус при инфицировании компьютера оставляет в оперативной памяти свою резидентную часть, котораязатем перехватывает обращение операционной системы к объектам заражения и внедряется в них. Резидентные вирусынаходятся в памяти и являются активными вплоть до выключения или перезагрузки компьютера. Нерезидентные вирусы не заражают память компьютера и являются активными ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными.


По ДЕСТРУКТИВНЫМ ВОЗМОЖНОСТЯМ вирусы можноразделить на:
- безвредные, т.е. никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения);
- неопасные, влияние которых ограничивается уменьшением свободной памяти на диске и графическими, звуковыми и пр. эффектами;
- опасные вирусы, которые могут привести к серьезным сбоям в работе компьютера;
- очень опасные, которые могут привести к потере программ, уничтожить данные, стереть необходимую для работы компьютера информацию, записанную в системных областях памяти, и, как гласит одна из компьютерных легенд, способствовать быстрому износу движущихся частей механизмов - вводить в резонанс и разрушать головки винчестера.
Но даже если в алгоритме вируса не найдено ветвей, наносящих ущерб системе, этот вирус нельзя с полной уверенностью назвать безвредным, так как проникновение его в компьютер может вызвать непредсказуемые и порой катастрофические последствия. Ведь вирус, как и всякая программа, имеет ошибки, в результате которых могут быть испорчены как файлы, так и сектора дисков (например, вполне безобидный на первый взгляд вирус "DenZuk" довольно корректно работает с 360K дискетами, но может уничтожить информацию на дискетах большего объема). Возможно также "заклинивание" резидентного вируса и системы при использовании новых версий DOS, при работе в MS-Windows или с другими мощными программными системами. И так далее.


По ОСОБЕННОСТЯМ АЛГОРИТМА можно выделить следующие группы вирусов:
- компаньон-вирусы (companion) - это вирусы, не изменяющие файлы. Алгоритм работы этих вирусов состоит в том, что они создают для EXE-файловфайлы-спутники, имеющие то же самое имя, но с расширением .COM, например,для файла XCOPY.EXE создается файл XCOPY.COM. Вирус записывается в COM-файли никак не изменяет EXE-файл. При запуске такого файла DOS первым обнаружит и выполнит COM-файл, т.е. вирус, который затем запустит и EXE-файл.
- вирусы-"черви" (worm) - вирусы, которые распространяются в компьютерной сети и, так же как и компаньон-вирусы, не изменяют файлы или сектора на дисках. Они проникают в память компьютера из компьютерной сети, вычисляют сетевые адреса других компьютеров и рассылают по этим адресам свои копии. Такие вирусы иногда создают рабочие файлы на дисках системы, но могут вообще не обращаться к ресурсам компьютера (за исключением оперативной памяти). К счастью, в вычислительных сетях IBM-компьютеров такие вирусы пока незавелись.
- "паразитические" - все вирусы, которые при распространении своих копий обязательно изменяют содержимое дисковых секторов или файлов. В эту группу относятся все вирусы, которые не являются "червями" или "компаньон".
- "студенческие" - крайне примитивные вирусы, часто нерезидентные и содержащие большое число ошибок;
- "стелс"-вирусы (вирусы-невидимки, stealth), представляющие собой весьма совершенные программы, которые перехватывают обращения DOS к пораженным файлам или секторам дисков и "подставляют" вместо себя незараженные участки информации. Кроме этого такие вирусы при обращении к файлам используют достаточно оригинальные алгоритмы, позволяющие "обманывать" резидентные антивирусные мониторы. Один из первых "стелс"-вирусов - вирус "Frodo" ;
- "полиморфик"-вирусы (polymorphic) - достаточно трудно обнаруживаемые вирусы, не имеющие сигнатур, т.е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика. Некоторые вирусы (например, вирусы семейства "Eddie", "Murphy") используют часть функций полноценного стелс-вируса. Чаще всего они перехватывают функции DOS FindFirst и FindNext (INT 21h, ah=11h, 12h, 4Eh, 4Fh) и "уменьшают" размер зараженных файлов. Такой вирус невозможно определить поизменению размеров файлов, если, конечно, он резидентно находится в памяти. Программы, которые не используют указанные функции DOS (например,"Нортоновские утилиты"), а напрямую используют содержимое секторов, хранящих каталог, показывают правильную длину зараженных файлов.
При инфицировании файла вирус может производить ряд действий, маскирующих и ускоряющих его распространение. К подобным действиям можно отнести обработку атрибута read-only, снятие его перед заражением и восстановление после. Многие файловые вирусы считывают дату последней модификации файла и восстанавливают ее после заражения. Для маскировки своего распространения некоторые вирусы перехватывают прерывание DOS, возникающее при обращении к защищенному от записи диску (INT 24h), и самостоятельно обрабатывают его. По этому к особенностям алгоритма файлового вируса можно отнести и наличиеили отсутствие обработки:
- атрибута read-only;
- времени последней модификации файла;
- прерывания 24h.
К особенностям алгоритма вируса можно отнести и скорость его распространения. Скорость распространения файловых вирусов, заражающих файлы только при их запуске на выполнение, будет ниже, чем у вирусов, заражающихфайлы и при их открытии, переименовании, изменении атрибутов файла и т.д. Некоторые вирусы ("Eddie", "Murphy") при создании своей копии в оперативной памяти компьютера пытаются занять область памяти с самыми старшими адресами, разрушая временную часть командного интерпретатора COMMAND.COM. По окончанииработы зараженной программы временная часть интерпретатора восстанавливается, при этом происходит открытие файла COMMAND.COM и, если вирус заражает файлы при их открытии, его заражение. Таким образом, при запуске подобного вируса первым будет заражен файл COMMAND.COM.

Внедрение вируса в загрузочный сектор

Загрузочные вирусы заражают загрузочный (Boot) сектор флоппи-диска и Boot-сектор или Master Boot Record (MBR) винчестера. При инфицировании диска вирус в большинстве случаев переносит оригинальный Boot-сектор (или MBR) в какой-либо другой сектор диска (например, в первый свободный). Если длина вируса больше длины сектора, то в заражаемый сектор помещается первая часть вируса, остальные части размещаются в других секторах (например, в первых свободных). Затем вирус копирует системную информацию, хранящуюся в первоначальном загрузчике в свои коды и записывает их в загрузочный сектор (для MBR этой информацией является Disk Partition Table, для Boot-сектора дискет - BIOS Parameter Block).
Существует несколько способов размещения на диске первоначальногозагрузочного сектора и продолжения вируса: в сектора свободных кластеровлогического диска, в неиспользуемые или редко используемые системныесектора, в сектора, расположенные за пределами диска.
Если продолжение вируса размещается в секторах, которые принадлежатсвободным кластерам диска (при поиске этих секторов вирусу приходитсяанализировать таблицу размещения файлов - FAT), то, как правило, вируспомечает в FAT эти кластеры как сбойные (так называемые псевдосбойныекластеры). Этот способ используется вирусами "Brain", "Ping-Pong" и вдальнейшем будет именоваться как СПОСОБ "BRAIN".
Вирусы семейства "Stoned" используют другой метод - они размещают старыйзагрузочный сектор в неиспользуемом или редко используемом секторе. Навинчестере этот сектор является одним из секторов (если такие есть),расположенных между MBR и первым Boot-сектором, а на дискете этот секторвыбирается из последних секторов корневого каталога. В дальнейшем этот методбудет называться СПОСОБ "STONED".
Реже используется метод сохранения продолжения вируса за пределами диска,этот метод пока встречался только при заражении вирусом флоппи-дисков. Дляэтого вирусу приходиться форматировать на диске дополнительный трек (методнестандартного форматирования), например, 40-й трек на 360K дискете.
Конечно, существуют и другие методы размещения вируса на диске, например,вирусы семейства "Azusa" содержат в своем теле стандартный загрузчик MBR ипри заражении записываются поверх оригинального MBR без его сохранения.

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

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

Резидентные вирусы

DOS предусматривает единственный способ создания резидентных (TSR) модулей (помимо драйверов, указываемых в CONFIG.SYS) - при помощи функции KEEP (INT21h, AH=31h или INT 27h). Многие файловые вирусы для маскировки своего распространения используют другой способ - обрабатывая системные области, управляющие распределением памяти (MCB), выделяют для себя свободный участок памяти, помечают его как занятый и переписывают туда свою копию. Некоторые вирусы внедряют свои TSR-копии в свободные участки памяти в таблице векторов прерываний, в рабочие области DOS, в память, отведенную подсистемные буферы, в блоки памяти UMB, EMS и XMS.
Известны два способа проверки резидентным вирусом наличия своей копии впамяти компьютера. Первый заключается в том, что вирус вводит новую функцию некоторого прерывания, действие которой заключается в возврате значения "яздесь". При старте вирус обращается к ней, и, если возвращенное значение совпадает со значением "я здесь", то память компьютера уже заражена и повторное заражение не производится. При проверке вторым способом вирус просто сканирует память компьютера. Оба способа могут в той или иной мере сочетаться друг с другом. При инфицировании оперативной памяти вирус ищет свободное место в памяти и записывает туда свою копию. Затем вирус переопределяет одно или несколько прерываний, необходимых ему для поиска заражаемых файлов, для выполнения деструктивных действий или звуковых и видеоэффектов.
При инфицировании файлов нерезидентные и некоторые резидентные вирусы ищутна диске (дисках) эти файлы при помощи функций DOS FindFirst и FindNext (INT21h, AH=11h,12h,4Eh,4Fh). Резидентные вирусы используют более широкий списокфункций DOS, при обращении к которым происходит заражение файла. Фактически в этом списке присутствуют все функции, по значениям входных или выходных параметров которых можно определить имя файла, к которому идет обращение (ктаким параметрам относятся значения соответствующих регистров или областейпамяти). В результате к "вирусоопасным" функциям прерывания 21h относятсяфункции выполнения (EXEC, AX=4B00), загрузки в память (AH=4Bh), поиска (FindFirst и FindNext, AH=11h,12h,4Eh,4Fh) создания (Create, AH=3Ch), открытия (Open, AH=3Dh), закрытия (Close, AH=3Eh), изменения атрибутов (ChMode, AH=43h), переименования (Rename, AH=56h), и некоторые другиефункции работы с файлами.

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

Вирус может внедриться в файлы трех типов:
- командные файлы (BAT),
- загружаемые драйверы (SYS) в том числе IO.SYS и MSDOS.SYS,
- выполняемыедвоичные файлы (EXE, COM) включая новые типы EXE-файлов (NEW EXE) и NLM-файлы,
- выполняемые в операционных системах типа MS-Windows, - OS/2,Novell Netware и т.д.
Возможно внедрение вируса в файлы данных, но эти случаи возникают либо врезультате ошибки вируса, либо при проявлении вирусом своих агрессивных свойств. Конечно, возможно существование вирусов, заражающих файлы,которые содержат исходные тексты программ, библиотечные или объектные модули, но подобные способы распространения вируса слишком экзотичны и по этому в дальнейшем не рассматриваются.
На сегодняшний день известны всего несколько видов BAT-вируса. Они не представляют интереса, так как достаточно примитивны и очень просто обнаруживаются а после чего удаляются.

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

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

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

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

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

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

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

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

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

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

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

Компаньоны

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

Стелс

"Стелс"-вирусы (вирусы-невидимки) представляют собой программы, которые перехватывают обращения DOS к пораженным файлам или секторам дисков и "подставляют" вместо себя не зараженные участки информации. Кроме этого такие вирусы при обращении к файлам используют достаточно оригинальные алгоритмы, позволяющие "обманывать" резидентные антивирусные мониторы. К"стелс"-вирусам относятся вирусы "Frodo", "Fish#6", "Brain" и некоторыедругие.

Полиморфные

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

1
 
Категорія: Загальні Статті | Додав: vx (14.01.2009)
Переглядів: 998 | Коментарі: 3 | Рейтинг: 0.0/0 |
Всього коментарів: 0
Додавати коментарі можуть лише зареєстровані користувачі.
[ Реєстрація | Вхід ]

Copyright MyCorp © 2024 | Хостинг від uCoz