Як видалити вірус? Макровіруси, мережеві віруси - віруси та антивіруси

Мережеві віруси – це надзвичайна небезпека з боку локальних мережта Інтернету включно. Віруси, проникаючи на комп'ютер через мережу, можуть призвести не тільки до пошкодження. важливої ​​інформації, А й самої системи загалом. Мережеві віруси для поширення використовують можливості та протоколи глобальних та локальних мереж. Найголовнішим принципом роботи такого вірусу є унікальна можливість передати свій код без допомоги на робочу станцію або віддалений сервер. Більшість мережевих вірусів, крім можливості самостійно проникати через мережу на віддалені комп'ютери, можуть там же запустити на виконання свій програмний код, або, в деяких випадках, трохи підштовхнути користувача, щоб той запустив інфікований файл.

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

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

У минулому, мережні віруси поширювалися у мережі і, як і, як і компаньйон-вирусы, під час зараження не змінювали сектора чи файли на дисках. Мережеві віруси проникали на згадку про комп'ютер з мережі. Після прибуття вони моментально обчислювали мережеві адреси інших комп'ютерів і миттєво розсилали свої копії. Іноді ці віруси одночасно створювали на дисках системи робочі файли, але також могли не звертатися взагалі до системних ресурсів комп'ютера (оперативна пам'ять є винятком з правил).

Після величезних витрат, викликаних кількома мережевими вірусами, всілякі помилки у програмному забезпеченні та мережевих протоколах були виправлені, а так звані «задні двері» надійно зачинені. Як результат таких дій – за останні кілька років їхня активність спала. Також за цей період не було зафіксовано жодного випадку успішної атаки мережевим вірусом. Також слід зазначити, що за цей період не з'явилося жодного нового мережевого вірусу.

Знову актуальною проблемою атак мережевих вірусів стала на початку 1997 року. Саме тоді з'явилися «Win.Homer» та «Macro.Word.ShareFun». Останній використовує всі сучасні можливості електронної пошти під назвою Microsoft Mail. Цей вірус створює новий лист, до складу якого входить код вірусу, а результатом є файл-документ. Після цього він вибирає з доступного списку адрес програми MS-Mail три абсолютно випадкові адреси і після цього розсилає по них щойно створений заражений лист. Сьогодні багато користувачів встановлюють параметри MS-Mail таким чином, що запуск MS Word відбувається в автоматичному режимі, при отриманні листа. Таким чином, вірус в автоматичному режимі впроваджується у комп'ютер. Після чого він виконує те, що закладено у вихідному коді.

Цей вірус яскраво демонструє перший тип мережного вірусу нашого часу, який поєднує в собі всі можливості вбудованої в редактори Excel і Word мови Basic, всі особливості та головні протоколи електронної пошти та спеціальні функції авто-запуску, які необхідні для подальшого поширення самого вірусу.

На відміну від першого, вірус Homer для свого поширення використовує протокол під назвою FTP і передає свою заражену копію в каталог Incoming на віддалений ftp-сервер. Так як мережевий протокол FTP повністю виключає можливість автоматичного запуску файлу на віддаленому сервері, Homer можна назвати як «напів-мережевий».

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

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

Найбільшої популярності набули мережеві віруси кінця 80-х, їх також називають мережевими хробаками (worms). До них відносяться вірус Морріса, віруси Cristmas Tree та Wank Worm. Для свого поширення вони використовували помилки та недокументовані функції глобальних мереж того часу. Віруси передавали свої копії з сервера на сервер та запускали їх на виконання. Епідемія вірусу Морріса захопила свого часу кілька глобальних мереж у США

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

Після кількох епідемій мережевих вірусів помилки у мережевих протоколах та програмному забезпеченні були виправлені, а "задні двері" зачинені. В результаті за останні десять років не було зафіксовано жодного випадку зараження мережевим вірусом та не з'явилося жодного нового мережного вірусу.

Знову проблема мережевих вірусів виникла лише на початку 1997 року з появою вірусів Macro.Word.ShareFun та Win.Homer. Перший використовує можливості електронної пошти Microsoft Mail. Він створює новий лист, що містить заражений файл-документ (ShareFun є макровірусом), потім вибирає зі списку адрес MS-Mail три випадкові адреси і розсилає по них заражений лист. Оскільки багато користувачів встановлюють параметри MS-Mail таким чином, що при отриманні листа автоматично запускається MS Word, вірус "автоматично" впроваджується в комп'ютер адресата зараженого листа.

Цей вірус ілюструє перший тип сучасних мережевих вірусів, які поєднують можливості вбудованої в Word та Excel мови Бейсік, протоколи та особливості електронної пошти та функції автозапуску, необхідні для поширення вірусу.

Другий вірус (Homer) використовує поширення протокол FTP (File Transfer Protocol) і передає свою копію на віддалений ftp-сервер в каталог Incoming. Оскільки мережний протокол FTP не дозволяє запускати файли на віддаленому сервері, цей вірус можна охарактеризувати як напівмережевий, проте це реальний прикладможливостей вірусів щодо використання сучасних мережевих протоколів та ураження глобальних мереж.

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

Що це таке

Слово "віруси"давно та добре знайоме користувачам комп'ютерів. Воно давно переросло своє первісне значення і тепер часто використовується для позначення будь-яких шкідливих програм, здатних "розмножуватися", поширюючись з комп'ютера на комп'ютер і інколи заражаючи цілі комп'ютерні мережі - аж до глобальних епідемій в інтернеті.

Це "класичні" віруси, мережеві та поштові черв'яки, "троянські коні", backdoor-програми та ін.

Чим вони небезпечні

Результатом роботи вірусу може бути:

відносно нешкідливе втручання в роботу комп'ютера - наприклад, злий жарт, коли екран гасне і видається повідомлення, що ваш жорсткий диск відформатовано;

заподіяння реальної шкоди - коли вінчестер дійсно форматується, або стираються важливі файли;

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

