Купить
 
 
Жанр: Учеба

Компьютерная вирусология ч. 1

страница №10

нность (отсутствие
сетей, слабое развитие и низкое качество телефонной связи) подход.

3.1. Принцип построения классификации

По мнению автора, основным требованием к приемлемой для всех
классификации является ее объективность, т.е. классификация должна
основываться на фиксированном наборе непротиворечиво измеряемых
или наблюдаемых признаков. В идеальном случае эти признаки должны
быть выбраны так, чтобы, скажем, два разработчика антивирусных
средств, независимо работающих в Киеве и Москве, использовали одно
и то же название для одинаковых вирусов и разные названия для разных
вирусов. Это обеспечивало бы быстрое выявление новых штаммов
вирусов и новых, еще не исследованных, разновидностей. Очевидно,
что объективная классификация существенно облегчает систематизацию,
распространение и накопление знаний, а также выбор программных
средств для борьбы с тем или иным вирусом.
Однако важно не только наличие классификации как таковой, а и
принятие ее в качестве стандартной. Уже сейчас отсутствие стандартной
классификации приводит к ряду нежелательных эффектов. Во-первых,
у разработчиков наблюдается тенденция по-своему называть обнаруженный
или сравнительно малораспространенный вирус, а в дальнейшем
продолжать использовать собственное название (см., например,
документацию к полифагу Aidstest Д.Н.Лозинского). В результате
получается, что каждый разработчик антивирусных средств использует
в определенной степени свою уникальную классификацию. Поэтому
для пользователей, столкнувшихся с вирусом, необнаруживаемым тем
или иным детектором или полифагом, часто неясно, относится ли он к
какой-то разновидности (один основной тип вируса обычно представлен
рядом штаммов со сходными, но не идентичными свойствами) уже
известного вируса, что дает возможность в значительной степени
предсказать его свойства, или это совершенно новый, еще не исследованный,
вирус. Во-вторых, у самих пользователей наблюдается тенденция
аппроксимировать общее количество вирусов общим количеством
названий, используемых в имеющемся у них наборе средств защиты и
прежде всего программ-фагов (т.е. программ, "выкусывающих" тело
вируса из зараженной программы, там самым восстанавливая ее в работоспособном
и близком к первоначальному состоянии). Такая аппроксимация
приводит к существенной переоценке общего количества
имеющихся компьютерных вирусов, однако человек быстро "рационализирует"
этот факт путем разбиения одного реального вируса на несколько
"виртуальных", приписывая каждому свой набор признаков.
Так, автору приходилось сталкиваться с "самодельной" классификацией,
в которую вирусы С-648 и RСЕ-1813 входили в двух "ипостасях"
каждый, причем второй ипостаси вируса С-648 приписывались черты
вируса RСЕ-1813 (замедление работы компьютера).
В процессе чтения лекций и проведения семинаров по данной проблеме
автором была выработана схема классификации, включающая три
основных элемента: код вируса (несколько напоминающий схему классификации
транзисторов); дескриптор вируса (формализованный список
основных свойств); сигнатуру вируса (строка для контекстного поиска
данного вируса в зараженной программе).
Классификационный код вируса. В предлагаемой схеме каждому вирусу
присваивается код, состоящий из буквенного префикса,
количественной характеристики и факультативного буквенного суффикса.
Например, в коде RCE-1813c RСЕ є префикс, 1813 є корень (характеристика),
а c є суффикс.
Главным требованием к классификационному коду вируса является
возможность определения большинства входящих в него свойств на незараженном
компьютере. Выполнение каких-либо действий по исследованию
вируса на зараженном компьютере является наиболее распространенной
и одновременно наиболее грубой ошибкой, которую допускают
неопытные пользователи. Следует подчеркнуть, что любые действия на
компьютере, зараженном неизвестным вирусом, сопряжены с определенным
риском вызвать срабатывание троянской компоненты вируса. Кроме
того, резидентный вирус с целью маскировки может перехватывать запросы
и искажать выдаваемую информацию. В настоящий момент известен
ряд вирусов, обладающих указанным свойством. Например, группа
файловых вирусов, известная под названием TP-вирусов, начиная с
вируса TP-34 (члены этой группы имеют номера, хранящиеся в предпоследнем
байте вируса в 16-ричном виде) обладает интересным свойством:
при попытке трассировать зараженную программу резидентный
вирус выполняет "выкусывание" вируса из программы, "подсовывая"
отладчику уже излеченную программу. Аналогично бутовые вирусы,
входящие в группу пакистанских (Brain, Ashar), при попытке просмотреть
бутсектор на зараженном компьютере "подсовывают" пользователю
оригинальный бутсектор, сохраненный вирусом в одном из секторов,
помеченных как дефектный (и, тем самым, исключенным из распределения
под файлы).

