Кодирование деструктивных объектов на основе сигнатурного анализа

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

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

Литература: 1. Закревский А.Д., ПоттосинЮ.В., Череми-синова Л.Д. Основы логического проектирования. Оптимизация в булевом пространстве. Кн. 2. Мн.: ОИПИ НАН Беларуси. 2004. 250 с. 2. R. K. Brayton, G.D.Hatchel, C. T. McMullen, A. Sangiovanni Vincentelli, ESPRESSO-II: a New Logic Minimizer for PLA //IEEE Pros. Custom Integrated Circuits Conf. 1984. 650 p. 3. Rudel R. and Sangiovanni Vincentelli A. Multiple-Valued Minimization for PLA Optimization // IEEE Trans. Computer-Aided Des. Vol. CAD-

6. No 5. Sept. 1987. P. 727-751. 4. Logic Synthesis and Optimization Benchmarks. User Guide: Version 3.0. Saeyang Yang. Technical Report. Microelectronics of North Carolina. 1991.570 p. 5. S.Minato. Fast Factorization Method for Implicit Cube Cover Representation // IEEE Trans. CAD. Vol. 15. No 4. April 1996. 560 p. 6. T. Sasao, ed., Representation of Discrete Functions. Kluwer Academic Publishers. May 1996. 685 p. 7.

Stroustrup B. The C++ programming Language. 3rd edition. Addison-Wesley. 2006. 990 p. 8. Shameem Akhter, Jason Roberts. Multi-Core Programming. Intel Press. 2006. 270 p. 9. Richard Gerber, Aart J.C. Bik, Kevin B. Smith, Xinmin Tian. The Software Optimization Cookbook. Intel Press. 2006. 430 p. 10. Кривуля Г.Ф. Минимизация не полностью определенных функций определенных переключательных функций с помощью граф-схем // АСУ и приборы автоматики. Х.: Вища школа. 1981. Вып.57. С.87-96.

Поступила в редколлегию 21.07.2007

Рецензент: д-р техн.наук, проф. Кривуля Г.Ф.

Михтонюк Сергей Владимирович, студент второго курса факультета компьютерной инженерии и управления ХНУРЭ. Научные интересы: параллельное, системное программирование, проектирование и оптимизация ПО. Адрес: Украина, 61166, Харьков, пр. Ленина, 14.

Давыдов Максим Дмитриевич, студент второго курса факультета компьютерной инженерии и управления ХНУРЭ. Научные интересы: параллельное программирование, оптимизация прикладных программ. Адрес: Украина, 61166, Харьков, пр. Ленина, 14.

Кузнецов Евгений Сергеевич, студент второго курса факультета компьютерной инженерии и управления ХНУРЭ. Научные интересы: параллельное программирование, оптимизация прикладных программ, Адрес: Украина, 61166, Харьков, пр. Ленина, 14.

Парфентий Александр Николаевич, аспирант кафедры АПВТ ХНУРЭ. Научные интересы: автоматизация моделирования, верификации и тестирования систем на кристаллах. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326.

УДК 519.713

КОДИРОВАНИЕ ДЕСТРУКТИВНЫХ ОБЪЕКТОВ НА ОСНОВЕ СИГНАТУРНОГО АНАЛИЗА

ГОРОБЕЦ А.А.,ЛОКТИН А.А., КРАСНОЯРУЖСКАЯ К.Ш._____________________

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

1. Введение

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

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

кращение во времени этого процесса может оказаться решающим фактором в борьбе с распространением вирусной эпидемии.

Актуальность исследования вызвана тем, что задержка своевременного внесения вирусной сигнатуры в антивирусные базы влечет за собой серьезные последствия. Например, вирусный червь «Slammer» в конце января 2003 года смог «обездвижить» около 25% интернета: через 5 минут после начала эпидемии были заражены компьютеры в Южной Корее, Японии, США, Западной Европе, а через 15-20 минут было заражено более 100 тысяч компьютеров [1]. Современный высокотехнологичный мир попадает все в большую зависимость от бесперебойного и достоверного функционирования информационных систем - будь то отдельные мелкие предприятия, глобальные корпорации или государственные структуры. Все больше эти системы начинают функционировать с исполь-зованим сети Internet не только для поиска различной информации, но для оказания услуг, а также для передачи критически важной информации, как то -проведение платежей через различные платежные системы, обмен критически важной внутрикорпоративной информацией через защищенные VPN -туннели между территориально разнесенными подразделениями корпорации и др. Уже не вызывает сомнений то, что атаки, совершаемые отдельными криминаль-

