Bezpieczeństwo systemów komputerowych 1000-215bBSK
Celem przedmiotu jest zapoznanie studentów z podstawowymi problemami bezpieczeństwa systemów informatycznych. Omawiane będą m.in. zagrożenia systemów informatycznych w kontekście poufności, integralności i dostępności informacji, modele bezpieczeństwa i klasy bezpieczeństwa systemów informatycznych (TCSEC, ITSEC, EAL), problematyka tworzenia polityki bezpieczeństwa systemu informatycznego, elementy kryptografii, zagadnienia dotyczące podpisu elektronicznego i infrastruktury klucza publicznego, podstawowe modele uwierzytelniania, strategie kontroli dostępu, bezpieczeństwo protokołów komunikacyjnych i usług aplikacyjnych. Przedstawiona zostanie problematyka bezpiecznego programowania, narzędzia analizy zabezpieczeń i monitoringu, lokalne i sieciowe systemy wykrywania ataków i ochrony przed nimi, środowiska o podwyższonym bezpieczeństwie i usługi narzędziowe (np. Kerberos, bezpieczne usługi katalogowe).
Rodzaj przedmiotu
Wymagania (lista przedmiotów)
Koordynatorzy przedmiotu
Efekty kształcenia
Wiedza:
1. Ma wiedzę na temat technologii sieciowych, w tym podstawowych protokołów komunikacyjnych, bezpieczeństwa i budowy aplikacji sieciowych (siedmiowarstwowy model ISO, protokoły komunikacyjne w tym TCP/IP, trasowanie, model klient-serwer, protokoły kryptograficzne, typy ataków sieciowych, mechanizmy obronne) (K_W11).
2. Ma podstawową wiedzę dotyczącą prawnych i społecznych aspektów informatyki, w tym odpowiedzialności zawodowej i etycznej, kodeksów etycznych, własności intelektualnej, prywatności i swobód obywatelskich, ryzyka i odpowiedzialności związanej z systemami informatycznymi, zna zasady netykiety, rozumie zagrożenia związane z przestępczością elektroniczną (K_W12).
Umiejętności
1. Potrafi pozyskiwać informacje z literatury, baz wiedzy, Internetu oraz innych wiarygodnych źródeł, integrować je, dokonywać ich interpretacji oraz wyciągać wnioski i formułować opinie (K_U02).
2. Potrafi samodzielnie planować i realizować własne uczenie się przez całe życie (K_U09).
3. Potrafi dbać o bezpieczeństwo danych, w tym o ich bezpieczne przesyłanie; posługuje się narzędziami kompresji i szyfrowania danych (K_U13).
Kompetencje społeczne:
1. Student jest gotów do pracy z zachowaniem uczciwości intelektualnej w działaniach własnych i innych osób; przestrzegania zasad etyki zawodowej i wymagania tego od innych oraz dbałości o dorobek i tradycje zawodu informatyka (K_K02).
2. Student jest gotów do uznawania znaczenia wiedzy w rozwiązywaniu problemów poznawczych i praktycznych oraz wyszukiwania informacji w literaturze oraz zasięgania opinii ekspertów (K_K03).
3. Student jest gotów do wypełniania zobowiązań społecznych związanych z racjonalnym i bezpiecznym przetwarzaniem danych (K_K04).
Kryteria oceniania
Ocena końcowa wystawiana jest na podstawie sumy punktów uzyskanych z laboratorium (0 do 40) i egzaminu (0 do 15). Egzamin jest pisemny i składa się z 15 krótkich pytań.
Literatura
Literatura uzupełniająca:
Aplikacje webowe:
* artykuły na temat różnych rodzajów podatności (XSS, SQL Injection, XXE, ...) w serwisie Sekurak,
* artykuły z sekcji Web Security Academy serwisu PortSwigger: https://portswigger.net/web-security,
* zadania z serwisu Root Me (https://root-me.org/) z kategorii Web,
* Michał Bentkowski, Gynvael Coldwind i inni: Bezpieczeństwo Aplikacji Webowych.
Inżynieria wsteczna:
* FAQ: How to learn reverse-engineering: https://gynvael.coldwind.pl/?id=664,
* książka Reverse Engineering for Beginners: https://beginners.re/.
Eksploitacja binarna:
* Zadania z serwisu https://pwnable.kr/,
* Zadania z serwisu https://pwnable.xyz/,
* kurs oraz zadania z https://pwn.college/.
Kryptografia:
* Cryptography I na Coursera.org (darmowy, o ile kliknie się, że nie chce się certyfikatu),
* cryptopals - zbiór zadań na implementację różnych konstrukcji kryptograficznych oraz klasycznych ataków,
* darmowa książka o kryptografii: Crypto101,
* niedarmowa książka o kryptografii: Serious Cryptography.
Inne:
* Write-upy, czyli opisy, w jaki sposób skutecznie dokonano konkretnego ataku (np. na zawodach CTF) - można je znaleźć za pomocą zapytań w Googlu takich jak np. sql injection with no space writeup,
* zadania z konkursów organizowanych przez CERT Polska: https://hack.cert.pl/,
* streamy o programowaniu niskopoziomowym i bezpieczeństwie: https://www.youtube.com/user/GynvaelColdwind,
* kanał o bezpieczeństwie: https://www.youtube.com/c/LiveOverflow.
Więcej informacji
Więcej informacji o poziomie przedmiotu, roku studiów (i/lub semestrze) w którym się odbywa, o rodzaju i liczbie godzin zajęć - szukaj w planach studiów odpowiednich programów. Ten przedmiot jest związany z programami:
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: