Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsiya_Virusi.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
329.22 Кб
Скачать

8. Поліморфік-віруси

Не так давно виявлення вірусів було простою справою: кожен вірус створював точну копію самого себе при тиражуванні і інфікуванні нових файлів і завантажувальних секторів, тому антивірусним програмам необхідно було тільки знати послідовність байтів, що становлять вірус. Для кожного вірусу фахівці виявляли унікальну послідовність байтів – його сигнатуру. Наявність такої сигнатури служила високонадійним індикато­ром присутності небажаного коду, що і примусило авторів вірусів спробувати приховувати будь-яку послідовність байтів, здатну видати присут­ність їх творінь. Вони стали робити це шляхом шифрування вірусів.

Віруси, що шифрують свій код, відомі досить давно. Проте самі процедури розшифрування досить легко виявити, зокрема, тому, що далеко не всі автори вірусів мають досить знань для написання власних процедур шифрування і розшифрування, тому багато вірусів використовують для цього один і той самий код. Тепер сканери вірусів шукають певні процедури розшифрування. Хоча виявлення такої процедури ще нічого не говорить про те, який саме вірус присутній у зашифрованому вигляді, але це вже сигнал про наявність вірусу. Тому останнім прийомом зловмисників стає поліморфізм.

Перші поліморфні віруси Tequila і Maltese Amoeba з'явилися в 1991 році. Все б нічого, але в 1992 році автор, відомий під псевдонімом Dark Avenger, написав свого роду комплект «Зроби сам» для мутаційного механізму, який він зробив частиною вірусу Maltese Amoeba. До 1992 року розробники вірусів працювали насправді дарма. Абсолютно ясно, що кваліфікація професіоналів у сфері антивірусної безпеки ніяк не нижча, і тому багатомісячні зусилля “вірусописьменників” коштували в крайньому випадку зайвих годин роботи для фахівців. Адже всі зашифровані віруси обов'язково містили якийсь незашифрований фрагмент: сам розшифровувач або деяку його частину, по яких можна було б побудувати сигнатуру даного вірусу і потім вже боротися з ним звичними способами.

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

Отже, до поліморфік-вірусів відносяться ті з них, які неможливо (чи вкрай важко) знайти за допомогою так званих вірусних масок – ділянок по­стійного коду, специфічних для конкретного вірусу. Досягається це двома основ­ними способами:

  • шифруванням основного коду вірусу з непостійним ключем і випадковим набором команд розшифровувача;

  • зміною самого виконуваного коду вірусу.

Існують також інші, досить екзотичні приклади поліморфізму: DOS-вірус "Bomber", наприклад, не зашифрований, однак послідовність команд, що передає керування коду вірусу, є цілком поліморфною. Поліморфізм різного ступеня складності зустрічається у вірусах усіх типів – завантажувальних, файлових і навіть у макро-вірусах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]