Спосіб виявлення метаморфних вірусів на основі статистичних метрик для визначення еквівалентних функціональних програмних блоків

Є ще 2 сторінки.

Дивитися все сторінки або завантажити PDF файл.

Формула / Реферат

Спосіб виявлення метаморфних комп'ютерних вірусів в комп'ютерних системах на основі використання статистичних метрик для визначення еквівалентних функціональних програмних блоків, який відрізняється тим, що використовує уточнення вибору функціональних блоків за рахунок критерію вибору мінімальної оцінки схожості, процес вибору функціональних блоків для порівняння складається з двох етапів, де на першому етапі визначають еквівалентні функціональні блоки на основі обчислення статистичної оцінки появи інструкцій у блоці, а на другому етапі здійснюють уточнення еквівалентних блоків та вибір найбільш придатного блока, який і буде використаний для формування оцінки схожості між програмою до емуляції  та програмою після емуляції , при цьому основні кроки способу вимагають визначення еквівалентних функціональних блоків з використанням формули (1):

,

де  - кількість входжень і-го опкоду у функціональний блок;

 - кількість операційних кодів (опкодів) у функціональному блоці, де

 - загальна кількість асемблерних інструкцій;

 - загальна кількість функціональних блоків, причому ;

 - кількість функціональних блоків, в якій присутній і-й опкод і результатом виконання етапу обчислення статистичної оцінки присутності опкоду у ФБ для програми до емуляції  та програми після емуляції  є матриці  та , рядки яких визначають функціональні блоки програми, а стовпці - опкоди, що присутні в функціональному блоці, причому кожна комірка матриці визначає оцінку появи і-го опкода в j-му функціональному блоці, а визначення еквівалентних функціональних блоків, на наступному кроці обчислюється оцінка схожості двох функціональних блоків з програми  та програми  за формулою Евклідової метрики і якщо значення оцінки схожості двох функціональних блоків менше визначеного порогового значення , тобто , тоді виконують повторне обчислення оцінки схожості для функціонального блока з програми  та наступного блока, що іде за блоком , тобто  i ці дії повторюються, поки значення оцінки схожості стане меншим або рівним пороговому значенню, а далі здійснюють перехід до другого кроку способу, де здійснюють уточнення визначення еквівалентних функціональних блоків і після чого порівнюють матриці еквівалентних функціональних блоків і після чого порівнюють матриці імовірності наступності опкодів для програми до та після емуляції та здійснюють вибір мінімальної оцінки схожості і формують вектор ознак схожості копій метаморфних вірусів та висновок щодо інфікування комп'ютерної системи метаморфним вірусом.

Текст

