Шкідливе ПЗ (Malware)

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

Віруси є лише одним із видів шкідливого ПЗ.

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

Коротко охарактеризуємо ці типи:

ВірусиПрограми, які самостійно копіюються і розповсюджуються, вставляючи свої фрагменти в інші програми або файли. Активуються при запуску зараженої програми або відкритті зараженого файлу. Віруси можуть завдавати шкоди системі, видаляти файли або викрадати дані.
Черв’яки (хробаки)Програми, які самостійно розповсюджуються через мережі, не потребуючи для цього взаємодії з іншими програмами. Використовують вразливості в системах для автоматичного копіювання себе на інші комп’ютери, завантажуючи шкідливі програми.
Троянські програмиШкідливі програми, які маскуються під легітимне програмне забезпечення або корисні додатки. Після встановлення можуть викрадати дані, завантажувати інші шкідливі програми або забезпечувати доступ до системи зловмисникам.
Програми вимагачі (Ransomware)Тип шкідливого ПЗ, який шифрує дані на комп’ютері жертви і вимагає викуп за їх розшифровку. Зазвичай поширюються через фішинг-атаки або вразливості в програмах.
Шпигунське ПЗПрограми, які стежать за активністю користувача, збираючи чутливу інформацію без його відома. Можуть записувати натискання клавіш, збирати дані про браузер і активність в Інтернеті тощо.
Рекламне ПЗПрограми, які відображають або завантажують рекламу на комп’ютері користувача. Можуть бути не шкідливими, але часто порушують конфіденційність і знижують продуктивність системи.
Malware

Desktop OS Market Share (розподіл ринку ОС настільних комп’ютерів) (Sep 24)

Станом на вересень 2024 року лідером залишається ОС (операційна система) Windows з часткою 73.31, на другому місці – MacOS, третє – за Linux (дані gs.statcounter.com):

OSShare, %
Windows73.31
macOS15.45
Linux4.5
Chrome OS2.25
Desktop OS Market Share (Sep 24)

Mobile OS Market Share (розподіл ринку ОС мобільних пристроїв) (Sep 24)

Станом на вересень 2024 року лідером залишається ОС Android з часткою 73.31, на другому місці – iOS (дані gs.statcounter.com):

OSShare, %
Android71.85
iOS27.6
Samsung0.34
Mobile OS Market Share (Sep 24)

Основні механізми зараження

ЕксплойтиЦе програми або коди, що використовують вразливості в програмному забезпеченні (операційних системах, браузерах, додатках) для отримання доступу до системи або виконання шкідливих дій. Розповсюджуються зловмисниками за рахунок атак, які використовують невиправлені вразливості у браузерах для завантаження шкідливого ПЗ без відома користувача.
Зловмисні посиланняЦе URL-адреси, які ведуть на шкідливі сайти або містять шкідливий контент. Користувач може натрапити на такі посилання в електронних листах, соціальних мережах або під час перегляду веб-сторінок. Це можуть бути посилання на фальшиві веб-сайти для завантаження шкідливого програмного забезпечення або збирання особистих даних.
Завантаження шкідливих файлівКористувачі можуть самостійно завантажити заражені файли, думаючи, що це легітимні програми (наприклад, ігри, плагіни).
Уразливі мережі Wi-FiПідключення до незахищених Wi-Fi-мереж може призвести до перехоплення даних або зараження пристроїв шкідливими програмами.
Соціальні мережіЗловмисники можуть використовувати соціальні платформи для розповсюдження шкідливих посилань, які виглядають привабливо або цікаво.
Основні механізми зараження

Приклади шкідливого ПЗ

WannaCryРансомне ПЗ, WannaCry вразив тисячі комп’ютерів у 2017 році, використовуючи вразливість в операційних системах Windows. Він шифрував файли користувачів та вимагав викуп у біткойнах. Серед наслідків – величезні фінансові втрати для компаній (приблизно 4 мільярди доларів) та пошкодження важливих даних та зупинка роботи багатьох організацій
ZeusШпигунське ПЗ, яке спеціалізується на викраденні банківських даних, що зазвичай поширюється через фішингові електронні листи, який працює на версіях MS Windows. Серед наслідків: значні фінансові втрати для жертв через викрадення банківських реквізитів та пошкодження репутації організацій.
ConfickerЧерв’як, який поширювався через вразливості в Windows та створював ботнети для подальших атак. Наслідки: величезні витрати на усунення наслідків та захист систем, можливість використання ботнетів для атак на інші системи.
Приклади шкідливого ПЗ

Cимптоми зараження

