Лекція 4 ВІРУСИ ЯК ШКІДЛИВЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ План лекції


НазваЛекція 4 ВІРУСИ ЯК ШКІДЛИВЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ План лекції
Сторінка6/7
Дата21.04.2013
Розмір0.77 Mb.
ТипЛекція
bibl.com.ua > Інформатика > Лекція
1   2   3   4   5   6   7

Приклади стелс-вірусів

Crusher. Безпечний резидентний MBR-EXE-стелс-вірус. При запуску зараже­но­го файла він записується в MBR вінчестера, потім перехоплює INT 21h і записується в початок EXE-файлів при їх копіюванні. При завантаженні з ураженого диска перехоплює INT 1Ch, чекає завантаження DOS, потім відновлює INT 1Ch, перехоплює INT 21h і приступає до зараження файлів. Якщо при роботі вірусу йому не вистачає пам'яті, він повідомляє "Insuf­ficient memory" і повертається в DOS. При запуску CHKDSK вірус виводить текст:

Crusher… You are damned. Bit Addict / Trident.

Ekoterror. Резидентний небезпечний стелс-вірус, при запуску зараженого файла записується в MBR вінчестера і передає управління програмі-носію, при завантаженні з ураженого MBR перехоплює INT 8, 13h, а потім, викорис­то­вуючи INT 8, перехоплює INT 21h і записується в початок .COM-файлів при їх створенні. Періодично розшифровує і виводить текст:

EkoTerror (C) 1991 ATK-toimisto P.Linkola Oy

Kovalevysi on poistettu kДytФstД luonnonsuojelun nimessД.

VihreДssД yhteiskunnassa ei saa olla ydinsДhkФllД toimivia kovalevyjД.

а потім завішує комп'ютер. В деяких випадках некоректно уражає MBR, в результаті DOS гине при завантаженні.

Rasek, сімейство. Дуже небезпечні файлово-завантажувальні віруси, що самошифру­ють­ся. При запуску зараженого файла записують себе в MBR вінчестера, потім перехоплюють INT 13h, 12h. Переривання INT 13h використовується для реалізації стелс-механізму при читанні ураженої MBR. Віруси також записують в Boot-сектори флопі-дисків програму, яка при завантаженні з такого флопі стирає FAT вінчестера. Переривання INT 21h викорис­то­ву­ється вірусом для зараження COM- і EXE-файлів при їх запуску, вірус записується в кінець файлів. У тілі вірусу міститься рядок "AND.COM", вірус шукає цей рядок в імені файла і не вражає такі файли (COMMAND.COM). У тілі вірусів також міститься і інші рядки:

"Rasek.1310" ASEK v1.1,from LA CORUеA(SPAIN) .Jan93

"Rasek.1489" RaseK v2.1,from LA CORUеA(SPAIN) .Mar93

Vecna. Дуже небезпечний резидентний файлово-завантажувальний стелс-вірус. Заражає boot-сектори дискет, MBR вінчестера і записується поверх EXE-файлів (псує їх). При запуску зараженого EXE-файла записується в MBR вінчестера, розшифровує і виводить текст:

Out of memory.

Потім повертає управління DOS. При завантаженні з диска перехоплює INT 13h, залишається резидентним в пам'яті і заражає дискети і EXE-файли на дискетах. Під налагоджувачем і на Pentium-комп'ютерах виводить текст:

Vecna Live ...

Має досить серйозну помилку – може повернути управління оригі­наль­ному обробнику INT 13h із зіпсованим вмістом регістра АХ, що може привести до втрати даних на диску і навіть до його форматування.

Kyokushinkai. Дуже небезпечний резидентний файлово-завантажувальний вірус. При запуску зараженого записується в MBR вінчестера, перехоплює INT 12h, 13h, 1Ch, 21h і при запуску програм шукає EXE-файли і записується в їх кінець. Заражений MBR-сектор не видно при активному в пам'яті вірусі (стелс). Залежно від поточного часу стирає системні сектори рядком:

+++++++ KШФkБshЛдkДЛ +++++++.- 39-mynrazCmeroizв.....
8. Поліморфік-віруси

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

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

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

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

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

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

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

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

Поліморфні розшифровувачі