Віруси можна розділити на класи за такими основними ознаками:

середовище проживання;

операційну систему (OC);

особливості алгоритму роботи;

деструктивні здібності.

З СЕРЕДОВИЩА ПРОЖИВАННЯ віруси можна розділити на:

файлові;

завантажувальні;

Файлові віруси або різними методами впроваджуються у виконувані файли (найпоширеніший тип вірусів), або створюють файли-двійники (компаньон-віруси), або застосовують особливості організації файлової системи (link-вирусы).

Завантажувальні віруси записують себе або в завантажувальний сектор диска (boot-сектор), або сектор, що містить системний завантажувач вінчестера (Master Boot Record), або змінюють покажчик на активний boot-сектор.

Макро-віруси заражають файли-документи та електронні таблиці кількох популярних редакторів.

Мережеві віруси використовують для свого розповсюдження протоколи або команди комп'ютерних мереж та електронної пошти.

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

ОПЕРАЦІЙНА СИСТЕМА, що заражається (вірніше, ОС, об'єкти якої схильні до зараження) є другим рівнем поділу вірусів на класи. Кожен файловий чи мережевий вірус заражає файли якоїсь однієї чи кількох OS - DOS, Windows, Win95/NT, OS/2 тощо. Макро-віруси заражають файли форматів Word, Excel, Office97. Завантажувальні віруси також орієнтовані конкретні формати розташування системних даних у завантажувальних секторах дисків.

Серед ОСОБЛИВОСТЕЙ АЛГОРИТМУ РОБОТИ вірусів виділяються такі пункти:

резидентність;

використання стелс-алгоритмів;

самошифрування та поліморфічність;

Використання нестандартних прийомів.

РЕЗИДЕНТНИЙ вірус при інфікуванні комп'ютера залишає в оперативній пам'яті свою резидентну частину, яка потім перехоплює звернення операційної системи до об'єктів зараження та впроваджується у них. p align="justify"> Резидентні віруси знаходяться в пам'яті і є активними аж до вимкнення комп'ютера або перезавантаження операційної системи. Нерезидентні віруси не заражають пам'ять комп'ютера та зберігають активність обмежений час. Деякі віруси залишають в оперативній пам'яті невеликі резидентні програми, які не розповсюджують вірус. Такі віруси вважаються нерезидентними.

Резидентними вважатимуться макро-вирусы, оскільки вони постійно присутні у пам'яті комп'ютера весь час роботи зараженого редактора. При цьому роль операційної системи перебирає редактор, а поняття "перезавантаження операційної системи" трактується як вихід із редактора.

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

Використання СТЕЛС-алгоритмів дозволяє вірусам повністю або частково приховати себе у системі. Найбільш поширеним стелс-алгоритмом є перехоплення запитів OC читання/запис заражених об'єктів. Стелс-віруси у своїй або тимчасово лікують їх, або " підставляють " замість себе незаражені ділянки інформації. У разі макро-вірусів найпопулярніший спосіб – заборона викликів меню перегляду макросів. Один із перших файлових стелс-вірусів - вірус "Frodo", перший завантажувальний стелс-вірус - "Brain".

САМОШИФРУВАННЯ та ПОЛІМОРФІЧНІСТЬ використовуються практично всіма типами вірусів для того, щоб максимально ускладнити процедуру детектування вірусу. Поліморфік-віруси (polymorphic) - це важковиявлені віруси, які мають сигнатур, тобто. що не містять жодної постійної ділянки коду. У більшості випадків два зразки одного і того ж поліморфік-вірусу не матимуть жодного збігу. Це досягається шифруванням основного тіла вірусу та модифікаціями програми-розшифровника.

Різні НЕСТАНДАРТНІ ПРИЙОМИ часто використовуються у вірусах для того, щоб якнайглибше сховати себе в ядрі OC (як це робить вірус "3APA3A"), захистити від виявлення свою резидентну копію (віруси "TPVO", "Trout2"), утруднити лікування від вірусу (наприклад, помістивши свою копію у Flash-BIOS) і т.д.

ПО ДЕСТРУКТИВНИХ МОЖЛИВОСТЯХ віруси можна розділити на:

нешкідливі, тобто. що ніяк не впливають на роботу комп'ютера (крім зменшення вільної пам'яті на диску внаслідок свого розповсюдження);

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

небезпечні віруси, які можуть призвести до серйозних збоїв у роботі комп'ютера;

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

Але навіть якщо в алгоритмі вірусу не знайдено гілок, що завдають шкоди системі, цей вірус не можна з повною впевненістю назвати нешкідливим, тому що проникнення його в комп'ютер може викликати непередбачувані і часом катастрофічні наслідки. Адже вірус, як і будь-яка програма, має помилки, в результаті яких можуть бути зіпсовані як файли, так і сектори дисків (наприклад, цілком нешкідливий на перший погляд вірус DenZuk досить коректно працює з 360K дискетами, але може знищити інформацію на дискетах більшого обсягу). До цих пір трапляються віруси, що визначають "COM або EXE" не за внутрішнім форматом файлу, а щодо його розширення. Природно, що при розбіжності формату та розширення імені файл після зараження виявляється непрацездатним. Можливе також "заклинювання" резидентного вірусу та системи при використанні нових версій DOS, під час роботи у Windows або з іншими потужними програмними системами. І так далі.

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

Використання файлового вірусу можливе практично у всі файли всіх популярних ОС. На сьогоднішній день відомі віруси, що вражають усі типи виконуваних об'єктів стандартної DOS: командні файли (BAT), драйвери (SYS, в тому числі спеціальні файли IO.SYS і MSDOS.SYS), що завантажуються і виконуються двійкові файли (EXE, COM). Існують віруси, що вражають файли інших операційних систем - Windows 3.x, Windows95/NT, OS/2, Macintosh, UNIX, включаючи VxD-драйвера Windows 3.x і Windows95.

