Тема 4. Використання програмно-апаратних рішень для захисту ІС

Трансляція мережних адрес

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

Рис. 1.4. Трансляція мережних адрес

Аутентифікація користувачів

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

Рис 1.5. Аутентифікапія користувачів

 

Реєстрація подій

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

Реалізація

Існує два варіанти реалізації міжмережевих екранів - програмний і програмно-апаратний. Другий варіант також може бути реалізований двояко - у вигляді спеціалізованого пристрою і у вигляді модуля в маршрутизаторі або комутаторі. Інтерес до програмно-апаратних рішень за останні два роки у всьому світі зріс. Такі рішення поступово витісняють "чисто" програмні системи і починають грати першу скрипку на даному ринку. Перше рішення - найбільш часто використовується в даний час і на перший погляд більш привабливіше. Це пов'язано з тим, що, на думку багатьох, для його вживання достатньо тільки придбати програмне забезпечення міжмережевого екрану і встановити на будь-яку інформаційну систему, що є в організації. Проте, на практиці далеко не завжди в організації знаходиться вільна інформаційна система, та ще і задовольняюча достатньо високим вимогам до системних ресурсів. Тому, одночасно з придбанням програмного забезпечення купують і інформаційну систему для його установки. Потім, слідує процес установки операційної системи і її налаштування, що також вимагає часу і оплати роботи. І лише після цього встановлюється і настроюється програмне забезпечення системи виявлення атак. Як видно, використання звичайної персоналки далеко не таке просте, як здається на перший погляд. Саме тому останніми роками стали набувати поширення спеціалізовані програмно-апаратні рішення, звані як security appliance. Вони поставляються як спеціальні програмно-апаратні комплекси, що використовують спеціалізовані або звичайні операційні системи (як правило, на базі FreeBSD або Linux), "урізані" для виконання тільки заданих функцій. До переваг таких рішень можна віднести:

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

- простота управління. Дані пристрої можуть управлятися з будь-якої робочої станції з ОС Windows or Unix. Взаємодія консолі управління з пристроєм здійснюється або по стандартних протоколах, наприклад, Тelnet або SNМР. або за допомогою спеціалізованих або захищених протоколів, наприклад, Ssh або SSL;

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

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

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

В звіті, опублікованому незалежною консалтинговою компанією Gartner Group в червні 1997 року, було написано, що до 2002 року 80% компаній з доходами від 20 до 200 мільйонів доларів виберуть саме апаратні рішення, а не програмні. Основна причина такого вибору - забезпечення такого ж високого рівня захисту, як і в програмних рішеннях, але за менші гроші. І друга причина - простота і легкість інтеграції таких рішень в систему.

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

- вартість інформаційної системи;

- вартість ліцензійного дистрибутива операційної системи;

- вартість супутнього програмного забезпечення (наприклад, браузера або СУБД);

- вартість витрат на установку і настройку всього комплексу в цілому. Звичайно ці витрати складають 20-30% від вартості складових всього комплексу;

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

Обмеження функціональності мережних сервісів

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

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

Потенційно небезпечні можливості

Нові можливості, які полегшують життя користувачам Іnternet, розроблялися практично без урахування вимог безпеки. Наприклад, JavaScript, Java, ActiveX і інші сервіси, орієнтовані на роботу з даними. Специфіка мобільного коду така, що він може бути використаний і як засіб для проведення атак, і як об'єкт атаки. В першому варіанті небезпека полягає в тому, що мобільний код завантажується на інформаційну систему користувача і виконується на ньому як звичайна програма, дістаючи доступ до системних ресурсів. Другий варіант, як правило, використовується для модифікації мобільного коду - як попередній етап перед проведенням атак на інформаційну систему користувача.

Як засіб для проведення атак мобільний код може бути реалізований у вигляді:

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

- агента, що перехоплює паролі, номери кредитних карт тощо;

- програми, що копіюють конфіденційні файли, які містять ділову і фінансову інформацію;

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

- створення високо пріоритетних процесів, виконуючих несанкціоновані дії;

- генерації великого числа вікон;

- "захоплення'' великого об'єму пам'яті і важливих системних класів;

