Огляд комп’ютерних вірусів. Антивірусні програми

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

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

Крім того, для проникнення на комп’ютер вірус може використовувати уразливості в популярному програмному забезпеченні (наприклад, Adobe Flash, Internet Explorer, Outlook), для чого розповсюджувачі впроваджують його в звичайні дані (картинки, тексти, і т.д.) разом з експлойтом, що використовує уразливість.

Флешки – основне джерело зараження для комп’ютерів, не підключених до Інтернету.

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

В даний час не існує єдиної системи класифікації та найменування вірусів. Прийнято розділяти віруси:

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

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

Сигнатура атаки (вірусу) – характерні ознаки атаки або вірусу, що використовуються для їх виявлення.

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

Руткіт – програма або набір програм для приховування слідів присутності зловмисника або шкідливої програми в системі.

Бекдор, backdoor – програми, які встановлює зломщик на “зламаному” ним комп’ютері після отримання початкового доступу з метою повторного отримання доступу до системи. Основне призначення Backdoor – приховане управління комп’ютером.

Кейлогер – це програмне забезпечення, що реєструє кожне натискання клавіші на клавіатурі комп’ютера.

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

До комп’ютерних вірусів також відносять хробаків та троянских коней.

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

Хробаки можуть складатися з різних частин.

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

Також існують хробаки, які після успішного інфікування пам’яті зберігають код на жорсткому диску і вживають заходів для наступного запуску цього коду (наприклад, шляхом прописування відповідних ключів в реєстрі Windows). Від таких хробаків можна позбутися тільки за допомогою антивірусного програмного забезпечення або подібних інструментів. Найчастіше інфекційна частина таких хробаків (експлойт, шелл-код) містить невелике корисне навантаження, яке завантажується в ОЗП і може «довантажити» через мережу безпосередньо саме тіло хробака у вигляді окремого файлу. Завантажуване таким способом тіло хробака (зазвичай окремий виконуваний файл) тепер відповідає за подальше сканування та поширення вже з інфікованої системи, а також може містити більше серйозне, повноцінне корисне навантаження, метою якого може бути, наприклад, нанесення будь-якої шкоди.

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

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

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

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

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

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

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

На ринок виходять продукти і під інші платформи настільних комп’ютерів, такі як Linux і Mac OS X. Це викликано початком розповсюдження шкідливих програм і під ці платформи, хоча UNIX-подібні системи завжди славилися своєю надійністю.

Крім ОС для настільних комп’ютерів і ноутбуків, також існують платформи і для мобільних пристроїв, такі як Windows Mobile, Symbian, iOS, BlackBerry, Android, Windows Phone 7 та ін. Користувачі пристроїв на даних ОС також схильні до ризику зараження шкідливим програмним забезпеченням, тому деякі розробники антивірусних програм випускають продукти і для таких пристроїв.

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

Класифікувати антивірусні продукти можна відразу за декількома ознаками:

  • За використовуваними технологіями антивірусного захисту:
    • Класичні антивірусні продукти (продукти, що застосовують тільки сигнатурний метод детектування)
    • Продукти проактивного антивірусного захисту (продукти, що застосовують тільки проактивні технології антивірусного захисту)


    Система проактивного захисту від інтернет загроз Kaspersky Internet Security

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


    Система комбіновоного захисту Dr. Web

  • За цільовими платформами:
    • Антивірусні продукти для ОС сімейства Windows


    Антивірусна програма для ОС Windows - Avast

    • Антивірусні продукти для ОС сімейства UNIX (BSD, Linux, Mac OS X і ін)


    Антивірусна програма для Mac OS X - Eset NOD32

    • Антивірусні продукти для мобільних платформ


Lookout - антивірус для ОС Android

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

  • Видалити інфікований файл.
  • Відправити файл в «карантин» (тобто зробити його недоступним для виконання).
  • Спробувати відновити файл, видаливши сам вірус з тіла файла.

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

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


Приклад простого псевдоантивірусу

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

Говорячи про системи Майкрософт, зазвичай антивірус діє за схемою: – пошук в базі даних антивірусного ПО "сигнатур" вірусів – якщо знайдений інфікований код в пам’яті – або оперативній та/або постійній – запускається процес карантину і процес блокується – програма зазвичай видаляє вірус.

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