Існують віруси, що заражають файли, які містять вихідні тексти програм, бібліотечні чи об'єктні модулі. Можливий запис вірусу й у файли даних, але це відбувається або внаслідок помилки вірусу, або при прояві його агресивних властивостей. Макро-віруси також записують свій код у файли даних – документи або електронні таблиці, – проте ці віруси настільки специфічні, що винесені в окрему групу.

overwriting

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

До різновиду overwriting-вірусів належать віруси, які записуються замість DOS-заголовка NewEXE-файлів. Основна частина файлу при цьому залишається без змін і продовжує нормально працювати у відповідній операційній системі, проте DOS-заголовок виявляється зіпсованим.

Parasitic

Компаньйон-віруси

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

Найбільш поширені компаньйон-віруси, що використовують особливість DOS першим виконувати. Такі віруси створюють для 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" віруси, які "грають" на особливостях DOS PATH. Вони або записують свій код під ім'ям файлу, що заражається, але "вище" на один рівень PATH (DOS, таким чином, першим виявить і запустить файл-вірус), або переносять файл-жертву на один підкаталог вище і т.д.

Можливе існування та інших типів компаньйон-вірусів, які використовують інші оригінальні ідеїчи особливості інших операційних систем.

Файлові черви

Файлові черв'яки (worms) є, в певному сенсі, різновидом компаньйон-вірусів, але при цьому жодним чином не пов'язують свою присутність з виконуваним файлом. При розмноженні вони лише копіюють свій код в будь-які каталоги дисків, сподіваючись, що ці нові копії будуть коли-небудь запущені користувачем. Іноді ці віруси дають своїм копіям "спеціальні" імена, щоб спонукати користувача на запуск своєї копії - наприклад, INSTALL.EXE або WINSTART.BAT.

Існують віруси-хробаки, які використовують досить незвичайні прийоминаприклад, що записують свої копії в архіви (ARJ, ZIP та інші). До таких вірусів відносяться "ArjVirus" та "Winstart". Деякі віруси записують команду запуску зараженого файлу у BAT-файли (див. наприклад, "Worm.Info").

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

Link-віруси

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

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

OBJ-, LIB-віруси та віруси у вихідних текстах

Віруси, що заражають бібліотеки компіляторів, об'єктні модулі та вихідні тексти програм, досить екзотичні та практично не поширені. Усього їх близько десятка. Віруси, що заражають OBJ- та LIB-файли, записують у них свій код у форматі об'єктного модуля або бібліотеки. Заражений файл, таким чином, не виконується і нездатний на подальше поширення вірусу у своєму поточному стані. Носієм ж "живого" вірусу стає COM-або EXE-файл, який отримується в процесі лінкування зараженого OBJ/LIB-файлу з іншими об'єктними модулями та бібліотеками. Таким чином, вірус поширюється на два етапи: на першому заражаються OBJ/LIB-файли, на другому етапі (лінківка) виходить працездатний вірус.

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

Примітивне маскування

При інфікуванні файлу вірус може здійснювати ряд дій, що маскують та прискорюють його поширення. До подібних дій можна віднести обробку атрибуту read-only, зняття його перед зараженням та відновлення після. Багато файлових вірусів зчитують дату останньої модифікації файлу та відновлюють її після зараження. Для маскування поширення деякі віруси перехоплюють переривання DOS, що виникає при зверненні до захищеного від запису диска (INT 24h), і самостійно обробляють його.

Швидкість розповсюдження

Говорячи про файлові віруси, слід зазначити таку їхню рису, як швидкість поширення. Чим швидше поширюється вірус, тим швидше виникнення епідемії цього вірусу. Чим повільніше поширюється вірус, тим складніше його виявити (якщо, звичайно, цей вірус поки невідомий антивірусним програмам). Поняття "швидкого" та "повільного" вірусу (Fast infector, Slow infector) є досить відносними і використовуються лише як характеристика вірусу при його описі.

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

"Швидкість" резидентних вірусів зазвичай вища, ніж у нерезидентних - вони заражають файли при будь-яких зверненнях до них. В результаті на диску заражені всі або майже всі файли, які постійно використовуються в роботі.

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

Завантажувальні віруси

Завантажувальні віруси заражають завантажувальний (boot) сектор флоппі-диска та boot-сектор або Master Boot Record (MBR) вінчестера. Принцип дії завантажувальних вірусів ґрунтується на алгоритмах запуску операційної системи при включенні або перезавантаженні комп'ютера - після необхідних тестів встановленого обладнання (пам'яті, дисків тощо) програма системного завантаження зчитує перший фізичний сектор завантажувального диска (A:, C: або CD-ROM в залежності від параметрів, встановлених у BIOS Setup) і передає на нього керування.

У разі дискети або компакт-диска керування отримує boot-сектор, який аналізує таблицю параметрів диска (BPB - BIOS Parameter Block), вираховує адреси системних файлів операційної системи, зчитує їх в пам'ять і запускає на виконання. Системними файлами зазвичай є MSDOS.SYS та IO.SYS, або IBMDOS.COM та IBMBIO.COM, або інших залежно від встановленої версії DOS, Windows або інших операційних систем. Якщо ж на завантажувальному диску відсутні файли операційної системи, програма, розташована в boot-секторі диска, видає повідомлення про помилку і пропонує замінити завантажувальний диск.

У випадку вінчестера управління отримує програму, розташовану в MBR вінчестера. Ця програма аналізує таблицю розбиття диска (Disk Partition Table), обчислює адресу активного boot-сектора (зазвичай цим сектором є boot-сектор диска C:), завантажує їх у пам'ять і передає управління. Отримавши керування, активний boot-сектор вінчестера виконує ті ж дії, що і boot-сектор дискети.

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

Зараження дискет проводиться єдиним відомим способом – вірус записує свій код замість оригінального коду boot-сектора дискети. Вінчестер заражається трьома можливими способами- вірус записується або замість коду MBR, або замість коду boot-сектора завантажувального диска (зазвичай диска C:), або модифікує адресу активного boot-сектора Disk Partition Table, розташованої в MBR вінчестера.

