Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S2)
specjalność: inteligentne aplikacje komputerowe

Sylabus przedmiotu Projektowanie bezpiecznych aplikacji:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister inżynier
Obszary studiów nauk technicznych
Profil ogólnoakademicki
Moduł
Przedmiot Projektowanie bezpiecznych aplikacji
Specjalność inżynieria oprogramowania
Jednostka prowadząca Katedra Inżynierii Oprogramowania
Nauczyciel odpowiedzialny Imed El Fray <Imed.El Fray@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 3,0 ECTS (formy) 3,0
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW2 15 1,40,62egzamin
laboratoriaL2 15 1,60,38zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Student powinień posiadać podstawowa znajomość systemów operacyjnych, inżynierii oprogramowania i podstaw ochrony informacji

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z technikiami tworzenia dokumentacji aplikacji zgodnie z wymaganiami COMMON CRITERIA (wizja, Profil i zabezpieczeń, itp.) oraz z wymaganiami dotyczacymi uzasadnienia zaufania do aplikacji (wymagania dotyczace projektowania i konstruowania, testowania, itp. pod kontrolą bezpiecznego systemu zarządzania konfiguracji)
C-2Ukształtowanie umiejetnosci formułowania wymagań dotyczacych funkcji zabezpieczajacych aplikacji, interpretowanie wymagań na funkcjonalność oraz określanie czy apliakcja rzeczywiście realizuje deklarowane funkcje zabezpieczajace.

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

KODTreść programowaGodziny
laboratoria
T-L-1Tworzenie profilu zabezpieczen (Protection Profile) aplikacji z uzyciem oprogramowania CCtoolbox3
T-L-2Tworzenie zadania zabezpieczen (Security Target) aplikacji z uzyciem oprogramowania CCToolbox2
T-L-3Zarzadzanie konfiguracja aplikacji – Zarzadzaniie wersjami z uzyciem oprogramowania subversion2
T-L-4Zarzadzanie konfiguracja aplikacji – Zarzadzaniie zmianami z uzyciem oprogramowania subversion2
T-L-5Testowanie aplikacji z wykorzystaniem ngtest – testy jednostkowe, głebokosci i pokrycia3
T-L-6Tworzenia dokumentacji aplikacji3
15
wykłady
T-W-1Techniki tworzenia Profili i Zadania Zabezpieczeń aplikacji3
T-W-2Zarzadzanie wersjami i zmianami tworzonej aplikacji2
T-W-3Konstruowanie aplikacji - wymagania funkcjonalne, projekt niskiego i wysokiego poziomu, implementacja, itp.3
T-W-4Testowanie aplikacji - testy funkcjonalne, pokrycia i głebokosci3
T-W-5Tworzenie dokumentacji aplikacji zgodnie z wymaganiami4
15

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

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajeciach15
A-L-2Przygotowanie do zajec laboratoryjnych i zaliczenia laboratorium15
A-L-3Przygotowanie sprawozdan z laboratoriów10
A-L-4Udzał w konsultacjach i zaliczeniu formy zajęć2
42
wykłady
A-W-1Udział w wykładach15
A-W-2Przygotowanie do egzaminu20
A-W-3Udział w egzaminie i konsultacjach2
37