Найпростішим прикладом частково поліморфного розшифровувача є наступний набір команд, в результаті застосування якого жоден байт коду самого вірусу і його розшифровувача не є постійним при зараженні різних файлів:

MOV reg_1, count; reg_1, reg_2, reg_3 вибираються з

MOV reg_2, key; AX,BX,CX,DX,SI,DI,BP

MOV reg_3, _offset; count, key, _offset також можуть мінятися

_LOOP:

xxx byte ptr [reg_3], reg_2 ; xor, add чи sub

DEC reg_1

Jxx _loop; ja чи jnc; далі йдуть зашифровані код і дані вірусу.

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

NOP, STI, CLI, STC, CLC, DEC <невикористовуваний регістр>

або

XCHG <невикористовувані регістри>.

Повноцінні ж поліморфік-віруси використовують ще більш складні алго­рит­ми, у результаті роботи яких у розшифровувачі вірусу можуть зу­стрітися операції SUB, ADD, XOR, ROR, ROL і інші в довільній кількості і порядку. Завантаження і зміна ключів і інших параметрів шифровки вироб­ляється також довільним набором операцій, у якому можуть зустрітися практично всі інструкції процесора Intel (ADD, SUB, TEST, XOR, OR, SHR, SHL, ROR, MOV, XCHG, JNZ, PUSH, POP ...) із усіма можливими режимами адресації. З'являються також поліморфік-віруси, розшифровувач яких використовує інструкції аж до Intel386. В резуль­таті на початку файла, зараженого подібним вірусом, йде набір безглуздих на перший погляд інструкцій, причому деякі комбінації, що цілком праце­здатні, не аналізуються фірмовими дизасемблерами (наприк­лад, сполучення CSCS чи CSNOP). І серед цієї "каші" з команд і даних зрідка прослизають MOV, XOR, LOOP, JMP – інструкції, що дійсно є "робітниками".

Рівні поліморфізму

Існує розподіл поліморфік-вірусів на рівні в залежності від склад­нос­ті коду, що зустрічається в розшифровувачах цих вірусів. Такий розподіл уперше запропонував доктор Алан Соломон, а згодом Весселин Бончев розширив його.

Рівень 1: віруси, що мають деякий набір розшифровувачів з постійним кодом і при зараженні вибирають один з них. Такі віруси є "напів-поліморфіками" і носять також назву "олігоморфік" (oligomor­phic). Приклади: "Cheeba", "Slovakia", "Whale".

Рівень 2: розшифровувач вірусу містить одну чи кілька постійних інструкцій, основна ж його частина непостійна.

Рівень 3: розшифровувач містить невикористовувані інструкції – "сміття" типу NOP, CLI, STI і т.д.

Рівень 4: у розшифровувачі використовуються взаємозамінні інструкції і зміна порядку проходження (перемішування) інструкцій. Алго­ритм розшифрування при цьому не змінюється.

Рівень 5: використовуються всі перераховані вище прийоми, алгоритм розшифрування не постійний, можливе повторне зашифрування коду вірусу і навіть часткове зашифрування самого коду розшиф­ровувача.

Рівень 6: permutating-віруси. Зміні підлягає основний код вірусу – він поділяється на блоки, що при зараженні переставляються в до­віль­ному порядку. Вірус при цьому залишається працездатним. Подібні віруси можуть бути незашифрованими.

Наведений вище розподіл не вільний від недоліків, оскільки ство­ре­ний за єдиним критерієм – можливість детектувати вірус по коду роз­шиф­ровувача за допомогою стандартного прийому вірусних масок: рівень 1 – для детектування вірусу досить мати кілька масок; рівень 2 – детек­тування по масці з використанням "wildcards"; рівень 3 – детектування по масці після видалення інструкцій-"сміття"; рівень 4 – маска містить кілька варіан­тів можливого коду, тобто стає ал­го­ритмічною; рівень 5 – неможливість детектування вірусу по масці.

Недостатність такого розподілу продемонстрована у вірусі 3-го рівня поліморфічності, що так і називається – "Level3". Цей вірус, будучи одним з найбільш складних поліморфік-вірусів, за приведеним вище розподілом попадає в Рівень 3, оскільки має постійний алгоритм розшифровки, перед яким стоїть велика кількість команд-"сміття". Однак у цьому вірусі алго­ритм генерування "сміття" доведений до досконалості в коді роз­шиф­ро­вувача можуть зустрітися практично всі інструкції процесора і8086.