Реферат: Спосіб виявлення метаморфних комп'ютерних вірусів в комп'ютерних системах на основі використання статистичних метрик для визначення еквівалентних функціональних програмних блоків. Використовують уточнення вибору функціональних блоків за рахунок критерію вибору мінімальної оцінки схожості, процес вибору функціональних блоків для порівняння складається з двох етапів, де на першому етапі визначають еквівалентні функціональні блоки на основі обчислення статистичної оцінки появи інструкцій у блоці, а на другому етапі здійснюють уточнення еквівалентних блоків та вибір найбільш придатного блока, який і буде використаний для формування оцінки схожості між програмою до емуляції та програмою після емуляції. При цьому основні кроки способу вимагають визначення еквівалентних функціональних блоків, здійснення уточнення визначення еквівалентних функціональних блоків, формування вектора ознак схожості копій метаморних вірусів та отримання висновку щодо інфікування системи метаморфним вірусом. UA 118456 U (12) UA 118456 U UA 118456 U 5 10 15 20 25 30 35 40 45 50 55 Корисна модель належить до інформаційної безпеки і може використовуватись для виявлення метаморфних комп'ютерних вірусів в комп'ютерних системах на основі використання статистичних метрик для визначення еквівалентних функціональних програмних блоків. Задача виявлення метаморфних комп'ютерних вірусів фактично зводиться до задачі визначення еквівалентності двох програм [1, 2] або їхніх частин. Через проблеми, пов'язані з організацією великої кількості порівнянь та обчислень, обчислювальна складність таких способів є дуже великою і не може бути використана для практичної реалізації. Крім того, метаморфні коди створюють з використанням різноманітних методів обфускації, зокрема і перемішування частин програм, що дозволяє зловмисникам отримувати дуже багато різних копій однієї і тієї ж програми. Фактично синтаксис таких копій програми різний, а семантика є однаковою. Дослідження семантики програм потребує також наявності еталонів всеможливих варіантів обфускації коду для порівняння. А множина таких еталонів динамічно поповнюється щоденно, що ускладнює застосування на практиці програмних засобів виявлення метаморфного коду розроблених на основі такого підходу. Тому, на практиці все частіше використовують способи, які не передбачають глибокої деталізації коду досліджуваних програм, а за основу беруть певний рівень узагальнення, що дозволяє зменшити обчислювальну складність при реалізації таких способів і досліджувати наявність нового метаморфного коду з певною точністю, на відміну від способів [1, 2], в яких ставиться за мету отримання точної відповіді при заданих початкових даних можливих варіантів обфускації. До таких наближених способів належать способи, представлені в [3-7]. Авторами роботи [3] запропоновано спосіб, що оснований на динамічному формуванні траси виконання інструкцій та побудови графу операційних кодів (опкодів). Для перетворення графа у ланцюг Маркова, зв'язки між вершинами позначаються перехідними ймовірностями, на основі даних, зібраних у процесі формування траси виконання інструкцій. Матриця схожості між двома графами формується на основі використання комбінації ядер графа. Для здійснення класифікації матриці схожості використовується метод опорних векторів. Даний спосіб показав ефективність виявлення на рівні 96,41 %, включаючи поліморфні віруси, що значно перевищує відомі антивірусні засоби, проте автори роботи розглядали метаморфні віруси, як підмножину поліморфних вірусів і не виділяли окремо їх особливості. В роботі [4] представлено спосіб виявлення метаморфних вірусів на основі пошуку схожості графів опкодів. Для побудови орієнтованого графа опкодів використовується множина дизасембльованих інструкцій, де вершинами виступають опкоди, а ребрами - переходи між інструкціями. Кожне ребро графа містить імовірність переходу з інструкції А до інструкції В з урахуванням кількості подібних переходів. Класифікація здійснюється на основі використання SVM (Support Vector Machine - метод опорних векторів), де прямо здійснюється порівняння графів опкодів та формується оцінка схожості на основі НММ (Hidden Markov Model - прихована марківська модель) класифікації. Однак, збільшення розміру файла призводить до збільшення кількості опкодів, і відповідно, збільшує розмір графа, що призводить до вирішення NP (NP клас задач для яких не знайдено поліноміальні алгоритми розв'язку) повної задачі ізоморфізму графів. У роботі [5] виявлення здійснюється на основі побудови гістограми частот інструкції. З цією метою використано найпоширеніші інструкцій асемблерного коду, на основі дослідження частоти появи опкодів у вірусних програмах. Після отримання лістингу інструкцій виконується їх нормалізація, що визначається як співвідношення і-тої інструкції до загальної кількості інструкцій та формування гістограм. Відповідні гістограми порівнюються з використанням Евклідової відстані з формуванням відповідної матриці відстаней для кожної гістограми. Задача класифікації метаморфного вірусу аналогічно вирішується за допомогою методу опорних векторів. Інший статистичний спосіб, представлений у роботі [6] для визначення схожості метаморфних вірусів використовує 11 статистичних метрик (TF-IDF, TF-IDF-CF, CPD тощо) і згідно з ним аналізують їх з використанням тесту McNemar (тест в статистиці, дозволяє визначити, чи є модифікація змінної значущою або випадковою для досліджуваної групи індивідів.), що оснований на хі-квадрат розподілі випадкової величини. Для здійснення класифікації використано алгоритми J48, Random Forest та AdaBoostM1 (алгоритми машинного навчання для здійснення класифікації). Однак, розроблені способи [3-6] на основі статистичної оцінки інструкцій, є неефективним для метаморфних вірусів, що використовують техніку переміщування блоків коду, оскільки частота появи інструкцій в зміненій версії метаморфного вірусу не зміниться. їх реалізація не дозволяє з достатнім ступенем достовірності виявляти метаморфні віруси. 1 UA 118456 U 5 10 15 20 Аналіз відомих способів виявлення метаморфних вірусів показав необхідність розробки нових способів з метою підвищення достовірності та ефективності виявлення метаморфних вірусів. Найбільш близькими до заявленого способу можна вважати мультиагентний спосіб локалізації бот-мереж у корпоративних комп'ютерних мережах [7-9], який дозволяє здійснювати локалізацію бот-мереж з метаморфними кодами на основі їх моделей [8], а також способи описані в [5, 6] на основі пошуку схожості графів опкодів та на основі побудови гістограми частот інструкції. У відомих рішеннях є недостатньо висока достовірність виявлення нових метаморфних вірусів. Задачею корисної моделі є підвищення достовірності виявлення нових метаморфних вірусів у комп'ютерних системах на основі використання статистичних метрик. Поставлена задача вирішується тим, що для підвищення достовірності та ефективності виявлення нових метаморфних вірусів пропонується здійснювати вибір блоків для порівняння за рахунок критерію вибору мінімальної оцінки схожості, що дозволить зменшити рівень хибних спрацювань та підвищить достовірність виявлення. Процес вибору функціональних блоків для порівняння складається з двох етапів. Перший етап визначає еквівалентні функціональні блоки на основі обчислення статистичної оцінки появи інструкцій у блоці. На другому етапі здійснюється уточнення еквівалентних блоків та вибір найбільш придатного блока, який і буде використаний для формування оцінки схожості між програмою до емуляції Fp та програмою після емуляції Fs . В розробленому способі функціональним блоком FB назвемо максимальну послідовність дизасембльованих інструкцій 1,I2 ,,Im,I j , що характеризується наступним властивостями: I 25 30 35 40 45 50 - потік керування обов'язково заходить в блок через першу інструкцію; - всередині блока не може бути інструкції безумовного або умовного переходу (інструкції виклику підпрограми допускають), всі інструкції в блоці виконуються послідовно; - в кінці блока присутня принаймні одна інструкція умовного або безумовного переходу. З метою спрощення процесу аналізу та обробки операнди інструкцій не враховуються. Представимо програму F у вигляді орієнтованого графа. Нехай, v - множина функціональних блоків програми F , тобто V  FB1, FB2,, FBn  і E  V  V  True, False є переходом потоку керування між блоками, де True та False визначають умови переходу, тоді F  V, E буде орієнтованим графом, де вершинами виступають функціональні блоки, а ребрами - зв'язки між блоками в потоці керування програмою. Здійснимо визначення еквівалентних функціональних блоків. З метою уникнення виявлення антивірусними засобами метаморфні віруси використовують широкий спектр технологій, зокрема вставка команд сміття, переміщення блоків, використання еквівалентних інструкцій та регістрів [1-8]. Використання зазначених технологій дозволяє створювати метаморфні копії, що однакові за функціоналом, проте різні в реалізації (таблиця). Але, як видно з таблиці, частина команд залишаються однаковими. Це зумовлено тим, що при створенні нової копії, метаморфний вірус виконує дизасемблювання власного коду та заново компілює код, попередньо визначивши можливі місця видозмінення коду (за допомогою методів обфускації) і, з використанням закладеного у його тіло генератора, формує можливий набір альтернативних інструкцій або команд-сміття, що вставляються у відповідне місце (причому ця множина є скінченою). Тому, нова копія метаморфного вірусу буде складатись з множини змінених команд та з деякої множини команд, що не змінились. При цьому кожного разу ці місця вставок будуть змінюватись від копії до копії, що накладає обмеження на використання сигнатурного методу. Еквівалентними функціональними блоками програм A та B будемо називати FB програми A , якому відповідають один або більше функціональних функціональний блок блоків з програми B , що виконують однакові функції, і до яких застосовані методи офбускації програмного коду (можливо їх комбінації). Позначимо програму до емуляції через Fp , а після емуляції Fs . Після виконання процесу дизасемблювання, з використанням інтерактивного дизасемблера IDA Pro, отримаємо дві p 55     F F множини функціональних блоків: FBF  fb1 , fbF ,, fbF та FBF  fb1 , fbF ,, fbF . Тоді, для m n 2 2 пошуку еквівалентних функціональних блоків використаємо статистичну метрику Term Frequency-Inverse Document Frequency, яка застосовуватиметься до кожного окремого функціонального блока для програм Fp та Fs : p p 2 p s s s s UA 118456 U sFB   N  1,0   , (1) * log  nj     ni ni k i 0 5 де ni - кількість входжень і-го опкоду у функціональний блок; k  1 k a - кількість опкодів у функціональному блоці, де k a - загальна кількість асемблерних , інструкцій; N - загальна кількість функціональних блоків, причому NF  NF ; p s n j - кількість функціональних блоків в якому присутній і-й опкод. Результатом виконання етапу обчислення статистичної оцінки присутності опкоду у ФБ для   програми до емуляції Fp та програми після емуляції Fs є матриці M FBFp  та M FBFs , рядки яких    10  визначають функціональні блоки програми, а стовпці - опкоди, що присутні в функціональному блоці. Кожна комірка матриці визначає оцінку появи і-го опкода в j-му функціональному блоці (Фіг. 1). З метою визначення еквівалентних функціональних блоків, на наступному кроці обчислюється оцінка схожості двох функціональних блоків з програми Fp та програми Fs . З цією метою використаємо квадрат Евклідової метрики: 15 k  F F E FBi p , FB j s    si  s j     i  0, j  0 2 , (2) де si - оцінка появи опкодів в і-тому блоці програми Fp , s j - оцінка появи опкодів в j-тому блоці програми Fs . Якщо значення оцінки схожості двох функціональних блоків менше визначеного порогового значення  , тобто E FBFp , FBFs    , тоді виконується повторне обчислення оцінки схожості для  i j   20  функціонального блока з програми FB Fp та наступного блока, що іде за блоком FB F , тобто i j s F F Fs E FBi p , FB j s  FB j 1  . Зазначені вище дії повторюються, поки значення оцінки схожості буде     меншим або рівним пороговому значенню. Величина порогового значення  визначається 25 30 35 експериментальним чином. Після виконання даного етапу може виникнути ситуація, коли одному функціональному блоку з програми Fp відповідатимуть декілька функціональних блоків з програми Fs (Фіг. 2). Це пояснюється тим, що в метаморфному вірусі застосована технологія розбиття на блоки власного коду. Приклад схематичного представлення розміщення в двовимірній площині еквівалентних ФБ програми до та після емуляції подано на Фіг. 2. Так одному блоку з програми до емуляції, можуть відповідати, наприклад, 5 еквівалентних ФБ з програми після емуляції. Таким чином, з метою усунення невизначеності, необхідно здійснити уточнення еквівалентних функціональних блоків. Здійснимо уточнення визначення еквівалентних функціональних блоків. Задача уточнення визначення еквівалентних функціональних блоків зводиться до вибору одного з них, що отримані на попередньому кроці. З цією метою вибиратимемо мінімальне значення схожості серед множини еквівалентних функціональних блоків:   F F F F FB i p  min eFB1 s , eFB 2s ,, eFBns , (3) де 40 - еквівалентні функціональні блоки відносно до блока FB F . i З метою уточнення еквівалентних функціональних блоків визначимо імовірність наступності опкодів в функціональному блоці. Для цього для кожного еквівалентного функціонального блока F eFB1s , F F eFB2s ,, eFBns s F F F F eFB1s , eFB2s ,, eFBns та блока FB i p побудуємо матрицю імовірності наступності опкодів. Кожна 45 комірка матриці буде складатись з відношення кількості появи пари опкодів до загальної кількості опкодів в рядку. Псевдоалгоритм заповнення комірок матриці імовірності наступності подано нижче: for each cells in row begin if oi  oi 1 then 3 UA 118456 U occuroi , oi 1  occuroi , oi 1  1 ; Mprobabilit ies  i occuroi , oi 1  row .  oi i 1 5 Наприклад, якщо функціональний блок заданий наступною послідовністю опкодів: mov, push, lea, pop, mov, push, push, push, call, mov, тоді матриця імовірності наступності опкодів буде мати вигляд як подано Фіг. 3. Останнім кроком визначення еквівалентних функціональних блоків є порівняння матриць імовірності наступності опкодів для програми до та після емуляції (4) та вибір мінімальної оцінки схожості. R 1  N1   a b i, j i, j N2  i, j 1  2   , (4)   де a i, j - комірка матриці для функціонального блока FBFp , b i, j - комірка матриці для 10 функціонального блока e FBFs , N - загальна кількість опкодів для пар блоків. 15 Отримана оцінка для пар блоків дозволяє визначити еквівалентні функціональні блоки з більшою ймовірністю. Формуємо вектор ознак схожості копій метаморних вірусів. Визначивши еквівалентні функціональні блоки програми після емуляції, що відповідають функціональним блокам програми до емуляці, виконуємо порівняння їх за допомогою метрики Дамерау-Левенштейна. Це дозволяє отримати множину векторів ознак схожості для пар еквівалентних функціональних блоків, які можна представити у вигляді кортежа: S  L, T, D,I, R, M , (5) де L - відстань Дамерау-Левенштейна для функціонального блока між програмами Fp та 20 Fs ; 25 T - кількість необхідних операцій обміну опкодів для приведення блока програми; D - кількість необхідних операцій видалення опкоду; I - кількість необхідних операцій вставки опкоду; R - кількість необхідних операцій заміни відповідних опкодів; M - кількість співпадінь між опкодами в функціональних блоках програми F та F . p 30 35 40 45 50 s Для пошуку дистанції Дамерау-Левенштейна використано алгоритм поліноміальної складності Вагнера-Фішера, який дав змогу сформувати найкоротший ланцюг перетворення, для приведення множини опкодів програми після емуляції у множину опкодів програми до емуляції. Вибір дистанції Дамерау-Левенштейна як метрики для порівняння, зумовлено використанням в її основі основних операцій, що застосовуються метаморфними вірусами для видозмінення власної копії: вставки, видалення, заміни та перестановки опкодів. Слід зауважити, що в процесі розбиття програми метаморфного вірусу на еквівалентні функціональні блоки та їх порівняння не виконуються операція "очищення" метаморфного коду від обфускованих перетворень, а весь метаморфний код представлений в початковому вигляді [7, 8]. Формування висновку щодо інфікування системи метаморфним вірусом. Для формування висновку щодо інфікування системи метаморфним вірусом, отримані вектори ознак схожості підлягають класифікації шляхом залучення системи нечіткого логічного висновку. Кожен невідомий об'єкт може бути віднесений до одного з трьох класів метаморфних вірусів або до класу довірених додатків. Система нечіткого логічного висновку оперує вхідними та вихідними лінгвістичними змінними. Як вхідні лінгвістичні змінні приймемо: "ступінь схожості підозрілої програми з її копією за дистанцією Левенштейна" (L), "ступінь схожості підозрілої програми з її копією за кількістю операцій вставки" (I), "ступінь схожості підозрілої програми з її копією за кількістю операцій видалення" (D), "ступінь схожості підозрілої програми з її копією за кількістю операцій заміни" (R), "ступінь схожості підозрілої програми з її копією за кількістю операцій перестановки" (T) та "ступінь схожості підозрілої програми з її копією за кількістю операцій співпадіння" (М). Вихідною лінгвістичною змінною приймемо ступінь схожості з класом метаморфних вірусів. Для кожної лінгвістичної змінної задано терм-множину Low, Medium та High. Для визначення приналежності 4 UA 118456 U 5 10 метаморфного вірусу до одного із класів в системі задіяно 38 правил. Як функції приналежності для входів було вибрано трапецієвидну, для виходу - трикутну. Таким чином, розроблений спосіб передбачає пошук відповідності між функціональними блоками в метаморфних копіях на основі статистичних метрик та складається з двох етапів. Перший етап визначає еквівалентні функціональні блоки на основі обчислення статистичної оцінки появи інструкцій у блоці. На другому етапі здійснюється уточнення еквівалентних блоків та вибір найбільш придатного блока, що буде використаний для формування векторів ознак схожості копій нових метаморфних вірусів. Спосіб здійснює класифікацію векторів ознак зі залученням нечіткої логіки. Розроблений спосіб виявлення метаморфних комп'ютерних вірусів в комп'ютерних системах на основі використання статистичних метрик для визначення еквівалентних функціональних програмних блоків дозволяє зменшити кількість хибних спрацювань і підвищити достовірність виявлення, бо на відміну від відомих способів використовує уточнення вибору функціональних блоків за рахунок критерію вибору мінімальної оцінки схожості. 15 Таблиця 20 Джерела інформації: 1. Podlovchenko, R.I., Kuzyurin, N.N., Shcherbina V.S., Zakharov V.A.: Using algebraic models of programs for detecting metamorphic malwares. Journal of Mathematical Sciences, Vol. 172 (5), pp. 740-750 (2011). 2. Подловченко Р.И., Захаров В.А. Полиномиальный по сложности алгоритм, распознающий коммутативную эквивалентность схем программ // Доклады РАН, 1998, т. 362, № 6, с. 744-747. 3. Anderson, В., Quist, D., Neil, J., Storlie C., Lane, Т.: Graph-based malware detection using dynamic analysis. Journal in Computer Virology, 7, pp. 247-258 (2011). 5 UA 118456 U 5 10 15 20 4. Runwal, N., Low, R.M., Stamp, M.: Opcode Graph Similarity and Metamorphic Detection. Journal in Computer Virology, 8, pp. 37-52 (2012). 5. Nagaraju, A.: Metamorphic malware detection using base malware identification approach. Journal Security and Communication Networks, 7, pp. 1719-1733 (2014). 6. Kuriakose, J., Vinod, P.: Unknown Metamorphic Malware Detection: Modelling with Fewer Relevant Features and Robust Feature Selection Techniques, IAENG International Journal of Computer Science, Vol. 42(2), p. 139-151 (2015). 7. Pomorova, O., Savenko, O., Lysenko, S., Nicheporuk, A.: Metamorphic Viruses Detection Technique Based on the Modified Emulators. ICT in Education, Research and Industrial Applications, Integration, Harmonization and Knowledge Transfer, Vol. 1614, Kyiv, June 2016. - PP. 375-383 (2016). 8. Oksana Pomorova. A Technique for Detection of Bots Which Are Using Polymorphic Code / Oksana Pomorova, Oleg Savenko, Sergii Lysenko, Andrii Kryshchuk, and Andrii Nicheporuk // Computer Networks Communications in Computer and Information Science, Computer Networks 21th International Conference, CN 2014, Lwowek Slaski, Poland, June 23-27, 2014. Proceedings, vol. 431, p. 265-276, ISBN: 978-3-319-07940-0. 9. Мультиагентний спосіб локалізації бот-мереж у корпоративних комп'ютерних мережах [Текст]: пат. 108238 Україна: МПК G06F 21/55 (2013.01) / О.В. Поморова, О.С. Савенко, А.Ф. Крищук, С.М. Лисенко, К.Ю. Бобровнікова, А.О. Нічепорук; заявник та власник Хмельницький національний університет. - № u201600127; заявл. 04.01.16; опубл. 11.07.16, Бюл. № 13. ФОРМУЛА КОРИСНОЇ МОДЕЛІ 25 30 Спосіб виявлення метаморфних комп'ютерних вірусів в комп'ютерних системах на основі використання статистичних метрик для визначення еквівалентних функціональних програмних блоків, який відрізняється тим, що використовує уточнення вибору функціональних блоків за рахунок критерію вибору мінімальної оцінки схожості, процес вибору функціональних блоків для порівняння складається з двох етапів, де на першому етапі визначають еквівалентні функціональні блоки на основі обчислення статистичної оцінки появи інструкцій у блоці, а на другому етапі здійснюють уточнення еквівалентних блоків та вибір найбільш придатного блока, який і буде використаний для формування оцінки схожості між програмою до емуляції Fp та програмою після емуляції Fs , при цьому основні кроки способу вимагають визначення еквівалентних функціональних блоків з використанням формули (1): sFB   N  1,0  , * log  nj     ni ni k i 0 35 де ni - кількість входжень і-го опкоду у функціональний блок; k  1 k a - кількість операційних кодів (опкодів) у функціональному блоці, де , k a - загальна кількість асемблерних інструкцій; N - загальна кількість функціональних блоків, причому NFp  NFs ; n j - кількість функціональних блоків, в якій присутній і-й опкод і результатом виконання етапу 40 обчислення статистичної оцінки присутності опкоду у ФБ для програми до емуляції Fp та   F програми після емуляції Fs є матриці M FB p  та M FBFs , рядки яких визначають функціональні    45  блоки програми, а стовпці - опкоди, що присутні в функціональному блоці, причому кожна комірка матриці визначає оцінку появи і-го опкода в j-му функціональному блоці, а визначення еквівалентних функціональних блоків, на наступному кроці обчислюється оцінка схожості двох функціональних блоків з програми Fp та програми Fs за формулою Евклідової метрики і якщо значення оцінки схожості двох функціональних блоків менше визначеного порогового значення , тобто F F E FBi p , FB j s    ,     тоді виконують повторне обчислення оцінки схожості для Fp функціонального блока з програми FB i та наступного блока, що іде за блоком FB F , тобто j s F s E FBi p , FBFs  FBF1  i ці дії повторюються, поки значення оцінки схожості стане меншим або  j j    50 рівним пороговому значенню, а далі здійснюють перехід до другого кроку способу, де 6 UA 118456 U 5 здійснюють уточнення визначення еквівалентних функціональних блоків і після чого порівнюють матриці еквівалентних функціональних блоків і після чого порівнюють матриці імовірності наступності опкодів для програми до та після емуляції та здійснюють вибір мінімальної оцінки схожості і формують вектор ознак схожості копій метаморфних вірусів та висновок щодо інфікування комп'ютерної системи метаморфним вірусом. 7 UA 118456 U Комп’ютерна верстка О. Гергіль Міністерство економічного розвитку і торгівлі України, вул. М. Грушевського, 12/2, м. Київ, 01008, Україна ДП “Український інститут інтелектуальної власності”, вул. Глазунова, 1, м. Київ – 42, 01601 8

Дивитися

Додаткова інформація

МПК / Мітки

МПК: G06F 21/55

Мітки: вірусів, функціональних, програмних, виявлення, еквівалентних, метрик, спосіб, визначення, статистичних, основі, блоків, метаморфних

Код посилання

<a href="https://ua.patents.su/10-118456-sposib-viyavlennya-metamorfnikh-virusiv-na-osnovi-statistichnikh-metrik-dlya-viznachennya-ekvivalentnikh-funkcionalnikh-programnikh-blokiv.html" target="_blank" rel="follow" title="База патентів України">Спосіб виявлення метаморфних вірусів на основі статистичних метрик для визначення еквівалентних функціональних програмних блоків</a>

Подібні патенти