РИ, 2007, № 3

55

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

1-2 кв. 3-4 кв. 1-2 кв. 3-4 кв. 1-2 кв. 3-4 кв. 1-2 кв.

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

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

В настоящий момент наиболее эффективным методом поиска вирусов является сигнатурный анализ. В связи с лавинообразным потоком появления новых вирусов возникает проблема их своевременного тестирования и диагностирования. Для этого необходимо не только за короткое время создавать сигнатуры вирусов (на сегодня это порядка300 000 вирусов от Лаборатории Касперского), но также и сокращать время внесения вирусной сигнатуры в базы данных деструктивных объектов.

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

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

Рис. 2. Схема передачи антивирусных баз конечным пользователям

2. Описание идеи метода ускорения добавления вирусных сигнатур в базы данных

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

Идея предлагаемого метода заключается в сжатии битового потока с использованием регистра сдвига с обратными связями Linear Feedback Shift Register (LFSR) в качестве сигнатурного анализатора и использования полученного в остатке кода в качестве табличного индекса, который определяет область быстрого перебора несжатых вирусных сигнатур.

Метод основан на использовании уникальности свойства остатка от полиномиального деления в регистре сдвига LFSR. Главная особенность остатка от деления полиномов по модую 2 состоит в том, что он однозначно идентифицирует исходную битовую последовательность и потому широко используется не только в сигнатурном анализе, но и в различных протоколах связи, таких как hdlc и zmodem, а также для проверки целостности блоков данных, передаваемых различными устройствами.

3. Описание математической основы предлагаемого метода

Поскольку основой метода является использование LFSR в качестве сигнатурного анализатора, то ниже

РИ, 2007, № 3

кратко опишем его особенности в таком применении. Сигнатурный анализ - метод сжатия информации, основанный на делении двоичного потока на некоторый характеристический полином. В сдвиговом регистре образуется остаток от деления. Значение этого остатка будет уникальным для входного двоичного набора. Уникальность остатка для конкретного двоичного набора служит как бы “ отпечатками пальцев” этого набора и может использоваться для его идентификации. Зависимость остатка от входного двоичного потока привела к термину “ сигнатур а” ( подпись), т. е. такой остаток называется сигнатурой [3].

Сдвиговый регистр с обратной связью LFSR состоит из двух частей: сдвигового регистра и функции обратной связи. Обратная связь представляет собой просто операцию XOR некоторых бит регистра. Перечень этих бит называется отводной последовательностью. Сдвиговый регистр представляет собой последовательность бит. Количество бит определяется длиной сдвигового регистра. Если длина равна n битам, то регистр называется n -битовым сдвиговым регистром. Всякий раз, когда нужно извлечь бит, все биты сдвигового регистра сдвигаются вправо на одну позицию. Новый крайний левый бит является функцией всех остальных бит регистра.

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

Период определяется обратными связями, описываемыми с помощью полинома. В общем случае максимальный период для n-разрядного LFSR равен 2n -1 [4].

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

На рис. 3 изображена структура последовательного или одновходового сигнатурного анализатора СА, который представлен в виде последовательного 16разрядного сдвигового регистра с линейными обратными связями D7, D9, D12, D16, где 7, 9, 12, 16-номера разрядов, X - вход, на который подается сжимаемая двоичная последовательность, С - вход синхронизации.

X

С

ІР7 ІР9 р12р16

© —г RG

к к к і і і

Рис. 3. Структура СА как последовательного 16-разрядного LFSR

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

Механизм деления по модулю 2 можно проиллюстрировать следующим образом. В качестве входной последовательности возьмем 10101111 или то же самое: G(x) = 1+x2+x4+x5+x6+x7.

Обратный характеристический полином выберем в виде: P*(x) = 1+x2+x4+x5. При этом выходная последовательность Q(x) = G(x)/P*(x).

Тогда модель сигнатурного анализатора на основе сдвигового регистра будет такой, как показано на рис. 4.

—1 — 2 —><+—• 3 —• 4 —<+>—*

G

X0 X1

Q

X2

X3

X4

X5

5