Якщо зробити розподіл на рівні з погляду антивірусів, що вико­ристовують системи автоматичної розшифровки коду вірусу (емулятори), то розподіл на рівні буде залежати від складності емуляції коду вірусу. Можливо детектування вірусу й інших прийомів, наприклад, розшифровка за допомогою елементарних математичних законів і т.д.

Зміна виконуваного коду

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

Рідше цей спосіб застосовується складними завантажувальними вірусами. Та­кі віруси впроваджують у завантажувальні сектори лише досить коротку про­цедуру, що зчитує з диска основний код вірусу і передає на нього керування. Код цієї процедури вибирається з декількох різних варі­ан­тів (які також можуть бути розведені "порожніми" командами), команди переставляються між собою і т.д.

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

На сьогоднішній день відомі всего два таких віруси, один із яких ("Ply") випадковим образом переміщає свої команди по своєму тілу і заміняє їх на команди JMP чи CALL. Інший вірус ("TMC") використовує більш складний спосіб – щоразу при зараженні вірус змінює місцями блоки свого коду і даних, вставляє "сміття", у своїх асемблерних інструкціях встановлює нові значення офф­сетів на дані, змінює константи і т.д. В результаті, хоча вірус і не шифрує свій код, він є поліморфік-вірусом – у коді не присутній постійний набір команд. Більш того, при створенні своїх нових копій вірус змінює свою довжину.

Деякі віруси (наприклад, віруси сімейства Eddie, Murphy) використовують частину функцій повноцінного вірусу-невидимки. Зазвичай вони пе­ре­хоплюють функції DOS FindFirst і FindNext і «зменшують» розмір зараже­них файлів. Такий вірус неможливо визначити за зміною розмірів фай­лів, якщо, звичайно, він резидентно знаходиться в пам'яті. Програми, що не використовують вказані функції DOS (наприклад, Norton Commander), а напряму звертаються до вмісту секторів, які зберігають каталог, показують правильну довжину заражених файлів.

При інфікуванні файла вірус може здійснювати дії, що маскують і прискорюють його розповсюдження. До подібних дій можна віднести обробку атрибуту Read-only, зняття його перед зараженням і подальше відновлення цього атрибуту. Багато файлових вірусів прочитують дату останньої модифікації файла і відновлюють її після зараження. Для маскування свого розповсюдження деякі віруси перехоплюють переривання DOS, що виникає при зверненні до диска, захищеного від запису, і самостійно обробляють його. Тому серед особливостей алгоритму файлового вірусу можна назвати наявність або відсутність обробки і швидкість його розповсюдження. Швидкість розповсюдження файлових вірусів, що заражають файли тільки під час їх запуску на виконання, буде нижчою, ніж у вірусів, що заражають файли при їх відкритті, перейменуванні, зміні їх атрибутів і т.д. Деякі віруси при створенні своєї копії в оперативній пам'яті намагаються зайняти область пам'яті з найстаршими адресами, руйнуючи тимчасову частину командного інтерпретатора COMMAND.COM. Після закінчення роботи зараженої програми тимчасова частина інтерпретатора відновлюється, при цьому відбувається відкриття файла COMMAND.COM і його зараження, якщо вірус вражає файли при їх відкритті.

Приклади поліморфік-вірусів

Amoeba.2367. Дуже небезпечний резидентний поліморфик-вірус. Перехоплює INT 21h і записується в кінець COM- і EXE-файлів при їх запуску або відкритті. 21 березня і 1 листопада знищує інформацію на вінчестері. Містить тексти:

Tosee aworld in а grain of sand,

And а heaven in а wildflower

Hold Infinity in the palm of your hand

And Eternity in an hour.

"THE VIRUS 16/3/91 AMOEBA virus by the Hacker Twins (C) 1991 This is nothing, wait for the release of AMOEBA II-The universal infector, hidden to any eye but ours! Dedicated to the University of Malta- the worst educational system in the universe,and the destroyer of 5X2 years of human life.

Simulation. Безпечний нерезидентний поліморфік-вірус. Шукає .COM-файли і записується в їх кінець. Періодично виводить одне з повідомлень, після чого завішує комп'ютер:

