Эвристический анализ семейства вирсусов

Автор работы: Пользователь скрыл имя, 28 Декабря 2010 в 13:28, курсовая работа

Краткое описание

Цель
1. Анализ семейства вирусов Email-Worm.VBS.LoveLetter.
2. Реализация эвристического анализатора семейства вирусов Email-Worm.VBS.LoveLetter
Задача
1. Проанализировав семейство вирусов Email-Worm.VBS.LoveLetter выделить классы эвристик
2. Реализовать эвристический анализатор методом нечеткого логического вывода Цукамота в программной среде Microsoft Visual C++ 6.0.

Содержание

Введение 3
Цель 4
Задача 4
1 Семейство вирусов Email-worm.VBS.LoveLetter 5
1.1 Общее описание 5
1.2 Описание модификаций вируса 7
1.2.1 LoveLetter.A 7
1.2.2 LoveLetter.B 8
1.2.3 LoveLetter.C 9
1.2.4 LoveLetter.E 9
2 Метод нечеткого вывода Цукамото 10
2.1 Основные понятия 10
2.2 Алгоритм Цукамото 17
3 Реализация эвристического анализатора методом нечеткого вывода Цукамото 18
3.1 Эвристики семейства вирусов Email-worm.VBS.LoveLetter 18
3.2 Реализация 19
Заключение 37
Библиографический список 38

Вложенные файлы: 1 файл

d.doc

— 264.00 Кб (Скачать файл)

Subject:    Mothers Day Order Confirmation 

Body:       We have proceeded to charge your credit card for the  amount of $326.92 for the             mothers day diamond special. We have attached a detailed invoice to this email.                    Please print out the attachment and keep it in a safe place. Thanks Again and Have a Happy Mothers Day!  mothersday@subdimension.com

Attachment: mothersday.vbs

      Дополнительно, этот вариант удаляет все файлы с расширением *.ini" и *.bat" вместо *.jpg" и *.jpeg". Этот вариант не пытается загружать "WIN - BUGSFIX.EXE" из Internet, однако изменяет начальную страницу Internet Explorer.

2 Метод нечеткого вывода Цукамото

2.1 Основные понятия

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

Нечеткие  лингвистические  высказывания.

Нечеткими лингвистическими высказываниями называются высказывания следующих видов:

  1. Высказывание «А есть В», где А – наименование лингвистической переменной, В – её значение
  2. Высказывание «А есть сВ», где с – модификатор, соответствующий таким словам, как «очень», «более или менее» и т.д.
  3. Составные высказывания, образованные из высказываний видов 1 и 2 и нечетких логически  операций в форме связок: «и», «или», «если - то», «не».

Правило нечеткой продукции.

Правило нечеткой продукции имеет вид:  Если «А1 есть В’», то «А2 есть В’’».

Здесь нечеткое высказывание  «А1 есть В’» представляет собой условие данного правила нечеткой продукции, а нечеткое высказывание «А2 есть В’’» - нечеткое заключение данного правила. При этом считается, что А1 не равно А2.

Система нечетких правил продукций.

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

База  правил нечетких продукций.

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

База  правил представляется  в форме  структурированного текста:

Правило_1: если «условие_1», то «заключение_1»(H1)

Правило_2: если «условие_2», то «заключение_2»(H2)

Правило_n: если «условие_n», то «заключение_n»(Hn)

Hi – коэффициенты определенности или весовые коэффициенты соответствующих правил. Эти коэффициенты могут принимать значения из интервала [0,1]. В случае, если эти весовые коэффициенты отсутствуют, удобно принять, что их значения равны 1.

Входные и выходные лингвистические переменные

Входные лингвистические переменные обозначаются  - А={a1,a2,… , am}.

Выходные  лингвистические переменные обозначаются  - W={w1,w2…,ws}.

Треугольная функция принадлежности.

Задается  выражением:

Где a- начальное значение интервала; с- конечное значение интервала; b произвольное число из промежутка от a до с.

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

Задается  выражением:

Где a- начальное значение интервала; d- конечное значение интервала; b  и с произвольные числа в промежутке от a до d.

Фаззификация.

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

