Протидія використанню шкідливого програмного забезпечення як різновиду кібератак

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

Рубрика Государство и право
Вид статья
Язык украинский
Дата добавления 20.06.2024
Размер файла 38,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Протидія використанню шкідливого програмного забезпечення як різновиду кібератак

Гладка Юлія Анатоліївна кандидат фізико-математичних наук, доцент, доцент кафедри системного аналізу та кібербезпеки, Київський національний економічний університет імені Вадима Гетьмана, м. Київ,

Галіцин Володимир Євгенович студент 6 курсу освітньо-професійної програми «Системний аналіз» кафедри системного аналізу та кібербезпеки, Київський національний економічний університет імені Вадима Гетьмана, м. Київ

Анотація

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

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

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

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

Ключові слова: інформаційні ризики, системний аналіз, програмне забезпечення, кібератака, ефективність, комерційна привабливість.

Gladka Yuliya Anatolievna PhD, Associate Professor department of system analysis and cybersecurity Kyiv National Economic University named after Vadym Hetman, Kyiv інформаційний ризик держава право

Galitsyn Volodymyr Evgenovich 6th year student Professional Educational Program «System analysis» by Department of System Analysis and Cybersecurity of Kyiv National Economic University named after Vadym Hetman», Kyiv

PREVENTING THE USE OF MALWARE AS A TYPE OF CYBER

ATTACK

Abstract. Currently, the study of the behavior of malicious software is an urgent issue of information security.

Malware is evolving and improving, becoming more and more effective, and cybercriminals are introducing new patterns, approaches, and infection vectors. Traditional anti-virus software approaches, based on searching for signatures of known samples in databases, cannot detect new instances of malicious software using previously unknown vulnerabilities and attack methods. Therefore, static software analysis tools are used, examining executable files, and dynamic analysis tools, examining the behavior of software during its operation. In the process of development of information technologies, most of the countries of the world were not ready to fight against Internet crime at the legal, informational and technical level. Due to the insufficient fight, cybercrime as a negative socio-legal phenomenon had a negative impact on the socio-economic development of states.

The use of the results of research in the considered field allows to increase the level of antivirus protection, in particular, in the detection of new samples of advertising software and potentially unwanted programs for devices based on MacOS, and thereby increase the commercial attractiveness of the antivirus product. The further development direction of the system is the attraction of new sources for finding samples, implementation of support for new operating systems and file formats.

Keywords: information risks, system analysis, software, cyber attack, efficiency, commercial attractiveness.

Постановка проблеми

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

Статичний аналіз ускладнюється техніками захисту - пакувальниками та крипторами - які не можна обійти без динамічного аналізу та особливостями завантаження PE (наприклад, використання ApiSetSchema при дозволі імпортів). Динамічний аналіз вимагає спеціального середовища для безпечного запуску коду, що потенційно є шкідливим. Як таке середовище може виступати обмежене та контрольоване оточення (віртуальна машина, антивірусна пісочниця).

Використання таких методів, як перехоплення викликів функції та аналіз аргументів, є стандартним підходом у цій галузі, який зустрічається у багатьох рішеннях. Відомою також є техніка W xor X (write xor execute), яка заснована на модифікації прав доступу до сторінок пам'яті (за допомогою установки NX/XD біта) та застосовується для того, щоб пропустити етап розпакування коду.

Згідно з Рішенням ради національної безпеки і оборони України «Про План реалізації Стратегії кібербезпеки України», яке введене в дію Указом Президента України від 1 лютого 2022 року № 37/2022, кіберпростір визначено як один із ключових елементів воєнних дій. Основою кібероборони визначено кібервійська, які повинні забезпечувати ефективний захист критичної інформаційної інфраструктури, державних інформаційних ресурсів та інформації. Також цим нормативним документом визначено завершення до 2025 року імплементації в законодавство України положень Конвенції про кіберзлочинність. Нині у вітчизняній практиці термін «кіберзлочинність» вживається разом із терміном «комп'ютерна злочинність», під яким зазвичай розуміються злочини з допомогою комп'ютерної інформації. Термін «кіберзлочинність» зобов'язаний своєю появою виникнення та розвитку індустрії інформаційних та комп'ютерних технологій, яка поступово проникла у всі сфери життя світової спільноти.

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

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

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

Аналіз останніх досліджень і публікацій

Проблемам виявлення шкідливого ПЗ та захисту від нього присвячено ряд робіт як зарубіжних Barkley В., Barton T., Bernstein P., Crockford N., Crouhy M., Duncan R., Fragniere E., так і вітчизняних авторів Амоша О.І., Геєць В.М., Поляков О.М. В цих працях достатньо повно аналізуються певні напрямки, методи або засоби протидії шкідливим програмам. Як показує аналіз, на теперішній момент не існує такої методики, яка б повністю вирішувала завдання виявлення невідомого шкідливого ПЗ з прийнятною ефективністю для будь -яких видів і за будь-яких вимог до системи.

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

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

