Bezpieczeństwo systemów komputerowych

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