Префикс характеризует место расположения головы вируса и состоит
из букв и цифр, начинаясь с прописной буквы. В соответствии с этим
будем различать следующие типы вирусов (будем рассматривать только
реально существующие типы, а не все принципиально возможные):
1) файловые (голова вируса располагается в COM-, EXE-файлах и
оверлеях є символы С, Е в префиксе. При этом дополнительную букву,
отражающую заражение оверлеев в префикс вводить не будем, чтобы
избежать его переусложнения, а вынесем в дескриптор);
2) бутовые (голова вируса располагается в бутсекторе или блоке
MBR є символы B,D или M в префиксе);
3) пакетные (голова вируса расположена в пакетном файле, т.е.
представляет собой строку или программу на языке управления заданиями
операционной системы є префикс J). Отметим, что наряду с чистыми
вирусами, использующими одну среду, в настоящее время появились
гибридные є сочетающие свойства файловых и бутовых вирусов.
Характеристика вируса представляет собой количественно измеряемое
свойство вируса, допускающее простое определение и отличающееся
для большинства типов вирусов. Например, для файловых вирусов в
качестве характеристики может использоваться величина приращения
длины файлов при заражении, хотя здесь имеются определенные трудности.

Суффикс используется, когда два разных вируса или два штамма одного
и того же вируса имеют одинаковый префикс и характеристику. В
этом случае для того, чтобы получить уникальные коды, будем использовать
в качестве суффикса латинскую букву. Например, в коде
RС-1704f буква f означает "штамм-f".
Дескриптор вируса. Конечно, предложенный код вируса не охватывает,
да и не может охватывать основные свойства вируса. В то же
время систематизация свойств вирусов представляет значительный интерес
как для разработчиков антивирусных программ, так и их пользователей,
поскольку позволяет интегрировать разнородные факты,
относящиеся к поведению того или иного вируса в систему, тем самым
облегчая их запоминание и сопоставление. Поэтому автором в качестве
второго элемента классификации предлагается так называемый
дескриптор.
Дескриптор представляет собой систематизацию основных характеристик
вируса в закодированном виде. Кодировка состоит из групп символов,
начинающихся с заглавной латинской буквы, за которой следуют
строчные латинские буквы или цифры. При этом заглавная латинская
буква определяет вид характеристики, а следующие за ней маленькие
буквы или цифры є значение характеристики для конкретного
вируса. Например, в дескрипторе "Хаb Yc Zdmt" имеются три свойства:
Х є со значением "аb", Y є со значением "c", и Z є со значением
"dmt".
Сигнатура вируса. Поскольку подавляющее большинство известных в
настоящее время вирусов допускают детектирование с помощью контекстного
поиска, одной из важных задач классификации является составление
списка строк для контекстного поиска (сигнатур). Знание
сигнатур позволяет проверять поступающее программное обеспечение
на их наличие, тем самым существенно повышая степень защищенности
ЭВМ. Стандартизация сигнатур особенно важна, когда вирус имеет
много штаммов, поскольку формальные схемы, подобные описанным выше
классификационному коду и дескриптору, обладают тем недостатком,
что некоторые штаммы будут неразличимы в заданном пространстве
признаков. В то же время сравнительно легко обеспечить уникальность
сигнатуры, по крайней мере вирусов, известных в СССР, хотя
возможно создание вируса не имеющего ни одной сигнатуры, т.е. который
нельзя найти с помощью контекстного поиска.
Хотя в дальнейшем в качестве сигнатур используются только текстовые
строки, для них применимы и регулярные выражения. Последние
существенно устойчивее к некоторым мутациям и, кроме того, при
меньшей длине обеспечивают лучшее качество распознавания (меньшее
количество ложных срабатываний). Все это делает их предпочтительнее
простых текстовых строк. Версию приводимых ниже таблиц с сигнатурами
из регулярных выражений автор надеется опубликовать несколько
позднее.
Очевидно, что сигнатура, соответствующая участку, содержащему
команды, надежнее сигнатуры участка, содержащего данные, например,
текстовые строки (последние могут быть модифицированы). Поэтому
выбор сигнатуры целесообразно выполнять на основе анализа дизассемблированного
кода вируса. Длина сигнатуры не должна быть слишком
большой, поскольку длинную сигнатуру труднее правильно набить
вручную. В то же время при недостаточной длине или выборе нехарактерных
участков кода сигнатура будет вызывать много ложных срабатываний,
что весьма нежелательно. Правильная сигнатура не должна
содержаться ни в одной из наиболее распространенных в MS DOS системных
программ, включая, конечно, сами компоненты MS DOS. Таким
образом, для выбора отвечающей указанным требованиям сигнатуры необходим
ряд экспериментов, а сами сигнатуры могут являться предметом
сравнения и анализа.