Після відкритої агресії рф у 2022 році з'явилися нові виклики, пов'язані з кібервійною.

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

Протягом останніх місяців українці помітили значну кількість кібератак на державні та великі приватні підприємства, що забезпечують якісну життєдіяльність громадян України. За повідомленням Держспецзв'язку, кількість кібератак за минулий 2023 рік зросла на 15,9%.

Крім того, безпосередньо аналітиками безпеки було зафіксовано та оброблено 1105 кіберінцидентів, що на 62,5% більше, ніж за результатами 2022 року.

За підрахунками Держспецзв'язку, за 2023 рік було виявлено 1 516 861 підозрілих унікальних файлів, при цьому найчастіше виявляли віруси типу SmokeLoader, Agent Tesla, Snake Keylogger, Remcos, Formbook.

Урядова команда реагування на комп'ютерні надзвичайні події CERT - UA повідомила про 347 кібератак, які здійснювали на урядові організації, ще 276 -- на місцеві органи влади, 175 -- на сектор безпеки та оборони та 127 випадків атак на комерційні організації.

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

До зловмисних програмних засобів належать віруси, рекламне ПЗ, хробаки, троянці, руткіти, клавіатурні логери, дозвонювачі, шпигунські програмні засоби, здирницькі програми, шкідливі плаґіни та інше зловмисне програмне забезпечення.

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

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

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

Фішингові атаки є ще одним поширеним типом «доставлення» зловмисного ПЗ, коли електронні листи, замасковані під законні повідомлення, містять шкідливі посилання або вкладення, що доставляють файл зловмисного ПЗ користувачам, які нічого не підозрюють.

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

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

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

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

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

Microsoft GPO, що свідчить про те, що зловмисники спочатку скомпрометували цільовий сервер Active Directory. CaddyWiper - це четвертий вайпер, який атакував українські цілі. Першим вайпером був WhisperGate. Його використовували для нападів на українські урядові установи перед вторгненням 24.02.2022. Невдовзі за WhisperGate з'явилися HermeticWiper та IsaacWiper, а CaddyWiper став четвертим вайпером.

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

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

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

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

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

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

Таким чином, постале завдання розробки динамічних інструментів для аналізу шкідливого ПЗ, при цьому необхідно забезпечити контроль за виконанням зразка та маскування запуску під аналізом.

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

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

Потік (англ. thread) або повніше потік виконання (англ. thread of execution), часто застосовуються назви нитка, нитка виконання та англіцизм «тред» -- в інформатиці так називається спосіб програми розділити себе на дві чи більше паралельні задачі. Реалізація потоків та процесів відрізняються в різних операційних системах, але загалом потік міститься всередині процесу і різні потоки одного процесу спільно розподіляють деякі ресурси, у той час як різні процеси ресурси не розподіляють.

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

Аналіз поведінки шкідливого програмного забезпечення є актуальним з погляду інформаційної безпеки.

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

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

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

Сутність сучасних розробок полягає в пропозиції нового підходу до динамічного аналізу, заснованого на забезпеченні контролю над аналізованим зразком за допомогою поділу виконуваної пам'яті на два класи, математичної моделі планування при поділі потоків на два пула за класом виконуваної пам'яті та алгоритму чесного ієрархічного планувальника для даної моделі, методів маскування аналітичних інструментів, заснованих на перехопленні API та контролю над плином часу для досліджуваного ПЗ.

Для практичного виконання такого завдання виконуються роботи за такими етапами:

1. Розробка інструментів динамічного аналізу ПЗ, при цьому:

a. здійснення моніторингу активності додатку (низькорівневих подій процесу, таких як виклики системного API);

b. забезпечення контролю за доступом до коду додатку та системного коду.

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

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

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

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

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

Історія шкідливого ПЗ та потенційно небажаного ПЗ (potentially unwanted application, PUA), його кількість треба розглядати з точки зору виділення етапів його розвитку: від перших самовідтворюваних програм у 1970-х роках до сучасного етапу (починаючи з 2004 р.), на якому шкідливе ПЗ стає засобом кримінального заробітку і з'являються значні сучасні загрози, такі як програми-вимагачі.

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

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

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

