РЕФЕРАТ

На тему:

Програмні віруси та методи захисту від них.

Програмний вірус, означення.

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

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

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

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

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

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

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

Класифікація “шкідливих програм”.

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

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

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

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

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

Використання стелс-алгоритмів дозволяє вірусам цілком або частково
сховати себе в системі. Найпоширенішим стелс-алгоритмом є перехоплення
запитів операційної системи на читання / запис інфікованих об’єктів.
Стелс-віруси при цьому або тимчасово гоять їх, або “підставляють“
замість себе неінфіковані ділянки інформації. У випадку макро-вірусів
найпопулярніший засіб захисту — заборона викликів меню перегляду
макросів. Самошифрування і поліморфічність використовуються практично
всіма типами вірусів для того, щоб максимально ускладнити процедуру
виявлення вірусу. Поліморфік — віруси (polymorphic) — це достатньо
важкознаходжувані віруси, що не мають сигнатур, тобто не містять жодної
постійної ділянки коду. У більшості випадків два зразки того самого
поліморфік — вірусу не будуть мати жодного збігу. Це досягається
шифруванням основного тіла вірусу і модифікаціями
програми-розшифровувача.

Стелс-віруси тими або іншими засобами приховують факт своєї присутності
в системі. Відомі стелс-віруси всіх типів, за винятком Windows-вірусів —
завантажувальні віруси, файлові DOS-віруси і навіть макро-віруси. Поява
стелс-вірусів, що інфікують файли Windows, є швидше за все справою часу.
Завантажувальні стелс-віруси для маскування свого коду використовують
два основних способи. Перший із них полягає в тому, що вірус перехоплює
команди читання інфікованого сектора і підставляє замість нього
неінфікований оригінал. Цей засіб робить вірус невидимим для будь-якої
DOS-програми, включаючи антивіруси, недієздатні “лікувати“ оперативну
пам’ять комп’ютера. Можливе перехоплення команд читання секторів на
нижчому рівні. Другий засіб спрямований проти антивірусів, що
підтримують команди прямого читання секторів через порти контролера
диску. Такі віруси при запуску будь-якої програми (включаючи антивірус)
відновлюють інфіковані сектори, а після закінчення її роботи знову
інфікують диск. Оскільки цей вірус перехоплює запуск і закінчення роботи
програм, то він повинен перехоплювати також DOS-переривання. З деякими
допущеннями стелс-вірусами можна назвати віруси, що вносять мінімальні
зміни в інфікований сектор або маскуються під код стандартного
завантажувача.

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

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

операційна система;

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

деструктивні можливості.

По середовищу перебування віруси можна розділити на файлові,
завантажувальні, мережні та макровіруси.

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

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

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

По способу інфікації файлів віруси діляться на перезаписуючі
“overwriting“, паразитичні (“parasitic“), компаньйони-віруси
(“companion“), “link“-віруси, віруси-хробаки і віруси, що інфікують
об’єктні модулі (OBJ), бібліотеки компіляторів (LIB) і вихідні тексти
програм.

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

До паразитичних відносяться файлові віруси, які при поширенні своїх
копій обов’язково змінюють вміст файлів, залишаючи ці файли цілком або
частково працездатними. Ці віруси можуть записуватися в початок файлів
(“prepending“), у кінець файлів (“appending“) і в середину файлів
(“inserting“). У свою чергу, запис вірусів в середину файлів
відбувається різноманітними методами — шляхом переносу частини файла в
його кінець або копіювання свого коду в явно невикористовувані дані
файла (“cavity“-віруси).

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

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

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

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

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

Завантажувальні резидентні віруси.

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

Існує два основні легальних способи створення резидентних модулів.
Багато файлових вірусів для маскування свого поширення виділяють для
себе вільну ділянку пам’яті, помічають її, як зайняту і переписують туди
свою копію. Деякі віруси розміщають свої копії у вільні ділянки пам’яті
в таблиці векторів переривань, у відео – пам’ять, у робочі ділянки DOS,
у пам’ять, відведену під системні буфери і в HMA-пам’ять. Після
виділення блоку пам’яті вірус копіює в нього своєї код і перевизначає
одне або декілька переривань, необхідних для пошуку неінфікованих файлів
чи для виконання деструктивних дій або звукових і відео ефектів. У
відповідності з особливостями алгоритмів роботи вірусів виділяються такі
ознаки:

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

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

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

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

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

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

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

Макро — віруси.

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

1) прив’язки програми на макро-мові до конкретного файла;

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

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

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

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

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

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

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

Фізичне розташування вірусу всередині файлу залежить від його формату,
що у випадку продуктів Microsoft надзвичайно складно — кожен
файл-документ представляються послідовністю блоків даних (кожний із
котрих також має свій власний формат), об’єднаних між собою за допомогою
великої кількості службових даних. Цей формат називається OLE2 — Object
Linking and Embedding. Структура файлів Microsoft Office нагадує
ускладнену файлову систему дисків DOS, як от “кореневий каталог“
файла-документа або таблиці вказує на основні підкаталоги різноманітних
блоків даних, декілька таблиць FAT містять інформацію про розташування
блоків даних у документі і т.д. Більше того, система Office Binder, що
підтримує стандарти Word і Excel дозволяє створювати файли, які
одночасно містять один або декілька документів у форматі Word і одну або
декілька таблиць у форматі Excel. Word-віруси спроможні інфікувати лише
Word-документи, а Excel-віруси — тільки Excel-таблиці, і все це можливо
в межах одного дискового файла.

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

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

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

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

