|
Скачати 0.77 Mb.
|
Лекція 4 ВІРУСИ ЯК ШКІДЛИВЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ План лекції:
1. Класифікація комп'ютерних вірусів Віруси можна розділити на класи за такими ознаками:
Віруси за середовищем їх існування. За цією ознакою віруси поділяються на:
Файлові віруси діють одним з таких способів:
Бутовські (завантажувальні) віруси діють такими методами:
Існують файлово-бутівські віруси, що заражають і файли, і завантажувальні сектори дисків. Макро-віруси заражають файли-документи і електронні таблиці відомих програмних продуктів. Мережні віруси використовують для свого розповсюдження протоколи або команди комп’ютерних мереж та електронної пошти. Віруси за способом зараження. Резидентні віруси при зараженні (інфікуванні) комп’ютера залишають в оперативній пам’яті свою резидентну частину, яка потім перехоплює звернення операційної системи до об’єктів зараження (файлів, завантажувальних секторів тощо) і впроваджується в них. Резидентні віруси знаходяться в пам’яті і є активними до самого вимкнення комп’ютера або до його перевантаження. Нерезидентні віруси не заражають пам’ять комп’ютера і є активними лише обмежений проміжок часу. Деякі віруси лишають в пам’яті невеликі резидентні програми, які не розповсюджують вірус. Такі віруси вважаються нерезидентними. Віруси за особливостями використовуваних алгоритмів. Прості віруси – це віруси-паразити, вони змінюють вміст файлів і секторів дисків і можуть бути досить легко виявлені та знешкоджені. Стелс-віруси (або віруси-невидимки) – це віруси, які повністю або частково приховують себе в системі. Найбільш розповсюдженим стелс-алгоритмом є перехоплення запитів ОС на читання-записування заражених об’єктів. Стелс-віруси при цьому або тимчасово виліковують їх, або підставляють замість себе незаражені ділянки інформації. Це можуть бути і макро-віруси, які можуть забороняти виклики меню перегляду макросів. Це можуть бути і файлові (наприклад, вірус “Frodo”), і бутовські (вірус “Brain”) стелс-віруси. Віруси-мутанти, які можуть використовувати алгоритми шифровки-розшифровки та поліморфізму, завдяки яким копії одного і того самого вірусу не мають жодного ланцюжка байтів, що повторюються. Поліморфік-віруси досить важко виявити, вони не мають сигнатури, тобто не містять жодної сталої ділянки коду. Віруси за деструктивними можливостями. Опис деструктивних можливостей вірусу можна представити у такому розрізі:
2. Систематизація комп’ютерних вірусів Важливість і довгостроковий характер проблеми захисту від комп’ютерних вірусів на практиці не викликає сумніву. Для зручності ідентифікації було би зручно, щоб кожний вірус мав своє ім’я. На превеликий жаль, старі вірусі у більшості випадків мають чимало назв, які виникли історично, а нові віруси, навпаки, таких назв взагалі не мають. Відомим дослідником комп’ютерних вірусів М.М. Безрукавим було вироблено і запропоновано схему класифікації, яка включає три основні елементи:
Класифікаційний код вірусу. Кожному вірусу присвоюється код, який складається з літерного префікса, кількісної характеристики і факультативного літерного суфікса. Наприклад, в коді RСЕ-1813с є такі складові: RСЕ - префікс, 1813 - корінь (характеристика), а с - суфікс. Крім того, факультативне розширення, що записується в кінці коду через крапку, характеризує групу, до якої належить даний вірус. Наприклад, RСЕ-1813.ІЕR означає, що даний вірус належить до єрусалимської групи. Головною вимогою до класифікаційного коду вірусу є можливість визначення більшості вхідних його властивостей на незараженому комп'ютері. Виконання будь-яких дій з дослідження вірусу на зараженому комп'ютері є найбільшою й найбільш розповсюдженою помилкою, якої припускаються недосвідчені користувачі. Необхідно підкреслити, що будь-які дії на комп'ютері, зараженому невідомим вірусом, пов'язані з певним ризиком викликати спрацьовування троянської компоненти вірусу. Крім того, резидентний вірус з метою маскування може перехоплювати запити і перекручувати інформацію, яка видається. Нині відомі віруси, що мають таку властивість. Наприклад, група файлових вірусів, відома під назвою ТР-вірусів, починаючи з вірусу ТР-34 (члени цієї групи мають номери, які зберігаються в передостанньому байті вірусу в шістнадцятковому вигляді), має властивість "самовикусування" при спробі трасувати заражену програму – резидентний вірус виконує "викусування" вірусу з програми, "підсовуючи" налагоджувачу вже вилікувану програму. Так само бутові віруси, які входять у пакистанську групу (віруси “Вгаіn”, “Аshar”), при спробі переглянути бут-сектор на зараженому комп'ютері "підсовують" користувачу оригінальний бут-сектор, який зберігається вірусом в одному із секторів, позначеному як дефектний (і, тим самим, вилученому з розподілу у файли). Літерний префікс вказує на місце розміщення голови вірусу і складається з послідовності літер і цифр, що починається з великої літери. Відповідно до цього будемо розрізняти такі типи вірусів (розглядатимемо тільки реально існуючі типи, а не всі принципово можливі):
Поряд із "чистими" вірусами, які використовують лише одне середовище, нині з'явились "гібридні" – комбінація файлових і бутових вірусів. У таких вірусах замість першої літери R використовують відповідну літеру префікса бутового вірусу, наприклад ВСЕ або МСЕ (як і бутові, змішані віруси не можуть бути нерезидентними). Характеристика вірусу являє собою кількісно вимірювану властивість вірусу, яка допускає просте визначення і розрізняється для більшості типів вірусів. Наприклад, для файлових вірусів як характеристика може використовуватися величина приросту довжини файлів при зараженні ("інфекційна довжина"), хоч тут є певні складності. Суфікс використовується, коли два різних віруси або два штами одного і того самого вірусу мають однаковий префікс і характеристику. У цьому випадку, для отримання унікального коду використовується як суфікс латинська літера. Наприклад, в коді RС-1704f літера f означає "штам-f”. Дескриптор вірусу. Безумовно, запропонований код вірусу не охоплює та й не може охопити основні властивості вірусу. Водночас систематизація властивостей вірусу становить значний інтерес як для розробників антивірусних програм, так і для їх користувачів, оскільки дозволяє інтегрувати різнорідні факти, які стосуються поведінки того чи іншого вірусу в системі, тим самим полегшуючи їх запам'ятовування і порівняння. Тому як другий елемент класифікації пропонується так званий дескриптор. Дескриптор є систематизацією основних характеристик вірусу в закодованому вигляді. Кодування складається з груп символів, що починаються з великої латинської літери, за якою йдуть маленькі латинські літери або цифри. При цьому велика латинська літера визначає вид характеристики, а наступні за нею малі літери або цифри – значення характеристики для конкретного вірусу. Наприклад, в дескрипторі "Хаb Yc Zdmt" є три властивості: X – зі значенням "аb", Y – зі значенням "с" і Z – зі значенням "dmt". Сигнатура вірусу. Оскільки більшість відомих нині вірусів допускають детектування за допомогою контекстного пошуку, то однією з важливих задач класифікації є складання сигнатур. Сигнатура – це список рядків для контекстного пошуку. Знання сигнатур дозволяє перевіряти нове програмне забезпечення на їх наявність вірусів, тим самим суттєво підвищуючи ступінь захищеності ЕОМ. Стандартизація сигнатур особливо важлива, коли вірус має багато штамів, оскільки формальні схеми, подібні описаним вище класифікаційному коду і дескриптору, мають той недолік, що деякі штами не будуть розрізнятися в заданому просторі ознак. Водночас порівняно легко забезпечується унікальність сигнатури, у крайньому разі для більшості відомих вірусів, хоч існують віруси, які не вміщують жодної постійної сигнатури, тобто які не можна знайти за допомогою контекстного пошуку. Сигнатури вірусів можуть бути представлені як текстовими рядками або регулярними виразами, так і ділянками програмного коду. Хоч далі частіше в якості сигнатури використовуються тільки текстові рядки, для них застосовуються і регулярні вирази. Вони суттєво стійкіші до деяких мутацій і, крім того, при меншій довжині забезпечують кращу якість розпізнавання (менша кількість невірних спрацьовувань). Все це робить їх кращими за прості текстові рядки. Очевидно, що сигнатура, яка відповідає ділянці з командами, надійніша за сигнатури ділянки з даними, наприклад з текстовими рядками (останні можуть бути модифіковані). Тому вибір сигнатури доцільно робити на основі аналізу дизасембльованого коду вірусу. Довжина сигнатури не повинна бути дуже великою, оскільки довгу сигнатуру важко вірно набрати вручну. В той же час недостатня довжина або вибір нехарактерних ділянок коду сигнатури викликатимуть багато неправильних спрацювань, що зовсім небажано. Правильна сигнатура не повинна бути в жодній з найбільш розповсюджених в операційних системах службових програм, включаючи, безумовно, самі компоненти операційної системи. Отже, для вибору сигнатури відповідно до вказаних вимог необхідно провести ряд експериментів, де самі сигнатури можуть бути предметом порівняння і аналізу. На сьогоднішній день є програми, які забезпечують детектування вірусів шляхом пошуку в файлах відповідних рядків, і використані в них сигнатури природно "прийняти за основу". Найбільшу цінність становлять рядки, які використовуються у відомому закордонному детекторі Scan, оскільки нові версії цього детектора з'являються регулярно і охоплюють практично всі віруси, які з'являються за кордоном. З інших закордонних детекторів необхідно відзначити Virscan фірми IВМ і ТNTVirus фірми Саrnel (Ізраїль). Для визначеності називатимемо рядок, який використовується детектором Scan, М-сигнатурою, рядок, який використовується Virscan, – І-сигнатурою, а рядок, який використовується TNTVirus, – С-сигнатурою. Водночас відзначимо, що сигнатур для ряду вірусів, розроблених у нашій країні, в існуючих версіях цих програм немає, а сигнатури для болгарських вірусів часто невдалі. У таких випадках використовуються сигнатури, які позначені буквою В (В-сигнатури), або так звані J-сигнатури. Останні являють собою початкові байти коду вірусу, тобто перші виконувані команди тіла вірусу. Досвід показує, що вони досить специфічні і в більшості випадків дозволяють відрізнити один вірус від іншого. При цьому для файлових вірусів, які дописують своє тіло в кінець файла, вважають, що J-сигнатура починається з байта, на який передає керування команда JМР. Крім того, в тілі деяких вірусів зустрічаються характерні текстові рядки. Такі рядки називатимемо Т-сигнатурами і використовуватимемо як допоміжні. Необхідно відзначити, що контекстний пошук може використовуватися не тільки для пошуку заражених вірусом програм, але й для пошуку програм і файлів, які знищені або пошкоджені вірусом. Наприклад, вірус С-648.VEN при певних значеннях таймера замість зараження програми знищує її, записуючи в перші п'ять байтів рядок, який відповідає переходу на підпрограму перезавантаження ВІОS. Для пошуку знищених вірусом програм можна використовувати рядок "ЕАFОFFООFО". Аналогічно вірус RСЕ-1800.DAV знищує сектори на вінчестері, записуючи перші байти повідомлення "Еddie lives … somewhere in time". За цим повідомленням за допомогою Norton Utilites або інших програм можна виявити пошкоджені сектори і визначити, до яких файлів вони належать. За наявності сигнатури перевірку зараженості файлів вірусом даного типу зручно виконувати, використовуючи спеціальні програми. Наприклад, вдалою є програма TBScan, яка здійснює пошук у каталогах або заданих його гілках. У випадку виявлення заражених програм доцільно додатково проконтролювати результати за допомогою, наприклад, Norton Utilites, оскільки для перегляду всіх файлів можна використовувати режим глобального пошуку на диску. 3. Файлові віруси До даної групи відносяться віруси, що при своєму розмноженні тим чи іншим способом використовують файлову систему якої-небудь ОС. Впровадження файлового вірусу можливе практично в усі виконувані файли усіх популярних операційних систем. На сьогоднішній день відомі віруси, що вражають всі типи виконуваних об'єктів: командні файли (BAT), драйвери (SYS, у тому числі спеціальні файли IO.SYS і MSDOS.SYS) і виконувані двійкові файли (EXE, COM). Існують віруси, що вражають файли інших операційних систем - Windows, OS/2, Macintosh, UNIX, включаючи VxD-драйвери Windows. Існують віруси, які заражають файли, що містять вихідні тексти програм, бібліотечні чи об'єктні модулі. Можливий запис вірусу й у файли даних, але це може бути або в результаті помилки вірусу, або при прояві його агресивних властивостей. Макро-віруси також записують свій код у файли даних або у документи та електронні таблиці, однак ці віруси настільки специфічні, що винесені в окрему групу. Файлові віруси є найпоширенішим типом комп'ютерних вірусів. Вони становлять близько 80% загальної кількості вірусів, відомих для комп'ютерів, які сумісні з ІВМ РС. Цей клас комп'ютерних вірусів має дуже високу інфікуючу спроможність. За відсутності протидії вони викликають справжні епідемії. Так, наприклад, відбулося з вірусом RСЕ-1813.ІЕR, відомого також під назвами Jerusalim (Єрусалим), Black Friday (Чорна п'ятниця). Більшість розповсюджених файлових вірусів мають штами, які не дуже відрізняються від базової версії. Тому можна говорити про групи файлових вірусів і, відповідно, групові дескриптори і групові сигнатури. Нині кількість виявлених у країнах СНД файлових вірусів перевищує кілька сотень, тому запам'ятовування їх класифікаційних кодів суттєво полегшується, якщо вони використовуються з розширенням, яке показує, до якої групи належить даний вірус. Класифікаційний код файлового вірусу. Файлові віруси можна розділити на резидентні і нерезидентні, оскільки це в багатьох випадках визначає поведінку вірусу і насамперед його інфікуючу спроможність (резидентні віруси мають значно вищу інфікуючу спроможність порівняно з нерезидентними). Класифікаційний код файлових резидентних вірусів починається з префікса R, наприклад R-1701.САS. Префікс файлового віруса. Крім символу R, класифікаційний код файлового вірусу може включати символи С і Е або їх комбінацію. Як уже зазначалося, символи С і Е визначають типи файлів, заражених даним вірусом. Наприклад, якщо резидентний вірус заражає СОМ- і ЕХЕ-файли, то його класифікаційний код матиме префікс RСЕ. Кількісна характеристика. У якості кількісної характеристики можна використовувати:
До об'єктивних властивостей файлових вірусів, що безпосередньо спостерігаються, можна віднести насамперед приріст довжини файлів при зараженні. Цей приріст, який зумовлює наявність вірусу, можна використати для визначення його типу. Тут є дві основні проблеми. По-перше, величина приросту може варіюватися залежно від довжини зараженого файла (багато вірусів при дописуванні свого коду в кінець зараженого файла вирівнює своє тіло на найближчу адресу, кратну 16, тобто на межу параграфа). По-друге, величина приросту може не збігатися для СОМ- і ЕХЕ-файлів. Тому як кількісну характеристику частіше використовують нормований приріст – інфективну довжину, яку визначається за такими правилами:
Відзначимо, що запропонований першим правилом підхід дозволяє зняти вплив вирівнювання на межу параграфа для вірусів, які вирівнюють свій приріст вказаним способом. Крім того, для вірусів, які змінюють свій приріст визначеним способом, наприклад шляхом підгонки до величини, кратної 51, мінімальний приріст також дає можливість позбутися впливу вставних байтів (цей випадок можна розглядати як різновидність вирівнювання). І нарешті, для вірусів, які багато разів заражують один і той самий файл, використання мінімального приросту дозволяє звільнитися від впливу багаторазового зараження. Для визначення інфективної довжини не треба буде проводити спеціальні експерименти із зараження файлів. Здебільшого її можна досить просто визначити, порівнявши прирости довжин двох або більше заражених файлів типу СОМ. Найчастіше файлові віруси заражають командний процесор МS-DОS (файл СОММАND.СОМ) і програми, назви яких знаходяться у файлі АUТОЕХЕС.ВАТ. При аналізі кількох заражених файлів можливі два найтиповіші (хоч і не єдино можливі) випадки. Якщо прирости довжин двох або більше заражених файлів збігаються, а залишки від ділення довжин початкових файлів на 16 відрізняються один від одного, то, ймовірно, вірус не виконує вирівнювання свого коду на межу параграфа й інфективну довжину L даного вірусу можна дістати за формулою: L=D- 16-mod (LEN, 16)), тобто відніманням із отриманого приросту D доповнення 16 залишку від ділення початкової довжини LEN файла на 16. Наприклад, файл СОММАND.СОМ, який файлові віруси здебільшого пошкоджують в числі перших, у найпоширеніших нині версіях М8-DOS має довжину 25307. При цьому залишок від ділення 25307 на 16 дорівнює 11 (mod(25307,16)=11). Очевидно, що доповнення до 16 дорівнює 5, і для вирівнювання на межу параграфа необхідна вставка п'яти додаткових байтів. У цьому випадку інфективна довжина буде на 5 менша, ніж приріст довжини файла СОММАND.СОМ. Перевагою прийнятого підходу є те, що, за окремим винятком (наприклад, вірус RСЕ-1813.ІЕR), визначена таким чином інфективна довжина збігається з довжиною коду вірусу. Як кількісна характеристика класифікаційного коду можуть застосовуватися й інші параметри. Найпоширенішими вважають такі два підходи. Використання як кількісної характеристики довжини коду вірусу, визначеної за константою, яка вміщується у фрагменті, що забезпечує дописування коду вірусу в заражений файл (цю константу можна порівняно легко визначити, аналізуючи дизасембльований код вірусу). Така характеристика є об'єктивною, тому її часто використовують розробники антивірусних програм, які досить добре володіють мовою асемблера. Але визначена так характеристика в ряді випадків не збігається зі значенням приросту довжин файлів, який спостерігається. Це знижує її цінність з погляду використання при спробі класифікації користувачем, який не володіє мовою асемблера, нового, ще невідомого йому вірусу. Наприклад, для згаданого вище єрусалимського вірусу довжина коду вірусу становить 1808 байтів, а приріст довжини при зараженні файлів типу СОМ - 1813 байтів, що пояснюється додатковим записуванням в кінець зараженого файла типу СОМ п'ятибайтної константи "Мs-Dos" (використовується як ознака зараженості файла). Використання як кількісної характеристики приросту довжини якого-небудь конкретного файла, отриманого в результаті його зараження. Цей дійсно зручний підхід втратив свою привабливість з появою ряду вірусів, які не заражають командний процесор, з розповсюдженням МS-DOS версій 4.0 і вище, в якій довжина файла СОММAND.СОМ становить 37637, з появою нових сучасних операційних систем. Дескриптор файлового вірусу. Для зручності сприйняття дескриптор вірусу розбивається на декілька складових, для яких використовуються такі позначення: DМ – головний дескриптор; DР – предикат зараження (для зручності сприйняття записаний в близькій до алгебраїчної нотації); DR (тільки для резидентних вірусів) – положення в оперативній пам'яті, реакція на "тепле" перезавантаження і розмір зайнятої пам'яті; DH – перехоплювані переривання (в шістнадцятковій системі числення). Сигнатура файлового вірусу. Як уже відзначалося, для сигнатур доцільно використовувати рядки в шістнадцятковій системі числення, які відповідають характерним послідовностям команд у тілі вірусу. Розміщення сигнатур підпорядковується такому правилу: якщо М-сигнатура входить у V-сигнатуру, то вона додається після V-сигнатури. Як уже відзначалося раніше, Т-сигнатури існують не для всіх файлових вірусів. Однією із найзручніших сигнатур для файлових вірусів є J-сигнатура. Їх можна дуже швидко визначити за допомогою будь-якого налагоджувача (Debug, Turbo Debugger, АFD і т.д.). Користувачі, які не вміють працювати з налагоджувачами, можуть використовувати для визначення J-сигнатур програму "маскошукач", яка входить в пакет VL (непоганий детектор, заснований на контекстному пошуку заданих рядків). Необхідно відзначити, що контекстний пошук можна використовувати не тільки для пошуку заражених вірусом програм, але й для пошуку програм і файлів, які знищені або пошкоджені вірусом. Наприклад, вірус С-648.VЕN при певних значеннях таймера замість зараження програми знищує її, записуючи в перші 5 байтів рядок, який відповідає переходу на підпрограму перезавантаження ВІОS. |
Лекція №4 Тема: Програмне забезпечення персональних комп’ютерів Системне програмне забезпечення призначене для керування роботою складових комп’ютера та обміном даними між ними, діагностування... |
Тема. Програмне забезпечення комп’ютерних систем Мета Обладнання й матеріали: Комп’ютерний клас обладнаний в мережу, програмне забезпечення |
ДНК-геномні віруси (герпес-, покс- і аденовіруси) Тому знання теми необхідне лікарям усіх спеціальностей, в тому числі педіатрам, для правильного вибору методів діагностики, забезпечення... |
План Історія виникнення вірусів. Віруси “Pakistani Brain”, “Alameda... Добра і Зла. Не обійшлися без цього протистояння і активні процеси комп’ютеризації суспільства |
18. Прикладне програмне забезпечення спеціального призначення Прикладне програмне забезпечення спеціального призначення. Інструментальні програмні засоби для розв’язування прикладних задач з... |
Конспект уроку Тема уроку: Компютерні віруси. Антивірусні програми Познайомити учнів з видами комп’ютерних вірусів, навчити розпізнавати ці віруси; |
ЛІЦЕНЗІЙНИЙ ДОГОВІР НА ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ БУДЬ ЛАСКА, УВАЖНО ПРОЧИТАЙТЕ ЦЕЙ ДОКУМЕНТ ПЕРЕД ВСТАНОВЛЕННЯМ АБО ВИКОРИСТАННЯМ ЦЬОГО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ |
План-конспект лекції Тема: Запуск та налагоджування Internet. Апаратне забезпечення: Пристрій за допомогою якого будемо заходити в Інтернет (ноутбуки, КПК, мобільні телефони та ін.) та модем... |
Лекція з навчальної дисципліни «КОНФЛІКТОЛОГІЯ» Мета лекції: познайомити студентів з особливостями переговорного процесу та пояснити основні принципи проведення переговорів |
Тема Кількість годин ПК з пудключенням до мережі,необхідне програмне забезпечення, роздатковий матеріал |