Сучасні антивірусні програми використовують евристики та емулятори та ведуть активний моніторинг того, що відбувається в операційній системі (проактивний захист). З'являється так званий next-gen підхід, при якому застосовуються методи штучного інтелекту (наприклад, машинне навчання). Розвиток та сучасний стан технологій захисту з боку апаратних засобів підтриманий операційною системою Windows (зокрема, такі технології, як DEP, CET, VBS), ключовими компонентами захисту Windows (такі як PatchGuard, HyperGuard, Code integrity guard).

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

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

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

Розглядається обробка виняткових ситуацій, структурний (SEH) та векторний (VEH) механізми. Відбувається планування потоків у Windows. Застосовується чесний підхід до планування та ієрархічний чесний планувальник. Перші алгоритми чесного планування було запроваджено для мереж та завдання формування трафіку (Weighted fair queueing, WFQ, Start - time fair queueing, SFQ). Далі вони були адаптовані для планування виконання CPU (Borrowed-virtual-time, BVT), включаючи підтримку багатопроцесор- ності (Surplus fair scheduling, SFS).

З'явився перший ієрархічний чесний планувальник CPU, що базується на SFQ. ОС Linux та гіпервізор KVM реалізували CFS (Completely Fair Scheduler), починаючи з версії ядра 2.6. Згадані вище алгоритми мають складність O(logN), що вважається проблемою.

Алгоритм Distributed Weighted Round Robin (DWRR) був розроблений для створення чесного ієрархічного планувальника O(1) поверх класичного алгоритму Round Robin. При цьому можна розглянути ідеалізовану модель Generalized Processor Sharing (GPS), розрахунки затримок (короткочасних помилок з точки зору чесного планування) для GPS та реалістичного алгоритму DWRR та провести їх порівняння. DWRR працює поверх системного планувальника, який використовує черги готових потоків для кожного CPU (як у сімействі Windows NT, починаючи з Windows Server 2003), є розподіленою версією класу алгоритмів WRR (Weighted Round Robin), найбільш відомим представником якого є алгоритм DRR (Deficit Round Robin). Операційна система та додаток може стежити за плином часу за допомогою апаратних таймерів, представлених в системі, описується підрахунок часу на основі тиків і без використання тиків.

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

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

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

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

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

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

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

У цьому підході аналітики застосовують методи машинного навчання для класифікації шкідливих програм. Статичні, динамічні, візуальні представлення елементів, або їх комбінації використовуються для навчання класифікатора (dassifier) на наборі даних, що складається як із шкідливих, так і з нешкідливих двійкових файлів. Різні техніки машинного навчання, такі як метод опорних векторів (support vector machine, SVM), випадкові ліси (random forest, RF), дерева ухвалення рішень (decision trees, DT), наївний баєсів класифікатор (naive bayes, NB), k-найближчих сусідів (k-nearest neighbor, kNN) та посилення градієнта пропонуються для класифікації та виявлення зразків шкідливого ПЗ та їх відповідних класів, для фільтрації шкідливого ПЗ, яке вимагає подальшого дослідження аналітиком.

Статичний аналіз (StaticApproach) -- це процес аналізу бінарного шкідливого ПЗ без фактичного запуску коду. Шаблони, виявлені при такому аналізі, включають рядки сигнатур, розподіл частоти послідовностей байтів або опкодів (opcode -- operation code), n-грами на рівні байт або n-грами на рівні опкодів, виклики API (Application Programming Interface), структуру дизасембльованої програми тощо.

Загальним для всіх підходів на основі динамічного аналізу (Dynamic Approach) є виконання шкідливого програмного зразка у контрольованому середовищі для вилучення особливостей поведінки (віртуальна машина, емулятор, пісочниця тощо). Моніторинг поведінки здійснюється за допомогою таких інструментів, як Process Monitor, Process Explorer, Wireshark або Capture BAT.

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

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

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

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

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

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

Метод виявлення шкідливого коду складається з таких етапів:

1. Аналіз та пошук строк;

2. Аналіз структури файлів;

3. Аналіз дизасембльованого тексту.

Аналіз та пошук строк. Строка в програмі являє собою деяку послідовність символів. Наприклад send. Якщо програма копіює будь -яку інформацію, звертається за url або IP адресою, виводить сповіщення, створює файл - це ознаки того, що програма містить строки.

Здійснюючи пошук строк в програмі можна скласти уявлення про загальний функціонал програми. Припустимо, якщо програма звертається за url або IP адресою, то в програмі можна знайти відповідні строки, що містять url, IP адресу, номер порта. Строки зберігаються в програмі в форматі ASCII, або Unicode та закінчуються нульовим символом, що вказує на кінець строки.

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

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

p@@

%\0@

[Window: %s - at %s]

(1)

1337

(2)

127.0.0.1

(3)

[BACKSPACE]

(4)

[ENTER]

(5)

[SPACE]

(6)

[TAB]

(7)

[SHIFT]