HA HA HA YOU HAVE А VIRUS ! FRODO LIVES!

Have you ever danced with the Devil in the pale moonlight?

DATACRIME VIRUS RELEASED 1 MARCH 1989 ALIVE...

Your system is infected by the SIMULATION virus.

Have а nice day!

Predator (файлово-завантажувальні)

Нешкідливі резидентні COM-EXE-MBR-Boot-поліморфік-віруси. Під час запуску зараженого файла трасують і перехоплюють INT 13h, 21h і за­пи­суються в MBR вінчестера. Потім записуються в кінець COM- і EXE-фай­лів при зверненнях до них. Вражають Boot-сектори дискет. При заванта­женні з ураженого флопі-диска перехоплюють INT 13h і чекають завантаження DOS, потім перехоплюють INT 21h і приступають до зараження. Містять текст:

THE PREDATOR. TORPNACSAELCFASVVAPC.

VANOCED

Останній рядок містить частини імен файлів (задом наперед), які не вражаються вірусом PROT, SCAN, CLEA, VSAF, CPAV, NAV, DECO.

Також містять рядки:

"Predator.2248" Predator virus #2 (c) 1993 Priest - Phalcon/Skism

"Predator.2424" Predator virus #2 (c) 1993

Here comes the Predator!

Samara.1536. Безпечний резидентний файлово-завантажувальний поліморфік-ві­рус. При старті з інфікованого файла заражає MBR вінчестера, перехоплює INT 21h і записується в кінець COM- і EXE-файлів при їх запуску (окрім COMMAND.COM). Забороняє запуск антивірусів AVPLITE, AIDSTEST, AVP, DRWEB, SCAN.

При завантаженні з інфікованого MBR вірус пере­хоплює INT 13h, чекає завантаження DOS і потім перехоплює INT 21h. При завантаженні з boot-сектора дискети вірус ще заражає MBR. При зараженні MBR і boot-секторів не зберігає їх оригінали. Для збереження працездатності системи вірус при завантаженні із зараженого диска само­стій­но прочитує і запускає на виконання перший логічний сектор диска С, який містить заван­та­жувальний код операційної системи.

OneHalf, сімейство. Дуже небезпечні резидентні файлово-завантажувальні поліморфік-віруси. При запуску заражають MBR вінчестера, при завантаженні з ураженого диска перехоплюють INT 13h, 1Ch, 21h і записуються в COM- і EXE-файли при зверненні до них. Не заражають файли SCAN, CLEAN, FINDVIRU, GUARD, NOD, VSAFE, MSAV, CHKDSK. Код-розшиф­ро­ву­вач цих вірусів розкиданий по всьому файла з випадковими зсувами. При зараженні вінчестера вірус прочитує його MBR і сканує таблицю розділів диска (DPT). У ній він шукає останній DOS'івський диск – логічний диск (FAT-12,16/BIGDOS) або Extended par­ti­tion, і коли знаходить, підраховує номер першого і останнього цилінд­рів знай­деного диска (або Extended partition). При цьому вірус досить грамотно обробляє диски, що мають більше 1024 циліндрів і не вписуються в стандарти INT 13h. Вірус запам'ятовує адреси цих циліндрів і заражає вінчестер.

Потім при завантаженні із зараженого вінчестера вірус шифрує два останні циліндри диска, при наступному завантаженні – ще два і т.д., поки не дійде до першого циліндра. При цьому вірус використовує адреси першого і останнього циліндрів диска, які запам'ятав при зараженні він­чес­те­ра. Коли кількість зашифрованих циліндрів перевалить за половину диска, вірус повідомляє (залежно від поточної дати і свого "покоління"):

Disк is one half.

Press any key to continue...

Таким чином, чим частіше перезавантажується заражений комп'ю­тер, тим більше дані виявляються зашифрованими. Після завантаження в пам'ять вірус розшифровує/зашифровує ці сектори "на льоту", тому користувач не помічає того, що його дані зіпсовані. Проте, якщо вилікувати MBR, то всі дані виявляються втраченими.

"OneHalf.3518" не шифрує себе у файлах. Виводить текст:

A20 Error !!! Press any key to continue ...

