Безпека програм та даних

Обов'язкова дисципліна
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 3.0; • у навчальних годинах — 90.
Розподіл навчальних годин (аудиторні заняття / самостійна робота): 
• очна форма — 44 / 46; • заочна форма — 8 / 82.
Кількість аудиторних занять за видами (лекції / практичні заняття / лабораторні заняття): 
• очна форма — 15 / 0 / 7; • заочна форма — 2 / 0 / 2.
Індивідуальна робота: 
; • заочна форма — контрольна робота.
Семестровий контроль: 
Залік.
Освітню компоненту забезпечує: 
Анотація: 

Мета вивчення дисципліни
Формування у здобувачів вищої освіти системи знань та практичних умінь щодо загроз безпеці програмних систем і даних, принципів виявлення та аналізу вразливостей, методів захисту інформації та забезпечення цілісності даних.
Практичне значення та використання отриманих знань
Вивчення дисципліни формує у студентів розуміння принципів забезпечення безпеки програмного забезпечення та даних, що є критично важливими для розробки, експлуатації та супроводу сучасних інформаційних систем. Здобувачі опановують методи аналізу вразливостей, моделювання загроз, застосування криптографічних механізмів та перевірки правильності обробки даних, що дозволяє своєчасно виявляти й усувати потенційні ризики.
Таким чином, дисципліна формує у студентів комплексне уявлення про сучасні підходи до захисту програм і даних  від базових криптографічних механізмів і контролю доступу до виявлення вразливостей та дотримання принципів безпечної розробки.
Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекційні заняття
Лекція 1. Вступ у безпеку програм та даних.
Лекція 2. Вебтехнології та основи роботи браузера.
Лекція 3. Кодування, вимоги та загрози.
Лекція 4. Контроль доступу. Ідентифікація та паролі.
Лекція 5. Сесії та налаштування серверів.
Лекція 6. Введення та XSS.
Лекція 7. CSRF і SQL-ін’єкції.
Лекція 8. Інші ін’єкції та загрози.
Лекція 9. DoS-атаки.
Лекція 10. Інформаційні загрози.
Лекція 11. Основи тестування безпеки.
Лекція 12. Інструменти збору та сканування.
Лекція 13. Підвищення привілеїв і експлуатація.
Лекція 14. SDLC і моделювання загроз.
Лекція 15. Практики безпечного коду.
Лабораторні заняття
Лабораторне заняття №1. RSA: Генерація ключів.
Мета заняття: Ознайомитися з принципами створення ключів у криптосистемі RSA, навчитися обирати прості числа, обчислювати модуль, функцію Ейлера та параметри відкритого ключа.
Лабораторне заняття №2. RSA: Шифрування та розшифрування.
Мета заняття: Навчитися застосовувати алгоритм RSA для шифрування та розшифрування даних, обчислювати закритий ключ та виконувати базові криптографічні операції.
Лабораторне заняття №3. Гаммування: Генерація псевдовипадкової послідовності.
Мета заняття: Дослідити принципи створення псевдовипадкової бітової послідовності для гамового шифрування та реалізувати генератор гами на основі заданих математичних правил.
Лабораторне заняття №4. Гаммування: XOR-шифрування повідомлень.
Мета заняття: Навчитися застосовувати згенеровану гамму для побітового XOR-шифрування та розшифрування текстових даних, оцінити стійкість та обмеження методу.
Лабораторне заняття №5. Тестування API.
Мета заняття: Опанувати базові прийоми аналізу та перевірки вебзапитів, навчитись перехоплювати й досліджувати HTTP-трафік та визначати можливі помилки у взаємодії клієнта і сервера.
Лабораторне заняття №6. Небезпечні прямі посилання на об’єкти (IDOR).
Мета заняття: Ознайомитися з вразливістю небезпечних прямих посилань на об’єкти, навчитися знаходити випадки, коли користувач може отримати доступ до чужих даних шляхом зміни параметрів запиту, та дослідити наслідки відсутності належного контролю доступу.
Лабораторне заняття №7. Обхід автентифікації на основі JWT.
Мета заняття: Вивчити структуру токенів JWT, навчитися переглядати та змінювати їхній вміст у тестовому середовищі, дослідити механізми підпису та продемонструвати типові способи обходу перевірки автентичності.
Для заочної форми здобуття освіти
Лекційні заняття
Лекція 1. Основи безпеки програм та даних. Поняття інформаційної безпеки. Основні загрози та вразливості. Моделі доступу та автентифікація. Кодування даних, вимоги до безпеки в застосунках. Принципи роботи програм і систем.
Лекція 2. Загрози безпеці програм та методи їх виявлення.
Лабораторні заняття
Лабораторне заняття №1. Аналіз запитів та виявлення вразливостей.
Мета заняття: Опанувати перехоплення і дослідження запитів, навчитися аналізувати параметри, виявляти типові помилки доступу та прояви ін’єкцій у тестовому середовищі.
Індивідуальна робота
Для денної форми здобуття освіти
Відсутня за планом.
Для заочної форми здобуття освіти
Контрольна робота для здобувачів заочної форми
Завдання для виконання контрольної роботи здобувач отримує на установчій лекції.
Робота містить 2 теоретичних питань та 1 практичне завдання.
Обсяг відповіді на кожне теоретичне питання: не менше, ніж 1 сторінка машинописного тексту. Текст відповіді виконується самостійно.
Практичне завдання полягає в представленні аналізу обраної вразливості або прикладу порушення безпеки, з використанням матеріалів дисципліни. Здобувач повинен: описати зміст та суть обраної вразливості або загрози; пояснити механізм її виникнення; навести приклад (схему, фрагмент умовного коду чи послідовність дій), що демонструє суть проблеми; запропонувати можливі методи запобігання або усунення; зробити висновки щодо впливу даної вразливості на безпеку програм та даних.
Терміни надання виконаної контрольної роботи на перевірку – не пізніше, ніж за місяць до початку сесії.
Форми контрольних заходів та оцінювання результатів навчання
Для денної форми здобуття освіти
Поточний контроль полягає у виконанні
1) 7-ти індивідуальних поточних завдань. Індивідуальні поточні завдання виконуються письмово і полягають в виконанні типових дій відповідно до мети та завдань лабораторних занять. Бездоганне виконання індивідуальних поточних завдань №1 – №5 оцінюється у 5 балів; №6 оцінюється у 7 балів; №7 оцінюється у 8 балів.
2) двох модульних контрольних робіт. Модульні контрольні роботи складаються з теоретичної і практичної частин та проводяться у формі тестування. Бездоганне виконання кожної модульної контрольної роботи становить 30 балів.
Підсумковий контроль – залік. Максимальна оцінка, яка дозволяє отримати «зараховано» - 60 балів. Максимальна оцінка, яку може отримати студент – 100 балів.

Для заочної форми здобуття освіти
Захист контрольної роботи. Бездоганне виконання контрольної роботи оцінюється у 50 балів. Під час її захисту здобувач може отримати до 30 балів. Виконання практичного завдання за тематикою практичних занять оцінюється у 20 балів.
Підсумковий контроль – залік. Студенти допускаються до заліку при наявності виконаної та завчасно поданої контрольної роботи. Залікова оцінка складається з оцінки за виконану роботу та оцінки, отриманої при її захисті.
Максимальна оцінка, яку може отримати студент – 100 балів.
Виконання лабораторного завдання за тематикою лабораторних занять оцінюється в 20 балів.

Результати навчання: 

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

b242533 ▪ 2025 рік