- завантаження процесора нескінченним циклом.

 

Тема 5. Віруси і атаки

Практично жоден міжмережевий екран не має вбудованих механізмів захисту від вірусів і, в загальному випадку, від атак. Як правило, ця можливість реалізується шляхом приєднання до МЕ додаткових модулів або програм третіх розробників (наприклад, система антивірусного захисту Тrеnd Місrо для МЕ Сheck Роіnt Firewall-1 або система виявлення атак RеаlSесure для нього ж) Використання нестандартних архіваторів або форматів переданих даних, а також шифрування трафіку, зводить весь антивірусний захист "нанівець". Як можна захиститися від вірусів або атак, якщо вони проходять через міжмережевий екран в зашифрованому вигляді і розшифровуються тільки на крайових пристроях клієнтів?

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

Зниження продуктивності

Дуже часто міжмережеві екрани є найвужчим місцем мережі, знижуючи її пропускну спроможність. В тих випадках, коли доводиться аналізувати не тільки заголовок (як це роблять пакетні фільтри), але і зміст кожного пакету ("ргоху"), істотно знижується продуктивність міжмережевого екрану. Для мереж з напруженим трафіком використання звичайних міжмережевих екранів стає недоцільним. В таких випадках на перше місце необхідно ставити виявлення атак і реагування на них, а блокувати трафік необхідно тільки у разі виникнення безпосередньої загрози. Тим більше що деякі засоби виявлення атак (наприклад, ВlасkСЕ Gigabit Sеntrу) можуть функціонувати і на гігабітних швидкостях. Компроміс між типами міжмережевих екранів - більш висока гнучкість в пакетних фільтрах проти більшого ступеня захищеності і відмінної керованості в шлюзах прикладного рівня або інспекторах стану. Хоча на перший погляд здасться, що пакетні фільтри повинні бути швидші, тому що вони простіші та обробляють тільки заголовки пакетів, не зачіпаючи їх вміст, це не завжди так. Багато міжмережевих екранів, побудованих на основі прикладного шлюзу, показують більш високі швидкісні характеристики, ніж маршрутизатори, і є кращим вибором для управління доступом. Це пов'язано з тим, що як вже говорилося, маршрутизатори є не спеціалізованими пристроями і функції фільтрації для них не є пріоритетними.

Персональні міжмережеві екрани

За останні декілька років в структурі корпоративних мереж відбулися серйозні зміни. Якщо раніше межі таких мереж можна було чітко обкреслити, то зараз це практично неможливо. Ще недавно така межа проходила через всі маршрутизатори або інші пристрої (наприклад, модеми), через які здійснювався вихід в зовнішні мережі. У віддалених офісах організації ситуація була схожа. Проте, зараз повноправним користувачем мережі, що захищається міжмережевим екраном, є співробітник, що знаходиться за межами захищеного периметра. До таких співробітників відносяться користувачі, що працюють вдома або що знаходяться у відрядженні. Чи потрібен їм захист? Поза сумнівом. Але всі традиційні міжмережеві екрани побудовані так, що користувачі і ресурси, які захищаються, повинні знаходитися під покровом їх захисту, тобто з внутрішньої сторони, що є неможливим для мобільних користувачів. Щоб усунути цю проблему було запропоновано два підходи - віртуальні приватні мережі (VPN), які будуть описані далі, і розподілені міжмережеві екрани (distributed firewall). Прикладом першого рішення можна назвати VPN-1 компанії Сheck Роіnt Software (www.checkpоіnt.com). Така схема, яка схожа на восьминога, що розкинув свої щупальця, володіла тільки одним недоліком - сам віддалений вузол був схильний до атак, хоча доступ в мережу був захищений від несанкціонованих дій. Встановлений на віддалене робоче місце троянський кінь міг дати можливість проникнути зловмиснику через міжмережевий екран і по захищеному каналу. Адже VРN шифрує і звичайний, і несанкціонований трафік, не роблячи між ними відмінностей. Тоді-то і народилася ідея розподіленого міжмережевого екрану (distributed firewall), який був би міні-екраном, що захищає не всю мережу, а тільки частини окремої інформаційної системи. Прикладами такого рішення є ВlасkІСЕ Аgеnt компанії Іnternet Security Systems (www.iss.net) або RealSecure Server Sensor того ж виробника. Це рішення сподобалося і домашнім користувачам, які нарешті дістали можливість захисту своїх інформаційних систем від нишпорячих по мережі зловмисників. Але, оскільки багато функцій розподіленого МЕ (наприклад, централізоване управління або розсилання політики безпеки) для домашніх користувачів були зайвими, то технологія розподіленого МЕ була модифікована і новий підхід одержав назву '"персонального міжмережевого екрану" (реrsоnаl firewall), яскравими представниками яких є ZoneAlarm і ВlаскІСЕ Defender компанії ZoneLabs (www.zonelabs.соm) і ISS відповідно. Компанія Сheck Роіnt Software виявилася попереду і тут, запропонувавши рішення VPN-1 SecureСlіеnt і VPN-1 SecureServer, які не тільки захищають від зовнішніх атак інформаційні системи, на яких вони встановлені, але і забезпечують захист трафіку, переданого за межі даного вузла (тобто організовуючи Сlіеnt\Server VPN). Саме таке рішення зробило підвладними міжмережевим екранам мережі з нечітко обкресленими межами.