"OneHalf.3544.b" не заражає файли AIDS*.*, ADINF*.*, DRWEB*.*, ASD*.*, MSAV*.*. Виводить повідомлення:

Dis is TWO HALF. Fucks any key to Goping...

Cheeba, сімейство. Резидентні безпечні віруси. Активізуються, коли вектор INT 13h вка­зує на область з адресою меншою, ніж адреса першого MCB. В обробниках INT 13h, 21h, 22h замінюють перші 5 байтів на код "FAR JMP на тіло ві­русу", потім записуються в кінець COM- і EXE-файлів. Містять текст:

CHEEBA Makes Уа High Harmlessly F**K THE LAMERS.

У вірусі присутні також коди, які розшифровуються і виконуються при відкритті файла USERS.BBS, використовуючи ім'я файла як ключ розшифровки. При цьому вірус записує у файл USERS.BBS якусь інформацію (створює ім'я з максимальними привілеями?).

Bomber. Нешкідливий резидентний поліморфік-вірус. Перехоплює INT 21h і заражає COM-файли, окрім COMMAND.COM, при їх запуску. Містить усередині себе текст:

COMMANDER BOMBER WAS HERE. [DAME]

Характерною рисою цього вірусу є те, що він використовує досить незвичайний поліморфік-алгоритм. При зараженні вірус прочитує 4096 байтів з середини файла і переносить їх в його кінець. Себе він записує в “диру”, що утворилася, і приступає до генерації поліморфік-коду. Вірус містить декілька підпрограм генерації випадкового (але цілком працездатного!) коду, який записується у випадкові місця файла, що заражається. У цьому коді може бути присутньою близько 90% всіх інструкцій процесора i8086. Управління з однієї ділянки в іншу передається командами CALL, JMP, RET, RET xxxx. Перша ділянка записується в початок файла, а остання пе­редає управління на основне тіло вірусу. У результаті заражений файл ви­глядає як би покритий “плямами” коду вірусу, а процедура виявлення основного тіла вірусу стає надзвичайно складною.
1   2   3   4   5   6   7

Схожі:

Лекція №4 Тема: Програмне забезпечення персональних комп’ютерів
Системне програмне забезпечення призначене для керування роботою складових комп’ютера та обміном даними між ними, діагностування...
Тема. Програмне забезпечення комп’ютерних систем Мета
Обладнання й матеріали: Комп’ютерний клас обладнаний в мережу, програмне забезпечення
ДНК-геномні віруси (герпес-, покс- і адено­віруси)
Тому знання теми необхідне лікарям усіх спеціальностей, в тому числі педіатрам, для правильного вибору методів діагностики, забезпечення...
18. Прикладне програмне забезпечення спеціального призначення
Прикладне програмне забезпечення спеціального призначення. Інструментальні програмні засоби для розв’язування прикладних задач з...
План Історія виникнення вірусів. Віруси “Pakistani Brain”, “Alameda...
Добра і Зла. Не обійшлися без цього протистояння і активні процеси комп’ютеризації суспільства
ЛІЦЕНЗІЙНИЙ ДОГОВІР НА ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ
БУДЬ ЛАСКА, УВАЖНО ПРОЧИТАЙТЕ ЦЕЙ ДОКУМЕНТ ПЕРЕД ВСТАНОВЛЕННЯМ АБО ВИКОРИСТАННЯМ ЦЬОГО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Конспект уроку Тема уроку:  Компютерні віруси. Антивірусні програми
Познайомити учнів з видами комп’ютерних вірусів, навчити розпізнавати ці віруси; 
План-конспект лекції Тема: Запуск та налагоджування Internet. 
Апаратне забезпечення: Пристрій за допомогою якого будемо заходити в Інтернет (ноутбуки, КПК, мобільні телефони та ін.) та модем...
Лекція з навчальної дисципліни «КОНФЛІКТОЛОГІЯ»
Мета лекції: познайомити студентів з особливостями переговорного процесу та пояснити основні принципи проведення переговорів
Тема Кількість годин
ПК з пудключенням до мережі,необхідне програмне забезпечення, роздатковий матеріал
Додайте кнопку на своєму сайті:
Портал навчання


При копіюванні матеріалу обов'язкове зазначення активного посилання © 2013
звернутися до адміністрації
bibl.com.ua
Головна сторінка