Этапы процедуры фазификации:

  1. Получить конкретные значения всех входных переменных системы нечеткого вывода, т.е. множество значений В= {b1,b2,.., bm}.
  2. Рассматривается каждое из подусловий вида «аi есть b’» правил системы нечеткого вывода, где b’- некоторый терм с известной функцией принадлежности µ(х). При этом значение bi используется в качестве аргументы µ(х), тем самым находится количественное значение Это значение и является результатом фаззификации подусловия  «аi есть b’».
  3. Этап фаззификации считается законченным, когда будут найдены все значения

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

Агрегирование.

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

Этапы процедуры агрегирования:

  1. Должны быть известны значения истинности всех подусловий системы нечеткого вывода, т.е. множество значений  F={ }.
  2. Рассматривается каждое  из условий правил системы нечеткого вывода. Если условие правила представляет собой нечеткое высказывание вида 1 или 2, то степень его истинности равна соответствующему значению

    Если  же условие состоит из нескольких подусловий   вида:  Правило: Если «А1 есть В’» и(или) «А2 есть В’’», то «А3 есть  V». При этом лингвистические переменные не равны друг другу, то определяется степень истинности сложного высказывания на основе известных значений истинности подусловий.

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

    Обозначим найденные значения следующим образом:

Активизация.

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

Этапы процедуры активизации:

    1. Должны быть известны значения истинности всех условий системы нечеткого вывода, т.е. множество значений   и значения весовых коэффициентов Hi для каждого правила
    2. Рассматривается каждое из заключений правил системы нечеткого вывода. Если заключение правила представляет собой нечеткое высказывание вида 1 или 2, то степень его истинности равна алгебраическому произведению соответствующего значения на весовой коэффициент . Если же заключение состоит из нескольких подзаключений вида : Правило: Если «А1 есть В’», то «А2 есть В’’» и(или) «А3 есть  V», причем лингвистические переменные в подзаключениях попарно не равны друг другу, то степень истинности каждого из подзаключений равна алгебраическому произведению соответствующего значения на весовой коэффициент .

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

    1. Определяется функция принадлежности каждого из подзаключений для рассматриваемых выходных лингвистических переменных. Для этого используется один из методов:
    • Min-активизация:

    • Prod – активизация:

    • Average – активизация:

      Где µ(y) – функция принадлежности терма, который является значением некоторой выходной переменной 

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

Аккумуляция.

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

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

Этапы процедуры аккумуляции:

    1. Должны быть известны значения истинности всех подзаключений для каждого из правил, входящих в рассматриваемую базу правил системы нечеткого вывода, в форме совокупности нечетких множеств: , где q – общее количество подзаключений в базе правил.
    2. Последовательно рассматривается  каждая из выходных лингвистических  и относящиеся к ней нечеткие множества: . Результат аккумуляции для выходной лингвистической переменной определяется как объединение нечетких множеств 
    3. Этап аккумуляции считается законченным, когда для каждой из выходных лингвистических переменных будут определены итоговые функции принадлежности нечетких множеств  их значений, т.е. совокупность нечетких множеств : где s – общее количество выходных лингвистических переменных в базе правил системы нечеткого вывода.

Дефаззификация.

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

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

Этапы процедуры дефаззификации:

    1. Должны быть известны функции принадлежности всех выходных лингвистических переменных в форме нечетких множеств:  .
    2. Последовательно рассматривается  каждая из лингвистических переменных и относящиеся к ней нечеткое множество . Результат дефаззификации для выходной лингвистической переменной определяется в виде количественного значения , получаемого по одному из методов: метод центра тяжести, метод центра тяжести для одноточечных множеств, метод центра площади.
    3. Этап дефаззификации считается законченным, когда для каждой из выходных лингвистических переменных будут определены итоговые количественные значения в форме некоторого действительно числа, т.е. , где s – общее количество выходных лингвистических переменных в базе правил системы нечеткого вывода.

Методы  дефаззификации.

    1. Метод центра тяжести

      Рассчитывается  по формуле: 

       

      Где y – результат дефаззификации; х - переменная, соответствующая выходной лингвистической переменной w; µ(х) – функция принадлежности нечеткого множества, соответствующего выходной переменной w после этапа аккумуляции; min и max – левая и правая точки интервала носителя нечеткого множества рассматриваемой выходной переменной w.

    1. Метод центра тяжести для одноточечных множеств

      Рассчитывается по формуле: 

       

      Где n – число одноточечных(одноэлементных) нечетких множеств, каждое из  которых характеризует единственное значение рассматриваемой выходной лингвистической переменной.

Информация о работе Эвристический анализ семейства вирсусов