Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N2)
specjalność: grafika komputerowa i systemy multimedialne

Sylabus przedmiotu Bezpieczeństwo informacji i architektury zabezpieczeń - Przedmiot obieralny II:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister
Obszary studiów nauki techniczne
Profil ogólnoakademicki
Moduł
Przedmiot Bezpieczeństwo informacji i architektury zabezpieczeń - Przedmiot obieralny II
Specjalność inżynieria oprogramowania
Jednostka prowadząca Katedra Inżynierii Oprogramowania
Nauczyciel odpowiedzialny Jerzy Pejaś <Jerzy.Pejas@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 2,0 ECTS (formy) 2,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny 2 Grupa obieralna 1

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW3 10 1,10,50zaliczenie
laboratoriaL3 10 0,90,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Słuchacz musi posiadać podstawową wiedzę w zakresie podstaw ochrony informacji, inżynierii oprogramowania, sieci komputerowych i baz danych

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zpoznanie studenta z metodami i projektowaniem zabezpieczeń oprogramowania oraz ocena zagrożeń i podatności
C-2Ukształtowanie umiejętności identyfikacji podatnościami oprogramowania, które mogą się w nim pojawić ze względu na cechy zastosowanego języka programowania oraz złe nawyki programistyczne
C-3Ukształtowanie umiejętności korzystnia z programowych i sprzętowychi architektur zabezpieczeń

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Tworzenie exploitów i stosowanie bezpiecznych funkcji bibliotecznych2
T-L-2Analiza i stosowanie narzędzi do wykrywania podatności oprogramowania na ataki2
T-L-3Stosowanie mechanizmów kontroli dostępu na poziomie języka Java.2
T-L-4Zaawansowana kontrola dostępu - system SELinux2
T-L-5Wiarygodna baza obliczeniowa - moduł TPM2
10
wykłady
T-W-1Modele zabezpieczeń. Architektura zabezpieczeń na bazie modelu OSI. Wpływ zabezpieczeń na architekturę oprogramowania. Analiza zabezpieczeń systemu.2
T-W-2Praktyka stosowania zabezpieczeń na poziomie systemów operacyjnych.2
T-W-3Przepełnienie bufora i warunki wyścigu. Narzędzia do przeprowadzania audytu zabezpieczeń na poziomie kodu2
T-W-4Przegląd metod doboru języków programowania, systemów operacyjnych oraz mechanizmów uwierzytelniania i autoryzacji2
T-W-5Zabezpieczenia aplikacji klienckich i serwerowych, architektura zorientowana na usługi i jej zabezpieczenia, wiarygodne platformy obliczeniowe2
10

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Udział w laboratoriach10
A-L-2Przygotowanie i opracowanie sprawozdań laboratoryjnych w domu12
A-L-3Udział w konsultacjach2
24
wykłady
A-W-1Udział, dyskusje i rozwiązywanie problemów formułowanych podczas wykładów10
A-W-2Przygotowanie do egzaminu15
A-W-3Udział w konsultacjach2
A-W-4Udział w egzaminie2
29

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia laboratoryjne

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena na podstawie wejsciówki, stopnia wykonania (pod koniec zajec) scenariuszy formułowanych w oparciu o konspekty laboratoryjne i/lub sprawozdania z zajęć
S-2Ocena podsumowująca: Test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/O/2-2_W01
Identyfikuje podatności oprogramowania, zna ogólne techniki umożliwiającei podniesienie poziomu bezpieczeństwa aplikacji oraz potrafi wskazać odpowiednie architektury zabezpieczeń
I_2A_W04, I_2A_W05, I_2A_W06, I_2A_W10C-2, C-1T-W-1, T-W-2, T-W-4, T-W-5, T-L-3, T-L-5, T-L-4M-1, M-2S-1, S-2

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/O/2-2_U01
Potrafi określić wymagania bezpieczeństwa, zaprojektować i zaimplementować bezpieczną aplikację zgodnie z przyjętymi normami, zaleceniami i dobrymi praktykami
I_2A_U04, I_2A_U10, I_2A_U12C-2, C-1T-W-2, T-W-4, T-W-5, T-W-3, T-L-1, T-L-4M-1, M-2S-1, S-2

Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/O/2-2_K01
Student ma świadomość wpływu posiadanej wiedzy, jej aktualności, jakości własnej pracy oraz znajomości przepisów prawa w zakresie bezpieczeństwa informacji na bezpieczeństwo projektowanych systemów informatycznych i przetwarzanych przez nie informacji
I_2A_K02, I_2A_K06C-3, C-2T-W-2, T-W-4, T-L-3M-1, M-2S-1, S-2

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/O/2-2_W01
Identyfikuje podatności oprogramowania, zna ogólne techniki umożliwiającei podniesienie poziomu bezpieczeństwa aplikacji oraz potrafi wskazać odpowiednie architektury zabezpieczeń
2,0nie spełnia kryteriów określonych dla oceny 3
3,0- potrafi wymienić wybrane podstawowe klasy podatności - potrafi wymienić i krótko zdefiniować poszczególne etapy wytwarzania bezpiecznego oprogramowania
3,5- potrafi wymienić i krótko scharakteryzować dowolne klasy podatności - potrafi zdefiniować podstawowe wymagania bezpieczeństwa dla oprogramowania
4,0- potrafi precyzyjnie opisać wybrane klasy podatności - potrafi precyzyjnie opisać proces definiowania wymagań bezpieczeństwa dla oprogramowania
4,5- potrafi sklasyfikować podatności według ich wpływu na bezpieczeństwo aplikacji - potrafi wskazać i precyzyjnie scharakteryzować wybrane techniki i zalecenia implementacyjne związane z wytwarzaniem bezpiecznego oprogramowania na platformy językowe typu .NET i Java
5,0- potrafi wskazać aktualne zalecenia bepieczeństwa dla najważniejszych klas podatności oprogramowania oraz ich związek z architekturami zabezpieczeń

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/O/2-2_U01
Potrafi określić wymagania bezpieczeństwa, zaprojektować i zaimplementować bezpieczną aplikację zgodnie z przyjętymi normami, zaleceniami i dobrymi praktykami
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi określić i formalnie zapisać wymagania bezpieczeństwa dla prostego systemu oprogramowania oraz zaproponować odpowiednie architektury oprogramowania na bazie określonych wymagań bezpieczeństwa
3,5potrafi zaimplementować oprogramowanie w wybranym języku na bazie opracowanego projektu z uwzględnieniem konieczności wykorzystania mechanizmów poprawiających bezpieczeństwo w oparciu o określone wcześniej wymagania
4,0potrafi praktycznie wykorzystać wskazania norm i zbiorów dobrych praktyk dotyczących implementacji bezpiecznego oprogramowania
4,5Potrafi zaprojketować aplikację wykorzystującą mechanizmy zabezpieczeń wbudowane w platformy językowe typu .NET i Java
5,0Spełnia wymagania na ocenę 4,5 oraz dodatkowo potrafi wykorzystać mechnaizmy zabezpieczajace wbudowane w moduł TPM

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/O/2-2_K01
Student ma świadomość wpływu posiadanej wiedzy, jej aktualności, jakości własnej pracy oraz znajomości przepisów prawa w zakresie bezpieczeństwa informacji na bezpieczeństwo projektowanych systemów informatycznych i przetwarzanych przez nie informacji
2,0nie spełnia kryteriów określonych dla oceny 3
3,0ma świadomość istnienia norm, zaleceń i zbiorów dobrych praktyk związanych z bezpieczeństwem informacji
3,5potrafi wskazać wybrane normy, zalecenia i dobre praktyki związane z bezpieczeństwem informacj, których użył podczas rozwiązywania zadań
4,0ma świadomość, któe przepisy prawa mogą zostać naruszone w wyniku korzystania z systemów niewłaściwie chroniących informację
4,5aktywnie uzupełnia wiedzę o najnowsze informacje mogące mieć wpływ na bezpieczeństwo informacji
5,0zna metody udostępniania własnej wiedzy mogącej mieć wpływ na bezpieczeństwo wytwarzanego i eksploatowanego systemu sprzętowo-programowego