Рис. 4. Пример вычисления сигнатуры в регистре LFSR

Деление по модулю 2 в столбик выглядит, как показано далее:

x + x + x + x + x +1

x5 + x4 + x2 x2 +1

+1

x + x + x + x x5 +1

x + x + x +1

4 2

x + x

Частное Q(x) = 1 + x2. Остаток R(x) = x2 + x4.

А далее пошагово в таблице отражен процесс деления по модулю 2 путем побитного сдвига и выполнения операции «Исключающее ИЛИ» (XOR), когда на выходе из старшего бита регистра появляется 1.

Деление по модулю 2 путем побитного сдвига

Шаг Входная последова- тельность G(x)^ Содержимое регистра 1 2 3 4 5 Выходная последовательность Q(x) ^

0 1 0 1 0 1 1 1 1 0 0 0 0 0

1 1 0 1 0 1 1 1 1 0 0 0 0

2 1 0 1 0 1 1 1 10 0 0

3 1 0 1 0 1 1 1 1 0 0

4 1 0 1 0 1 1 1 1 0

5 1 0 1 0 1 1 1 1

6 1 0 1 0 1 1 1 1

Операция 1 0 1 0 1

Результат операции 0 0 0 1 0

7 1 0 00 0 1 0 1

8 1 0 00 0 1 0 1

Операция 1 0 1 0 1

Результат операции 0 0 1 0 1

Остаток R(x) = x2 + x4 Частное Q(x) = 1 + x2

Побитный сдвиг и деление в столбик дали один и тот же результат.

РИ, 2007, № 3

57

4. Алгоритм предлагаемого метода

Далее рассмотрим непосредственно алгоритм метода, блок-схема которого представлена на рис. 5.

Рис. 5. Блок-схема алгоритма добавления вирусных сигнатур в базу данных

На вход математической модели подается двоичный поток бит, который представляет собой вирусную сигнатуру - программный код, выделенный экспер-том-аналитиком. В таком виде входящий двоичный поток представляет собой образующий полином G(x), степень которого равна количеству бит в этом, выделенном экспертом-аналитиком программном коде. Сжатие входящего потока происходит путем его деления по модулю 2 на порождающий полином P(x). При этом сжатую вирусную сигнатуру получаем как остаток от деления R(x) в регистре LFSR [5].

Для своей модели выберем 16-битовый регистр LFSR, так как вероятность определения несжатой вирусной сигнатуры в этом случае составляет 0, 9998. Поскольку разрядность регистра в 16 бит предполагает в качестве возможных сжатых сигнатур 65535 комбинаций, а реально количество вирусов в антивирусных базах на сегодняшний день составляет порядка 300000, то понятно, что одной сжатой сигнатуре будет соответствовать несколько несжатых сигнатур, т.е. определенному количеству комбинациий из 65535 будет соответствовать несколько несжатых вирусных сигнатур. Комбинации 16-битового регистра будут представлять собой индексы таблицы, в которых будут раполагаться несжатые сигнатуры, соответствующие этому индексу.

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

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

Рис. 6. Структура базы данных

Алгоритм добавления сигнатур в базу данных следующий: 1) по полученному 16-битовому коду-сигнатуре определяется индекс таблицы, в которой располагаются существующие этому индексу несжатые вирусные сигнатуры; 2) производится наложение исходного кода-сигнатуры на несжатые вирусные сигнатуры, соответствующие индексу таблицы, полученному путем сжатия этой сигнатуры; 3) в случае, если такой вирус присутствует в этой таблице, то никаких дальнейших действий не производится, а выдается сообщение о наличии такого вируса в базе; 4) в случае, если такого вируса нет, то он добавляется в базу, соответствующую индексу таблицы; также добавляется в общую базу, которой пользуюся клиенты антивирусных компаний для своих обновлений.

Очевидный выигрыш метода, который реализует данный алгоритм, заключается в том, что для принятия решения о добавлении вирусной сигнатуры в вирусную базу нет необходимости осуществлять прямой перебор всего объема базы сигнатур. Благодаря методу сжатия сигнатуры принятие решения о включении вируса в базу сигнатур производится на основе прямого перебора 15-20 вирусных сигнатур, «привязанных» к индексу таблицы, который соответствует коду сжатой сигнатуры. Предлагаемый метод позволяет в x10 раз повысить быстродействие идентификации/ добавления сигнатуры в БД.