Мережні віруси використовують для свого поширення протоколи або команди
комп’ютерних мереж і електронної пошти. До мережних відносяться віруси,
які для поширення активно використовують протоколи і можливості
локальних і глобальних мереж. Основним принципом роботи мережного вірусу
є можливість самостійно передати свій код на віддалений сервер або
робочу станцію. “Повноцінні“ мережні віруси при цьому володіють ще і
можливістю запустити на виконання свій код на віддаленому комп’ютері
або, принаймні, “підштовхнути“ користувача до запуску інфікованого
файла. Існує помилкова думка, що мережним є будь-який вірус, що
поширюється в комп’ютерній мережі. Найбільшої популярності набули
мережні віруси кінця 1980-х, їх також називають мережними хробаками
(worms). Для свого поширення вони використовували помилки і
недокументовані функції глобальних мереж того часу, що дозволило
вірусам передавати свої копії із серверу на сервер і запускали їх на
виконання. У випадку з вірусами Моріса епідемія захопила декілька
глобальних мереж у США. Мережні віруси минулого поширювалися в
комп’ютерній мережі і так само, як і компаньйони-віруси, не змінювали
файли або сектор на дисках. Вони проникали в пам’ять комп’ютера з
комп’ютерної мережі, визначали мережні адреси інших комп’ютерів і
розсилали по цих адресах свої копії. Ці віруси іноді також створювали
робочі файли на дисках системи, але могли взагалі не звертатися до
ресурсів комп’ютера (за винятком оперативної пам’яті). Після декількох
епідемій мережних вірусів помилки в мережних протоколах і програмному
забезпеченні були виправлені. В результаті за наступні десять років не
було зафіксовано жодного випадку інфікації мережним вірусом, як втім не
з’явилося і жодного нового мережного вірусу такого типу.

Знову проблема мережних вірусів виникла лише на початку 1997-го року з
появою вірусів нового типу. Один з них використовує можливості
електронної пошти Microsoft Mail. Тобто він створює новий лист, що
містить інфікований файл-документ, потім вибирає зі списку адрес MS-Mail
кілька випадкових адрес і розсилає по ним інфікований лист. Оскільки
багато користувачів встановлює параметри MS-Mail таким чином, що при
одержанні листа автоматично запускається MS Word, тому вірус
“автоматично“ впроваджується в комп’ютер адресата інфікованого листа.
Цей вірус ілюструє перший тип сучасного мережного вірусу, що об’єднує
можливості вмонтованої в Word/Excel мови Basic, протоколи й особливості
електронної пошти і функції автоматичного запуску, що необхідні для
поширення вірусу. Інший вірус використовує для свого поширення протокол
FTP (File Trabsfer Protocol) і передає свою копію на віддалений
FTP-сервер у каталог Incoming. Оскільки мережний протокол FTP виключає
можливість запуску файла на віддаленому сервері, цей вірус можна
охарактеризувати, як “наполовину мережний“, проте це реальний приклад
можливостей вірусів по використанні сучасних мережних протоколів і
поразки систем захисту глобальних мереж. Можливі, звісно ж, існують інші
засоби проникнення вірусів у сучасні мережі.

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

Деструктивні можливості вірусів.

По деструктивних можливостях віруси можна розділити на:

нешкідливі не впливають на роботу комп’ютера, окрім зменшення вільної
пам’яті на диску в результаті свого поширення;

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

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

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

Ефекти, які викликають віруси в процесі реалізації цільових функцій,
прийнято ділити на наступні групи:

спотворення інформації в файлах або таблиці розміщення файлів;

імітація збоїв апаратних засобів;

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

ініціювання помилок в програмах користувачів або операційної системи.

Але навіть якщо в алгоритмі вірусу не передбачено дій, що завдають шкоди
системі, цей вірус не можна з повною впевненістю назвати нешкідливим,
тому що його проникнення в комп’ютер може викликати непередбачені і
часом катастрофічні наслідки. Адже вірус, як і всяка програма, має
помилки, у результаті яких можуть бути зіпсовані, як файли, так і
сектори дисків. Дотепер трапляються віруси, що визначають “COM або EXE“
не по внутрішньому форматі файла, а по його розширенню. Природно, що при
розбіжності формату і розширення імені файл після інфікація надається
непридатним. Можливо також “заклинювання“ резидентного вірусу і системи
при використанні нових версій DOS, при роботі в Windows або з іншими
потужними програмними системами.

Засоби боротьби з вірусами.

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

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

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

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

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

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

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

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

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

Одним із ефективних напрямів протидії вірусам є підвищення
вірусозахищеності операційної системи. Це один із шляхів вирішення
загальної проблеми, яка звично називається захистом операційної системи.
Існує кілька аспектів цієї проблеми, які мають значення, як для
операційних систем автономно функціонуючих ЕОМ, так і для мережних
операційних систем: попередження можливості несанкціонованого
використання і спотворення (знищення) системних ресурсів (ділянок
пам’яті, програм і даних самої операційної системи) користувацькими
(прикладними) програмами (зокрема, вірусами); забезпечення коректності
виконання користувацьких програм, паралельно функціонуючих на одній ЕОМ
і які використовують загальні ресурси; виключення можливості
несанкціонованого використання прикладними програмами одних користувачів
ресурсів, що належать іншим і т.д. Строго кажучи, в мережній операційній
системі і апаратних засобах локальної обчислювальної мережі повинні бути
реалізовані механізми безпеки. В цьому випадку можна вважати, що
операційна система забезпечує захист ресурсів локальної обчислювальної
мережі, одним із яких є операційна система, тобто, її складові програми
і використовувана системна інформація.

Похожие записи