При інфікуванні диска вірус у більшості випадків переносить оригінальний boot-сектор (або MBR) в інший сектор диска (наприклад, в перший вільний). Якщо довжина вірусу більше довжини сектора, то сектор, що заражається, міститься перша частина вірусу, інші частини розміщуються в інших секторах (наприклад, у перших вільних).

Макро-віруси (macro viruses)є програмами мовами (макро-мовах), вбудованих у деякі системи обробки даних (текстові редактори, електронні таблиці тощо). Для свого розмноження такі віруси використовують можливості макромов і за їх допомогою переносять себе з одного зараженого файлу (документа чи таблиці) до інших. Найбільшого поширення набули макро-віруси для Microsoft Word, Excel та Office97. Існують також макро-віруси, що заражають документи Ami Pro та бази даних Microsoft Access.

Для існування вірусів у конкретній системі (редакторі) необхідна наявність вбудованої в систему макромови з можливостями:

Прив'язки програми на макромові до конкретного файлу;

Копіювання макро-програм з одного файлу до іншого;

Можливість отримання управління макропрограмою без втручання користувача (автоматичні або стандартні макроси);

Цим умовам задовольняють редактори Microsoft Word, Office97 та AmiPro, а також електронна таблиця Excel та база даних Microsoft Access. Ці системи містять макромови: Word - Word Basic, Excel, Office97 (включаючи Word97, Excel97 і Access) - Visual Basic for Applications. При цьому:

1) макро-програми прив'язані до конкретного файлу (AmiPro) або всередині файлу (Word, Excel, Office97);

2) макро-мова дозволяє копіювати файли (AmiPro) або переміщати макро-програми в службові файли системи та файли, що редагуються (Word, Excel, Office97);

3) при роботі з файлом за певних умов (відкриття, закриття тощо) викликаються макро-програми (якщо такі є), які визначені спеціальним чином (AmiPro) або мають стандартні імена (Word, Excel, Office97).

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

На сьогоднішній день відомі чотири системи, для яких існують віруси – Microsoft Word, Excel, Office97 та AmiPro. У цих системах віруси отримують управління при відкритті або закритті зараженого файлу, перехоплюють стандартні файлові функції і потім заражають файли, яких якимось чином йде звернення. За аналогією з MS-DOS можна сказати, більшість макро-вирусов є резидентними: вони активні у момент відкриття/закриття файлу, але до того часу, поки активний сам редактор.

Мережеві віруси

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

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

Найбільшої популярності набули мережеві віруси кінця 1980-х, їх також називають мережевими хробаками (worms). До них відносяться вірус Морріса, віруси "Cristmas Tree" та "Wank Worm". Для поширення вони використовували помилки і недокументовані функції глобальних мереж на той час - віруси передавали свої копії з сервера на сервер і запускали їх у виконання. У випадку з вірусами Морріса епідемія захопила кілька глобальних мереж у США.

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

Після кількох епідемій мережевих вірусів помилки у мережевих протоколах та програмному забезпеченні були виправлені, а "задні двері" зачинені. В результаті за останні десять років не було зафіксовано жодного випадку зараження мережевим вірусом, як, втім, не з'явилося і жодного нового мережного вірусу.

Знову проблема мережевих вірусів виникла лише на початку 1997 року з появою вірусів "Macro.Word.ShareFun" і "Win.Homer". Перший використовує можливості електронної пошти Microsoft Mail - він створює новий лист, що містить заражений файл-документ ("ShareFun" є макро-вірусом), потім вибирає зі списку адрес MS-Mail три випадкові адреси і розсилає по них заражений лист. Оскільки багато користувачів встановлюють параметри MS-Mail таким чином, що при отриманні листа автоматично запускається MS Word, вірус "автоматично" впроваджується в комп'ютер адресата зараженого листа.

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

Другий вірус ("Homer") використовує для розповсюдження протокол FTP (File Trabsfer Protocol) і передає свою копію на віддалений ftp-сервер в каталог Incoming. Оскільки мережевий протокол FTP виключає можливість запуску файлу на віддаленому сервері, цей вірус можна охарактеризувати як "напівмережевий", проте це реальний приклад можливостей вірусів щодо використання сучасних мережевих протоколів та ураження глобальних мереж.

Інші

До "шкідливих програм", крім вірусів, належать також троянські коні (логічні бомби), intended-віруси, конструктори вірусів та поліморфік-генератори.

Троянські коні (логічні бомби)

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

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

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

Слід зазначити також "злі жарти" (hoax). До них відносяться програми, які не завдають комп'ютеру будь-якої прямої шкоди, однак виводять повідомлення про те, що така шкода вже заподіяна, або буде заподіяна за будь-яких умов, або попереджають користувача про неіснуючу небезпеку. До "злих жартів" ставляться, наприклад, програми, які "лякають" користувача повідомленнями про форматування диска (хоча ніякого форматування насправді не відбувається), детектують віруси в незаражених файлах (як це робить відома програма ANTITIME), виводять дивні вірусоподібні повідомлення (драйвер диска CMD640X від якогось комерційного пакета) і т.д. - Залежно від почуття гумору автора такої програми. Мабуть, до "злих жартів" відноситься також рядок "CHOLEEPA" у другому секторі вінчестерів фірми Seagate.

До такої ж категорії "злих жартів" можна віднести також свідомо неправдиві повідомлення про нові супер-віруси. Такі повідомлення періодично з'являються в електронних конференціях та зазвичай викликають паніку серед користувачів.

Intended-віруси

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

До категорії "intended" також належать віруси, які з наведених вище причин розмножуються лише один раз – з "авторської" копії. Заразивши якийсь файл, вони втрачають здатність до подальшого розмноження.

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

Конструктори вірусів

