Wstęp do cyberbezpieczeństwa i kryptografii
Informacje ogólne
Kod przedmiotu: | 1000-2M24WCK |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | Wstęp do cyberbezpieczeństwa i kryptografii |
Jednostka: | Wydział Matematyki, Informatyki i Mechaniki |
Grupy: |
Grupa przedmiotów obieralnych dla informatyki magisterskiej- specjalność Systemy informatyczne Przedmioty obieralne dla informatyki i ML Przedmioty obieralne fakultatywne dla informatyki (IIIr. licencjatu, nowy program) |
Punkty ECTS i inne: |
6.00
|
Język prowadzenia: | polski |
Rodzaj przedmiotu: | fakultatywne |
Założenia (lista przedmiotów): | Aplikacje WWW 1000-214bWWW |
Skrócony opis: |
Kurs podejmuje próbę szerokiego ujęcia tematyki cyberbezpieczeństwa. Na wykładzie zostaną opisane aspekty teoretyczne: podstawy matematyczne i kryptografia (zarówno protokoły klasyczne, współczesne, jak i potencjalnie przyszłościowe), a na laboratorium - praktyczne: rzeczywiste techniki ataków i sposoby obrony przed nimi. |
Pełny opis: |
Wykład będzie składał się z trzech segmentów. Na początek zaplanowano przeglądowy opis klasycznej kryptografii (szyfrowanie symetryczne i asymetryczne, podpis cyfrowy itp.) oraz jej podstaw matematycznych (np. roli krzywych eliptycznych). W drugiej części przedstawiony zostanie zarys (w ujęciu teoretycznym) zastosowań tych mechanizmów (VPN, TOR, blockchain itp.) oraz klasycznych i historycznych ataków na nie. Ostatni segment będzie spojrzeniem w przyszłość, tzn. omówiony zostanie wybór istniejących pomysłów matematycznych, które jeszcze nie są w powszechnym użyciu, ale przypuszczalnie mają szansę być istotne w przyszłości. Omówione zostaną m.in.: multi-party computation, e-voting, zero-knowledge oraz podstawy bezpieczeństwa świata postkwantowego. Na zajęciach laboratoryjnych studenci będą atakować źle zabezpieczone systemy - a dzięki temu poznają różne rodzaje podatności i dowiedzą się, jak pisać bezpieczniejszy kod. W trakcie zajęć omówione zostanie m.in., w jaki sposób można złamać zabezpieczenia aplikacji webowej, łamać szyfry, wykorzystywać niskopoziomowe podatności takie jak np. przepełnienie bufora, a także przeprowadzać inżynierię wsteczną skompilowanych programów. Zajęcia będą zawierały dużą liczbę ćwiczeń, w ramach których zadaniem studentów będzie przede wszystkim znalezienie i wykorzystanie luki w zabezpieczeniach. Jednak oprócz technik ataków, przedstawione zostaną również sposoby zabezpieczania się przed nimi. |
Literatura: |
Kryptografia Yehuda Lindell, Jonathan Katz, “Introduction to Modern Cryptography”; Jean-Philippe Aumasson, “Serious Cryptography: A Practical Introduction to Modern Encryption”; Serwis Coursera.org: kurs internetowy Cryptography I (darmowy w wersji bez certyfikatu); Serwis Cryptopals (https://cryptopals.com/): zbiór zadań na implementację różnych konstrukcji kryptograficznych oraz klasycznych ataków; Laurens Van Houtven “Crypto101” (https://www.crypto101.io/); Miesięcznik “Delta”: rubryka “A jednak się da” (https://www.deltami.edu.pl/delta/rubryka/a_jednak_sie_da/). Aplikacje webowe Serwis Sekurak (https://sekurak.pl/): artykuły na temat różnych rodzajów podatności (XSS, SQL Injection, XXE itp.); Serwis PortSwigger (https://portswigger.net/web-security): artykuły z sekcji Web Security Academy; Serwis Root Me (https://root-me.org/): zadania z kategorii Web; Michał Bentkowski, Gynvael Coldwind i inni: “Bezpieczeństwo Aplikacji Webowych”. Inżynieria wsteczna Gynvael Coldwind, “FAQ: How to learn reverse-engineering” (https://gynvael.coldwind.pl/?id=664); Dennis Yurishev, “Reverse Engineering for Beginners” (https://beginners.re/); Dennis Andriesse, “Practical Binary Analysis”. Eksploitacja binarna Serwis https://pwnable.kr/: zadania; Serwis https://pwnable.xyz/: zadania; Serwis https://pwn.college/: zadania oraz kurs. Inne Serwis zespołu CERT Polska (https://hack.cert.pl/): zadania; Kanał YT Gynvaela Coldwinda (https://www.youtube.com/user/GynvaelColdwind): streamy o programowaniu niskopoziomowym i bezpieczeństwie; Kanał YT LiveOverflow (https://www.youtube.com/c/LiveOverflow): filmiki o bezpieczeństwie; Tzw. “write-upy”, czyli dostępne w Internecie w różnych miejscach (np. na blogach) opisy, w jaki sposób skutecznie dokonano konkretnych ataków (np. na zawodach CTF). Można ich szukać, wpisując w wyszukiwarce odpowiednią frazę, np. “sql injection with no space write-up”. |
Metody i kryteria oceniania: |
Ocena końcowa wystawiana jest na podstawie sumy punktów uzyskanych z 4 zadań laboratoryjnych (łącznie 0 do 40) i egzaminu (0 do 15). Egzamin jest pisemny i składa się z 15 krótkich pytań. UWAGA: jedna z grup może być grupą gwiazdkową (o zwiększonym stopniu trudności), szczegóły znajdują się w opisach poszczególnych grup. |
Zajęcia w cyklu "Semestr zimowy 2024/25" (zakończony)
Okres: | 2024-10-01 - 2025-01-26 |
Przejdź do planu
PN WT LAB
LAB
WYK
LAB
LAB
ŚR CZ PT LAB
|
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Tomasz Kazana | |
Prowadzący grup: | Jarosław Jedynak, Tomasz Kazana, Michał Kowalczyk, Paweł Srokosz, Krzysztof Stopczański, Krzysztof Zając | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin | |
Uwagi: |
Grupa piątkowa jest grupą gwiazdkową, tzn. o zwiększonym stopniu trudności. |
Zajęcia w cyklu "Semestr zimowy 2025/26" (jeszcze nie rozpoczęty)
Okres: | 2025-10-01 - 2026-01-25 |
Przejdź do planu
PN WT LAB
LAB
LAB
LAB
ŚR LAB
LAB
CZ PT WYK
|
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Tomasz Kazana | |
Prowadzący grup: | Tomasz Kazana, Krzysztof Zając | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Egzamin
Wykład - Egzamin |
|
Uwagi: |
Grupa piątkowa jest grupą gwiazdkową, tzn. o zwiększonym stopniu trudności. |
Właścicielem praw autorskich jest Uniwersytet Warszawski.