Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Віруси як шкідливе програмне забезпечення↑ Стр 1 из 4Следующая ⇒ Содержание книги
Поиск на нашем сайте
Лекція 4 ВІРУСИ ЯК ШКІДЛИВЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ
План лекції: 1. Класифікація комп'ютерних вірусів. 2. Систематизація комп’ютерних вірусів. 3. Файлові віруси. 4. Завантажувальні (бутові) віруси. 5. Макро-віруси. 6. Мережеві віруси. 7. Стелс-віруси. 8. Поліморфік-віруси. 9. Способи захисту від вірусів.
Класифікація комп'ютерних вірусів Віруси можна розділити на класи за такими ознаками: - за середовище існування; - за способом зараження; - за особливостями використовуваних алгоритмів; - за деструктивними можливостями. Віруси за середовищем їх існування. За цією ознакою віруси поділяються на: - файлові віруси; - завантажувальні віруси; - макро-віруси; - мережні віруси. Файлові віруси діють одним з таких способів: - впроваджуються в основному у виконувані файли, тобто у файли з розширеннями СОМ та ЕХЕ. Вони можуть впроваджуватись і у файли інших типів, але в такому випадку, як правило, вони ніколи не отримують управління, і, як наслідок, втрачають здатність до розмноження; - створюють файли-двійники (компаньйон-віруси); - використовують особливості організації файлової системи (Link-віруси). Бутовські (завантажувальні) віруси діють такими методами: - впроваджуються в завантажувальний сектор диска (надалі Boot-cектор або бут-сектор); - впроваджуються в сектор, що містить програму завантаження системного диска (Master Boot Record); - змінюють покажчик на активний boot-сектор. Існують файлово-бутівські віруси, що заражають і файли, і завантажувальні сектори дисків. Макро-віруси заражають файли-документи і електронні таблиці відомих програмних продуктів. Мережні віруси використовують для свого розповсюдження протоколи або команди комп’ютерних мереж та електронної пошти. Віруси за способом зараження. Резидентні віруси при зараженні (інфікуванні) комп’ютера залишають в оперативній пам’яті свою резидентну частину, яка потім перехоплює звернення операційної системи до об’єктів зараження (файлів, завантажувальних секторів тощо) і впроваджується в них. Резидентні віруси знаходяться в пам’яті і є активними до самого вимкнення комп’ютера або до його перевантаження. Нерезидентні віруси не заражають пам’ять комп’ютера і є активними лише обмежений проміжок часу. Деякі віруси лишають в пам’яті невеликі резидентні програми, які не розповсюджують вірус. Такі віруси вважаються нерезидентними. Віруси за особливостями використовуваних алгоритмів. Прості віруси – це віруси-паразити, вони змінюють вміст файлів і секторів дисків і можуть бути досить легко виявлені та знешкоджені. Стелс-віруси (або віруси-невидимки) – це віруси, які повністю або частково приховують себе в системі. Найбільш розповсюдженим стелс-алгоритмом є перехоплення запитів ОС на читання-записування заражених об’єктів. Стелс-віруси при цьому або тимчасово виліковують їх, або підставляють замість себе незаражені ділянки інформації. Це можуть бути і макро-віруси, які можуть забороняти виклики меню перегляду макросів. Це можуть бути і файлові (наприклад, вірус “Frodo”), і бутовські (вірус “Brain”) стелс-віруси. Віруси-мутанти, які можуть використовувати алгоритми шифровки-розшифровки та поліморфізму, завдяки яким копії одного і того самого вірусу не мають жодного ланцюжка байтів, що повторюються. Поліморфік-віруси досить важко виявити, вони не мають сигнатури, тобто не містять жодної сталої ділянки коду. Віруси за деструктивними можливостями. Опис деструктивних можливостей вірусу можна представити у такому розрізі: - нешкідливі віруси ніяким чином не впливають на роботу комп’ютера, крім зменшення вільної пам’яті на диску в результаті свого поширення; - безпечні віруси вплив вірусів обмежується зменшенням вільної пам’яті на диску і графічними, звуковими та іншими ефектами; - небезпечні віруси можуть призводити до серйозних збійних ситуацій у роботі комп’ютера; - дуже небезпечні віруси можуть призводити до втрати програми, знищення даних, стирання необхідної для роботи комп’ютера інформації, яка записана в системних областях пам’яті, і навіть сприяти прискореному зносу рухомих частин механізмів, наприклад, головок вінчестера.
Файлові віруси До даної групи відносяться віруси, що при своєму розмноженні тим чи іншим способом використовують файлову систему якої-небудь ОС. Впровадження файлового вірусу можливе практично в усі виконувані файли усіх популярних операційних систем. На сьогоднішній день відомі віруси, що вражають всі типи виконуваних об'єктів: командні файли (BAT), драйвери (SYS, у тому числі спеціальні файли IO.SYS і MSDOS.SYS) і виконувані двійкові файли (EXE, COM). Існують віруси, що вражають файли інших операційних систем - Windows, OS/2, Macintosh, UNIX, включаючи VxD-драйвери Windows. Існують віруси, які заражають файли, що містять вихідні тексти програм, бібліотечні чи об'єктні модулі. Можливий запис вірусу й у файли даних, але це може бути або в результаті помилки вірусу, або при прояві його агресивних властивостей. Макро-віруси також записують свій код у файли даних або у документи та електронні таблиці, однак ці віруси настільки специфічні, що винесені в окрему групу. Файлові віруси є найпоширенішим типом комп'ютерних вірусів. Вони становлять близько 80% загальної кількості вірусів, відомих для комп'ютерів, які сумісні з ІВМ РС. Цей клас комп'ютерних вірусів має дуже високу інфікуючу спроможність. За відсутності протидії вони викликають справжні епідемії. Так, наприклад, відбулося з вірусом RСЕ-1813.ІЕR, відомого також під назвами Jerusalim (Єрусалим), Black Friday (Чорна п'ятниця). Більшість розповсюджених файлових вірусів мають штами, які не дуже відрізняються від базової версії. Тому можна говорити про групи файлових вірусів і, відповідно, групові дескриптори і групові сигнатури. Нині кількість виявлених у країнах СНД файлових вірусів перевищує кілька сотень, тому запам'ятовування їх класифікаційних кодів суттєво полегшується, якщо вони використовуються з розширенням, яке показує, до якої групи належить даний вірус. Класифікаційний код файлового вірусу. Файлові віруси можна розділити на резидентні і нерезидентні, оскільки це в багатьох випадках визначає поведінку вірусу і насамперед його інфікуючу спроможність (резидентні віруси мають значно вищу інфікуючу спроможність порівняно з нерезидентними). Класифікаційний код файлових резидентних вірусів починається з префікса R, наприклад R-1701.САS. Префікс файлового віруса. Крім символу R, класифікаційний код файлового вірусу може включати символи С і Е або їх комбінацію. Як уже зазначалося, символи С і Е визначають типи файлів, заражених даним вірусом. Наприклад, якщо резидентний вірус заражає СОМ- і ЕХЕ-файли, то його класифікаційний код матиме префікс RСЕ. Кількісна характеристика. У якості кількісної характеристики можна використовувати: - нормований приріст або інфективну довжину (infective length); - довжину коду вірусу; - приріст довжини будь-якого зараженого файла. До об'єктивних властивостей файлових вірусів, що безпосередньо спостерігаються, можна віднести насамперед приріст довжини файлів при зараженні. Цей приріст, який зумовлює наявність вірусу, можна використати для визначення його типу. Тут є дві основні проблеми. По-перше, величина приросту може варіюватися залежно від довжини зараженого файла (багато вірусів при дописуванні свого коду в кінець зараженого файла вирівнює своє тіло на найближчу адресу, кратну 16, тобто на межу параграфа). По-друге, величина приросту може не збігатися для СОМ- і ЕХЕ-файлів. Тому як кількісну характеристику частіше використовують нормований приріст – інфективну довжину, яку визначається за такими правилами: - для вірусів з префіксом С і СЕ (RС, RКСЕ) характеристика класифікаційного коду має дорівнювати мінімальному приросту довжини СОМ-файла (для вірусів типу С і СЕ) або ЕХЕ-файла (для вірусів типу Е); - для вірусів, які не змінюють довжину файла, вказується нуль, а через дефіс дійсна довжина тіла вірусу, наприклад RС-О-346.LЕН; - для вірусів, які маскують збільшення довжини файла на зараженій програмі, до характеристики, визначеної за першим правилом, зліва додається незначущий нуль (наприклад, RСЕ-02000. DAV). Відзначимо, що запропонований першим правилом підхід дозволяє зняти вплив вирівнювання на межу параграфа для вірусів, які вирівнюють свій приріст вказаним способом. Крім того, для вірусів, які змінюють свій приріст визначеним способом, наприклад шляхом підгонки до величини, кратної 51, мінімальний приріст також дає можливість позбутися впливу вставних байтів (цей випадок можна розглядати як різновидність вирівнювання). І нарешті, для вірусів, які багато разів заражують один і той самий файл, використання мінімального приросту дозволяє звільнитися від впливу багаторазового зараження. Для визначення інфективної довжини не треба буде проводити спеціальні експерименти із зараження файлів. Здебільшого її можна досить просто визначити, порівнявши прирости довжин двох або більше заражених файлів типу СОМ. Найчастіше файлові віруси заражають командний процесор МS-DОS (файл СОММАND.СОМ) і програми, назви яких знаходяться у файлі АUТОЕХЕС.ВАТ. При аналізі кількох заражених файлів можливі два найтиповіші (хоч і не єдино можливі) випадки. Якщо прирости довжин двох або більше заражених файлів збігаються, а залишки від ділення довжин початкових файлів на 16 відрізняються один від одного, то, ймовірно, вірус не виконує вирівнювання свого коду на межу параграфа й інфективну довжину L даного вірусу можна дістати за формулою: L=D- 16-mod (LEN, 16)), тобто відніманням із отриманого приросту D доповнення 16 залишку від ділення початкової довжини LEN файла на 16. Наприклад, файл СОММАND.СОМ, який файлові віруси здебільшого пошкоджують в числі перших, у найпоширеніших нині версіях М8-DOS має довжину 25307. При цьому залишок від ділення 25307 на 16 дорівнює 11 (mod(25307,16)=11). Очевидно, що доповнення до 16 дорівнює 5, і для вирівнювання на межу параграфа необхідна вставка п'яти додаткових байтів. У цьому випадку інфективна довжина буде на 5 менша, ніж приріст довжини файла СОММАND.СОМ. Перевагою прийнятого підходу є те, що, за окремим винятком (наприклад, вірус RСЕ-1813.ІЕR), визначена таким чином інфективна довжина збігається з довжиною коду вірусу. Як кількісна характеристика класифікаційного коду можуть застосовуватися й інші параметри. Найпоширенішими вважають такі два підходи. Використання як кількісної характеристики довжини коду вірусу, визначеної за константою, яка вміщується у фрагменті, що забезпечує дописування коду вірусу в заражений файл (цю константу можна порівняно легко визначити, аналізуючи дизасембльований код вірусу). Така характеристика є об'єктивною, тому її часто використовують розробники антивірусних програм, які досить добре володіють мовою асемблера. Але визначена так характеристика в ряді випадків не збігається зі значенням приросту довжин файлів, який спостерігається. Це знижує її цінність з погляду використання при спробі класифікації користувачем, який не володіє мовою асемблера, нового, ще невідомого йому вірусу. Наприклад, для згаданого вище єрусалимського вірусу довжина коду вірусу становить 1808 байтів, а приріст довжини при зараженні файлів типу СОМ - 1813 байтів, що пояснюється додатковим записуванням в кінець зараженого файла типу СОМ п'ятибайтної константи "Мs-Dos" (використовується як ознака зараженості файла). Використання як кількісної характеристики приросту довжини якого-небудь конкретного файла, отриманого в результаті його зараження. Цей дійсно зручний підхід втратив свою привабливість з появою ряду вірусів, які не заражають командний процесор, з розповсюдженням МS-DOS версій 4.0 і вище, в якій довжина файла СОММAND.СОМ становить 37637, з появою нових сучасних операційних систем. Дескриптор файлового вірусу. Для зручності сприйняття дескриптор вірусу розбивається на декілька складових, для яких використовуються такі позначення: DМ – головний дескриптор; DР – предикат зараження (для зручності сприйняття записаний в близькій до алгебраїчної нотації); DR (тільки для резидентних вірусів) – положення в оперативній пам'яті, реакція на "тепле" перезавантаження і розмір зайнятої пам'яті; DH – перехоплювані переривання (в шістнадцятковій системі числення). Сигнатура файлового вірусу. Як уже відзначалося, для сигнатур доцільно використовувати рядки в шістнадцятковій системі числення, які відповідають характерним послідовностям команд у тілі вірусу. Розміщення сигнатур підпорядковується такому правилу: якщо М-сигнатура входить у V-сигнатуру, то вона додається після V-сигнатури. Як уже відзначалося раніше, Т-сигнатури існують не для всіх файлових вірусів. Однією із найзручніших сигнатур для файлових вірусів є J-сигнатура. Їх можна дуже швидко визначити за допомогою будь-якого налагоджувача (Debug, Turbo Debugger, АFD і т.д.). Користувачі, які не вміють працювати з налагоджувачами, можуть використовувати для визначення J-сигнатур програму "маскошукач", яка входить в пакет VL (непоганий детектор, заснований на контекстному пошуку заданих рядків). Необхідно відзначити, що контекстний пошук можна використовувати не тільки для пошуку заражених вірусом програм, але й для пошуку програм і файлів, які знищені або пошкоджені вірусом. Наприклад, вірус С-648.VЕN при певних значеннях таймера замість зараження програми знищує її, записуючи в перші 5 байтів рядок, який відповідає переходу на підпрограму перезавантаження ВІОS. Види файлових вірусів За способом зараження файлів віруси поділяються на: - overwriting-віруси; - паразитичні ("parasitic"); - компаньйони-віруси ("companion"); - link-віруси; - віруси-хробаки; - віруси, що заражають об'єктні модулі (OBJ), бібліотеки компіляторів (LIB) і вихідні тексти програм. Overwriting-віруси. Даний метод зараження є найбільш простий: вірус записує свій код замість коду файла, що заражається, знищуючи його вміст. Природно, що при цьому файл перестає працювати і не відновлюється. Такі віруси дуже швидко виявляють себе, оскільки операційна система і додатки досить швидко перестають працювати. До різновиду overwriting-вірусів відносяться віруси, що записуються замість заголовка EXE-файлів. Основна частина файла при цьому залишається без змін і продовжує нормально працювати у відповідній операційній системі, однак заголовок виявляється зіпсованим. Parasitic-віруси. До паразитичних відносяться усі файлові віруси, що при поширенні своїх копій обов'язково змінюють вміст файлів, залишаючи самі файли при цьому цілком чи частково працездатними. Паразитичні віруси розділяються на три типи в залежності від того, куди вони записують своє тіло. 1. Впровадження вірусу в початок файла ("prepending"-віруси) може відбуватися двома способами: - вірус переписує початок файла, що заражається, у його кінець, а сам копіюється в місце, що звільнилося; - вірус створює в оперативній пам'яті свою копію, дописує до неї файл, що заражається, і зберігає отриману конкатенацію на диск. Деякі віруси при цьому дописують у кінець файла блок додаткової інформації (наприклад, вірус "Jerusalem" по цьому блоку відрізняє заражені файли від незаражених). Впровадження вірусу в початок файла застосовується в переважній більшості випадків при зараженні BAT- і COM-файлів MS DOS. Відомо кілька вірусів, що записують себе в початок EXE-файлів операційних систем DOS, Windows і навіть Linux. При цьому віруси для збереження працездатності програми або лікують заражений файл, повторно запускають його, чекають закінчення його роботи і знову записуються в його початок (іноді для цього використовується тимчасовий файл, у який записується знешкоджений файл), або відновлюють код програми в пам'яті комп'ютера і надбудовують необхідні адреси в її тілі (тобто дублюють роботу ОС). 2. Впровадження вірусу в кінець файла ("appending"-віруси) – це найбільш розповсюджений спосіб упровадження вірусу у файл. При цьому вірус змінює початок файла таким чином, що першими виконуваними командами програми є команди вірусу: а) у COM-файлі в більшості випадків це досягається зміною його перших трьох (чи більш) байтів на коди інструкції JMP Loc_Virus (чи в більш загальному випадку – на коди програми, що передає керування на тіло вірусу); б) у заголовку EXE-файла змінюються значення стартової адреси (CSIP), кількість секцій у файлі, характеристики секцій, довжина виконуваного модуля (файла), рідше – регістри-покажчики на стек (SSSP), контрольна сума файла і т.д.; в) у виконуваних файлах Windows і OS/2 (NewEXE – NE, PE, LE, LX) змінюються поля в NewEXE-заголовку. Структура цього заголовка значно складніша за заголовок DOS EXE-файлів, тому зміні підлягає більше число полів – значення стартової адреси, кількість секцій у файлі, характеристики секцій і т.д. Додатково до цього довжини файлів перед зараженням можуть збільшуватися до значення, кратного параграфу (16 байт) в DOS або секції в Windows і OS/2 (розмір секції залежить від параметрів заголовка EXE-файла); г) віруси, що впроваджуються у SYS-файли, приписують свої коди до тіла файла і модифікують адреси програм стратегії (Strategy) і переривання (Interrupt) драйвера, що заражається (зустрічаються віруси, що змінюють адресу тільки однієї з цих програм). При ініціюванні зараженого драйвера вірус перехоплює відповідний запит ОС, передає його драйверу, чекає відповіді на цей запит, коректує його і залишається разом із драйвером в одному блоці оперативної пам'яті. Такий вірус може бути надзвичайно небезпечним і живучим, він впроваджується в оперативну пам'ять при завантаженні ОС раніш за будь-яку антивірусну програму, якщо вона теж не є драйвером. Але існують віруси, які заражають системні драйвери іншим способом: вірус модифікує заголовок драйвера так, що DOS розглядає інфікований файл як ланцюжок з двох (або більше) драйверів. 3. Впровадження вірусу в середину файла ("inserting"-віруси) може здійснюватись кількома методами: а) вірус переносить частину файла в його кінець або "розсовує" файл і записує свій код у простір, що звільнився. Цей спосіб багато в чому аналогічний методам, перерахованим вище. Деякі віруси при цьому компресують перенесений блок файла так, що довжина файла при зараженні не змінюється (вірус "Mutant"); б) метод "cavity", при якому вірус записується у свідомо невикористовувані області файла. Вірус може бути скопійований у незадіяні області таблиці настроювання адреси EXE-файла (вірус "BootExe"), у заголовок EXE-файла, в область стека файла COMMAND.COM, в область текстових повідомлень популярних компіляторів. Існують віруси, що заражають тільки ті файли, що містять блоки, заповнені яким-небудь постійним байтом, при цьому вірус записує свій код замість такого блоку; в) копіювання вірусу в середину файла може відбутися в результаті помилки вірусу, у цьому випадку файл може бути зіпсований. 4. Віруси без точки входу. Окремо слід зазначити досить незначну групу вірусів, що не має "точки входу" (EPO-віруси - Entry Point Obscuring viruses). До них відносяться віруси, що не записують команд передачі керування в заголовок COM-файлів (JMP) і не змінюють адресу точки старту в заголовку EXE-файлів. Такі віруси записують команду переходу на свій код у будь-яке місце в середину файла й одержують керування не безпосередньо під час запуску зараженого файла, а під час виклику процедури, що містить код передачі керування на тіло вірусу. Причому виконуватися ця процедура може вкрай рідко (наприклад, при виведенні повідомлення про якусь специфічну помилку). Тому вірус може довгі роки "спати" усередині файла і “вискочити на волю” тільки при деяких обмежених умовах. Перед тим, як записати в середину файла команду переходу на свій код, вірусу необхідно вибрати "правильну" адресу у файлі – інакше заражений файл може виявитися зіпсованим. Відомі кілька способів, за допомогою яких віруси визначають такі адреси усередині файлів. Перший спосіб – пошук у файлі послідовності стандартного коду (віруси "Lucretia", "Zhengxi"). Ці віруси шукають у заражуваних файлах стандартні заголовки процедур C/Pascal і пишуть замість них свій код. Другий спосіб – трасування чи дизасемблювання коду файла ("CNTV", "MidInfector", "NexivDer"). Такі віруси завантажують файл у пам'ять, потім трасують чи дизасемблюють його й у залежності від різних умов вибирають команду (чи команди), замість яких записується код переходу на тіло вірусу. Третій спосіб застосовується тільки резидентними вірусами – при запуску файла вони контролюють будь-яке переривання (частіше – INT 21h). Як тільки файл, що тільки заражається, викликає це переривання, вірус записує свій код замість команди виклику переривання (віруси "Avatar.Positron", "Markiz"). Четвертий спосіб базується на так званих настроюваннях коду програми. Таблиця настроювань (relocation table) в EXE-файлах вказує на адреси в тілі програми, які при завантаженні програми повинні бути приведені у відповідність до реальних адрес пам'яті. Зазвичай адреси, що надбудовуються, містять асемблерні інструкції з обмеженого набору. Вірус може легко ідентифікувати конкретну інструкцію, замінити її на виклик свого коду JMP_Virus і занулити відповідний запис у таблиці настроювань (щоб команда JMP_Virus не виявилася зіпсованою при завантаженні файла в пам'ять). Компаньйон-віруси. До категорії "компаньйон" відносяться віруси, які не змінюють файлів, що заражаються. Алгоритм роботи цих вірусів полягає в тому, що для файла, який заражається, створюється файл-двійник, причому при запуску зараженого файла керування одержує саме цей двійник, тобто вірус. Найбільш поширені компаньйон-віруси, що використовують особливість DOS першим виконувати.COM-файл, якщо в одному каталозі присутні два файли з тим самим ім'ям, але різними розширеннями імені –.COM і.EXE. Такі віруси створюють для EXE-файлів файли-супутники, що мають те ж саме ім'я, але з розширенням.COM, наприклад, для файла XCOPY.EXE створюється файл XCOPY.COM. Вірус записується в COM-файл і ніяк не змінює EXE-файл. При запуску такого файла DOS першим знайде і виконає COM-файл, тобто вірус, який потім запустить і EXE-файл. Деякі віруси використовують не тільки варіант COM-EXE, але також і BAT-COM-EXE. Другу групу складають віруси, що при зараженні перейменовують файл у яке-небудь інше ім'я, запам'ятовують його (для наступного запуску файла-хазяїна) і записують свій код на диск під іменем файла, що заражається. Наприклад, XCOPY.EXE перейменовується в XCOPY.EXD, а вірус записується під ім'ям XCOPY.EXE. При запуску керування одержує код вірусу, що потім запускає оригінальний XCOPY, що зберігається під ім'ям XCOPY.EXD. Цікавий той факт, що даний метод працює, напевно, у всіх операційних системах: в DOS, в Windows і OS/2. У третю групу входять так називані "Path-companion" віруси, що "грають" на особливостях PATH. Вони або записують свій код під іменем зараженого файла, але "вище" на один рівень PATH (ОС, таким чином, першим знайде і запустить файл-вірус), або переносять файл-жертву на один підкаталог вище і т.д. Можливе існування й інших типи компаньйонів-вірусів, що використовують інші особливості інших операційних систем. Link-віруси. Link-віруси, як і компаньйон-віруси не змінюють фізичного вмісту файлів, однак під час запуску зараженого файла "змушують" ОС виконати свій код. Цієї мети вони досягають модифікацією необхідних полів файлової системи. На сьогоднішній день відомий єдиний тип Link-вірусів – віруси сімейства "Dir_II". При зараженні системи вони записують своє тіло в останній кластер логічного диска. При зараженні файла віруси коректують лише номер першого кластера файла, розташований у відповідному секторі каталогу. Новий початковий кластер файла буде вказувати на кластер, що містить тіло вірусу. Отже, при зараженні файлів їх довжини і вміст кластерів диска, що містять ці файли, не змінюються, а на всі заражені файли на одному логічному диску буде приходитися тільки одна копія вірусу. Таким чином, до зараження дані каталогу зберігають адресу першого кластера файла, а після зараження дані каталогу вказують на вірус, тобто при запуску файла керування одержують не самі файли, а вірус. Файлові хробаки. Файлові хробаки (worms) є, у деякому сенсі, різновидом компаньйон-вірусів, але при цьому ніяким чином не пов'язують свою присутність з якимось виконуваним файлом. При розмноженні вони лише копіюють свій код у які-небудь каталоги дисків у надії, що ці нові копії будуть колись запущені користувачем. Іноді ці віруси дають своїм копіям спеціальні імена, щоб підштовхнути користувача на запуск своєї копії, наприклад, INSTALL.EXE чи WINSTART.BAT. Існують віруси-хробаки, що використовують досить незвичайні прийоми, наприклад, записують свої копії в архіви (ARJ, ZIP та ін.). До таких вірусів відносяться "ArjVirus" і "Winstart". Деякі віруси записують команду запуску зараженого файла в BAT-файли (наприклад, "Worm.Info"). Не слід плутати файлові віруси-хробаки з мережними хробаками. Перші використовують тільки файлові функції якої-небудь ОС, другі ж при своєму розмноженні користуються мережними протоколами. OBJ-, LIB-віруси і віруси у вихідних текстах. Віруси, що заражають бібліотеки компіляторів, об'єктні модулі і вихідні тексти програм досить екзотичні і практично не поширені. Усього їх біля десятка. Віруси, що заражають OBJ- і LIB-файли, записують у них свій код у форматі об'єктного модуля чи бібліотеки. Заражений файл, таким чином, не є виконуваним і нездатний на подальше поширення вірусу у своєму поточному стані. Носієм же "живого" вірусу стає COM- чи EXE-файл, одержуваний у процесі лінковки зараженого OBJ/LIB-файла з іншими об'єктними модулями і бібліотеками. Таким чином, вірус поширюється в два етапи: на першому заражаються OBJ/LIB-файли, на другому етапі (лінковка) виходить працездатний вірус. Зараження вихідних текстів програм є логічним продовженням попереднього методу розмноження. При цьому вірус додає до вихідних текстів свій вихідний код (у цьому випадку вірус повинен містити його у своєму тілі) чи свій шістнадцятковий дамп (що технічно легше). Заражений файл здатний на подальше поширення вірусу тільки після компіляції і лінковки (віруси "SrcVir", "Urphin"). Приклади файлових вірусів Abba.9849. Безпечний резидентний вірус. Перехоплює INT 21h і записується в кінець COM- і EXE-файлів при їх запуску. Містить рядки \COMMAND.COM Program too big to fit in memory \ABBAл|*.* E\ABBAл| Створює на поточному диску файли ABBAл|nn з атрибутами HIDDEN і READONLY, 'nn' - число файлів, заражених на цьому диску. Це число збільшується при зараженні чергового файла – вірус перейменовує цей файл в ABBAл|(nn+1). Залежно від числа nn вірус проявляє себе якимсь відео-ефектом на відео карті Hercules. Lenin 943. Безпечний нерезидентний вірус. При запуску шукає EXE-файли і записується в їх кінець. При зараженні не змінює значення регістрів в EXE-заголовку, а вставляє в точку входу у файл команду CALL FAR virus і коректує Relocation Table. Залежно від своїх лічильників виводить тексти САМЫЙ! ЧЕЛОВЕЧНЫЙ! ЧЕЛОВЕК! Ленин и сегодня живее всех живых держит мертвой хваткой упыря Також містить рядки *.EXE PATH= Metall.557. Дуже небезпечний нерезидентний вірус. Шукає.COM-файлы окрім COMMAND.COM і записується в їх кінець. Коректно заражає тільки файли, на початку яких присутня команда JMP/CALL NEAR. Решта файлів після зараження виявляється зіпсованими. Залежно від системного таймера перемішує символи на екрані. Містить рядок: METALL\I Scorpion.2278. Дуже небезпечний нерезидентний зашифрований вірус. При запуску заражає файл C\COMMAND.COM, потім шукає COM- і EXE-файли і записується в їх кінець. При зараженні COMMAND.COM записується в кінець файлa в область стека COMMAND.COM і, таким чином, не збільшує його довжину. Знищує файли з ім'ям CHKLIST.MS. В деяких випадках також шукає інші файли і знищує їх. Залежно від системної дати і встановленого BIOS'а форматує вінчестер, виводить текст: DEATH ON TWO LEGS V2.8 (c) BLACK SCORPiON, 1996 Written in Moscow потім перехоплює INT 1Ch і програє мелодію. Вірус також містить рядки: *.* *.EXE *.COM C\COMMAND.COM DEATH ON TWO LEGS WAS HERE Sisters.2221. Дуже небезпечний резидентний зашифрований вірус. Перехоплює INT 21h, 16h і записується в кінець COM- і EXE-файлів при їх запуску. Знищує антивірусні файли даних CHKLIST.MS і CHKLIST.CPS. Залежно від значень внутрішнього лічильника і поточної дати вірус відключає драйвер миші, стирає 40 секторів на диску C, видаляє CMOS пам'ять, завішує комп'ютер, виводить повідомлення: TEMPLE OF LOVE V1.0 MS 95. FoUnD VIRUS SYSTERS OF MERCY iN yOuR sYsTeM!!! Вірусний обробник INT 16h (клавіатура) стирає CMOS-пам'ять комп'ютера після 700 натиснень на клавіші. Вірус також містить рядки тексту: SyStEm is now halted.
Сигнатура бутового вірусу Для бутових вірусів М-, І-, В-сигнатури використовуються аналогічно тому, як це було для файлових вірусів, а J-сигнатура – в дещо іншому вигляді. На відміну від J-сигнатури для файлових вірусів, в якій байти відповідають команді переходу і не враховуються, в J-сигнатурі для бутових вірусів вони враховуються. Це пов'язано з тим, що першою командою бут-сектора завжди є команда обходу таблиці параметрів диска, розмір якої, на відміну від розміру зараженого файла, не змінюється. Тому для бутових вірусів використовують переважно J-сигнатуру, яка складається з перших трьох байтів бут-сектора, і лише при необхідності доповнюється, починаючи з байта, на якому виконується команда переходу. Для незараженого бут-сектора (наприклад, для МS-DOS версії 3.3) J-сигнатура дорівнює ЕВ3490h (об'єктний код команди JМР, який служить для обходу таблиці параметрів). Цінність цієї еталонної J-сигнатури в тому, що вона порівняно легко запам'ятовується. Тому невідповідність перших трьох байтів бут-сектора, що аналізується, вказаній еталонній J-сигнатурі свідчить про зараження бут-сектора. Макро-віруси Багато табличних і графічних редакторів, системи проектування, текстові процесори мають свої макро-мови для автоматизації виконання повторюваних дій. Ці макро-мови часто мають складну структуру і розвинений набір команд. Макро-віруси є програмами на макро-мовах, вбудованих у системи обробки даних. Для свого розмноження віруси цього класу використовують можливості макро-мов і при їх допомозі переносять себе з одного зараженого файла (документа, таблиці) в інші. На кінець 1999 року відомо декілька систем, у яких виявлені макро-віруси. Це основні додатки Microsoft Office: - редактор MS Word – мова WordBasic у MS Word 6/7 і VBA (Visual Basic for Applications), починаючи з MS Word 8; - редактор таблиць MS Excel – мова VBA; - редактор баз даних MS Access – мова VBA; - редактор презентацій MS PowerPoint – мова VBA; - менеджер проектів MS Project – мова VBA. Піддався зараженню макро-вірусами також редактор AmiPro – спеціальна скрипт-мова. Найбільше поширення одержали макро-віруси для Microsoft Office (Word, Excel і PowerPoint). Віруси в інших додатках MS Office досить рідкі, а для AmiPro відомий всего один макро-вирус. Можливе також існування макро-вірусів і для інших систем, що підтримують макро-мови достатньої потужності. Приклади макро-вірусів Macro.Word.Box. Містить сім макросів AutoOpen, AutoClose, Box, Dead, FilePrint, FilePrintDefault, ToolsMacro. При викликах AutoOpen і AutoClose заражає глобальні макроси і документи. Макрос ToolsMacro використовується для заборони меню Tools/Macro. Решта макросів містить процедури зараження і різні ефекти. Виявляється декількома способами. При друці вставляє в документи рядки китайською мовою, виводить MessageBox, записує на диск і запускає вірус "OneHalf.3544", створює і програє WAV-файл (звуковий ефект). Викликає команди DOS: - echo y|format с/u - echo y|format c/u/vTwnos1 Містить рядки: - Taiwan Super No.1 Macro Virus - Twno1-S - Today Is My Birthday - Macro.Word.Catch Містить шість макросів AutoOpen, encrypt1, FileSave, AutoClose, infectdoc, infectnorm. Зараження системної області макросів і документів відбувається при відкритті файлів. Вірус замінює в документах букви "i" на "o", "o" на "i", "a" на "e", "e" на "a". Причому підміна символів непомітна. При відкритті заражених файлів вірус відновлює текст документа в первинному вигляді, а при збереженні документів на диск – знову замінює. В результаті після лікування вірусу текст документів може виявитися зіпсованим. Після кожної заміни вірус видає в StatusBat крапку. При закритті документів залежно від лічильника випадкових чисел (з вірогідністю 1%) вірус видає повідомлення: Its а Catch 22 Situation! Macro.Excel.Soldier. Поліморфний макро-вірус, заражає електронні таблиці Excel. Містить чотири функції з постійними іменами Auto_Open, Auto_Close, Delay, Poly; і декілька функцій з випадковими іменами. При відкритті зараженої таблиці видаляє рядки меню Format/Sheet/Hide і Format/Sheet/Unhide (стелс). При закритті заражає файли, що знаходяться у поточному каталозі. При зараженні залежно від системного датчика випадкових чисел вставляє в початок тексту функції з випадковими іменами і випадковими рядками. Також залежно від випадкового числа виводить в заголовок Excel рядок, що біжить: Microsoft Excel.
Мережеві віруси Мережеві віруси поширюються по комп'ютерних мережах. Існують комбінації, наприклад, файлово-бутові віруси, які заражають і файли, і бут-сектори дисків. Крім того, у комп'ютерних мережах можуть розповсюджуватись віруси будь-яких типів. Віруси розповсюджуються від одного користувача до іншого внаслідок обміну програмними продуктами. Локальні мережі, як відомо, призначені для сумісного використання програмних пакетів кількома користувачами. Мережі дозволяють широко обмінюватися програмами і даними. Очевидно, що при цьому створюється зручне середовище для розповсюдження вірусу. Так, якщо вірус заразив програму login.ехе, яка знаходиться на сервері і яку запускає кожен користувач при вході в мережу, то дуже швидко вірус з'явиться на всіх робочих станціях. Але на практиці ситуація виглядає не дуже драматично, бо мережні операційні системи мають механізми захисту і розподілу користувачів. При грамотному використанні цих можливостей можна обмежити область, в якій може розповсюдитись вірус, внесений з робочої станції, тільки робочою областю того користувача, який вніс його в систему. Існують мережні віруси, які розраховані на спеціальні мережні диски, наприклад, на систему Netware – вони несанкціоновано входять у систему і, використовуючи максимальні повноваження супервізора, пошкоджують програми, які знаходяться на мережних дисках. Все це свідчить про те, що рівень захищеності сучасних операційних систем поки що бажає бути кращим. Доки залишається принципова можливість такого втручання, доти існує небезпека появи таких вірусів. IRC-хробаки. IRC (Internet Relay Chat) – це спеціальний протокол, розроблений для комунікації користувачів Інтернет у реальному часі. Цей протокол надає можливість так званої Інтернет-розмови за допомогою спеціально розробленого програмного забезпечення. IRC чимось схожий на телефонну розмову, за винятком того, що в розмові можуть брати участь більш двох співрозмовників, що поєднуються по інтересах у різні групи IRC-конференцій. Для підтримки IRC-конференцій створені різні IRC-сервера, до яких підключаються учасники IRC-розмов. В усьому світі нараховується величезна кількість IRC-серверів, об'єднаних у так звані мережі. Найбільшою є мережа EFnet, сервер якої щодня одночасно відвідують кілька десятків тисяч користувачів. Для підключення до IRC-сервера і ведення IRC-розмов розроблені спеціальні програми – IRC-клієнти. Підключившись до IRC-сервера за допомогою п
|
||||
Последнее изменение этой страницы: 2016-07-16; просмотров: 789; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.16.135.226 (0.017 с.) |