Opis
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).
Sylabus
Autor
- Michał Szychowiak — Politechnika Poznańska
Wymagania wstępne
Podstawowe wiadomości z zakresu przedmiotów:
- Systemy operacyjne
- Technologie sieciowe
Zawartość
Wykłady
- Podstawowe problemy bezpieczeństwa:
- przestępstwa komputerowe
- polityka bezpieczeństwa
- normy i zalecenia
- klasy bezpieczeństwa systemów komputerowych
- podstawowe środki ostrożności i mechanizmy ochrony
- mechanizmy uwierzytelniania (m.in. uwierzytelnianie jednostronne, dwustronne, z zaufaną stroną trzecią, single sign-on, one-time passwords)
- uwierzytelnianie biometryczne
- strategie autoryzacji i kontroli dostępu (m.in. uznaniowa i ścisła kontrola dostępu, listy ACL)
- ograniczanie podsłuchu
- mechanizmy podnoszenia stopnia dostępności informacji (redundancja komponentów, archiwizacja i kopie zapasowe)
- Elementy kryptografii:
- szyfry symetryczne
- szyfry asymetryczne
- zarządzanie kluczami (PKI)
- funkcje skrótu i podpis cyfrowy
- uwierzytelnianie kryptograficzne
- narzędzia
- prawne aspekty wykorzystania kryptografii
- Bezpieczeństwo systemów operacyjnych:
- typowe naruszenia bezpieczeństwa
- problemy uwierzytelniania i kontroli dostępu współczesnych systemów operacyjnych
- wirusy, konie trojańskie i in.
- zamaskowane kanały komunikacyjne
- ograniczone środowiska wykonania
- delegacja uprawnień administracyjnych
- Bezpieczeństwo infrastruktury sieciowej:
- bezpieczeństwo podstawowych protokołów i urządzeń sieciowych w poszczególnych warstwach modelu OSI
- narzędzia podnoszące poziom bezpieczeństwa sieci
- tunele VPN i protokół IPsec
- zapory sieciowe (firewall)
- bezpieczeństwo infrastruktury sieci bezprzewodowych i urządzeń mobilnych (WiFi, Bluetooth)
- bezpieczeństwo usług VoIP
- Bezpieczeństwo aplikacji użytkowych i usług:
- bezpieczne środowisko aplikacyjne
- problemy ochrony popularnych usług aplikacyjnych (WWW, poczta elektroniczna, komunikatory internetowe)
- ochrona na poziomie warstwy sesji (protokół SSL/TLS)
- zagrożenia technologii aplikacji internetowych
- bezpieczne protokoły aplikacyjne (X.400, PEM, PGP)
- Bezpieczne programowanie:
- krytyczne błędy programistyczne (np. przepełnienie bufora)
- ochrona przed błędami
- bezpieczna kompilacja
- bezpieczne biblioteki
- sztuka tworzenia bezpiecznego kodu
- Środowiska o podwyższonym bezpieczeństwie:
- interfejs usług bezpieczeństwa
- kerberos
- GSSAPI
- SASL
- PAM
- bazy danych o podwyższonym bezpieczeństwie
- Zarządzanie bezpieczeństwem:
- monitorowanie zabezpieczeń, przynęty i pułapki, kamuflaż, detekcja intruzów (IDS/IPS)
- narzędzia analizy zabezpieczeń (dzienniki zdarzeń, gromadzenie statystyk, rejestry lokalne i centralne)
- procedury reagowania, dokumentowanie incydentów
- aktualizacja systemów operacyjnych i aplikacji
Laboratoria
Laboratoria obejmują zakresem następujące ćwiczenia:
- Modularne systemy uwierzytelniania i kontroli dostępu do systemu operacyjnego
- Konstrukcja urzędów certyfikacji standardu OpenSSL, zarządzanie certyfikatami
- Ograniczone środowiska wykonania aplikacji, ograniczone powłoki systemu operacyjnego środowisk serwerowych, delegacja uprawnień administracyjnych
- Umacnianie ochrony systemu operacyjnego (hardening) środowisk MS Windows
- Utwardzanie ochrony systemu operacyjnego środowisk Linuksowych
- Zabezpieczanie usług aplikacyjnych i usług narzędziowych, przykłady ataków i sposoby obrony
- Realizacja sieci VPN w środowisku homogenicznym oraz wieloplatformowym
- Systemy programowych i sprzętowych zapór sieciowych (firewall), osobiste zapory (personal firewall)
- Systemy wykrywania włamań IDS (snort), reakcje na włamania, dokumentowanie incydentów
Literatura
- W. Stallings, Network Security Essentials, Prentice Hall, 2003
- J. Stokłosa, T. Bilski, T. Pankowski, Bezpieczeństwo danych w systemach informatycznych, PWN, 2001
- N. Ferguson, B. Schneier, Kryptografia w praktyce, Helion, 2004
- S. Garfinkel, G. Spafford, Bezpieczeństwo w Unixie i Internecie, Wydawnictwo RM, 1997
- W. R. Cheswick, Firewalle i bezpieczeństwo w sieci, Helion, 2003
- B. Schneier, Kryptografia dla praktyków. Protokoły, algorytmy i programy źródłowe w języku C, WNT, 2002
- W. Stallings, Ochrona danych w sieci i intersieciach. W teorii i praktyce, WNT, 1997
- M. Howard, D. LeBlanc, Bezpieczny kod. Tworzenie i zastosowanie, Microsoft Press, 2002