В настоящее время имеется ряд программ, обеспечивающих детектирование
вирусов путем поиска в файлах соответствующих строк и используемые
в них сигнатуры естественно "принять за основу". Наибольшую
ценность представляют строки, используемые в известном зарубежном
детекторе SCAN фирмы McAfee Associates (США), поскольку
новые версии этого детектора появляются регулярно и охватывают
практически все вирусы, появляющиеся за рубежом. Из других зарубежных
детекторов следует отметить VIRSCAN фирмы IBM и TNTVIRUS
фирмы CARMEL (Израиль). Для определенности назовем строку, используемую
SCAN, М-сигнатурой, строку, используемую VIRSCAN, є I-сигнатурой,
а строку, используемую TNTVIRUS, є С-сигнатурой. В то же
время необходимо отметить, что сигнатуры для ряда вирусов, распространяющихся
в нашей стране, таких как RCE-1600 (Voronez є Воронеж),
C-1024 (Bebe є Бебе) и др. в существующих версиях этих программ
отсутствуют, а сигнатуры для болгарских вирусов часто неудачны.
В таких случаях в статье используются выбранные автором
сигнатуры, которые обозначены буквой B (B-сигнатуры) или так называемые
J-сигнатуры. Последние представляют собой начальные байты
кода вируса (т.е. первые исполняемые команды тела вируса). Опыт
показывает, что они достаточно специфичны и в большинстве случаев
позволяют отличать один вирус от другого. При этом для файловых
вирусов, дописывающих свое тело в конец файла, будем считать, что
J-сигнатура начинается с байта, на который передает управление команда
JMP. Кроме того, в теле некоторых вирусов встречаются характерные
текстовые строки. Такие строки будем называть T-сигнатурами
и использовать как вспомогательные.
Следует отметить, что контекстный поиск может использоваться не
только для поиска зараженных вирусом программ, но и для поиска
программ и файлов, уничтоженных или поврежденных вирусом. Например,
вирус С-648 при определенных значениях таймера вместо заражения
программы уничтожает ее, записывая в первые 5 байтов строку,
соответствующую переходу на подпрограмму перезагрузки BIOS. Для
поиска уничтоженных вирусом программ можно использовать строку
"EAF0FF00F0". Аналогично вирус RCE-1800 уничтожает сектора на винчестере,
записывая в первые байты сообщение "Eddie livesЄ
somewhere in time". По этому сообщению с помощью Norton Utilities
или PC Tools можно выявить все пораженные сектора и определить, к
каким файлам они относятся.
При наличии сигнатуры проверку зараженности файлов вирусом данного
типа удобно выполнять, используя специальные программы, из
которых, по мнению автора, наиболее удачной является программа VL
(см. прил.5), позволяющая проводить поиск в каталоге или заданных
его ветвях. В случае обнаружения зараженных программ целесообразно
дополнительно проконтролировать результаты с помощью Norton
Utilities (NU) или PCTools, которые всегда под рукой (для просмотра
всех файлов можно использовать режим глобального поиска по диску).


3.2. Классификация файловых вирусов

