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

Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 6.121.00.O.039
Кількість кредитів: 4.00
Кафедра: Програмне забезпечення
Лектор: Сенів Максим Михайлович
Семестр: 7 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою викладання дисципліни є вивчення студентами основних понять захисту інформації та безпеки даних, видів порушень інформаційної безпеки та основних механізмів безпеки, таких як алгоритми симетричного та асиметричного шифрування, хешування, аутентифікації інформації і цифрового підпису.
Завдання: К02. Здатність застосовувати знання у практичних ситуаціях. К16. Здатність формулювати та забезпечувати вимоги щодо якості програмного забезпечення у відповідності з вимогами замовника, технічним завданням та стандартами. К17. Здатність дотримуватися специфікацій, стандартів, правил і рекомендацій в професійній галузі при реалізації процесів життєвого циклу. К18. Здатність аналізувати, вибирати і застосовувати методи і засоби для забезпечення інформаційної безпеки (в тому числі кібербезпеки). К22. Здатність накопичувати, обробляти та систематизувати професійні знання щодо створення і супроводження програмного забезпечення та визнання важливості навчання протягом всього життя. К26. Здатність до алгоритмічного та логічного мислення.
Результати навчання: ПР05. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення. ПР13. Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань. ПР21. Знати, аналізувати, вибирати, кваліфіковано застосовувати засоби забезпечення інформаційної безпеки (в тому числі кібербезпеки) і цілісності даних відповідно до розв’язуваних прикладних завдань та створюваних програмних систем.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Попередні навчальні дисципліни 1 Основи програмування 2 Комп’ютерна дискретна математика 3 Лінійна алгебра та аналітична геометрія Супутні і наступні навчальні дисципліни 1 Якість ПЗ і тестування
Короткий зміст навчальної програми: "Безпека програм та даних" – навчальний курс, який належить до професійно-орієнтованих дисциплін підготовки розробника програмного забезпечення. Мета цього курсу – ознайомити студентів з основними поняттями захисту інформації та безпеки даних, видами порушень інформаційної безпеки та вивчити основні механізми безпеки: алгоритми симетричного і асиметричного шифрування, хешування, аутентифікації інформації та цифрового підпису. Студенти ознайомляться з деякими проблемами програмної реалізації цих алгоритмів та навчаться використовувати інтерфейс прикладного програмування Microsoft CryptoAPI для розробки прикладного ПЗ захисту інформації в середовищі Windows. Окремо розглядаються питання безпеки програм та технології створення захищеного програмного коду.
Опис: Вступ. Основні поняття безпеки. Конфіденційність, цілісність та доступність даних. Класифікація загроз. Сервіси та механізми захисту. Традиційне шифрування. Стандарт шифрування даних (DES). Алгоритм "Потрійний" DES. Генерування випадкових чисел. Криптографія з відкритим ключем. Алгоритм RSA. Управління ключами і схема Діффі–Хеллмана. Аутентифікація повідомлень і функції хешування. Коди автентичності повідомлень та функції хешування. Алгоритми хешування. Алгоритм HMAC. Цифрові підписи та протоколи аутентифікації. Протоколи аутентифікації. Взаємна та одностороння аутентифікація. Короткий огляд квантової криптографії. Основні поняття захисту програм. Методи і засоби створення захищеного програмного забезпечення.
Методи та критерії оцінювання: 1. Контрольні заходи. 2. Тести. 3. Захист лабораторних робіт. 4. Екзаменаційний контроль (письмова компонента, усна компонента). Поточний контроль - 40 балів (лабораторні роботи – 30 балів, контрольні заходи– 10 балів ). Поточний контроль включає захист 5 лабораторних робіт з усним опитуванням та письмовими звітами (5+7+8+5+5=30 %) та два письмових тести (5+5 =10%). Для захисту лабораторних з балами встановлюються крайні терміни. За межами крайніх термінів роботи оцінюються в 0 балів. Екзаменаційний контроль - 60 балів (письмова компонента - 50 балів, усна компонента - 10 балів)
Критерії оцінювання результатів навчання: Поточний контроль - 40 балів, в т.ч. лабораторні роботи – 30 балів, контрольні заходи – 10 балів. Екзаменаційний контроль - 60 балів, в т.ч. письмова компонента - 40 балів, усна компонента - 10 балів. Разом за дисципліну 100 балів
Порядок та критерії виставляння балів та оцінок: 1. Бали поточного контролю підраховуються до початку сесії. 2. Студент, який виконав менше 50% робіт поточного контролю, вважається неатестованим. Для нього пропонується повторне вивчення дисципліни. 3. Студент, який виконав більше 50% робіт поточного контролю, але не всі 100%, вважається недопущенним до екзамену та має можливість довиконати роботи поточного контролі і скласти іспит на комісії. Графік здачі лабораторних робіт Лабораторна робота Бали Терміни здачі №1 5 1-9 тижні семестру №2 7 1-9 тижні семестру №3 8 1-9 тижні семестру №4 5 10-15 тижні семестру №5 5 10-15 тижні семестру Після 9 тижня роботи №1, 2, 3 оцінюються по 0 балів
Рекомендована література: 1. Безпека програм та даних : навч. посіб. / М.М. Сенів, В.С. Яковина. – Львів : Видавництво Львівської політехніки, 2015. – 256 с. 2. Cryptography and Network Security: Principles and Practice (Subscription) / William Stallings - Pearson, 2019 - ebook. EISBN: 0135764262 3. Інформаційна безпека / Навчальний посібник / Ю. Я. Бобало, І. В. Горбатий, та ін. Львів : Видавництво Львівської політехніки, 2019. – 580 с. 4. Petr Socha, Jan Brejnik, Josep Balasch, Martin Novotny, Nele Mentens. Side-channel countermeasures utilizing dynamic logic reconfiguration: Protecting AES/Rijndael and Serpent encryption in hardware // Microprocessors and Microsystems. 2020. V. 78. 103208. 5. Mahdi Shariatzadeh, Mohammad Javad Rostami, Mahdi Eftekhari. Proposing a novel Dynamic AES for image encryption using a chaotic map key management approach // Optik. 2021. V. 246. 167779. 6. Osama F. AbdelWahab, Aziza I. Hussein, Hesham F.A. Hamed, Hamdy M. Kelash, Ashraf A.M. Khalaf. Efficient Combination of RSA Cryptography, Lossy, and Lossless Compression Steganography Techniques to Hide Data // Procedia Computer Science. 2021. V. 182. P. 5 - 12. 7. Sharmistha Adhikari, Sangram Ray, Mohammad S. Obaidat, G.P. Biswas. Efficient and secure content dissemination architecture for content centric network using ECC-based public key infrastructure // Computer Communications. 2020. V. 157. P. 187 - 203. 8. Nabihah Ahmad, S.M. Rezaul Hasan. A new ASIC implementation of an advanced encryption standard (AES) crypto-hardware accelerator // Microelectronics Journal. 2021. V. 117. 105255.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).