Конструктор вірусів – це утиліта, призначена для виготовлення нових комп'ютерних вірусів. Відомі конструктори вірусів для DOS, Windows та макро-вірусів. Вони дозволяють генерувати вихідні тексти вірусів (ASM-файли), об'єктні модулі та/або безпосередньо заражені файли.

Деякі конструктори (VLC, NRLG) забезпечені стандартним віконним інтерфейсом, де за допомогою системи меню можна вибрати тип вірусу, уражені об'єкти (COM та/або EXE), наявність або відсутність самошифрування, протидія відладчику, внутрішні текстові рядки, вибрати ефекти, що супроводжують роботу вірусу і т.п. Інші конструктори (PS-MPC, G2) немає інтерфейсу і зчитують інформацію про тип вірусу з конфігураційного файла.

Поліморфні генератори

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

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

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

Під терміном "резидентність" (DOS"івський термін TSR - Terminate and Stay Resident) розуміється здатність вірусів залишати свої копії в операційній системі, перехоплювати деякі події (наприклад, звернення до файлів або дисків) і викликати при цьому процедури зараження виявлених об'єктів (файлів та секторів).Таким чином, резидентні віруси активні не тільки в момент роботи зараженої програми, але й після того, як програма закінчила свою роботу.Резидентні копії таких вірусів залишаються життєздатними аж до чергового перезавантаження, навіть якщо на диску знищені всі заражені файли. таких вірусів неможливо позбутися відновленням всіх копій файлів з дистрибутивних дисків або backup-копій.Резидентна копія вірусу залишається активною і заражає новостворені файли. резидентні віруси заражає диск повторно після відформатування.

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

DOS-віруси

DOS передбачає два легальні способи створення резидентних модулів: драйверами, що вказуються в CONFIG.SYS, та за допомогою функції KEEP (INT 21h, AH=31h або INT 27h). Багато файлових вірусів для маскування свого поширення використовують інший спосіб - обробку системних областей, що управляють розподілом пам'яті (MCB). Вони виділяють собі вільну ділянку пам'яті (включаючи UMB), позначають її як зайнятий і переписують туди свою копію. Деякі віруси впроваджують свої TSR-копії у вільні ділянки пам'яті в таблиці векторів переривань, відео-пам'ять, робочі області DOS, пам'ять, відведену під системні буфери і HMA-пам'ять. Докладніше ці способи описані у розділі "Виявлення резидентного вірусу".

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

При інфікуванні файлів нерезидентні та деякі резидентні віруси шукають на диску (дисках) ці файли за допомогою функцій DOS FindFirst та FindNext (INT 21h, AH=11h,12h,4Eh,4Fh). p align="justify"> Резидентні віруси використовують ширший список функцій DOS, при зверненні до яких відбувається зараження файлу. Фактично в цьому списку є всі функції, за значеннями вхідних або вихідних параметрів яких можна визначити ім'я файлу, до якого йде звернення (до таких параметрів відносяться значення відповідних регістрів або областей пам'яті). В результаті до "вірусонебезпечних" функцій переривання 21h відносяться функції виконання (EXEC, AX=4B00), завантаження в пам'ять (AH=4Bh), пошуку (FindFirst та FindNext, AH=11h,12h,4Eh,4Fh) створення (Create, AH =3Ch), відкриття (Open, AH=3Dh), закриття (Close, AH=3Eh), зміни атрибутів (ChMode, AH=43h), перейменування (Rename, AH=56h) та деякі інші функції роботи з файлами.

Відомі кілька способів перевірки резидентним вірусом наявності своєї копії пам'яті комп'ютера. Перший полягає в тому, що вірус запроваджує нову функцію деякого переривання, дія якої полягає у поверненні значення "я тут". При старті вірус звертається до неї, і якщо повернене значення збігається зі значенням "я тут", то пам'ять комп'ютера вже заражена і повторне зараження не проводиться. При перевірці другим способом вірус записує значення "я тут" в якусь рідко використовується область пам'яті - в таблиці векторів переривань або в області даних BIOS (0040:00??). При наступних стартах заражених програм вірус перевіряє це і не викликає процедуру зараження пам'яті. Існують, звичайно ж, і інші способи, наприклад, деякі віруси просто сканує пам'ять комп'ютера.

Деякі резидентні файлові віруси (зазвичай віруси, створені за допомогою конструкторів типу VCL і PS-MPC) визначають свою TSR-копію некоректно і копіюють себе в оперативну пам'ять при кожному запуску зараженого файлу. Природно, що в цьому випадку комп'ютер або відразу зависає, або через деякий час перестає виконувати програми через брак вільної пам'яті.


Завантажувальні віруси

Переважна більшість резидентних завантажувальних вірусів для виділення системної пам'яті для своєї резидентної копії використовує той самий прийом: вони зменшують обсяг DOS-пам'яті (слово за адресою 0040:0013) і копіюють свій код в "відрізаний" блок пам'яті. Обсяг DOS-пам'яті зазвичай зменшується на одиницю (один кілобайт) у разі коротких вірусів завантаження, код яких займає один сектор дискового простору (512 байт). Друга половина кілобайта використовується такими вірусами, як буфер читання/запису при зараженні дисків. Якщо розмір вірусу більше одного кілобайта або він використовує нестандартні методи зараження, що вимагають більшого обсягу буфера читання/запису, обсяг пам'яті зменшується на кілька кілобайт (серед відомих вірусів максимальне значення у вірусу "RDA.Fighter" - 30K).

Надалі деякі віруси " чекають " завантаження DOS і відновлюють початкове значення обсягу системної пам'яті - у результаті вони виявляються розташованими поза DOS, бо як окремий блок DOS-пам'яті. Деякі віруси завантаження взагалі не використовують і не змінюють значення об'єму системної пам'яті. Вони копіюють себе в будь-яку область пам'яті, що не використовується аж до завантаження DOS, чекають на завантаження DOS і потім встановлять свій код в системі всіма можливими в DOS способами.