Повільна робота системиКомп’ютер починає працювати значно повільніше, ніж зазвичай. Відкриття програм або файлів займає більше часу.
Несподівані сповіщенняПоява спам-повідомлень або попереджень про те, що ваш комп’ютер заражений, і вам потрібно завантажити антивірус або інші програми.
Невідомі програмиВиявлення нових програм або ярликів на робочому столі, які ви не інсталювали. Це може бути ознакою встановлення шкідливого ПЗ.
Зміни в налаштуванняхНесподівані зміни в браузері (нові домашні сторінки, зміна пошукових систем) або в системних налаштуваннях (додавання нових користувачів).
Зникнення файлівРаптове зникнення важливих файлів або папок, особливо якщо це супроводжується вимогою викупу.
Часті зависання або перезавантаженняКомп’ютер часто зависає, або автоматично перезавантажується без вашого відома.
Аномальна мережева активністьПідвищене використання Інтернету без очевидних причин, що може вказувати на завантаження або передачу даних шкідливим програмним забезпеченням.
Непередбачені рекламні оголошенняАктивна реклама від невідомих програм, вспливаючі вікна, оголошення тощо.
Помилки безпекиПовідомлення про помилки, пов’язані з безпекою або доступом до файлів, які раніше не виникали.
Cимптоми зараження

Заходи профілактики

Використання антивірусних програмІнсталяція надійного антивірусного програмного забезпечення, яке регулярно оновлюється, допоможе виявити та видалити шкідливе ПЗ. Рекомендації: обирайте антивірус з хорошими відгуками, регулярно запускайте повну перевірку системи.
Регулярне оновлення програмного забезпеченняОновлення операційної системи, браузерів і всіх програм закривають відомі вразливості. Регулярно перевіряйте стан оновлення антивірусного забезпечення і системи загалом.
Обережність з електронною поштоюБудьте обережні з електронними листами від невідомих відправників або з підозрілими вкладеннями. Рекомендації: не відкривайте вкладення або посилання в листах, якщо не впевнені в їхньому походженні, перевіряйте адреси відправників на наявність помилок або дивних доменів.
Використання складних паролівВикористовуйте унікальні та складні паролі для кожного облікового запису. Використовуйте комбінації букв, цифр та спеціальних символів.
Безпечний серфінг в ІнтернетіДотримуйтесь обережності під час перегляду веб-сторінок. Уникайте переходів на сумнівні або незнайомі сайти. Перевіряйте URL-адреси на наявність HTTPS, що вказує на захищене з’єднання. Уникайте завантаження програм з ненадійних джерел.
Освіта та обізнаністьПідвищуйте свою обізнаність щодо кіберзагроз і нових видів шкідливого ПЗ. Читайте статті та ресурси про кібербезпеку.
Регулярне резервне копіювання данихСтворення резервних копій важливих даних може зберегти їх у разі зараження або втрати.
Використання брандмауераВключення брандмауера допомагає контролювати мережеву активність та захищає від несанкціонованого доступу.
Заходи профілактики

Заходи у випадку зараження

Вимкніть ІнтернетВимкнення з’єднання з Інтернетом допоможе запобігти подальшій передачі даних зловмисникам або поширенню шкідливого ПЗ на інші пристрої.
Запустіть антивірусне програмне забезпеченняВикористовуйте надійний антивірус для перевірки системи. Запустіть повну перевірку системи. Дайте антивірусу можливість видалити або карантинувати виявлені загрози.
Видаліть підозрілі програмиПерегляньте список встановлених програм і видаліть ті, які виглядають підозріло або яких ви не інсталювали. Використовуйте панель керування або меню налаштувань для видалення цих програм.
Використовуйте інструменти для видалення шкідливого ПЗДеякі шкідливі програми можуть не видалятися звичайними антивірусами. Завантажте спеціалізовані утиліти для видалення конкретних загроз (наприклад, Malwarebytes для шкідливого ПЗ).
Відновлення системиЯкщо зараження серйозне, може знадобитися відновлення системи до попереднього стану. Використовуйте точку відновлення системи (якщо вона була активована) для повернення до більш ранньої версії ОС.
Зміна паролівЗмініть паролі для всіх важливих облікових записів після очищення системи. Використовуйте нові, унікальні паролі, і, за можливістю, двофакторну аутентифікацію.
Відновлення данихЯкщо дані були втрачені або зашифровані, спробуйте відновити їх із резервних копій.
Оновлення безпекиПісля очищення системи важливо вжити заходів для запобігання повторному зараженню. Оновіть всі програми, операційну систему та антивірус.
Моніторинг системиПісля очищення системи продовжуйте моніторинг за будь-якими незвичайними діями. Регулярно перевіряйте систему антивірусом, контролюйте активність системи та мережі.
Заходи у випадку зараження

Вразливість ОС та пристроїв