Файловые вирусы являются наиболее распространенным типом компьютерных
вирусов; они составляют примерно 80% от общего числа компьютерных
вирусов, известных для компьютеров, совместимых с IBM PC.
Этот класс компьютерных вирусов обладает весьма высокой инфицирующей
способностью. При отсутствии противодействия они вызывают настоящие
эпидемии. Так, например, произошло с вирусом RCE-1813, известным
также под названиями Jerusalem (Иерусалим), Black Friday
(Черная пятница) и др. Классификационная таблица файловых вирусов,
обнаруженных в СССР, приведена в прил.1.
Группы файловых вирусов. Большинство распространенныx файловыx
вирусов имеют штаммы, незначительно отличающиеся от базовой версии.
Поэтому можно говорить о группах файловых вирусов и, соответственно,
групповых дескрипторах и групповых сигнатурах. В настоящее
время можно выделить следующие группы файловых вирусов.
1) Венская группа. Первым представителем этой группы был вирус
С-648, обнаруженный в Вене примерно в 1987 г. Его дизассемблированный
код был опубликован и распространялся в виде файла на дискетах
с соответствующими антивирусными программами, поэтому попытки
его модификации наиболее многочисленны.

2) Группа CASCADE. Первым представителем этой группы был вирус
RС-1701, обнаруженный примерно в середине 1988 г.
3) Иерусалимская группа. Первым представителем этой группы был
вирус RCE-1813, обнаруженный в Иерусалимском университете в конце
1987 г. Данная группа имеет значительное число штаммов (более десятка).


4) Группа TP-вирусов (эти вирусы, вероятно, разработаны в Болгарии;
большинство представителей этой группы имеют характерный
"хвост" длиной четыре байта, в котором за двумя первыми байтами
(F4FAh) следует байт с 16-ричным значением версии вируса (как уже
указывалось, этот байт является предпоследним байтом в зараженной
программе). В свою очередь, эта группа разбивается на три подгруппы
є "VACSINE" (TP-4, TP-5, TP-16), "музыкальной перезагрузки"
(TP-24, TP-25) и "самоедов" (TP-34 и старше). Две последние подгруппы
часто называют "Yankee Doodlе" (Янки дудль), поскольку они
при определенных условиях проигрывают мелодию Yankee Doodlе Dandy.
Данная группа имеет наибольшее количество штаммов є порядка двух
десятков (не все номера версий соответствуют реальным вирусам).
5) Группа Avenger. Представители этой группы обладают более высокой
инфицирующей способностью по сравнению с предыдущими
группами, поскольку заражают файлы не только при выполнении, но и
при открытии и чтении. Один из представителей этой группы периодически
уничтожает сектора на винчестере, записывая в них текстовое
сообщение.
6) Голландская группа (Datacrime). Представители этой группы активизируются
12 октября текущего года и уничтожают первые 8 секторов
логических дисков A, B, C и D.
7) Исландская группа (Icelandic).
Следует отметить, что две из упомянутых выше групп вирусов пока,
по-видимому, не попали в нашу страну (группа Datacrime и исландская
группа). Кроме того, в настоящее время на базе некоторых вирусов
начинают образовываться новые группы. Фактически это происходит
с каждым вирусом, получившим значительное распространение.
Классификационный код файлового вируса. Как уже указывалось,
файловые вирусы можно разделить на резидентные и нерезидентные,
что во многом определяет поведение вируса и, прежде всего, его инфицирующую
способность (резидентные вирусы обладают существенно
более высокой инфицирующей способностью, чем нерезидентные). Поэтому
код резидентных вирусов будем начинать с префикса R, например
RC-1701.
Префикс. Помимо символа R, классификационный код файлового вируса
может включать символы С и Е или их сочетания. Как уже указывалось,
символы С и E определяют типы файлов, заражаемых данным вирусом.
Например, если резидентный вирус заражает COM- и EXEфайлы,
то его классификационный код будет иметь префикс RCE.
Количественная характеристика. К непосредственно наблюдаемым
объективным свойствам файловых вирусов прежде всего относится приращение
длины файлов при заражении. Это приращение, обусловленное
наличием вируса, можно использовать для определения его типа.
Здесь есть две основные проблемы. Во-первых, величина приращения
может варьироваться в зависимости от длины заражаемого файла (многие
вирусы при дописывании своего кода в конец заражаемого файла
выравнивают свое тело на ближайший адрес, кратный 16, т.е. на границу
параграфа). Во-вторых, величина приращения может не совпадать
для COM-файлов и EXE-файлов. Поэтому в качестве количественной характеристики
необходимо использовать нормированное приращение, определяемое
по следующим правилам.
1) Для вирусов с префиксом С и CE (RC, RCE) характеристика классификационного
кода принимается равной минимальному приращению
длины зараженного COM (для вирусов типа С и CE) или EXE (для вирусов
типа Е) файла.
2) Для вирусов, не изменяющих длины файла, указывается ноль, а
через тире действительная длина тела вируса, например RC-0-346.
3) Для вирусов, маскирующих увеличение длины файла на зараженной
машине к характеристике, определенной по правилам п.1, слева добавляется
незначащий ноль (например, RCE-02000).
Отметим, что предложенный в п.1 подход позволяет исключить влияние
выравнивания на границу параграфа для вирусов, выравнивающих
свое тело указанным способом. Кроме того, для вирусов, изменяющих
приращение случайным образом, например, путем подгонки его до величины,
кратной 51, минимальное приращение также позволяет исключить
влияние вставляемых байтов (этот случай можно рассматривать
как разновидность выравнивания). И наконец, для вирусов, многократно
заражающих один и тот же файл, использование минимального
приращения позволяет исключить влияние многократного заражения.
Для определения указанной характеристики не требуется проведение
экспериментов по заражению файлов с такой длиной. Ее достаточно
просто определить, сопоставив приращения длин двух или более зараженных
файлов типа COM. Чаще всего файловые вирусы заражают командный
процессор MS DOS (файл COMMAND.COM) и программы, вызываемые в
файле AUTOEXEC.BAT. При анализе нескольких зараженных файлов возможны
два наиболее типичных (хотя и не единственно возможных) случая.