Такими вірусами використовують кілька способів перехоплення моменту завантаження DOS. Найбільш "популятний" спосіб - перевірка значення INT 21h (переривання DOS-функцій). Якщо це значення змінилося, віруси вважають, що інсталяцію DOS завершено. Перевірка значення INT 21h проводиться при викликах INT 8, 1Ch (переривання таймера, для цього віруси крім переривань звернення до дисків перехоплюють переривання таймера) або при викликах INT 13h. Менш популярний спосіб - перевірка даних, що зчитуються з диска (для цього потрібно лише перехоплення INT 13h). Якщо буфер читання містить заголовок EXE-файлу, віруси вважають, що завантаження DOS завершено, оскільки в пам'ять для виконання завантажується EXE-файл.

Для того щоб перехопити звернення до дисків, більшість завантажувальних вірусів перехоплюють INT 13h - основне переривання для роботи з дисками. Рідше використовується перехоплення INT 40h - переривання для роботи з флоппі-дисками. Ще рідше застосовуються різні екзотичні методи перехоплення переривань BIOS і DOS, що виникають під час роботи з дискетами.

У разі перехоплення INT 13h/40h віруси обробляють команди читання/запису секторів (AH=2,3), перевіряють диск на зараженість і записують у завантажувальний сектор або MBR вінчестера свій код. Рідше перехоплюються інші команди - від команди Reset Disk (AH=0) до команд "довгого" читання/запису (AH=0Ah,0Bh).

Більшість завантажувальних вірусів не перевіряє системну пам'ять на наявність своєї вже встановленої TSR-копії - вони або використовують стелс-прийоми і повторний запуск коду вірусу неможливий, або орієнтуються на те, що код вірусу завантажується одноразово в момент завантаження DOS - після цього коди завантажувальних секторів дисків більше не виконуються за жодних умов. Частина вірусів перевіряють наявність своєї копії - для цього використовуються або спеціальні виклики INT 13h з яким-небудь нестандартним значенням, або позначається якийсь байт (або слово), що заздалегідь не використовується, в таблиці векторів переривань або в області даних BIOS (0040:00??) . Існують, звичайно ж, інші способи детектування своєї TSR-копії.

Windows-віруси

Для того, щоб залишити виконуваний код у пам'яті Windows, існує три способи, причому всі три способи (за винятком Windows NT) вже застосовувалися різними вірусами.

Найпростіший спосіб - зареєструвати програму як одну з програм, що працюють у Наразі. Для цього програма реєструє своє завдання, вікно якого може бути прихованим, реєструє свій обробник системних подій тощо. Другий спосіб - виділити блок системної пам'яті за допомогою DPMI-дзвінків та скопіювати в нього свій код (вірус "Ph33r"). Третій спосіб - залишитися резидентно як драйвер VxD (Wnidows 3.xx і Windows95) або як драйвер Windows NT.

Перехоплення звернень до файлів здійснюється одним із двох способів - або перехоплюються виклики INT 21h (Hook_V86_Int_Chain, Get/Set_V86_Int_Vector, Get/Set_PM_Int_Vector), або перехоплюється системний виклик API. Потім резидентні Windows-віруси діють приблизно так само, як і DOS-віруси: перехоплюють звернення до файлів і заражають їх.

Для виявлення вже присутньої в пам'яті резидентної копії використовуються приблизно ті способи, що описані вище, за винятком VxD-вірусів. Відомі VxD-віруси завантажуються в пам'ять під час завантаження Windows. Для цього вони записують команду запуску файл конфігурації Windows SYSTEM.INI. Якщо в цьому файлі вже є команда запуску вірусного файлу VxD, то вірус не проводить повторної реєстрації свого файлу VxD.


Макро-віруси

Більшість макро-вірусів вважатимуться резидентними, оскільки вони є у сфері системних макросів протягом усього часу роботи редактора. Вони так само як резидентні завантажувальні та файлові віруси перехоплюють системні події та використовують їх для свого розмноження. До таких подій належать різні системні виклики, що виникають під час роботи з документами Word та таблицями Excel (відкриття, закриття, створення, друк тощо), виклик пункту меню, натискання на будь-яку клавішу або досягнення будь-якого моменту часу. Для перехоплення подій макровіруси перевизначають один або кілька системних макросів або функцій.

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

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

Завантажувальні віруси

Завантажувальні стелс-віруси для приховування свого коду використовують два основні способи. Перший полягає в тому, що вірус перехоплює команди читання зараженого сектора (INT 13h) і підставляє замість нього незаражений оригінал. Цей спосіб робить вірус невидимим для будь-якої DOS-програми, включаючи антивіруси, нездатні "лікувати" оперативну пам'ять комп'ютера. Можливе перехоплення команд читання секторів на рівні нижчому, ніж INT 13h.

Другий спосіб спрямований проти антивірусів, які підтримують команди прямого читання секторів через порти контролера диска. Такі віруси при запуску будь-якої програми (включно з антивірусом) відновлюють заражені сектори, а після закінчення її роботи знову заражають диск. Оскільки для цього вірусу доводиться перехоплювати запуск та закінчення роботи програм, він повинен перехоплювати також DOS-переривання INT 21h.

З деякими застереженнями стелс-вірусами можна назвати віруси, які вносять мінімальні зміни в сектор, що заражається (наприклад, при зараженні MBR правлять тільки активну адресу завантажувального сектора - зміні підлягають тільки 3 байти), або маскуються під код стандартного завантажувача.

Файлові віруси

Більшість файлових стелс вірусів використовує ті самі прийоми, що наведені вище: вони або перехоплюють DOS-дзвінки звернення до файлів (INT 21h) або тимчасово лікують файл при його відкритті і заражають при закритті. Так само як і для завантажувальних вірусів, існують файлові віруси, що використовують для своїх стелс-функцій перехоплення переривань нижчого рівня – виклики драйверів DOS, INT 25h і навіть INT 13h.

