Ноу Інти, лекція, використання антивірусних програм
Мета лекції. надати Новомосковсктелю знання про антивірусні програми.
Антивірусні програми (далі антивіруси) є основною частиною сучасної антивірусного захисту (якщо розглядати антивірусний захист як комплекс програм, які протистоять шкідливим програмам). Як правило, їх потужностей вистачає, щоб впоратися з більшістю шкідливих програм, але іноді буває і так, що з тих чи інших причин, вони впоратися не можуть (в цілях зручності для читання всі типи шкідливих програм будемо називати загальним поняттям віруси). А з чого почалася ця боротьба антивірусів з різними вірусами?
Історія виникнення антивірусних програм
Найперший вірус. діяв вже точно на поразку, з'явився в кінці 60-их. Йому пожертвували той же комп'ютер. на якому його і створили (вперше, з метою розваги). Але всі ці розваги, може, так і залишилися б тільки іграшками програмістів, якби не народження Інтернету. Ще в 1975 році через мережу Telenet розійшовся і найперший мережевий вірус "The Creeper", і вперше була створена програма - антивірус "Reeper". Але вже в наступному десятилітті Ф. Коен робив експерименти з програмами, які зможуть розмножуватися і мати можливість поширитися, його "дітище" створювало свої копії і знаходило виходи для них у велику комп'ютерну мережу. Так за цим принципом віруси поширилися і в наш час через глобальну мережу. А тоді, в 1984 р Коен виступив на сьомий конференції з безпеки інформації в Сполучених Штатах, висловлюючи свої думки з приводу нової загрози у цій сфері діяльності. Також два брата Амджад в Пакистані в 86 г відкрили невідомий досі вірус. Брати торгували програмним забезпеченням і раптом випадково побачили, що хтось його несанкціоновано копіює і множить, позбавляючи їх чесно зароблених грошей. Щоб якось зупинити любителів "халяви", вони написали програму "THE BRAIN" і впровадили її в свої роботи. Вона стала активною при спробі копіювання. Саме це було початком і прообразом всіх майбутніх вірусів. THE BRAIN різко перейшов кордон Пакистану і глибоко шокував неготовий до цього незвичайного явища світ. А вже в 1987 році з'явилася перша література про віруси і боротьбі з ними. З цього моменту стало абсолютно очевидно, що для боротьби з вірусами необхідно створювати спеціальні програми "антивіруси", які могли б боротися з вірусами, тим самим "лікуючи" заражену машину. Перші антивіруси були далекі від сучасних антивірусних програм. Фактично, вони були одноразовими програмами, які призначалися для лікування певного вірусу. Саме ж поширення такого антивіруса було досить дорогим і довгим заняттям, так як антивіруси записувалися на дискети і висилалися своїм передплатникам в різні куточки світу. Природно, така доставка була досить довгою, і було дуже складно своєчасно отримати потрібну копію антивіруса. Часто бувало і так, що жителі особливо віддалених місць від місця відсилання дискети з антивірусом до моменту отримання антивіруса були заражені парою ще інших вірусів. Все це створювало погану репутацію для антивірусів, але з розвитком мережі Інтернет антивіруси стали висилати спочатку на поштові скриньки користувачів, а потім і з'явилася можливість динамічно оновлювати спеціальні антивірусні бази. Сама ж схема роботи перших антивірусів була далека від ідеалу: вони не вміли постійно працювати на зараженій машині, а були, по суті справи, лише сканером, який шукав певний вірус і далі намагався з ним впоратися. Творці вірусів знайшли досить простий спосіб для боротьби з такими антивірусами: вони стали створювати віруси, які знищували антивірус до того, як їм міг скористатися користувач (тобто вони просто стирали антивірус з дискети, яка приходила користувачеві). Творці ж антивірусів в свою чергу стали оснащувати свої антивіруси спеціальними "протекторами", які не дозволяли видалити антивірусну програму. Тоді стали з'являтися віруси, які маскувалися під системні файли або папки, а потім почали з'являтися віруси, які навіть могли змінювати свій власний код (щоб антивірус не міг їх знайти). Але антивірусні програми також удосконалювалися (працювало правило "на кожен меч знайдеться свій щит"), і стала очевидна боротьба творців антивірусів з творцями вірусів. У свою чергу преса стала поширювати чутки, що антивірусні компанії самі пишуть різні віруси, з метою підтримки інтересу до антивірусних програм (в якійсь мірі це може бути цілком логічним висновком), але подібні чутки досі не можуть знайти свого підтвердження. Цікаво й те, що творці антивірусів складають конкуренцію один одному в боротьбі за покупців, і тому цілком логічним є висновок. що тримати кілька антивірусів на комп'ютері недоцільно, так як вони будуть конфліктувати один з одним, що буде грати на руку самим вірусам.
Механізм роботи сучасних антивірусів
Сучасний антивірус є складним програмним засобом, який має забезпечити надійний захист комп'ютерного пристрою (комп'ютера, кишенькового комп'ютера або ноутбука) від різних вірусів (шкідливих програм). Загальна схема антивіруса представлена на малюнку нижче:
Мал. 3.1. схема антивіруса
Як видно зі схеми, антивірус складається з наступних частин:
- Модуль резидентного захисту
- модуль карантину
- Модуль "протектора" антивіруса
- Конектор до антивірусу -Сервер
- модуль оновлення
- Модуль сканера комп'ютера
Модуль резидентного захисту є основним компонентом антивіруса. що знаходиться в оперативній пам'яті комп'ютера і скануючий в режимі реального часу всі файли, з якими здійснюється взаємодія користувача, операційної системи або інших програм. Слово "резидентний" означає "невидимий", "фоновий". Резидентні захист проявляє себе тільки при знаходженні вірусу. Саме на скільки-небудь захисту грунтується головний принцип антивірусного ПО - запобігти зараженню комп'ютера. До її складу входять такі компоненти, як активний захист (порівняння антивірусних сигнатур зі сканованого файлом і виявлення відомого вірусу) і проактивний захист (сукупність технологій і методів, використовуваних в антивірусному програмному забезпеченні, основною метою яких є запобігання зараженню системи користувача, а не пошук вже відомого шкідливого програмного забезпечення в системі).
Модуль карантину є модулем, який відповідає за приміщення підозрілих файлів в спеціальне місце. іменоване карантином. Файли, переміщені в карантин, не мають можливості виконувати будь-які дії (вони заблоковані) і знаходяться під наглядом антивіруса. Антивірус приймає рішення помістити файл на карантин при виявленні у файлі ознаки вірусної діяльності (при цьому сам файл з точки зору антивіруса вірусом в цьому випадку не є, просто файл є потенційною загрозою), або якщо файл дійсно заражений вірусом, але його необхідно вилікувати, а не видаляти повністю (наприклад, важливий документ користувача, в який потрапив вірус). В останньому випадку файл буде поміщений в карантин для подальшого лікування від вірусу (якщо ж антивірус не зможе вилікувати файл. Його доведеться видалити, або залишити, в надії на те, що з новим оновленням антивірус зможе вилікувати цей файл). Зазвичай карантин створюється в особливій папці антивірусної програми, яка ізольована від будь-яких дій, крім дій з боку антивіруса.
Модуль протектора антивіруса є модулем, який захищає антивірус від стороннього втручання з боку різних програмних засобів. Цей модуль є захисником антивіруса. Часто віруси хочуть стерти антивірус або запобігти його роботу шляхом блокування антивіруса. Модуль протектора антивіруса не дасть це зробити. Втім, не всі сучасні антивіруси забезпечені якісними протекторами. Деякі з них нічого не можуть зробити проти сучасних вірусів, а віруси в свою чергу можуть спокійно і безперешкодно повністю стерти антивірус. Також з'явилися віруси, які імітують видалення антивіруса з боку користувача, тобто протектор антивіруса вважає, що сам користувач з яких-небудь причин хоче видалити антивірус. і тому не перешкоджає цьому, хоча насправді це діяльність вірусу. В даний час антивірусні компанії стали більш серйозно підходити до випуску протекторів, і стає очевидно, що якщо антивірус не матиме хороший протектор, його ефективність в боротьбі з вірусами буде дуже мала.
Конектор до антивірусу -Сервер є важливою частиною антивіруса. Конектор служить для з'єднання антивіруса до сервера, з якого антивірус може завантажити актуальні бази з описом нових вірусів. При цьому з'єднання повинно проходити за спеціальним захищеному Інтернет-канали. Це дуже важливий момент, тому що зловмисник може підкласти невірні антивірусні бази з брехливим описом вірусів, якщо антивірус буде з'єднуватися з сервером по незахищеному Інтернет-канали. Також в сучасних антивирусах коннектор служить ще і для з'єднання до спеціального серверу, який управляє антивірусом. Подібне з'єднання зображено на малюнку нижче:
Мал. 3.2. Схема з'єднання до сервера
Як видно з малюнка, коннектор дозволяє з'єднувати безліч антивірусів користувачів з єдиним антивірусом-сервером, з якого антивіруси користувача можуть завантажувати оновлення, а також якщо на стороні антивіруса користувача виникли будь-які нерозв'язні проблеми, то антивірус - сервер буде віддалено їх вирішувати (наприклад, у антивіруса користувача став несправний який-небудь з модулів і антивірус - сервер надасть цей модуль окремо для скачування). У цьому випадку також дуже важливу роль відіграє захищеність каналу передачі (каналу зв'язку) інформації. З боку зловмисників стала застосовуватися цікава практика, в результаті якої захоплюється контроль над самим каналом передачі інформації, і фактично зловмисник стає керуючим для антивірусів користувача (для всіх або частково, в залежності від того, яку саме ділянку каналу передачі буде перехоплений зловмисником). В свою чергу. творці антивірусів стали зашифровувати дані на каналі інформації, щоб зловмисник не міг отримати до них доступ і як-небудь заволодіти ними.
Модуль оновлення відповідає за те, щоб оновлення антивіруса. його окремих частин, а також його антивірусних баз пройшло правильно. У сучасній практиці створення антивірусів стала застосовуватися наступна ідея: модуль поновлення також повинен визначати справжні чи ні антивірусні бази скачує сам модуль. Справжність при цьому може перевірятися різними методами - від перевірок контрольної суми файлу з базами до пошуку всередині файлу з базами спеціальної мітки, яка говорить про те, що цей файл є справжнім. Подібні дії стали вводитися після того, як почастішали випадки підміни антивірусних баз з боку зловмисників.
Модуль сканера комп'ютера є, мабуть, найстарішим модулем в сучасних антивирусах, так як раніше антивіруси складалися тільки з цього модуля. Цей модуль відповідає за те, щоб сканувати комп'ютер на наявність вірусів, якщо цього вимагатиме користувач комп'ютера. Сам модуль при скануванні комп'ютера використовує антивірусні бази, які були здобуті за допомогою модуля оновлення антивіруса. Якщо сканер знайде, але не впорається з вірусом відразу ж, то він помістить файл з вірусом в карантин. Потім, згодом, модуль сканера комп'ютера може зв'язатися через коннектор з антивірусом-сервером і отримати інструкції по знешкодженню зараженого файлу. Слід зазначити, що модуль сканера комп'ютера призначений для профілактики комп'ютера від вірусів, так як основний захист представляє модуль резидентного захисту. У модулі сканера комп'ютера використовуються тільки антивірусні бази, в яких чітко описані віруси. Різні елементи проактивного захисту (наприклад, евристика) не використовуються в модулі сканера комп'ютера. Зазвичай творці вірусів не будують спеціальний захист для своїх вірусів від модулів сканера комп'ютера, так як знають, що користувач не часто перевіряє комп'ютер сканером, і цього проміжного часу від перевірки до перевірки вистачить, щоб вкрасти персональні дані користувача.