Literatura podstawowa

  1. Dieter Gollmann, Computer Security, John Wiley & Sons, New York, 2006
  2. Robert C. Seacord, Secure Coding in C and C++, Addision Wesley Professional, New York, 2005
  3. J.D. Meier, Alex Mackman, Michael Dunner, Srinath Vasireddy, Tworzenie Bezpiecznych Aplikacji Microsoft ASP.NET, Microsoft Press, Redmond, 2002
  4. Killmeyer, Jan, Information Security Architecture: An Integrated Approach to Security in the Organization, Auerbach Publications, New York, 2006

Literatura dodatkowa

  1. Bernard, Scott A., An Introduction to Enterprise Architecture, AuthorHouse, Bloomington, 2004
  2. Special publications SP 800-33, Underlying Technical Models for Information Technology Security, NIST, New York, 2001
  3. Paul C. Brown, Implementing SOA: Total Architecture in Practice, Addison Wesley Professional, New York, 2008

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Tworzenie exploitów i stosowanie bezpiecznych funkcji bibliotecznych2
T-L-2Analiza i stosowanie narzędzi do wykrywania podatności oprogramowania na ataki2
T-L-3Stosowanie mechanizmów kontroli dostępu na poziomie języka Java.2
T-L-4Zaawansowana kontrola dostępu - system SELinux2
T-L-5Wiarygodna baza obliczeniowa - moduł TPM2
10

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Modele zabezpieczeń. Architektura zabezpieczeń na bazie modelu OSI. Wpływ zabezpieczeń na architekturę oprogramowania. Analiza zabezpieczeń systemu.2
T-W-2Praktyka stosowania zabezpieczeń na poziomie systemów operacyjnych.2
T-W-3Przepełnienie bufora i warunki wyścigu. Narzędzia do przeprowadzania audytu zabezpieczeń na poziomie kodu2
T-W-4Przegląd metod doboru języków programowania, systemów operacyjnych oraz mechanizmów uwierzytelniania i autoryzacji2
T-W-5Zabezpieczenia aplikacji klienckich i serwerowych, architektura zorientowana na usługi i jej zabezpieczenia, wiarygodne platformy obliczeniowe2
10

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Udział w laboratoriach10
A-L-2Przygotowanie i opracowanie sprawozdań laboratoryjnych w domu12
A-L-3Udział w konsultacjach2
24
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział, dyskusje i rozwiązywanie problemów formułowanych podczas wykładów10
A-W-2Przygotowanie do egzaminu15
A-W-3Udział w konsultacjach2
A-W-4Udział w egzaminie2
29
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/O/2-2_W01Identyfikuje podatności oprogramowania, zna ogólne techniki umożliwiającei podniesienie poziomu bezpieczeństwa aplikacji oraz potrafi wskazać odpowiednie architektury zabezpieczeń
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
I_2A_W05Ma rozszerzoną i podbudowaną teoretycznie wiedzę z zakresu metod informatyki wykorzystywanych do rozwiązywania problemów w wybranych obszarach nauki i techniki
I_2A_W06Posiada wiedzę o narzędziach sprzętowo-programowych wspomagających rozwiązywanie wybranych i złożonych problemów w różnych obszarach nauki i techniki
I_2A_W10Ma poszerzoną wiedzę dotyczącą trendów rozwojowych i możliwości zastosowania informatyki w wybranych obszarach nauki i techniki
Cel przedmiotuC-2Ukształtowanie umiejętności identyfikacji podatnościami oprogramowania, które mogą się w nim pojawić ze względu na cechy zastosowanego języka programowania oraz złe nawyki programistyczne
C-1Zpoznanie studenta z metodami i projektowaniem zabezpieczeń oprogramowania oraz ocena zagrożeń i podatności
Treści programoweT-W-1Modele zabezpieczeń. Architektura zabezpieczeń na bazie modelu OSI. Wpływ zabezpieczeń na architekturę oprogramowania. Analiza zabezpieczeń systemu.
T-W-2Praktyka stosowania zabezpieczeń na poziomie systemów operacyjnych.
T-W-4Przegląd metod doboru języków programowania, systemów operacyjnych oraz mechanizmów uwierzytelniania i autoryzacji
T-W-5Zabezpieczenia aplikacji klienckich i serwerowych, architektura zorientowana na usługi i jej zabezpieczenia, wiarygodne platformy obliczeniowe
T-L-3Stosowanie mechanizmów kontroli dostępu na poziomie języka Java.
T-L-5Wiarygodna baza obliczeniowa - moduł TPM
T-L-4Zaawansowana kontrola dostępu - system SELinux
Metody nauczaniaM-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena na podstawie wejsciówki, stopnia wykonania (pod koniec zajec) scenariuszy formułowanych w oparciu o konspekty laboratoryjne i/lub sprawozdania z zajęć
S-2Ocena podsumowująca: Test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów określonych dla oceny 3
3,0- potrafi wymienić wybrane podstawowe klasy podatności - potrafi wymienić i krótko zdefiniować poszczególne etapy wytwarzania bezpiecznego oprogramowania
3,5- potrafi wymienić i krótko scharakteryzować dowolne klasy podatności - potrafi zdefiniować podstawowe wymagania bezpieczeństwa dla oprogramowania
4,0- potrafi precyzyjnie opisać wybrane klasy podatności - potrafi precyzyjnie opisać proces definiowania wymagań bezpieczeństwa dla oprogramowania
4,5- potrafi sklasyfikować podatności według ich wpływu na bezpieczeństwo aplikacji - potrafi wskazać i precyzyjnie scharakteryzować wybrane techniki i zalecenia implementacyjne związane z wytwarzaniem bezpiecznego oprogramowania na platformy językowe typu .NET i Java
5,0- potrafi wskazać aktualne zalecenia bepieczeństwa dla najważniejszych klas podatności oprogramowania oraz ich związek z architekturami zabezpieczeń
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/O/2-2_U01Potrafi określić wymagania bezpieczeństwa, zaprojektować i zaimplementować bezpieczną aplikację zgodnie z przyjętymi normami, zaleceniami i dobrymi praktykami
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U04Potrafi wybrać, krytycznie ocenić przydatność i zastosować metodę i narzędzia rozwiązania złożonego zadania inżynierskiego
I_2A_U10Potrafi wykorzystywać oprogramowanie wspomagające rozwiązywanie wybranych problemów
I_2A_U12Ma umiejętność stosowania zaawansowanych technik programowania i metodyki projektowania systemów informatycznych w wybranym obszarze zastosowań
Cel przedmiotuC-2Ukształtowanie umiejętności identyfikacji podatnościami oprogramowania, które mogą się w nim pojawić ze względu na cechy zastosowanego języka programowania oraz złe nawyki programistyczne
C-1Zpoznanie studenta z metodami i projektowaniem zabezpieczeń oprogramowania oraz ocena zagrożeń i podatności
Treści programoweT-W-2Praktyka stosowania zabezpieczeń na poziomie systemów operacyjnych.
T-W-4Przegląd metod doboru języków programowania, systemów operacyjnych oraz mechanizmów uwierzytelniania i autoryzacji
T-W-5Zabezpieczenia aplikacji klienckich i serwerowych, architektura zorientowana na usługi i jej zabezpieczenia, wiarygodne platformy obliczeniowe
T-W-3Przepełnienie bufora i warunki wyścigu. Narzędzia do przeprowadzania audytu zabezpieczeń na poziomie kodu
T-L-1Tworzenie exploitów i stosowanie bezpiecznych funkcji bibliotecznych
T-L-4Zaawansowana kontrola dostępu - system SELinux
Metody nauczaniaM-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena na podstawie wejsciówki, stopnia wykonania (pod koniec zajec) scenariuszy formułowanych w oparciu o konspekty laboratoryjne i/lub sprawozdania z zajęć
S-2Ocena podsumowująca: Test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi określić i formalnie zapisać wymagania bezpieczeństwa dla prostego systemu oprogramowania oraz zaproponować odpowiednie architektury oprogramowania na bazie określonych wymagań bezpieczeństwa
3,5potrafi zaimplementować oprogramowanie w wybranym języku na bazie opracowanego projektu z uwzględnieniem konieczności wykorzystania mechanizmów poprawiających bezpieczeństwo w oparciu o określone wcześniej wymagania
4,0potrafi praktycznie wykorzystać wskazania norm i zbiorów dobrych praktyk dotyczących implementacji bezpiecznego oprogramowania
4,5Potrafi zaprojketować aplikację wykorzystującą mechanizmy zabezpieczeń wbudowane w platformy językowe typu .NET i Java
5,0Spełnia wymagania na ocenę 4,5 oraz dodatkowo potrafi wykorzystać mechnaizmy zabezpieczajace wbudowane w moduł TPM
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/O/2-2_K01Student ma świadomość wpływu posiadanej wiedzy, jej aktualności, jakości własnej pracy oraz znajomości przepisów prawa w zakresie bezpieczeństwa informacji na bezpieczeństwo projektowanych systemów informatycznych i przetwarzanych przez nie informacji
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_K02Świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą
I_2A_K06Potrafi myśleć i działać w sposób kreatywny i przedsiębiorczy
Cel przedmiotuC-3Ukształtowanie umiejętności korzystnia z programowych i sprzętowychi architektur zabezpieczeń
C-2Ukształtowanie umiejętności identyfikacji podatnościami oprogramowania, które mogą się w nim pojawić ze względu na cechy zastosowanego języka programowania oraz złe nawyki programistyczne
Treści programoweT-W-2Praktyka stosowania zabezpieczeń na poziomie systemów operacyjnych.
T-W-4Przegląd metod doboru języków programowania, systemów operacyjnych oraz mechanizmów uwierzytelniania i autoryzacji
T-L-3Stosowanie mechanizmów kontroli dostępu na poziomie języka Java.
Metody nauczaniaM-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena na podstawie wejsciówki, stopnia wykonania (pod koniec zajec) scenariuszy formułowanych w oparciu o konspekty laboratoryjne i/lub sprawozdania z zajęć
S-2Ocena podsumowująca: Test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów określonych dla oceny 3
3,0ma świadomość istnienia norm, zaleceń i zbiorów dobrych praktyk związanych z bezpieczeństwem informacji
3,5potrafi wskazać wybrane normy, zalecenia i dobre praktyki związane z bezpieczeństwem informacj, których użył podczas rozwiązywania zadań
4,0ma świadomość, któe przepisy prawa mogą zostać naruszone w wyniku korzystania z systemów niewłaściwie chroniących informację
4,5aktywnie uzupełnia wiedzę o najnowsze informacje mogące mieć wpływ na bezpieczeństwo informacji
5,0zna metody udostępniania własnej wiedzy mogącej mieć wpływ na bezpieczeństwo wytwarzanego i eksploatowanego systemu sprzętowo-programowego