WindowsWindows є однією з найбільш поширених операційних систем, що робить її основною мішенню для кіберзлочинців. Багато шкідливих програм розробляються саме для Windows через її популярність. Історично Windows мала більше уразливостей, ніж інші ОС, але Microsoft постійно працює над їх виправленням через регулярні оновлення.
AndroidAndroid, як найбільш популярна мобільна операційна система, також є частою мішенню для шкідливого ПЗ. Відкритість платформи дозволяє зловмисникам створювати шкідливі додатки. Багато користувачів завантажують програми з неперевірених джерел, що підвищує ризик зараження.
macOSБільш обмежена кількість шкідливих програм, ніж для Windows, але кількість атак зростає. Загалом macOS, як приклад Unix-подібної ОС, є більш безпечною. Але зростаюча популярність macOS робить її цікавою мішенню для зловмисників.
LinuxLinux вважається менш вразливою, особливо у серверних середовищах, завдяки своїй архітектурі. Відносна невелика популярність серед звичайних користувачів можна пов’язати зі значно меншою кількістю загроз і цільового шкідливого ПЗ під Linux.
IoT-пристроїПристрої Інтернету речей (IoT) часто мають обмежений захист і можуть бути легко зламані. Багато з них не отримують регулярних оновлень безпеки.
Вразливість ОС та пристроїв

Антивіруси

AviraAvira часто отримує високу оцінку за свої можливості виявлення шкідливого ПЗ у незалежних тестах. Avira має безкоштовну версію, яка пропонує непоганий рівень базового захисту, включаючи захист від вірусів і шкідливих програм. Інтерфейс Avira зрозумілий та інтуїтивно зрозумілий, що робить його зручним для користувачів.
AVGAVG отримує позитивні відгуки за ефективність виявлення шкідливого ПЗ у незалежних тестах. Пропонує безкоштовну версію, яка надає базовий захист від вірусів, шкідливих програм та шкідливих веб-сайтів. Інтерфейс AVG простий та інтуїтивно зрозумілий.
AvastAvast має високі оцінки в тестах на виявлення шкідливого програмного забезпечення, що свідчить про ефективність його захисту. Пропонує безкоштовну версію з базовим захистом, що робить його доступним для широкого кола користувачів. Інтерфейс Avast є інтуїтивно зрозумілим.
BitdefenderВисокий рівень захисту, мінімальний вплив на продуктивність, потужні функції, такі як захист від рансомного ПЗ і VPN. Однак, на жаль, частину функціоналу доступна тільки в платній версії.
Microsoft Defender AntivirusБезкоштовний, вбудований в Windows, непоганий рівень захисту, регулярні оновлення.
Антивіруси
Шкідливе ПЗ (Malware)

В цьому відео поговоримо про:
00:00 Malware
03:23 Desktop OS Market Share (Sep 24)
05:24 Mobile OS Market Share (Sep 24)
06:11 Основні механізми зараження
07:49 Приклади шкідливого ПЗ
10:15 Cимптоми зараження
12:53 Заходи профілактики
23:40 Заходи у випадку зараження
27:35 Вразливість ОС та пристроїв
32:52 Антивіруси

Ключові терміни та принципи кібербезпеки

Термінологія кібербезпеки доволі велика і розгалужена. Але звісно можна спробувати виділити кілька термінів, які варто знати і розуміти навіть на базовому рівні.

Шкідливе програмне забезпечення (Malware)Загальний термін для програм, які створені з метою завдати шкоди комп’ютерам або мережам. Сюди входять віруси, черв’яки, троянські програми та інші типи.
ФішингМетод шахрайства, за якого зловмисники намагаються отримати чутливу інформацію (наприклад, логіни або паролі) шляхом обману, зазвичай через підроблені електронні листи або вебсайти.
АутентифікаціяПроцес перевірки особи або системи, щоб підтвердити їхню особу перед наданням доступу до ресурсів.
АвторизаціяПроцес надання або обмеження доступу до ресурсів на основі прав, визначених для конкретного користувача або системи.
Брандмауер (Firewall)Системне обладнання або програмне забезпечення, що контролює вхідний і вихідний трафік у мережі та захищає її від небезпечних з’єднань.
ВразливістьСлабке місце в системі або програмі, яке може бути використане зловмисниками для отримання несанкціонованого доступу або завдання шкоди.
Атака “відмови в обслуговуванні” (DoS)Атака, що має на меті зробити ресурс (сайт, сервер) недоступним для користувачів, зазвичай шляхом перевантаження його запитами.
Інсайдерська загрозаЗагроза, що походить від людей, які мають доступ до системи (співробітники, партнери) і можуть навмисно або випадково завдати шкоди.
КриптографіяНаука про захист інформації шляхом перетворення даних у форму, що не підлягає читанню без спеціального ключа.
Ключові терміни

Основні принципи кібербезпеки