5. Заключение

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

РИ, 2007, № 3

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

Использование метода возможно также и при создании вирусных сигнатур в автоматическом режиме для определенного класса вирусов (например, троянов) без участия эксперта аналитика.

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

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

Литература:1.й//^://мгмгмг.уігш1І8І;.сот/т/апа1у8І8?риЬій =159236723. 2. Машевский Ю., Шевченко С. Кража соб-

ственности в компьютерных сетях, часть II. http:// www.viruslist.com/ru/analysis?pubid=204007514. 3. A designer’s guide to built-in self-test/Charles E. Stroud. P.65-80 4. Smith J. E. Measures of the effectiveness of fault signature analysis //IEEE Trans. on Comput. 1980. Vol. C-29, N 6. P.510514 5. Кнут Д.Е. Искусство программирования для ЭВМ. М.: Мир, 1977. Т. 2 “Получисленные алгоритмы”.

Поступила в редколлегию 21.05.2007

Рецензент: д-р техн. наук, проф. Хаханов В.И.

Горобец Александр Александрович, студент каф. ЭВМ ХНУРЭ. Научные интересы: анализ вредоносного кода. Адрес: Украина, 61166, Харьков, пр. Л. Свободы , 60, кв.27, тел. 80684665161.

Локтин Александр Александрович, студент каф. ЭВМ ХНУРЭ. Научные интересы: анализ вредоносного кода. Адрес: Украина, 61166, Харьков, пр. Ленина , 14, тел. 7021-326.

Краснояружская Карина Шамилиевна, студентка каф. АПВТ ХНУРЭ. Научные интересы: анализ вредоносного кода. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326.

УДК681.324

ИССЛЕДОВАНИЕ АППАРАТУРНЫХ ХАРАКТЕРИСТИК КЭШ-ПАМЯТИ МИКРОКОМАНД С ПРЯМЫМ ОТОБРАЖЕНИЕМ ДАННЫХ

БАРКАЛОВ А.А., БАБАКОВ Р.М., КХАЛЬФАУИ НЕЖИБ бен ХАМАДИ_________________________

Выполняется анализ аппаратурных затрат в логической схеме модуля кэш-памяти микрокоманд с прямым отображением данных. Экспериментальные исследования проводятся с использованием современного элементного базиса программируемых БИС и VHDL-модели кэшпамяти. Описываются аналитические зависимости аппаратурных затрат от характеристик кэш-памяти.

1. Введение

Функционирование любой цифровой системы (ЦС) невозможно без использования в ее составе устройства управления (УУ), координирующего работу всех блоков системы [1]. Такие характеристики УУ, как быстродействие и аппаратурные затраты, во многом определяют характеристики системы в целом. Актуальной научно-технической задачей является расширение области применения цифровых систем. Одним из способов решения данной задачи есть увеличение быстродействия ЦС за счет увеличения быстродействия УУ.

Способом реализации УУ является композиционное микропрограммное устройство управления (КМУУ), представляющее собой композицию автоматов с «жесткой» и «программируемой» логикой [2]. В КМУУ схема адресации традиционно реализуется в быстродействующем элементном базисе программируемых интегральных схем (ПЛМ, ПЛИС), в то время как управляющая память (УП) реализуется в относитель-

но дешевом и медленном базисе ПЗУ. В связи с невысокой по сравнению с ПЛИС скоростью работы схем ПЗУ время доступа к УП может составлять значительную часть длительности такта работы КМУУ.

Композиционные микропрограммные устройства управления без разделения кодов являются одной из разновидностей КМУУ и используют в своих структурах различные методы оптимизации аппаратур ных затрат в схеме адресации [3]. Характерной чертой данных структур является применение одной или нескольких схем преобразования логических сигналов, реализующихся на ПЗУ в целях удешевления схемы устройства.

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

В работе [5] разработана программная модель кэшпамяти микрокоманд с прямым отображением данных, использующая язык описания аппар атуры VHDL. Данная модель позволяет (с применением специализированных САПР) получить численные значения затрат аппаратуры при реализации промоделированного устройства в базисе ПЛИС.

Основной научной задачей настоящей работы является получение и анализ зависимостей аппаратурных затрат в модуле кэш-памяти от параметров модуля.

РИ, 2007, № 3

59