Технології програмування захищених систем

Освітня програма: Кібербезпека (Бакалавр)

Структурний підрозділ: Факультет інформаційних технологій

Назва дисципліни
Технології програмування захищених систем
Код дисципліни
ОК 9
Тип модуля
Обов’язкова дисципліна для ОП
Цикл вищої освіти
Перший
Рік навчання
2023/2024
Семестр / Триместр
3 Семестр
Кількість кредитів ЕСТS
6
Результати навчання
Використовувати результати самостійного пошуку, аналізу та синтезу інформації з різних джерел для ефективного рішення спеціалізованих задач професійної діяльності; виконувати аналіз та декомпозицію ІКС; вирішувати завдання захисту програм та інформації, що обробляється в інформаційно-комунікаційних системах програмно-апаратними засобами та давати оцінку результативності якості прийнятих рішень; використовувати сучасне програмно-апаратне забезпечення інформаційно-комунікаційних технологій; застосовувати теорії та методи захисту для забезпечення безпеки інформації в ІКС; забезпечувати функціонування спеціального програмного забезпечення, щодо захисту інформації від руйнуючих програмних впливів, руйнуючих кодів в інформаційно-комунікаційних системах; вирішувати задачі управління процедурами ідентифікації, автентифікації, авторизації процесів і користувачів в ІКС згідно встановленої політики інформаційної і\або кібербезпеки;
Форма навчання
Очна форма
Попередні умови та додаткові вимоги
Знати основи дискретної математики та комбінаторики з урахуванням напрямку кафедри; основи теорії ймовірності та математичної статистики; основи алгоритмізації; архітектуру комп’ютерних систем; основи захисту інформації та інформаційних технологій в цілому; основні відомості про алгоритмічну мову С++ (поняття потоків, процес введення-виведення даних, типові алгоритмічні конструкції розгалужень; Вміти користуватись ЕОМ як користувач; поставити завдання та розкласти його на складові (включаючи формалізацію задачі методами теорії множин); описати поставлене завдання та його рішення мнемокодом; визначати основні напрямки захисту інформації та надавати прості рекомендації по їх реалізації; Володіти елементарними навичками математичного моделювання, прогнозування, методами аналізу та синтезу.
Зміст навчальної дисципліни
Під час вивчення дисципліни «Технології програмування захищених систем» в четвертому семестрі розглядаються технології програмування засобами алгоритмічної мови С++ та на її основі технології програмування захищених систем. Окремо розглядається використання асемблерних вставок та основи мови Асемблер для можливості в подальшому використовувати дані знання та вміння/навички при дизасемблеруванні програм та їх аналізі. Здобувачі отримують знання та вміння/навички: щодо використання асемблерних вставок на С++, основ роботи в Асемблері та зворотнього проектування, структурно-модульного програмування, створення функцій користувача (в тому числі в окремих файлах з використанням механізму підключення інших проектів та створення файлу заголовку), опанують поняття про структури та об’єднання даних, розглянуть поняття класу – як основи об’єктно орієнтованого програмування, їх наслідування та ієрархію, опанують візуальне проектування та об’єктно орієнтоване програмування в середовищі Visual Studio С++, навчаться створювати елементи візуалізації даних, операційного меню, організовувати роботу з декількома формами в середовище MS VS C++, розробляти інсталятор Windows Forms додатку, здійснювати обробку виключень, здійснювати урахування при програмуванні можливості переповнення буфера, уразливості форматної строки, необхідності впровадження аутентифікації, авторизації та криптографії при програмуванні захищених систем. Оглядово розглядаються питання використання YARA в С/С++ проектах.
Рекомендована та необхідна література
1. Randall Hyde. THE ART OF 64-BIT ASSEMBLY Volume 1 x86-64 Machine Organization and Programming. San Francisco, No Starch Press (2022), 1001 p. 2. Victor M. Alvarez. yara Documentation. Release 4.2.0. Aug 08, 2022. URL: https://yara.readthedocs.io/_/downloads/en/stable/pdf/ 3. Бучик С. С. Захист інформації в інформаційно-телекомунікаційних системах : конспект лекцій / С. С. Бучик, Р. В. Нетребко. – Житомир : ЖВІ, 2018. – 196 с. 4. Бучик С. С. Програмування. Основи програмування в середовищі Microsoft Visual C++ : конспект лекцій / С. С. Бучик, Р. В. Нетребко. - Житомир : ЖВІ, 2016. – 204 с. 5. Програмування : завдання на лабораторні роботи з програмування в середовищі Microsoft Visual Studio C++ / підг. С. С. Бучик, Р. В. Нетребко. – Житомир: ЖВІ ДУТ, 2015. – 76 с. 6. Бучик С.С. Програмування. Основи візуального програмування в середовищі Microsoft Visual C++: [конспект лекцій] / С.С. Бучик, І.О. Канкін, Р.В. Нетребко. – Житомир: ЖВІ ДУТ, 2014. – 136с.
Заплановані освітні заходи та методи викладання
Лекції, лабораторні заняття, самостійна робота
Методи та критерії оцінювання
Рівень досягнення всіх запланованих результатів навчання визначається за результатами виконання завдань на самостійну роботу, лабораторних робіт, контрольних робіт та під час колоквіуму. Підсумкове оцінювання: форма оцінювання – іспит; максимальна кількість балів які можуть бути отримані здобувачем - 40 балів за 100-бальною шкалою; екзамен вважається таким, що був зданий, за умови, що здобувач отримав на екзамені мінімум 24 бали (60% від максимально можливої кількості балів, які здобувач може отримати за екзамен). Форма проведення підсумкового оцінювання: теоретичні питання у розгорнутому вигляді та у вигляді тесту (60%); практичні завдання (можуть бути представлені в вигляді тесту) (40%).
Мова викладання
Українська

Викладачі

Ця дисципліна викладаеться наступними викладачами

Кафедри

Наступні кафедри задіяні у викладанні наведеної дисципліни