Если приращения длин двух или более зараженных файлов совпадают,
а остатки от деления длин исходных файлов на 16 отличны друг от
друга, то скорее всего вирус не выполняет выравнивание своего кода
на границу параграфа и полученное приращение является характеристикой
данного вируса. Если приращения отличны, то скорее всего
вирус выполняет выравнивание своего тела на границу параграфа, и
характеристику L данного вируса можно получить по формуле L = D є
(16єmod(LEN,16)), т.е. путем вычитания из полученного приращения
(D) дополнения (до 16) остатка от деления исходной длины файла на
16. Например, файл COMMAND.COM, который файловые вирусы обычно поражают
в числе первых, в наиболее распространенной в настоящее
время версии MS DOS 3.3 обычно имеет длину 25307. При этом
mod(25307,16)=11, т.е. остаток от деления 25307 на 16 равен 11 .
Очевидно, что дополнение до 16 равно 5 и для выравнивания на границу
параграфа требуется вставка пяти дополнительных байт. В этом
случае характеристика вируса будет на 5 меньше, чем приращение
длины файла COMMAND.COM. Достоинством принятого подхода является
то, что, за редким исключением (например, вирус RCE-1813), определенная
таким образом числовая характеристика совпадает с длиной
кода вируса.
В качестве количественной характеристики классификационного кода
могут применяться и другие параметры. На них стоит кратко остановиться,
поскольку использованные в них подходы будут безусловно
открываться и переоткрываться другими авторами. По-видимому, наиболее
распространенными можно считать следующие два подхода.
1) Использование в качестве количественной характеристики длины
кода вируса, определенной по константе, содержащейся во фрагменте,
который обеспечивает дописывание кода вируса в заражаемый файл
(эту константу можно сравнительно легко определить, анализируя дизассемблированный
код вируса). Такая характеристика является объективной,
поэтому ее часто используют разработчики антивирусных
программ, достаточно хорошо владеющие языком ассемблера. Однако
определенная таким образом характеристика в ряде случаев не совпадает
с наблюдаемым значением приращения длин файлов, что снижает
ее ценность с точки зрения использования при попытке классификации
пользователем, не владеющим языком ассемблера, нового, еще неизвестного
ему вируса. Например, для упомянутого выше иерусалимского
вируса длина кода вируса составляет 1808 байт, а приращение длины
при заражении файлов типа СОМ є 1813 байтов, что объясняется дополнительным
дописыванием в конец зараженного файла типа COM пятибайтовой
константы "MsDos" (используется как признак зараженности
файла).

