Програмно-технічні засоби захисту інформації 2
Дисципліна «Програмно-технічні засоби захисту інформації» відноситься до циклу дисциплін професійної підготовки обов’язкової частини навчального плану спеціальності F5 Кібербезпека та захист інформації освітньої програми «Кібербезпека» та призначена для формування комплекса спеціальних компетентностей в області програмно-технічних засобів захисту інформації. У представленому курсі студенти вивчають на рівні програмної реалізації такі конструкції як хеш-функції, генератори псевдовипадкових ключових послідовностей, блокові та потокові симетричні алгоритми шифрування, асиметричні алгоритми шифрування та ін. Використовуючи отримані знання студенти навчаються створювати та практично використовувати програмне забезпечення інформаційної безпеки, набувають розуміння основних дій, що виконують зловмисники для нанесення шкоди інформаційній системі, а також основних дій, що мають виконувати співробітники технічних служб захисту інформації підприємства для протидії зловмисникам.
Метою курсу є оволодіння студентами необхідними знаннями та практичними навичками створення та використання сучасних програмно-технічних засобів захисту інформації.
Для досягнення мети при вивченні дисципліні вирішуються такі завдання:
1. Засвоєння принципів роботи сучасних систем парольного захисту інформації, та отримання навичок їх реалізації.
2. Набуття глибокого розуміння принципів створення та використання програмного забезпечення, що використовує криптографічний захист інформації.
3. Набуття розуміння основних принципів мережевої безпеки, а також можливих дій зловмисників, що можуть привести до її порушення.
4. Вивчення основ безпеки операційних систем. Отримання розуміння можливих дій зловмисників, що можуть привести до порушення безпеки операційної системи, та вивчення можливих дій для недопущення таких порушень.
5. Вивчення принципів антивірусного захисту, можливих дій зловмисників для реалізації своїх планів.
6. Отримання навичок створення програмного забезпечення для завдань кібербезпеки.
Практичне значення та використання отриманих знань дисципліни:
1. Майбутні фахівці зможуть в своєї діяльності ефективно використовувати сучасні програмно-технічні засоби захисту інформації.
2. Майбутні фахівці зможуть застосовувати отримані знання для проектування криптографічних підсистем сучасних систем захисту інформації.
3. Набуті навички дозволять проводити розробку та тестування якості компонентів сучасних систем програмного та технічного захисту інформації.
4. Отримані під час вивчення дисципліни знання дозволять майбутнім фахівцям знаходити та усувати вразливості в системах інформаційного обміну, запобігати витоку інформації з них.
Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекційні заняття
Лекція №1. Програмна реалізація системи обміну ключами Діффі-Гелмана.
Лекція №2. Принципи та алгоритми асиметричної криптографії
Лекція №3. Реалізація алгоритму асиметричної криптографії RSA.
Лекція №4. Реалізація алгоритму асиметричної криптографії Ель-Гамаля.
Лекція №5. Поняття цифрового підпису, принципи його практичної реалізації.
Лекція №6. Алгоритми цифрового підпису на основі асиметричних криптографічних алгоритмів.
Лекція №7. Шпигунське програмне забезпечення та захист від нього.
Лекція №8 Загальні відомості про комп’ютерні віруси та принципи протидії їм.
Лекція №9. Методи приховування комп’ютерних вірусів.
Лекція №10. Приклад створення Backdoor-вірусу мовою програмування Python.
Лекція №11. Віруси-вимагачі, принципи їх програмної реалізації та методи захисту від них.
Лекція №12. Особливості створення вірусів-шифрувальників мовою програмування Python та методи захисту від них.
Лекція №13. Особливості створення вірусів, що змінюють зовнішній вигляд операційної системи мовою програмування Python та методи захисту від них
Лекція №14. Особливості програмної реалізації стілерів та захист від них.
Лекція №15. Принципи програмної реалізації генераторів вірусів.
Лекція №16. DLP-системи, реалізація захисту від витоків інформації.
Лекція №17. Аналіз подій інформаційної безпеки (технологія SIEM) та його реалізація.
Лекція №18. Класифікація апаратних та апаратно-програмних засобів захисту інформації.
Лекція №19. Міжмережеві екрани (файрволи).
Лекція №20. Системи виявлення та запобігання вторгнень (системи IDS/IPS).
Лекція №21. Аппаратні та програмні скремблери і дескремблери.
Лекція №22. Аппаратні та програмні обфускатори інформації.
Лекція №23. Основні тенденції розвитку програмно-технічних засобів захисту інформації.
Лабораторні заняття
Лабораторна робота №1. Імплементація операції блокового симетричного шифрування файлів Мета роботи: Набути практичні навички використання мови програмування Python для створення програм, які призначені для здійснення блокового симетричного шифрування інформації.
Лабораторна робота №2. Тестування стохастичної якості ключової інформації
Мета роботи: Закріпити теоретичні відомості щодо основних тестів стохастичної якості псевдовипадкових послідовностей. Набути практичні навички тестування стохастичної якості псевдовипадкових послідовностей.
Лабораторна робота №3. Імплементація протоколу розподілення ключів Діффі-Гелмана.
Мета роботи: Набути практичні навички використання мови програмування Python для створення програм для безпечного обміну інформацією із розподіленням ключів за протоколом Діффі-Гелмана.
Лабораторна робота №4. Імплементація безпечної системи обміну інформацією на основі алгоритмів асиметричної криптографії RSA та Ель-Гамаля.
Мета роботи: Набути практичні навички використання мови програмування Python для імплементації систем обміну інформацією на основі алгоритмів асиметричної криптографії RSA та Ель-Гамаля.
Лабораторна робота №5. Імплементація утиліти цифрового підпису за допомогою криптоалгоритму RSA.
Мета роботи: Закріпити теоретичні відомості щодо використання алгоритму RSA у режимі цифрового підпису. Набути практичні навички створення утиліт цифрового підпису документів за алгоритмом RSA.
Лабораторна робота №6. Імплементація утиліти цифрового підпису за допомогою криптоалгоритму Ель-Гамаля
Мета роботи: Закріпити теоретичні відомості щодо використання алгоритму Ель-Гамаля у режимі цифрового підпису. Набути практичні навички створення утиліт цифрового підпису документів за алгоритмом Ель-Гамаля.
Лабораторна робота №7. Основи сигнатурного аналізу файлів.
Мета роботи: Закріпити теоретичні відомості щодо сигнатурного аналізу файлів. Набути практичні навички створення та використання програмного забезпечення для здійснення сигнатурного аналізу файлів.
Лабораторна робота №8. Клавіатурні шпигуни та методи боротьби з ними.
Мета роботи: Дослідити можливості створення та використання програмних засобів для прихованої реєстрації роботи користувача з клавіатурою. Отримати базові навички боротьби з клавіатурними шпигунами.
Лабораторна робота №9. Програмна реалізація файлових стілерів та методи захисту від них.
Мета роботи: набути практичні навички використання мови програмування Python для імплементації файлових стілерів та набуття розуміння методів боротьби з цим класом зловмисного програмного забезпечення.
Лабораторна робота №10. Програмна реалізація вірусів, що спотворюють зовнішній вигляд операційної системи та роботу пристроїв вводу/виводу, вивчення основ протидії подібним програмам.
Мета роботи: набути практичні навички використання мови програмування Python для імплементації вірусів, що спотворюють зовнішній вигляд операційної системи та роботу пристроїв вводу/виводу, а також набуття розуміння основ протидії таким зловмисним програмам.
Лабораторна робота №11. Програмна реалізація вірусів-локерів та основні методи захисту від них.
Мета роботи: набути практичні навички використання мови програмування Python для імплементації вірусів-локерів, а також набуття розуміння основ протидії таким зловмисним програмам.
Лабораторна робота №12. Програмна реалізація вірусів-шифрувальників та основні методи захисту від них.
Мета роботи: набути практичні навички використання мови програмування Python для імплементації вірусів-шифрувальників, а також набуття розуміння основ протидії таким зловмисним програмам.
Лабораторна робота №13. Програмна реалізація простого сигнатурного аналізу файлів.
Мета роботи: набути практичні навички створення програм для виконання сигнатурного аналізу для розпізнавання типів файлів.
Лабораторна робота №14. Реалізація підсистеми програмно-технічного захисту програмного забезпечення за допомогою серійних номерів.
Мета роботи: набути практичні навички використання мови програмування Python для імплементації підсистеми програмно-технічного захисту програмного забезпечення за допомогою серійних номерів.
Лабораторна робота №15. Реалізація програмно-технічного захисту програмного забезпечення прив’язкою до параметрів комп’ютера.
Мета роботи: набути практичні навички використання мови програмування Python для імплементації підсистеми програмно-технічного захисту програмного забезпечення прив’язкою до параметрів комп’ютера.
Для заочної форми здобуття освіти
Лекційні заняття
Лекція №1. Основні принципи та програмні методи реалізації основних алгоритмів симетричного та асиметричного шифрування. Принципи реалізації електронного цифрового підпису.
Лекція №2. Основні типи шкідливого програмного забезпечення та програмно-технічні засоби захисту від них.
Лабораторні роботи
Лабораторна робота №1. Імплементація протоколу розподілення ключів Діффі-Гелмана.
Мета роботи: Набути практичні навички використання мови програмування Python для створення програм для безпечного обміну інформацією із розподіленням ключів за протоколом Діффі-Гелмана.
Лабораторна робота №2. Програмна реалізація вірусів-локерів та основні методи захисту від них.
Мета роботи: набути практичні навички використання мови програмування Python для імплементації вірусів-локерів, а також засвоєння основних засобів протидії таким зловмисним програмам.
Консультації здійснюються впродовж семестру згідно встановленого розкладу.
Індивідуальна робота
Для денної форми здобуття освіти
Розрахунково-графічна робота
Метою РГР є практичне оволодіння сучасною технологією створення програмного застосунку з питань кібербезпеки та захисту інформації.
Здобувач отримує завдання на першому в семестрі лабораторному занятті.
РГР містить 10-15 сторінок без додатків.
Змістовна послідовність виконання роботи.
— титульний аркуш;
— завдання на РГР у відповідності з варіантом;
— теоретичне обґрунтування та розробка алгоритму рішення завдання;
— блок-схема алгоритму з необхідними поясненнями;
— програмний код, який реалізує створений алгоритм. Програмний код має включати коментарі, достатні для розуміння його роботи.
— приклади, що доводять працездатність розробленого програмного забезпечення;
— ґрунтовні висновки;
— перелік використаних джерел.
Графік виконання РГР:
1–2 тижні — отримання завдання.
3-5 тижні — аналіз предметної області та програмних прототипів згідно до завдання.
6-8 тижні — розробка алгоритму рішення завдання у вигляді блок-схеми.
9–12 тижні — розробка програмного коду та його налагодження.
13-14 тижні — тестування створеної програми та оформлення роботи.
15 тиждень — перевірка роботи та її захист.
Для заочної форми здобуття освіти
Контрольна робота
Контрольна робота
Завдання для виконання контрольної роботи здобувач отримує на установчій лекції.
Робота містить 3 теоретичних питання та 2 практичних завдання.
Обсяг відповіді на кожне теоретичне питання: не менше, ніж 2 сторінки компютерного набору. Відповіді на теоретичні питання мають бути самостійними, а не скопійованими з підручника, інтернет-джерел або отриманими за допомогою штучного інтелекту.
Приклад практичних завдань:
Практичне завдання №1Розробити блок-схему алгоритма реалізації клієнт-серверної моделі системи обміну текстовими повідомленнями з шифруванням за допомогою алгоритма RSA. Блок-схема оформлюється у відповідності до стандарта ISO 05807-1985.
Практичне завдання №2. Розробити та налагодити програмний код клієнт-серверної моделі системи обміну текстовими повідомленнями з шифруванням за допомогою алгоритма RSA.
Термін надання виконаної контрольної роботи на перевірку – не пізніше, ніж за місяць
до початку екземенаційної сесії.
Розрахунково-графічна робота
Метою РГР є практичне оволодіння сучасною технологією створення програмного застосунку з питань кібербезпеки та захисту інформації.
Завдання для виконання РГР здобувач отримує на установчій лекції.
РГР містить 10-15 сторінок без додатків.
Змістовна послідовність виконання роботи.
— титульний аркуш;
— завдання на РГР у відповідності з варіантом;
— теоретичне обґрунтування та розробка алгоритму рішення завдання;
— блок-схема алгоритму з необхідними поясненнями;
— програмний код, який реалізує створений алгоритм. Програмний код має включати коментарі, достатні для розуміння його роботи.
— приклади, що доводять працездатність розробленого програмного забезпечення;
— ґрунтовні висновки;
— перелік використаних джерел.
Графік виконання РГР:
1–2 тижні — отримання завдання.
3-5 тижні — аналіз предметної області та програмних прототипів згідно до завдання.
6-8 тижні — розробка алгоритму рішення завдання у вигляді блок-схеми.
9–12 тижні — розробка програмного коду, його налагодження та тестування.
13 тиждень — робота надсилається викладачу на перевірку.
14-15 тиждень — перевірка роботи та її захист.
Форми контрольних заходів та оцінювання результатів навчання
Для денної форми здобуття освіти
Поточний контроль полягає у виконанні:
1) 15-ти індивідуальних поточних завдань. Індивідуальні поточні завдання полягають в розв'язуванні типових задач відповідно до мети та завдань відповідних лабораторних занять. Бездоганне виконання індивідуальних поточних завдань №1-15 оцінюється у 1.6 бала кожне;
2) розрахунково-графічної роботи. Бездоганне виконання РГР оцінюється у 6 балів.
3) двох модульних контрольних робіт. Модульні контрольні роботи складаються з теоретичної і практичної частин та проводяться у формі комп'ютерного тестування. Оцінка за бездоганне виконання кожної модульної контрольної роботи становить 20 балів.
Підсумковий контроль – екзамен. Екзамен усний. Максимальна оцінка, яку може
отримати студент – 100 балів.
Для заочної форми здобуття освіти
Контрольними заходами в 7 семестрі є 2 лабораторні, контрольна та розрахунково-графічна робота.
Контрольна робота складається з теоретичної і практичної частини, бездоганне її виконання оцінюється в 50 балів.
Бездоганне виконання індивідуальних завдань кожної лабораторної роботи оцінюється в 10 балів.
Бездоганне виконання РГР оцінюється у 30 балів.
Підсумковий контроль – екзамен. Екзамен усний. Максимальна оцінка, яку може
отримати студент – 100 балів.
ПРН2. Організовувати власну професійну діяльність, обирати оптимальні методи та
способи розв’язування складних спеціалізованих задач та практичних проблем у професійній діяльності, оцінювати їхню ефективність.
ПРН14. Вирішувати завдання захисту програм та інформації, що обробляється в інформаційно-телекомунікаційних системах програмно-апаратними засобами та давати оцінку результативності якості прийнятих рішень.
ПРН15. Використовувати сучасне програмно-апаратне забезпечення інформаційно-комунікаційних технологій.
ПРН18. Використовувати програмні та програмно-апаратні комплекси захисту інформаційних ресурсів.
ПРН37. Вимірювати параметри небезпечних та завадових сигналів під час інструментального контролю процесів захисту інформації та визначати ефективність захисту інформації від витоку технічними каналами відповідно до вимог нормативних документів системи технічного захисту інформації.
ПРН38. Інтерпретувати результати проведення спеціальних вимірювань з використанням технічних засобів, контролю характеристик інформаційно-телекомунікаційних систем відповідно до вимог нормативних документів системи технічного захисту інформації.