Повноцінні файлові стелс-віруси, що використовують перший спосіб приховування свого коду, здебільшого досить громіздкі, оскільки їм доводиться перехоплювати велику кількість DOS-функцій роботи з файлами: відкриття/закриття, читання/запис, пошук, запуск, перейменування тощо. , причому необхідно підтримувати обидва варіанти деяких викликів (FCB/ASCII), а після появи Windows95/NT їм стало необхідно обробляти третій варіант - функції роботи з довгими іменами файлів.

Деякі віруси використовують частину функцій повноцінного стелс-вірусу. Найчастіше вони перехоплюють функції DOS FindFirst та FindNext (INT 21h, AH=11h, 12h, 4Eh, 4Fh) та "зменшують" розмір заражених файлів. Такий вірус неможливо визначити зміни розмірів файлів, якщо, звичайно, він резидентно знаходиться в пам'яті. Програми, які не використовують зазначені функції DOS (наприклад, "Нортонівські утиліти"), а безпосередньо використовують вміст секторів, що зберігають каталог, показують правильну довжину заражених файлів.

Макро-віруси

Реалізація стелс-алгоритмів в макро-вірусах є, мабуть, найпростішим завданням - достатньо лише заборонити виклик меню File/Templates або Tools/Macro. Досягається це видаленням цих пунктів меню зі списку, або їх заміною на макроси FileTemplates і ToolsMacro.

Частково стелс-вірусами можна назвати невелику групу макро-вірусів, які зберігають свій основний код не в самому макросі, а в інших сферах документа - в його змінних або Auto-text.

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

Поліморфізм різного ступеня складності зустрічається у вірусах всіх типів – від завантажувальних та файлових DOS-вірусів до Windows-вірусів і навіть макровірусів.

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

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

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

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

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

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

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

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

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

Рівень 1: для детектування вірусу достатньо мати кілька масок

Рівень 2: детектування маски з використанням "wildcards"

Рівень 3: детектування маски після видалення інструкцій-"сміття"

Рівень 4: маска містить кілька варіантів коду, тобто. стає алгоритмічною

Рівень 5: неможливість детектування вірусу за маскою

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

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

Тому мені здається об'єктивнішим поділ, в якому крім критерію вірусних масок беруть участь і інші параметри.

1. Ступінь складності поліморфік-коду (відсоток від усіх інструкцій процесора, які можуть зустрітися в коді розшифровувача)

2. Використання антиемуляторних прийомів

3. Постійність алгоритму розшифровувача

4. Постійність довжини розшифровувача


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

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

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

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

З особистого досвіду

З усіх питань звертатися до мене на e-mail: [email protected]

Серед безлічі відомих вірусів особливе місце посідають

мережеві віруси , як правило, вони вважаються найнебезпечнішими.

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

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

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

Основні шляхи , якими файли, заражені вірусами, потрапляють у корпоративну мережу:

копіюванняінфікованих файлів при запуску програм та інших файлів з джерел, що переносяться (гнучких дисків, оптичних дисків, Zip, Jazz, Floptical,і т.д.);

програмне забезпечення, отримане через Web або FTPта збережене на локальних робочих станціях;

файли, отримані віддаленими користувачами,які з'єднуються з корпоративною мережею за модемом;

файли, отримані при з'єднанні віддаленого сервера з мережеюдля обміну з файловим сервером, сервером програм або сервером баз даних;

електронна пошта,містить прикладені заражені файли.

Примітка 3.

FTP(англ. FileTransferProtocol-протокол передачі файлів)-стандартнийпротокол , призначений для передачі файлів по TCP-мережам(наприклад, Інтернет). FTPчасто використовується для завантаження мережевих сторінок та інших документів із приватного пристрою розробки на відкриті серверахостингу.

Протокол побудований на архітектурі клієнт-сервер » і використовує різні з'єднання для передачі команд і даних між клієнтом і сервером

Всесвітня павутина (англ. WorldWideWeb)-розподілена система , надає доступ до пов'язанимміж собою документів, розташованих на різних комп'ютерах, підключених до Інтернету .

Глобальна комп'ютерна мережаІНТЕРНЕТНа сьогоднішній день також є основним джерелом вірусів.

Найбільше зараження вірусом відбувається під час обміну листами у форматах Word/Office. Користувач зараженого макровірусом редактора, сам того не підозрюючи, розсилає заражені листи адресатам, які своєю чергою надсилають нові заражені листи тощо.

До мережевим вірусам відносяться віруси, які для свого поширення активно використовують протоколи та можливості локальних та глобальних мереж .

Основним принципом роботи вірусу є можливість самостійно передати свій код на віддалений сервер або робочу станцію.

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

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

Найбільшої популярності набули мережеві віруси кінця 1980-х років, їх також називають мережевими хробаками (worms).До них відносяться вірус Морріса, віруси. CristmasTree» та « WankWorm&».Для поширення вони використовували помилки і недокументовані функції глобальних мереж на той час - віруси передавали свої копії з сервера на сервер і запускали їх у виконання. У випадку з вірусом Моррісаепідемія захопила навіть кілька глобальних мереж США.