Metody nauczania / narzędzia dydaktyczne

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

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena na podstawie wejściówki, sprawozdania z zajęć laboratoryjnych.
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/8_W01
student poznaje metody i techniki stosowane podczas projektowania bezpiecznych aplikacji (umiejętności identyfikacji zagrożeń, podatności, określenia celów bezpieczeństwa i wymagań funkcjonalnych, zdefiniowanie i wdrożenie wymagań dotyczących konstruowania, testowania itp. pod kontrolą systemu zarządzania konfiguracji.
I_2A_W05, I_2A_W09, I_2A_W04, I_2A_W07T2A_W03, T2A_W04, T2A_W07C-1T-W-4, T-W-5, T-W-1, T-W-3, T-W-2M-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/8_U01
Student potrafi ocenić dokumentacji projektowanej aplikacji, stosować najnowsze metody i techniki projektowania bezpiecznych mechanizmów zabezpieczeń w aplikacjach wrażliwych, kontrolować procesu tworzenie aplikacji (specyfikacja funkcjonalna, projekt wysokiego i niskiego poziomu, reprezentacje implementacji , testowania itp.) pod nadzorem systemu zarządzania konfiguracji.
I_2A_U12, I_2A_U11, I_2A_U14, I_2A_U13, I_2A_U07, I_2A_U04T2A_U07, T2A_U09, T2A_U11, T2A_U12, T2A_U14, T2A_U15, T2A_U16, T2A_U17, T2A_U18, T2A_U19C-2T-L-5, T-L-4, T-L-1, T-L-2, T-L-3, T-L-6M-2, M-1S-2, S-1

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/8_W01
student poznaje metody i techniki stosowane podczas projektowania bezpiecznych aplikacji (umiejętności identyfikacji zagrożeń, podatności, określenia celów bezpieczeństwa i wymagań funkcjonalnych, zdefiniowanie i wdrożenie wymagań dotyczących konstruowania, testowania itp. pod kontrolą systemu zarządzania konfiguracji.
2,0- student nie posiada wiedzą umożliwiającą mu uzyskania zaliczenia na 3.0
3,0- student zna metody i techniki identyfikacji zasobów, zagrożenie, itp. projektowanej aplikacji oraz potrafi dobierać odpowiednich wymagań funkcjonalnych spełniających podstawionych celów bezpieczeństwa.
3,5Wymagania na 3.0 plus dodatkowo: - student potrawi formułować wymagania dotyczące specyfikacji funkcjonalnej, projektu wysokiego i niskiego poziomu, reprezentacje implementacji oraz modelowania polityki bezpieczeństwa tworzonej aplikacji
4,0Wymagania na 3.5 plus dodatkowo: - student potrafi zdefiniować elementy konfiguracyjne podlegające zarządzaniu podczas tworzenia aplikacji
4,5Wymagania na 4.0 plus dodatkowo: - student potrawi formułować wymagania dotyczące specyfikacji funkcjonalnej, projektu wysokiego i niskiego poziomu, reprezentacje implementacji oraz modelowania polityki bezpieczeństwa tworzonej aplikacji
5,0Wymagania na 4.5 plus dodatkowo: - student potrafi dobierać i oceniać przepadki testowy, które są wymagane na uzasadnienie zaufania do aplikacji

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/8_U01
Student potrafi ocenić dokumentacji projektowanej aplikacji, stosować najnowsze metody i techniki projektowania bezpiecznych mechanizmów zabezpieczeń w aplikacjach wrażliwych, kontrolować procesu tworzenie aplikacji (specyfikacja funkcjonalna, projekt wysokiego i niskiego poziomu, reprezentacje implementacji , testowania itp.) pod nadzorem systemu zarządzania konfiguracji.
2,0- student nie posiada umiejętność umożliwiająca mu uzyskania zaliczenia na 3.0
3,0- student potrafi przeprowadzić szczegółowego ocenę zidentyfikowanych zasobów, podatność, zagrożeń oraz szacować ryzyka projektowanej aplikacji. -student potrafi formułować wymagań bezpieczeństwa podczas tworzenie dokumentacji projektowej dla aplikacji -student potrafi planować cykl życia tworzonej aplikacji
3,5Wymagania na 3.0 plus dodatkowo: - student potrafi ocenić procedury zarządzania zmianami, wersjami oraz dokumentacją na etapie zarządzania konfiguracją aplikacji
4,0Wymagania na 3.5 plus dodatkowo: - student potrafi ocenić dokumentację projektu konstrukcyjno-deweloperskiego produktu (specyfikacja funkcjonalna, projekt wysokiego i niskiego poziomu, reprezentacje implenetacji itp.).
4,5Wymagania na 4.0 plus dodatkowo: - student potrafi ocenić przyjętych plany testów aplikacji (konstruowanie grup testów, tworzone przypadki i procedur testowych, środowisko, metody oraz sposób realizacje testów)
5,0Wymagania na 4.5 plus dodatkowo: student formuje raporty z przebiegu ocenę każdego z osobna: - projekt tworzonej aplikacji, - wymagania na uzasadnienia zaufania do dobranych mechanizmów zabezpieczeń aplikacji.

Literatura podstawowa

  1. International Standard Organization, Common Criteria for Information Technology Security Evaluation - Part 1 - Introduction and general model, Common Criteria portal, CCRA, 2009, Version 3.1, www.commoncriteriaportal.org
  2. International Standard Organization, Common Criteria for Information Technology Security Evaluation - Part 2 - Security functional components, Common Criteria portal, CCRA, 2009, version 3.1, www.commoncriteriaportal.org
  3. International Standard Organization, Common Criteria for Information Technology Security Evaluation - Part 3 - Security assurance components, Common Criteria portal, CCRA, 2009, Version 3.1, www.commoncriteriaportal.org

Literatura dodatkowa

  1. International Standard Organization, Common Criteria for Information Technology Security Evaluation - Information technology - Security techniques - Methodology for IT security evaluation, Common Criteria portal, CCRA, 2009, version 3.1, www.commoncriteriaportal.org

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Tworzenie profilu zabezpieczen (Protection Profile) aplikacji z uzyciem oprogramowania CCtoolbox3
T-L-2Tworzenie zadania zabezpieczen (Security Target) aplikacji z uzyciem oprogramowania CCToolbox2
T-L-3Zarzadzanie konfiguracja aplikacji – Zarzadzaniie wersjami z uzyciem oprogramowania subversion2
T-L-4Zarzadzanie konfiguracja aplikacji – Zarzadzaniie zmianami z uzyciem oprogramowania subversion2
T-L-5Testowanie aplikacji z wykorzystaniem ngtest – testy jednostkowe, głebokosci i pokrycia3
T-L-6Tworzenia dokumentacji aplikacji3
15

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Techniki tworzenia Profili i Zadania Zabezpieczeń aplikacji3
T-W-2Zarzadzanie wersjami i zmianami tworzonej aplikacji2
T-W-3Konstruowanie aplikacji - wymagania funkcjonalne, projekt niskiego i wysokiego poziomu, implementacja, itp.3
T-W-4Testowanie aplikacji - testy funkcjonalne, pokrycia i głebokosci3
T-W-5Tworzenie dokumentacji aplikacji zgodnie z wymaganiami4
15

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajeciach15
A-L-2Przygotowanie do zajec laboratoryjnych i zaliczenia laboratorium15
A-L-3Przygotowanie sprawozdan z laboratoriów10
A-L-4Udzał w konsultacjach i zaliczeniu formy zajęć2
42
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział w wykładach15
A-W-2Przygotowanie do egzaminu20
A-W-3Udział w egzaminie i konsultacjach2
37
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/8_W01student poznaje metody i techniki stosowane podczas projektowania bezpiecznych aplikacji (umiejętności identyfikacji zagrożeń, podatności, określenia celów bezpieczeństwa i wymagań funkcjonalnych, zdefiniowanie i wdrożenie wymagań dotyczących konstruowania, testowania itp. pod kontrolą systemu zarządzania konfiguracji.
Odniesienie do efektów kształcenia dla kierunku studiówI_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_W09Ma uporządkowaną, podbudowaną metodycznie i teoretycznie wiedzę w zakresie metod i technik projektowania systemów informatycznych
I_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
I_2A_W07Posiada poszerzona wiedzę o funkcjonowaniu i modelowaniu złożonych systemów
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T2A_W04ma podbudowaną teoretycznie szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T2A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu złożonych zadań inżynierskich z zakresu studiowanego kierunku studiów
Cel przedmiotuC-1Zapoznanie studentów z technikiami tworzenia dokumentacji aplikacji zgodnie z wymaganiami COMMON CRITERIA (wizja, Profil i zabezpieczeń, itp.) oraz z wymaganiami dotyczacymi uzasadnienia zaufania do aplikacji (wymagania dotyczace projektowania i konstruowania, testowania, itp. pod kontrolą bezpiecznego systemu zarządzania konfiguracji)
Treści programoweT-W-4Testowanie aplikacji - testy funkcjonalne, pokrycia i głebokosci
T-W-5Tworzenie dokumentacji aplikacji zgodnie z wymaganiami
T-W-1Techniki tworzenia Profili i Zadania Zabezpieczeń aplikacji
T-W-3Konstruowanie aplikacji - wymagania funkcjonalne, projekt niskiego i wysokiego poziomu, implementacja, itp.
T-W-2Zarzadzanie wersjami i zmianami tworzonej aplikacji
Metody nauczaniaM-1Wykład informacyjno/konwersatoryjny
M-2Cwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena na podstawie wejściówki, sprawozdania z zajęć laboratoryjnych.
S-2Ocena podsumowująca: Test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
Kryteria ocenyOcenaKryterium oceny
2,0- student nie posiada wiedzą umożliwiającą mu uzyskania zaliczenia na 3.0
3,0- student zna metody i techniki identyfikacji zasobów, zagrożenie, itp. projektowanej aplikacji oraz potrafi dobierać odpowiednich wymagań funkcjonalnych spełniających podstawionych celów bezpieczeństwa.
3,5Wymagania na 3.0 plus dodatkowo: - student potrawi formułować wymagania dotyczące specyfikacji funkcjonalnej, projektu wysokiego i niskiego poziomu, reprezentacje implementacji oraz modelowania polityki bezpieczeństwa tworzonej aplikacji
4,0Wymagania na 3.5 plus dodatkowo: - student potrafi zdefiniować elementy konfiguracyjne podlegające zarządzaniu podczas tworzenia aplikacji
4,5Wymagania na 4.0 plus dodatkowo: - student potrawi formułować wymagania dotyczące specyfikacji funkcjonalnej, projektu wysokiego i niskiego poziomu, reprezentacje implementacji oraz modelowania polityki bezpieczeństwa tworzonej aplikacji
5,0Wymagania na 4.5 plus dodatkowo: - student potrafi dobierać i oceniać przepadki testowy, które są wymagane na uzasadnienie zaufania do aplikacji
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/8_U01Student potrafi ocenić dokumentacji projektowanej aplikacji, stosować najnowsze metody i techniki projektowania bezpiecznych mechanizmów zabezpieczeń w aplikacjach wrażliwych, kontrolować procesu tworzenie aplikacji (specyfikacja funkcjonalna, projekt wysokiego i niskiego poziomu, reprezentacje implementacji , testowania itp.) pod nadzorem systemu zarządzania konfiguracji.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U12Ma umiejętność stosowania zaawansowanych technik programowania i metodyki projektowania systemów informatycznych w wybranym obszarze zastosowań
I_2A_U11Potrafi dokonywać analizy i syntezy złożonych systemów
I_2A_U14Ma umiejętność tworzenia interfejsów oraz wykorzystania różnych sposobów komunikacji międzysystemowej
I_2A_U13Potrafi dobrać, porównać i ocenić rozwiązania projektowe w wybranym obszarze zastosowań
I_2A_U07Potrafi wykorzystywać poznane metody, techniki i modele do rozwiązywania złożonych problemów
I_2A_U04Potrafi wybrać, krytycznie ocenić przydatność i zastosować metodę i narzędzia rozwiązania złożonego zadania inżynierskiego
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T2A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich i prostych problemów badawczych metody analityczne, symulacyjne i eksperymentalne
T2A_U11potrafi formułować i testować hipotezy związane z problemami inżynierskimi i prostymi problemami badawczymi
T2A_U12potrafi ocenić przydatność i możliwość wykorzystania nowych osiągnięć (technik i technologii) w zakresie studiowanego kierunku studiów
T2A_U14potrafi dokonać wstępnej analizy ekonomicznej podejmowanych działali inżynierskich
T2A_U15potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
T2A_U16potrafi zaproponować ulepszenia (usprawnienia) istniejących rozwiązań technicznych
T2A_U17potrafi dokonać identyfikacji i sformułować specyfikację złożonych zadań inżynierskich, charakterystycznych dla studiowanego kierunku studiów, w tym zadań nietypowych, uwzględniając ich aspekty pozatechniczne
T2A_U18potrafi ocenić przydatność metod i narzędzi służących do rozwiązania zadania inżynierskiego, charakterystycznego dla studiowanego kierunku studiów, w tym dostrzec ograniczenia tych metod i narzędzi; potrafi - stosując także koncepcyjnie nowe metody - rozwiązywać złożone zadania inżynierskie, charakterystyczne dla studiowanego kierunku studiów, w tym zadania nietypowe oraz zadania zawierające komponent badawczy
T2A_U19potrafi - zgodnie z zadaną specyfikacją, uwzględniającą aspekty pozatechniczne - zaprojektować złożone urządzenie, obiekt, system lub proces, związane z zakresem studiowanego kierunku studiów, oraz zrealizować ten projekt - co najmniej w części - używając właściwych metod, technik i narzędzi, w tym przystosowując do tego celu istniejące lub opracowując nowe narzędzia
Cel przedmiotuC-2Ukształtowanie umiejetnosci formułowania wymagań dotyczacych funkcji zabezpieczajacych aplikacji, interpretowanie wymagań na funkcjonalność oraz określanie czy apliakcja rzeczywiście realizuje deklarowane funkcje zabezpieczajace.
Treści programoweT-L-5Testowanie aplikacji z wykorzystaniem ngtest – testy jednostkowe, głebokosci i pokrycia
T-L-4Zarzadzanie konfiguracja aplikacji – Zarzadzaniie zmianami z uzyciem oprogramowania subversion
T-L-1Tworzenie profilu zabezpieczen (Protection Profile) aplikacji z uzyciem oprogramowania CCtoolbox
T-L-2Tworzenie zadania zabezpieczen (Security Target) aplikacji z uzyciem oprogramowania CCToolbox
T-L-3Zarzadzanie konfiguracja aplikacji – Zarzadzaniie wersjami z uzyciem oprogramowania subversion
T-L-6Tworzenia dokumentacji aplikacji
Metody nauczaniaM-2Cwiczenia laboratoryjne
M-1Wykład informacyjno/konwersatoryjny
Sposób ocenyS-2Ocena podsumowująca: Test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
S-1Ocena formująca: Ocena na podstawie wejściówki, sprawozdania z zajęć laboratoryjnych.
Kryteria ocenyOcenaKryterium oceny
2,0- student nie posiada umiejętność umożliwiająca mu uzyskania zaliczenia na 3.0
3,0- student potrafi przeprowadzić szczegółowego ocenę zidentyfikowanych zasobów, podatność, zagrożeń oraz szacować ryzyka projektowanej aplikacji. -student potrafi formułować wymagań bezpieczeństwa podczas tworzenie dokumentacji projektowej dla aplikacji -student potrafi planować cykl życia tworzonej aplikacji
3,5Wymagania na 3.0 plus dodatkowo: - student potrafi ocenić procedury zarządzania zmianami, wersjami oraz dokumentacją na etapie zarządzania konfiguracją aplikacji
4,0Wymagania na 3.5 plus dodatkowo: - student potrafi ocenić dokumentację projektu konstrukcyjno-deweloperskiego produktu (specyfikacja funkcjonalna, projekt wysokiego i niskiego poziomu, reprezentacje implenetacji itp.).
4,5Wymagania na 4.0 plus dodatkowo: - student potrafi ocenić przyjętych plany testów aplikacji (konstruowanie grup testów, tworzone przypadki i procedur testowych, środowisko, metody oraz sposób realizacje testów)
5,0Wymagania na 4.5 plus dodatkowo: student formuje raporty z przebiegu ocenę każdego z osobna: - projekt tworzonej aplikacji, - wymagania na uzasadnienia zaufania do dobranych mechanizmów zabezpieczeń aplikacji.