(8)

[CONTROL]

(9)

SetWindowsHookExA

(10)

CallNextHookEx

(11)

GetKeyState

(12)

USER32.dll

(13)

WS2_32.dll

(14)

Рис. 1. Уривок результату пошуку строк в шкідливій програмі.

Строка (1) являє собою формат для текстового сповіщення. Строки (2), (3) є портом та IP адресою відповідно. IP адреса була змінена навмисно для безпечного запуску програми. Інформація, що міститься в строках (4)-(9) наштовхує на думку, що цей файл є кейлоггером, що передає зібрану інформацію за зазначеною IP адресою. Це припущення підтверджується інформацією, що міститься в строках (10)-(14). SetWindowsHookExA, що займає строку (10), встановлює визначену програмою процедуру перехоплення сповіщень в ланцюжок перехоплень. Може використовуватись для моніторингу системи щодо певних типів подій. Ці події пов'язані або з певним потоком, або з усіма потоками на одному робочому столі, з якого був викликаний потік. Буква «А» у кінці API функції означає, що ця функція працює зі строками ASCII. CallNextHookEx, що займає позицію (11) передає інформацію про перехоплення до наступної процедури перехоплення в поточному ланцюжку перехоплень. Процедура перехоплення може викликати цю функцію до або після обробки інформації про перехоплення. GetKeyState, що розташована в позиції (12) отримує статус вказаного віртуального ключа. Статус визначає те, що клавіша натиснута, не натиснута або перемикається (по черзі при кожному натисканні клавіші натискається і відпускається). Бібліотека USER32.dll містить елементи графічного інтерфейсу користувача та WS2_32.dll містить функції роботи з мережею. Під час аналізу структури файлів необхідно вивчити вміст заголовків файлів та секцій. Під час аналізу дизасембльованого тексту за допомогою дизасемблера вивчається вміст ключових фрагментів коду отриманого вихідного тексту.

Висновки

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

Література:

1. Войтович О.П., Вітюк В.О., Каплун В.А. Особливості дослідження ознак шкідливого програмного забезпечення без наявності вихідних кодів. Інформаційні технології та комп'ютерна інженерія. 2013. № 3. С. 4-9.

2. Козачок В.А., Рой А.А., Бурячок Л.В. Технології протидії шкідливим програмам та завідом фальшивому програмному забезпеченню. Сучасний захист інформації. 2017. № 2 (30). С. 30-34.

3. Леонов Б.Д., Серьогін В.С. Удосконалення методичного забезпечення експертних досліджень спеціальних програмних засобів у сфері протидії кіберзлочинності. Інформація і право. № 4(31)/2019. С. 98-106.

4. Марущак А.І. Інформаційно-правові аспекти протидії кіберзлочинності Інформація і право. № 1(18)/2018. С. 127-132.

5. Про електронні комунікації: Закон України від 16.12.20 р. № 1089 URL: https:// zakon.rada.gov.ua/l aws/show/1089-20#Text

References:

1. Vojtovich, O.P., Vitjuk, V.O., Kaplun, V.A. (2013). Osoblivosti doslidzhennja oznak shkidlivogo programnogo zabezpechennja bez najavnosti vihidnih kodiv [Peculiarities of studying the signs of malicious software without the presence of source codes]. Informacijni tehnologti ta komp'juterna inzhenerija - Information technology and computer engineering, 3, 4-9 [in Ukrainian].

2. Kozachok, V.A., Roj, A.A., Burjachok, L.V. (2017). Tehnologii protidi'i shkidlivim programam ta zavidom fal'shivomu programnomu zabezpechennju [Anti-malware and anti-counterfeit software technologies]. Suchasnij zahist mformacit - Modern information protection, 2 (30), 30-34 [in Ukrainian].

3. Leonov, B.D., Ser'ogin, V.S. (2019). Udoskonalennja metodichnogo zabezpechennja ekspertnih doshdzhen' spetiafnih programnih zasobiv u sferi protidi'i kiberzlochinnosti [Improvement of methodological support for expert research of special software tools in the field of combating cybercrime]. Informacija іparvo - Information and law, 4(31)/2019, 98-106 [in Ukrainian].

4. Marushhak, A.I. (2018). Informacijno-pravovi aspekti protidii kiberzlochinnosti [Informational and legal aspects of combating cybercrime]. Informacija і parvo - Information and law, 1(18)/2018, 127-132 [in Ukrainian].

5. Zakon Ukraini “Pro elektronni komunikacii” [The Law of Ukraine “On electronic communications”]. (n.d). zakon.rada.gov.ua Retrieved from https://zakon.rada.gov.ua/laws/show/ 1089-20#Text [in Ukrainian].

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.