Після деякого затишшя проблема мережевих вірусів знову загострилася на початку 1997 р. з появою вірусів «Macro. Word. ShareFun»і «Win. Homer».Вірус «Macro. Word. ShareFun»використовує можливості електронної поштиMicrosoftMail. Він створює новий лист, що містить заражений файл-документ (« ShareFun»є макровірусом), потім вибирає зі списку адрес служби MS-Mail(з комп'ютерної записної книги користувача) три випадкові адреси та розсилає по них заражений лист. Оскільки багато користувачів встановлюють параметри MS-Mailтаким чином, що при отриманні листа автоматично запускається MS Word, то вірус « автоматично»Впроваджується в комп'ютер адресата зараженого листа.Цей вірус ілюструє перший тип сучасних мережевих вірусів, які об'єднують можливості вбудованого в Word/Excelмови Basic, протоколи та особливості електронної пошти та функції автозапуску, необхідні для поширення вірусу.

Вірус «Win. Homer».використовує для свого поширення протокол FTP(FileTrabsferProtocol) та передає свою копію на віддалений ftp-сервервкаталог Incoming. Оскільки мережевий протокол FTPвиключає можливість запуску файлу на віддаленому сервері, цей вірус можна охарактеризувати як напівмережевий», однак це реальний приклад можливостей вірусів щодо використання сучасних мережевих протоколів та ураження глобальних мереж.

Комп'ютерні віруси, Шкідливе ПЗ - все це згубно для операційної системи. Що ж робити? Як подолати ненависні вірусні програми? Користувачі-початківці скажуть, що достатньо встановити антивірус. Але не все так просто. Адже щоб перемогти вірус, необхідно знати, до якого виду він належить.

Одна з найпоширеніших шкідливих програм – вірус-хробак. Як убезпечити свій комп'ютер від проникнення цього непроханого гостя, і що він взагалі є?

Що таке «вірус-хробак»?

Різновидів шкідливого комп'ютерного програмного забезпечення дуже багато. Один із тих вірусів, яких після зараження позбутися досить проблематично - вірус «мережевий черв'як». Це комп'ютерна програма, що самовідтворюється, проникає в локальні і глобальні мережі. При цьому суттєва різниця між звичайним вірусом та цією шкідливою програмою - те, що друга повністю самостійна.

Види мережевих хробаків

Комп'ютерний вірус-черв'якподіляється на три категорії, які істотно відрізняються за своїми характеристиками і шкодою, що наноситься пристрою.

  • Перша категорія – поштові черв'яки. Вони зазвичай поширюються одним файлом через електронну пошту. Користувачеві на скриньку надходить лист від невідомого адресата із вкладенням. Звичайно, піддавшись цікавості, він сам відкриває вкладення, яке вже містить мережевого черв'яка, після чого і відбувається зараження.
  • Друга категорія, що є найпоширенішою серед шкідливих програм - резидентні черв'яки ОЗУ. Цей вірус заражає не жорсткі диски, а впроваджується в оперативну пам'ять, тим самим завдаючи шкоди програмам, що працюють. Щоб такий вірус-хробак «вирушив додому», достатньо перезавантажити комп'ютер.
  • Третя і найнебезпечніша категорія - черв'яки, які зберігають код на жорсткому диску пристрою. Їх найчастіше використовують, щоб завдати будь-якої інформаційної шкоди, наприклад, здійснити атаку DoS. І тут перезавантаження комп'ютера проблему вже не вирішити. Тут допоможуть лише якісні антивірусні системи, та й то не всі. Почати лікування зараженого диска слід якомога раніше, інакше доведеться попрощатися з усією операційною системою.

Як і з якою метою поширюються мережеві хробаки?

Подібні віруси поширюються хакерами задля досягнення різних цілей. Деякі програми створені для перехоплення керування пристроєм. При цьому сам користувач ніколи не помітить те, що робить вірус-хробак. Інші використовують заражений комп'ютер як спосіб поширення вірусу через всі доступні мережі, як локальні, так і глобальні.

Для поширення хробака хакери вигадали досить багато різних способів. Найчастіше зустрічається вірус, який спочатку має сам запустити на своєму комп'ютері. Це може бути електронне вкладення або якась міні-програма, завантажена з Інтернету. Однак є й ті, яким для зараження пристрою не потрібне чуже втручання, вони самостійно здійснюють проникнення.

Як захиститись?

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

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

Як видалити вірус?

Якщо зловмисне програмне забезпечення таки потрапило на комп'ютер, необхідно негайно його видалити. Але як видалити вірус так, щоб не зашкодити операційну систему? У такій ситуації на допомогу недосвідченим користувачам прийдуть антивіруси. На щастя, їхня установка не займе багато часу.

  • Kaspersky Rescue Disk- Програма, що дозволяє очистити жорсткі диски від вірусів шляхом керування системою. Щоб розпочати роботу з програмою, потрібно записати завантажувальний диск через ISO-образ. А потім просто запустити операційну систему в BIOS через нього.
  • Kaspersky Virus Removal Toolбільше підійде для користувачів-початківців і тих, хто ще не розібрався в тонкощах системи. Він здійснює пошук шкідливих програм на комп'ютері та видаляє їх із системи. Однак упоратися він може не з усіма видами вірусів.


  • Dr.Web CureItцілком може замінити попередню антивірусну програму. Його величезний мінус у тому, що сканування жорстких дисків здійснюється дуже довго. Часом це може тривати близько десятої години. Звичайно, така тривала перевірка є знаком того, що програма ретельно сканує кожен файл. Проте знайдеться небагато охочих витратити весь день на пошук одного вірусу.

Запобіжні заходи

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

  • Якщо на електронну пошту надійшло важливе повідомлення із вкладенням, не варто поспішати його відкривати. Спочатку необхідно зберегти вкладення на диск, а потім запустити його, використовуючи будь-який браузер. Можливо, замість текстового документа або фотографії на комп'ютер надійшов файл, що виконується.
  • У жодному разі не можна запускати будь-яку програму, яка надійшла на електронну пошту з незнайомої адреси. Швидше за все, на пристрій прийшов файл хакера.
  • Навіть якщо вкладення надійшло з вже знайомого e-mail, не варто поспішати його відкривати. Насамперед, необхідно просканувати його антивірусом. Не виключено, що електронна адреса, з якої надійшов лист, вже заражена шкідливим програмним забезпеченням і тепер просто надсилає розсилку по всіх збережених контактах.
  • Ознакою того, що в надісланому вкладенні буде вірус, може бути якась сенсаційна новина в повідомленні. Це просто приманка для того, щоб користувач зацікавився змістом та з цікавості відкрив заражений файл.