В чому відмінність персонального міжмережевого екрану від розподіленого? Головна відмінність одна - наявність функції централізованого управління. Якщо персональні міжмережеві екрани управляються тільки з тої інформаційної системи, на якій вони встановлені, і ідеально підходять для домашнього використання, то розподілені міжмережеві екрани можуть керуватися централізовано, з єдиної консолі управління, встановленої в головному офісі організації. Такі відмінності дозволили деяким виробникам випускати свої рішення в двох версіях — персональної (для домашніх користувачів) і розподіленої (для користувачів організації). Так, наприклад, зробила компанія Internet Security System, яка пропонує персональний міжмережевий екран ВlаскІСЕ Defender і розподілений міжмережевий екран ВlаскІСЕ Agent.

Якими функціями повинен володіти ефективний персональний міжмережевий екран? По-перше, цей екран не повинен бути пасивною програмою, яка тільки і робить, що блокує вхідний на інформаційну систему трафік по заданих критеріях, до яких звичайно відносяться адреса і порт джерела. Зловмисники давно навчилися обходити такі прості захисні механізми і в мережі Internet можна знайти велике число програм, які можуть проникнути через багато традиційних захисних бар'єрів. Прикладом такої програми є троянський кінь SubSeven 2.2, що дозволяє виконувати велике число функцій на скомпрометованій інформаційній системі без відома його власника. Щоб захиститися, необхідний інструмент, який дозволить проводити більш глибокий аналіз кожного мережного пакету, направленого на вузол, що захищається. Таким інструментом є система виявлення атак, яка в трафіку, пропущеному через міжмережевий екран, знаходить сліди діяльності хакера. Вона не довіряє сліпо таким дозвільним ознакам, як адреса і порт джерела. Як відомо протокол ІР, на основі якого побудований сучасний Internet, не має серйозних механізмів захисту, що дозволяє без зусиль підмінити свою справжню адресу, тим самим, роблячи неможливим відстеження зловмисника. Мало того, хакер може "підставити" кого-небудь іншого, замінивши свою адресу на адресу підставної особи. І, нарешті, для деяких атак (наприклад, "відмова в обслуговуванні") адреса джерела взагалі не потрібна і за статистикою в 95% випадків ця адреса хакером змінюється. Можна привести чудову аналогію. Персональний міжмережевий екран - це охоронець в будівлі, який виписує пропуск всім відвідувачам. В такій ситуації зловмисник може без зусиль пронести в будівлю зброю або бомбу. Проте, якщо на вході поставити металодетектор, то ситуація в корені міняється і зловмиснику вже не так легко пронести в зону, що захищається, заборонені предмети.