Виділимо і коротенько сформулюємо суть основних принципів кібербезпеки:

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

В цьому відео поговоримо про:
00:00 Ключові терміни
03:53 Основні принципи кібербезпеки

Кібербезпека: визначення та важливість

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

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

Що охоплює кібербезпека?

Кібербезпека є важливою сферою, що охоплює:

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

Чому кібербезпека є важливою?

Кібербезпека є надзвичайно важливою з кількох причин:

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

В цьому відео поговоримо про:
00:00 Що таке кібербезпека?
00:33 Що охоплює кібербезпека?
01:50 Чому кібербезпека є важливою?

Урок 27. Ітератори та генератори

Ітератори в Python — це об’єкти, які дозволяють перебирати елементи колекції (наприклад, списків, кортежів, словників, множин) по одному за раз. Вони реалізують протокол ітерації, що складається з двох методів: __iter__() і __next__(). Ітератори є корисними для економії пам’яті, оскільки вони генерують елементи на льоту, не зберігаючи всю колекцію в пам’яті. Приклад з відео:

#Ітератор - це об'єкт, 
#який містить підраховану кількість значень.
#Ітератор — це об’єкт, який можна повторювати, 
#тобто ви можете проходити через усі значення.
#У Python ітератор — це об’єкт, який реалізує 
#протокол ітератора, який складається 
#з методів __iter__() і __next__().
#Списки, кортежі, словники та множини
#є ітерабельними об’єктами.
str1 = "Text"
str1Iterator = iter(str1)
print(str1Iterator)
print(next(str1Iterator))
print(next(str1Iterator))
print(next(str1Iterator))
print(next(str1Iterator))
#print(next(str1Iterator))
list1 = ["Dodge", "Ford", "Toyota"]
list1Iterator = iter(list1)
print(list1Iterator)
print(next(list1Iterator))
print(next(list1Iterator))
print(next(list1Iterator))
for i in list1:
    print(i)

Для створення об’єкта чи класу як ітератора потрібно реалізувати в ньому методи __iter__() та __next__(). Приклад з відео:

#Щоб створити об’єкт/клас як ітератор, 
#вам потрібно реалізувати
#методи __iter__() і __next__() 
#для вашого об’єкта.
#Метод __iter__() завжди повинен 
#повертати сам об’єкт ітератора.
#Метод __next__() також дозволяє 
#виконувати операції, і має повернути 
#наступний елемент у послідовності.
class IncreaseByOne:
    def __iter__(self):
        self.num = 1
        return self
    def __next__(self):
        nextnum = self.num
        self.num += 1
        return nextnum
    
instance1 = IncreaseByOne()
iterator1 = iter(instance1)
print(next(iterator1))
print(next(iterator1))
print(next(iterator1))
print(next(iterator1))
print(next(iterator1))

Для уникнення нескінченного виконання ітепацій можна використати StopIteration. Приклад з відео:

#Щоб ітерація не тривала вічно, ми можемо 
#використати оператор StopIteration.
class IncreaseByOne:
    def __iter__(self):
        self.num = 1
        return self
    def __next__(self):
        if self.num<=10:
            nextnum = self.num
            self.num += 1
            return nextnum
        else:
            raise StopIteration
    
instance1 = IncreaseByOne()
iterator1 = iter(instance1)
for i in iterator1:
    print(i)

Генератори

Генератори — це простіший спосіб створення ітераторів. Вони використовують оператор yield, щоб повернути значення на льоту без необхідності реалізовувати методи __iter__() і __next__(). Приклад з відео:

#У Python генератор — це функція, 
#яка повертає ітератор
#Ми можемо визначити функцію генератора 
#за допомогою ключового слова def,
#але замість оператора return ми 
#використовуємо оператор yield.
#Ключове слово yield використовується 
#для створення значення з генератора.
#Коли викликається функція генератора, 
#вона не виконує тіло функції негайно. 
#Натомість він повертає об’єкт-генератор, 
#який можна повторити, щоб отримати значення.
def increaseByOneGenerator(n):
    num = 0
    while num<n:
        yield num
        num+=1
        
for i in increaseByOneGenerator(10):
    print(i)
print("---------------")
generator1 = increaseByOneGenerator(25)
print(next(generator1))
print(next(generator1))
print(next(generator1))
for i in generator1:
    print(i)

Приклад з відео із застосуванням спрощеного синтаксису для генераторів:

#expression for item in iterable
#Вираз-генератор створює об’єкт-генератор, 
#який виробляє значення виразу для кожного 
#елемента об’єкта, що повторюється, 
#по одному під час кожної ітерації.
squareGenerator = (num*num for num in range(10))
for i in squareGenerator:
    print(i)
Урок 27. Ітератори та генератори

В цьому відео поговоримо про ітератори та генератори.

Приклади на Github