2) Использование в качестве количественной характеристики приращения
длины какого-то конкретного файла, полученного в результате
его заражения. В ранних редакциях данной работы автор использовал
этот подход, причем в качестве эталонного был выбран файл
COMMAND.COM версии 3.3 MS DOS. Этот действительно удобный подход
утратил свою привлекательность с появлением ряда вирусов, не
заражающих командный процессор, а также распространением версии
4.0 MS DOS, в которой длина файла COMMAND.COM составляет 37637.
Суффикс. Возможны случаи, когда два разных вируса или два штамма
одного и того же вируса имеют одинаковые префикс и характеристику.
В этом случае, для того, чтобы получить уникальные классификационные
коды вирусов будем использовать в качестве суффикса одну букву.
Например, в коде RС-1704f буква f означает "штамм-f". При этом
буква "G" резервируется за так называемыми группами вирусов о которых
сказано выше.
Дескриптор файлового вируса. Используемые характеристики вирусов
приведены в прил.1. Для файловых вирусов, неизвестных в СССР
(прил.3), информация комбинировалась из различных источников и
возможно содержит ошибки.
Сигнатура файлового вируса. Как уже указывалось, для сигнатур
целесообразно использовать шестнадцатиричные строки, соответствующие
характерным последовательностям команд в теле вируса. Расположение
сигнатур в прил.1 подчиняется правилу: если сигнатура M входит
в сигнатуру V, то она приводится после сигнатуры V. Как уже
указывалось в предыдущей части, сигнатуры T существуют не для всех
файловых вирусов. Одной из наиболее удобных сигнатур для файловых
вирусов являются J-сигнатуры. Их можно очень быстро определить с
помощью любого отладчика (DEBUG, Turbo Debugger, AFD и т.д.).
Пользователи, не умеющие работать с отладчиками, могут использовать
для определения J-сигнатур программу, входящую в пакет VL
(см. прил.5).

Следует отметить, что контекстный поиск можно использовать не
только для поиска зараженных вирусом программ, но и для поиска
программ и файлов, уничтоженных или поврежденных вирусом. Например,
вирус С-648 при определенных значениях таймера вместо заражения
программы уничтожает ее, записывая в первые 5 байтов строку,
соответствующую переходу на подпрограмму перезагрузки BIOS. Для
поиска уничтоженных вирусом программ можно использовать строку
"EAF0FF00F0". Аналогично вирус RCE-1800 уничтожает сектора на винчестере,
записывая в первые байты сообщение "Eddie lives ...
somewhere in time". По этому сообщению с помощью Norton Utilities
или PC Tools можно выявить все пораженные сектора и определить, к
каким файлам они относятся.

3.3. Классификация бутовых вирусов

Как и для файловых вирусов, будем выделять группы бутовых вирусов,
а для каждого отдельного вируса є классификационный код, дескриптор
и сигнатуры.
Группы бутовых вирусов. Большинство распространенныx бутовых вирусов
имеют штаммы, которые можно объединить в группы. В настоящее
время можно выделить следующие группы бутовых вирусов:
1) итальянская (первым представителем вирусов этой группы был
вирус, Bx1-1C, появившийся примерно в конце 1987 г.);
2) пакистанская (в нее входят вирусы Brain, Ashar; первым представителем
этой группы был вирус Dx3-E9 (Brain-86), разработанный
в 1986 г. в Лахоре (Пакистан));
3) новозеландская (родоначальником которой был вирус M-05 є
Stoned);
4) индийская (включающая большую группу вирусов, из которых в
СССР обнаружен один є Joshy).
Классификационный код бутового вируса состоит из префикса и
количественной характеристики.
Префикс. Поскольку все бутовые вирусы являются резидентными, использование
символа R в префиксе их классификационного кода нецелесообразно.
Наиболее важным свойством бутовых вирусов, сопоставимым
по значению с

Список страниц

Закладка в соц.сетях

Купить

☏ Заказ рекламы: +380504468872

© Ассоциация электронных библиотек Украины

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