На жаль, доводиться відзначити, що небагато міжмережевих екранів володіють вбудованою системою виявлення атак. Одним з таких рішень є системи ВІаскІСЕ Firewall і ВlаскІСЕ Agent компанії Іnternet Security Systems. Будь-який з компонентів сімейства ВlаскІСЕ містить два основні модулі, що здійснюють виявлення і блокування несанкціонованої діяльності - ВІаскІСЕ Firewall i ВІаскІСЕ IDS. ВІаскІСЕ Firewall відповідає за блокування мережного трафіку з певних ІР-адрес і ТСР/UDР-портів. Попереднє блокування трафіку за певними критеріями дозволяє збільшити продуктивність системи за рахунок зниження числа "зайвих" операцій на обробку недозволеного трафіку. Налаштування даного компоненту може здійснювати як вручну, так і в автоматичному режимі. В останньому випадку, реконфігурація відбувається після виявлення несанкціонованої діяльності модулем ВІаскІСЕ IDS. При цьому блокування трафіку може здійснюватися за будь-який проміжок часу. ВІаскІСЕ Firewall працює напряму з мережною картою, минаючи вбудований в операційну систему стек протоколів, що дозволяє усунути небезпеку від використання багатьох відомих уразливостей, пов'язаних з некоректною реалізацією стека в операційній системі. ВІаскІСЕ IDS відповідає за виявлення атак і інших слідів несанкціонованої діяльності в трафіку, що поступає від модуля ВІаскІСЕ Firewall, і використовує запатентований алгоритм семирівневого аналізу протоколу.

Наступним механізмом, яким повинен володіти ефективний персональний міжмережевий екран, є захист від небезпечного вмісту, який можна одержати з Іnternet. До такого вмісту можна віднести апплети Java і управляючі елементи ActiveX, код ShockWave і сценарії JavaScript і VBSScript. За допомогою цих, з одного боку незамінних і зручних технологій, можна виконати велике число несанкціонованих дій на інформаційній системі. Починаючи від впровадження вірусів і установки троянських коней і закінчуючи крадіжкою або видаленням всієї інформації. Також персональні міжмережеві екрани повинні захищати від сооkіеs, які можуть розкрити конфіденційну інформацію про власника інформаційної системи.

В деякі персональні міжмережеві екрани (наприклад, в Norton Internet Security компанії Symantec) вбудовані антивірусні системи, які крім виявлення троянців, можуть знаходити і велике число вірусів, включаючи макрос-віруси і Internet-черв'яків. Часто виробники вбудовують в свою продукцію модулі VPN (наприклад, РGР Desktop Security або VРN-1 SecureСlіеnt), які відповідають за забезпечення захищеної взаємодії з центральним офісом.

Оскільки розподілені екрани управляються централізовано, то вони повинні володіти ефективним механізмом настройки, адміністрування і контролю, що дозволяє адміністратору безпеки без додаткових зусиль одержати докладну інформацію про зафіксовані спроби проникнення на вузли, що захищаються. Мало того, в деяких випадках необхідно ініціювати процедуру розслідування злочину або зібрати докази для звернення до правоохоронних органів. І тут буде незамінним механізм відстежування зловмисника (back tracing), реалізований в деяких міжмережевих екранах. Наприклад, вже згадувані ВlаскІСЕ Agent і Defender, дозволяють відстежити зловмисника, що здійснює атаку на інформаційну систему, що захищається, і зібрати про хакера наступну інформацію:

- ІР-, DNS-, WINS-, NetBIOS- і МАС-адреси інформаційної системи, з якої здійснюється атака;

- ім'я, під яким зловмисник увійшов до мережі.

Важливою є можливість віддаленого оновлення програмного забезпечення персонального міжмережевого екрану (наприклад, в VРN-1 SecureСlіеnt). Інакше адміністратору доводилося б самостійно відвідувати кожного з власників інформаційної системи і відновляти його захисне програмне забезпечення. Віддалене ж і, головне, непомітне для власника інформаційної системи, відновлення (включаючи і відновлення сигнатур атак і вірусів) знімає цю проблему і полегшує нелегку працю адміністратора безпеки. Здійснюючи віддалене управління, не варто забувати і про захист трафіку, переданого між центральною консоллю і віддаленими агентами. Зловмисник може перехопити або підмінити ці команди, що порушить захищеність віддалених вузлів.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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