Тема 2 Захист від шкідливого програмного забезпечення Навчальний посібник Internet для користувача частина 2, НУДПСУ
« Назад2. Захист від шкідливого програмного забезпечення
2.1. Загальні відомості про шкідливе програмне забезпечення
Відповідно одному із визначень, наведених в вітчизняній нормативній документації [111], комп’ютерний вірус – програма, що здатна створювати свої копії, модифіковані копії, які можуть цілком не відповідати оригіналу, і впроваджувати їх у різні об’єкти/ресурси інформаційно-телекомунікаційних систем без відома користувача, й направлена на деструктивну дію. Досить складно визначити програму, що однозначно попадає під визначення вірусу. Адже при цьому потрібно окреслити властивості, характерні тільки вірусам. Однак завжди можна знайти вірус, що не попадає під ці властивості або навпаки, безневинну програму, що володіє тими ж властивостями. Однак більшість вчених погоджуються з думкою Євгенія Касперського, що обов'язковою властивістю комп'ютерного вірусу є можливість створювати свої дублікати (не обов'язково співпадаючі з оригіналом) і впроваджувати їх в обчислювальні мережі й/або файли, системні області комп'ютера та інші виконувані об'єкти. При цьому дублікати зберігають здатність до подальшого поширення. Ще одне визначення комп'ютерного вірусу наведене в [111] сформульоване так - це програма, здатна створювати свої копії (необов'язково співпадаючі з оригіналом) і впроваджувати їх у файли, системні області комп'ютера, комп'ютерних мереж, а також здійснювати інші деструктивні дії. При цьому копії зберігають здатність подальшого поширення. Комп'ютерний вірус відноситься до шкідливих програм. Інша проблема, пов'язана з визначенням комп'ютерного вірусу криється в тім, що сьогодні під вірусом найчастіше розуміється не "традиційний" вірус, а практично будь-яка шкідлива програма. Це приводить до плутанини в термінології, ускладненої ще й тим, що практично всі сучасні антивіруси здатні виявляти зазначені типи шкідливих програм, у такий спосіб асоціація "шкідлива програма-вірус" стає усе більше стійкою. Шкідлива програма - комп'ютерна програма або переносний код, призначений для реалізації погроз інформації, що зберігається в комп'ютерної системи, або для схованого нецільового використання ресурсів комп'ютерної системи, або іншого впливу, що перешкоджає її нормальному функціонуванню. До шкідливих програм відносяться комп'ютерні віруси, трояни, мережні черв'яки та ін. Розгляд шкідливих програм почнемо із комп'ютерних вірусів. По причині того, що основною особливістю вірусів є здатність до розмноження в рамках одного комп'ютера, то розподіл на типи відбувається у відповідності зі способами розмноження. Сам процес розмноження може бути умовно розділений на кілька стадій: - Проникнення на комп'ютер. - Активація вірусу. - Пошук об'єктів для зараження. - Підготовка вірусних копій. - Впровадження вірусних копій. Особливості реалізації кожної стадії породжують атрибути, набір яких фактично й визначає клас вірусу. Проникнення. Віруси проникають на комп'ютер разом із зараженими файлами або іншими об’єктуми (завантажувальними секторами дискет), ніяк, на відміну від черв'яків, не впливаючи на процес проникнення. Отже, можливості проникнення повністю визначаються можливостями зараження й класифікувати віруси по цих стадіях життєвого циклу окремо змісту немає. Активація. Для активації вірусу необхідно, щоб заражений об'єкт одержав керування. На даній стадії розподіл вірусів відбувається по типах об'єктів, які можуть бути заражені: - Завантажувальні віруси - віруси, що заражають завантажувальні сектори постійних і змінних носіїв. - Файлові віруси — віруси, що заражають файли. Ця група додатково ділиться на три, залежно від середовища в якій виконується код: - Властиво файлові віруси — ті, які безпосередньо працюють із ресурсами операційної системи. - Макровіруси — віруси, написані мовою макрокоманд і, що виконують у середовищі якого-небудь додатка. У переважній більшості випадків мова йде про макроси в документах Microsoft Office. - Скрипти-віруси — віруси, що виконують у середовищі певної командної оболонки: раніше - bat-файли в командній оболонці DOS, зараз частіше Visual Basic Script і JavaScript - скрипты в командній оболонці Windows Scripting Host. Пошук об'єктів для зараження. На стадії пошуку об'єктів для зараження зустрічається два способи поводження вірусів: - Одержавши керування, вірус робить разовий пошук жертв, після чого передає керування асоційованому з ним об'єкту (зараженому об'єкту). - Одержавши керування, вірус так чи інакше залишається в пам'яті й робить пошук жертв безупинно, до завершення роботи середовища, у якій він виконується. Підготовка вірусних копій. Процес підготовки копій для поширення може істотно відрізнятися від простого копіювання. Автори найбільш складних у технологічному плані вірусів намагаються зробити різні копії максимально несхожими для ускладнення їхнього виявлення антивірусними засобами. Як наслідок, складання сигнатури для такого вірусу вкрай утруднене або зовсім неможливо. Зазначимо, що під поняттям сигнатура вірусу розуміють інформацію, що дозволяє однозначно визначити наявність даного вірусу у файлі або іншому коді. Прикладами сигнатур є: унікальна послідовність байт, що є присутнім у даному вірусі й не зустрічається в інших програмах; контрольна сума такої послідовності. При створенні копій для маскування можуть застосовуватися наступні технології: - Шифрування- вірус складається із двох функціональних шматків: властиво вірус і шифратор. Кожна копія вірусу складається із шифратора, випадкового ключа й властиво вірусу, зашифрованого цим ключем. - Метаморфізм- створення різних копій вірусу шляхом заміни блоків команд на еквівалентні, перестановки місцями шматків коду, вставки між значущими шматками коду "сміттєвих" команд, які практично нічого не роблять. Сполучення цих двох технологій приводить до появи наступних типів вірусів: - Шифрований вірус - вірус, що використає просте шифрування з випадковим ключем і незмінний шифратор. Такі віруси легко виявляються по сигнатурі шифратора. - Метаморфный вірус — вірус, що застосовує метаморфізм до всього свого тіла для створення нових копій. - Поліморфний вірус — вірус, що використає метаморфный шифратор для шифрування основного тіла вірусу з випадковим ключем. При цьому частина інформації, використовуваної для одержання нових копій шифратора також може бути зашифрована. Наприклад, вірус може реалізовувати кілька алгоритмів шифрування й при створенні нової копії міняти не тільки команди шифратора, але й сам алгоритм. Поліморфні віруси можна ділити на класи за рівнем поліморфізму. Пік популярності поліморфних вірусів довівся на часи DOS, проте, і пізніше поліморфізм використався в безлічі вірусів, продовжує використатися поліморфізм і сьогодні. Впровадження. Впровадження вірусних копій може здійснюватися двома принципово різними методами: - Впровадження вірусного коду безпосередньо в заражає объект, що; - Заміна об’єкту на вірусну копію. Об'єкт, що заміщається, як правило, перейменовується. Розглянемо другий тип шкідливих програм - "черв'яки". "Черв'як" (мережний черв'як) - тип шкідливих програм, що поширюються по мережних каналах, здатних до автономного подолання систем захисту автоматизованих і комп'ютерних мереж, а також до створення й подальшого поширення своїх копій, що не завжди збігаються з оригіналом, і здійсненню іншого шкідливого впливу. До даної категорії ставляться програми, що поширюють свої копії по локальним і/або глобальних мережах з метою: - Проникнення на віддалені комп'ютери. - Запуску своєї копії на віддаленому комп'ютері. - Подальшого поширення на інші комп'ютери в мережі. Для свого поширення мережні черв'яки використають різноманітні комп'ютерні й мобільні мережі: електронну пошту, системи обміну миттєвими повідомленнями (IM), мережі обміну файлами (P2P) і IRC-мережі, LAN, мережі обміну даними між мобільними пристроями (телефонами, кишеньковими комп'ютерами) і т.і. Більшість відомих черв'яків поширюється у вигляді файлів: вкладення в електронний лист, посилання на заражений файл на якому-небудь веб- або FTP-ресурсі в ICQ- і IRC-повідомленнях, файл у каталозі обміну P2P і т.і. Деякі черв'яки (так звані "без файлові" або "пакетні") поширюються у вигляді мережних пакетів, проникають безпосередньо в пам'ять комп'ютера й активізують свій код. При цьому, окремий файл на жорсткому диску комп'ютера не створюється Для проникнення на віддалені комп'ютери й запуску своєї копії черв'яки використають різні методи: - Соціальну інженерію (наприклад, текст електронного листа, що спонукає відкрити вкладений файл). - Недоліки в конфігурації мережі (наприклад, копіювання на диск, який відкритий для повного доступу). - Помилки в службах безпеки операційних систем і додатків. Так само як для вірусів, життєвий цикл черв'яків можна розділити на певні стадії:
Стадії 1 і 5, власне кажучи, симетричні й характеризуються в першу чергу використовуваними протоколами й додатками. Стадія 4 - Підготовка копій - практично нічим не відрізняється від аналогічної стадії в процесі розмноження вірусів. Розглянемо стадії життєвого циклу черв'яків більш детально. Канали поширення черв'яків розрізняють по типу протоколів, що використовуються для розповсюдження. Відповідно класифікують і черв'яків: - Мережні черв'яки - використають для поширення протоколи Інтернет і локальні мережі. Звичайно цей тип черв'яків поширюється з використанням неправильної обробки деякими додатками базових пакетів стека протоколів TCP/IP. - Поштові черв'яки - поширюються у форматі повідомлень електронної пошти. - IRC-черв'яки - поширюються по каналах IRC (Internet Relay Chat). - P2P-черв'яки - поширюються за допомогою пиринговых (peer-to-peer) мереж обміну файлами. - IM-черв'яки - використають для поширення системи миттєвого обміну повідомленнями (IM, Instant Messenger - ICQ, MSN Messenger, AIM і ін.) Сьогодні найбільш численну групу становлять поштові черв'яки. Мережні черв'яки також є помітним явищем, але не стільки через кількість, скільки через якість: епідемії, викликані мережними черв'яками, найчастіше відрізняються високою швидкістю поширення й більших масштабів. P2P- черв'яки і IM-черв'яки зустрічаються досить рідко, частіше IRC, P2P і IM служать альтернативними каналами поширення для поштових і мережних черв'яків. Способи активації. На цьому етапі черв'яки діляться на дві великі групи, що відрізняються за технологіями й по строках життя: - Для активації необхідно активна участь користувача; - Для активації участь користувача не потрібно або досить лише пасивної участі. Під пасивною участю користувача в другій групі розуміється, наприклад, перегляд листів у поштовому клієнті, при якому користувач не відкриває вкладені файли, але його комп'ютер виявляється зараженим. Пошук "жертв". Спосіб пошуку комп'ютера-жертви повністю базується на використовуваних протоколах і додатках. Зокрема, якщо мова йде про поштового черв'яка, проводиться сканування файлів комп'ютера на предмет наявності в них адрес електронної пошти. В результаті по виявлених адресах й здійснюється розсилання копій черв'яка. Тим же способом Інтернет-черв'яки сканують діапазон IP-адрес у пошуках уразливих комп'ютерів, а P2P-черв'яки кладуть свої копії в загальнодоступні каталоги клієнтів пиринговых мереж. Деякі черв'яки здатні експлуатувати списки контактів интернет-пейджеров, таких як ICQ, AIM, MSN Messenger, Yahoo! Messenger і ін. Підготовка копій для поширення. Найбільше часто серед черв'яків зустрічаються спрощені реалізації метаморфізму. Деякі черв'яки здатні розсилати свої копії в листах, як із впровадженням скрипта черв'яка, що приводить до автоматичної активації, так і без впровадження. Таке поводження черв'яка обумовлене двома факторами: скрипт автоматичної активації підвищує ймовірність запуску черв'яка на комп'ютері користувача, але при цьому зменшує ймовірність пройти антивірусні фільтри на поштових серверах. Аналогічно, черв'яки можуть міняти тему й текст інфікованого повідомлення, ім'я, розширення й навіть формат вкладеного файлу - виконує модуль, що, може бути прикладений як є або в заархівіруваному виді. Все це не можна вважати повноцінним поліморфізмом, але певною часткою мінливості черв'яки, безумовно, володіють. Перейдемо до розгляду останньої із основних категорій шкідливих програм - "троянского коня". Троян (троянський кінь) — тип шкідливих програм, основною метою яких є шкідливий вплив стосовно комп'ютерної системи. Трояни відрізняються відсутністю механізму створення власних копій. Деякі трояни здатні до автономного подолання систем захисту, з метою проникнення й зараження системи. У загальному випадку, троян попадає в систему разом з вірусом або черв'яком, у результаті необачних дій користувача або ж активних дій зловмисника. У дану категорію входять програми, що здійснюють різні несанкціоновані користувачем дії: - Збір інформації й передача її зловмисникові. - Руйнування або зловмисна модифікація інформації. - Порушення працездатності комп'ютера. - Використання ресурсів комп'ютера в злочинних цілях. Окремі категорії троянських програм завдають шкоди віддаленим комп'ютерам і мережам, не порушуючи працездатність зараженого комп'ютера (наприклад, троянські програми, розроблені для масованих DoS-атак на вилучені ресурси мережі). По аналогії з вірусами та черв'яками розглянемо життєвий цикл троянів. В силу відсутності в троянах функцій розмноження й поширення, їхній життєвий цикл вкрай короткий - всього три стадії:
Однак це не означає малого часу життя троянів. Навпроти, троян може тривалий час непомітно перебувати в пам'яті комп'ютера, ніяк не видаючи своєї присутності, доти, поки не буде виявлений антивірусними засобами. Способи проникнення. Завдання проникнення на комп'ютер користувача трояни вирішують звичайно одним із двох наступних методів: - Маскування- троян видає себе за корисний додаток, що користувач самостійно завантажує з Інтернет і запускає. Іноді користувач виключається із цього процесу за рахунок розміщення на Web-сторінці спеціального скрипта, що використовуючи дірки в браузері й автоматично ініціює завантаження та запуск трояна. - Кооперація з вірусами й черв'яками- троян подорожує разом із черв'яками або, рідше, з вірусами. У принципі, таку пара черв'як-троян можна розглядати цілком як складеного черв'яка, але в сформованій практиці прийнято троянську складову черв'яків, якщо вона реалізована окремим файлом, вважати незалежним трояном із власним ім'ям. Крім того, троянська складова може попасти на комп'ютер пізніше, ніж файл черв'яка. Активація. Використовувані прийоми збігаються з аналогічними прийомами черв'яків: очікування запуску файлу користувачем, або використання уязвимостей для автоматичного запуску. Виконувані функції. На відміну від вірусів і черв'яків, розподіл яких на типи виробляється по способах розмноження/поширення, трояні діляться на типи відповідно характеру виконуваних ними шкідливих дій. Найпоширенішими є наступні види троянів. - Клавіатурні шпигуни - трояни, що постійно перебувають у пам'яті й дані, що зберігають всі, вступники від клавіатури з метою наступної передачі цих даних зловмисникові. Звичайно в такий спосіб зловмисник намагається довідатися паролі або іншу конфіденційну інформацію. - Викрадачі паролів - трояни, також призначені для одержання паролів, але такі, що не використають спостереження за клавіатурою. У таких троянах реалізовані способи викрадення паролів з файлів, в яких вони зберігаються, за допомогою різноманітних програмних прийомів. - Утиліти віддаленого керування - трояни, що забезпечують повний віддалений контроль над комп'ютером користувача. Існують легальні утиліти з тими ж властивостями, але вони відрізняються тим, що повідомляють про своє призначення при установці або ж постачаються з документацією, у якій описані їхні функції. Троянські утиліти віддаленого керування, напроти, ніяк не видають свого реального призначення, так що користувач і не підозрює про те, що його комп'ютер підконтрольний зловмисникові. Найбільш популярна утиліта віддаленого керування - Back Orifice. - Люки (backdoor) - трояни які надають зловмисникові обмежений контроль над комп'ютером користувача. Від утиліт віддаленого керування відрізняються більше простою конструкцією і, як наслідок, невеликою кількістю доступних дій. Проте, звичайно однією з дій є можливість завантаження й запуску будь-яких файлів по команді зловмисника, що дозволяє при необхідності перетворити обмежений контроль у повний. - Анонімні smtp-сервера й прокси - трояни, що виконують функції поштових серверів або проксі-серверів. Використаються в першому випадку для спам-розсилок, а в другому для замітання слідів хакерами. - Утиліти дозвону - порівняно новий тип троянів, що представляють собою утиліти dial-up доступу в Інтернет через дорогі поштові служби. Такі трояни прописуються в системі як утиліти дозвону за замовчуванням і спричиняють фінансові збитки. - Модифікатори настроювань браузера - трояни, які міняють стартову сторінку в браузері, сторінку пошуку або ще які-небудь налаштування, відкривають додаткові вікна браузера, імітують натискання на банери й т.і. - Логічні бомби — частіше не стільки трояни, скільки троянські складових черв'яків і вірусів, суть роботи яких полягає в тому, щоб за певних умов (дата, час доби, дії користувача, команда ззовні) зробити певну дію, наприклад, знищення даних. Функціонування шкідливих програм небезпечне як з точки зору погіршення функціональних властивостей комп'ютерних систем, так і з точки зору порушення безпеки інформації, що передається, зберігається і оброблюється в цих системах. Наведемо коротку характеристику загроз функціональним властивостям комп'ютерним системам з боку шкідливих програм: - Перевантаження каналів зв'язку- властивий черв'якам вид збитку, пов'язаний з тим, що під час масштабних епідемій по Інтернет-каналах передаються величезні кількості запитів, заражених листів або безпосередньо копій черв'яка. У ряді випадків, користування послугами Інтернет під час епідемії стає скрутним. - DDos атаки— завдяки масовості, черв'яки можуть ефективно використатися для реалізації розподілених атак на відмову в обслуговуванні (DDos атак). У розпал епідемії, коли зараженими є мільйони й навіть десятка мільйонів комп'ютерів, обіг всіх інфікованих систем до певного Інтернет ресурсу приводить до повного блокування цього ресурсу. Так, під час атаки черв'яка MyDoom сайт компанії SCO був недоступний протягом місяця. - Втрата даних- пов'язана з навмисним знищенням певних даних на комп'ютері користувача. Загроза найбільш характерна для вірусів, дещо рідше виникає з боку троянів і черв'яків. - Завантаження ресурсів комп'ютера- інтенсивне використання ресурсів комп'ютера шкідливими програмами веде до зниження продуктивності як системи в цілому, так і окремих додатків. Перейдемо до розгляду загроз безпеки інформації зі сторони шкідливих програм. Найчастіше використається класифікація загроз відповідно результатам їхнього негативного впливу на інформацію, а саме - порушення конфіденційності, цілісності й доступності. Для кожної загрози існує кілька способів її реалізації з боку шкідливих програм. Загроза порушення конфіденційності: - Крадіжка інформації і її поширення за допомогою штатних засобів зв'язку або схованих каналів передачі. - Крадіжка паролів доступу, ключів шифрування та ін. - Віддалене керування: backdoor-функціональність. Загроза порушення цілісності: - Модифікація без знищення (зміна інформації). - Модифікація за допомогою знищення або шифрации (видалення деяких типів документів). - Модифікація шляхом низькорівневого знищення носія (форматування носія, знищення таблиць розподілу файлів). Загроза порушення доступності: - Завантаження каналів передачі даних більшим числом пакетів. - Будь-яка діяльність, результатом якої є неможливість доступу до інформації; різні звукові й візуальні ефекти. - Вивід комп'ютера з ладу шляхом знищення або псування критичних складових (знищення Flash BIOS). З повагою ІЦ “KURSOVIKS”! |