Проактивність як засіб боротьби з вірусами, Безпека ПЗ, Security & Hack, статті

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

Характерною рисою сьогоднішнього дня є не тільки величезний збиток, що наноситься вірусними атаками, а й безперервний ріст числа самих шкідливих кодів. Відзначимо, що в 2005 році зростання популяції комп’ютерних шкідників придбав просто вибуховий характер. Наприклад, за даними “Лабораторії Касперського”, кількість щомісяця детектіруемих вірусів зросла на кінець 2005 року в середньому до 6368 примірників, а за підсумками року зростання склало 117%, в той час як минулого року зростання склало тільки 93%.


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


Введення в проактивні технології


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


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


У зв’язку з цим все більшого поширення набувають проактивні / евристичні методи виявлення вірусів. Цей підхід не вимагає випуску сигнатур. Антивірусна програма аналізує код перевіряється об’єкта та / або поведінку запущеного додатка, а потім на основі закладених в ній правил приймає рішення про те, чи є дане програмне забезпечення шкідливим.


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


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


Евристичний аналіз


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


Робота аналізатора, як правило, починається з пошуку в коді підозрілих ознак (команд), характерних для шкідливих програм. Цей метод називається статичним аналізом. Наприклад, багато шкідливих коди шукають виконувані програми, відкривають знайдені файли і змінюють їх. Евристик переглядає код програми і, зустрівши підозрілу команду, збільшує якийсь “лічильник підозрілості” для даного додатки. Якщо після перегляду всього коду значення лічильника перевищує задане граничне значення, то об’єкт визнається підозрілим.


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


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


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


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


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


Поведінкові блокіратори


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


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


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


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


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


На відміну від евристики, які присутні практично у всіх сучасних антивірусних програмах, поведінкові блокіратори на даний момент реалізовані далеко не скрізь. Як приклад ефективного поведінкового блокатора нового покоління можна привести модуль проактивного захисту (Proactive Defence Module), реалізований у продуктах “Лабораторії Касперського”.


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


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


Проактивний захист і проломи в програмному забезпеченні


У рекламних і маркетингових матеріалах антивірусних постачальників часто можна зустріти заяви про те, що проактивний / евристична захист – це панацея від нових загроз, що не вимагає оновлення, а отже, завжди готова до відбиття атак ще навіть не створених вірусів. Більш того, в брошурах і листівках мова часто йде не просто про нові загрози, які експлуатують відомі проломи, а про загрози класу “zero-day”. Іншими словами, розробники стверджують, що їх проактивні технології здатні зупинити навіть ті шкідливі коди, які використовують ще нікому не відомі проломи в додатках, тобто такі, для яких ще не випущена відповідна латочка.


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


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


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


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


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


Незважаючи на наявні недоліки, проактивні методи дійсно дозволяють виявляти деякі нові загрози ще до виходу відповідних сигнатур. Розглянемо, наприклад, реакцію антивірусів на хробака Email-Worm.Win32.Nyxem.e (далі просто Nyxem).


Черв’як Nyxem (відомий також як Blackmal, BlackWorm, MyWife, Kama Sutra, Grew і CME-24) потрапляє на комп’ютер при відкритті вкладення до листа, де вміщено посилання на сайти порнографічної та еротичної спрямованості, а також через файли, розташовані у відкритому мережевому доступі. Протягом ліченого часу вірус стирає інформацію на жорсткому диску, вражаючи файли в 11 різних форматах (включаючи Microsoft Word, Excel, PowerPoint, Access, Adobe Acrobat). При цьому вся корисна інформація заміщається безглуздим набором символів. Ще однією характерною особливістю Nyxem є його активізація третього числа кожного місяця.


Дослідницька група з Магдебурзького університету (AV-Test.org) провела незалежну оцінку швидкості реакції антивірусних розробників на появу Nyxem. З’ясувалося, що кілька антивірусних продуктів виявилися здатні виявити хробака за допомогою проактивних технологій, тобто ще до випуску сигнатур. Серед цих продуктів Panda Software – TruPrevent Personal, Internet Security Systems – Proventia-VPS, Kaspersky Internet Security 2006 (Beta 2).


Чи означає це, що проактивні технології здатні замінити “класичні” сигнатурні? Звичайно, ні. Для аналізу ефективності проактивного захисту необхідно тестувати антивіруси на великої колекції вірусів, а не на окремих (нехай і гучних) примірниках.


Одним з небагатьох визнаних незалежних дослідників, цілеспрямовано вивчають проактивні методи антивірусів на великих колекціях вірусів, є Андреас Климента (www.av-comparatives.org). Щоб перевірити, чи здатний антивірус виявити ще не існуючі загрози, можна провести тестування на недавно з’явилися віруси. Наприклад, тих, які з’явилися протягом останніх шести місяців. Природно, при таких випробуваннях антивірус забезпечується базою сигнатур якраз піврічної давності. Таким чином, захисної програмі доводиться протистояти загрозам, про існування яких вона не знає. Ресурс Андреаса Климента публікує результати саме таких тестів.


За результатами тесту, проведеного в 2005 році найбільш ефективними визнані евристики Eset, Антивірусу Касперського і Bitdefender:




Даний тест проводився на колекції з 8259 вірусів. Легко бачити, що найвищий рівень проактивного виявлення, продемонстрований в тесті, становить близько 70%. Це означає, що було пропущено 2475 вірусів. Погодьтеся, це досить значна цифра.


В іншому тесті на ефективність евристики, проведеному експертами з Магдебурзького університету AV-test.org в березні 2006 року на замовлення журналу PCWORLD, лідери тесту показали рівень евристичного детектування не вище 60%. Тестування проводилося на антивірусах з сигнатурами місячної та двомісячної давнини:




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


Результати тесту AV-Comparatives.org і AV-Test.org наочно демонструють, що проактивні методи самі по собі не можуть забезпечити необхідний рівень детектування. Це, до речі, прекрасно розуміють антивірусні постачальники, які, незважаючи на гучні заяви про проактивних технологіях, продовжують паралельно використовувати класичні сигнатурні методи детектування. Зазначимо, що розробникам чисто проактивних рішень (Finjan, StarForce Safe “n” Sec) доводиться купувати у сторонніх постачальників ліцензії на використання в своїх продуктах “класичних” сигнатурних технологій.


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


Підсумки


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


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




Для оптимальної антивірусного захисту необхідно поєднання проактивних і сигнатурних підходів. Максимального рівня виявлення загроз можна досягти тільки комбінуючи ці методи. На малюнку вище наведені результати тестів Андреаса Климент (www.av-comparatives.org) на загальний (сигнатурний + евристичний) рівень виявлення шкідливих програм. Здавалося б розрив між лідерами тесту невеликий. Але не треба забувати, що тестування проводилося на колекції більш ніж з 240 000 вірусів і відрив навіть в 1% означає пропуск близько 2400 вірусів.


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


Олег Гуділін

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*