Karta Przedmiotu

Politechnika Białostocka Wydział Informatyki
Kierunek studiów Cyberbezpieczeństwo Poziom i forma
studiów
pierwszego stopnia
stacjonarne
Grupa przedmiotów /
specjalność
Bezpieczeństwo aplikacji Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Testowanie i analiza bezpieczeństwa aplikacji Kod przedmiotu CYB1TBA
Rodzaj zajęć obieralny
Formy zajęć i liczba godzin W Ć L P Ps T S Semestr 5,6
26 26 Punkty ECTS 4
Program obowiązuje od 2026/2027
Przedmioty wprowadzające Architektury systemów informatycznych (CYB1WMB),   Programowanie aplikacji WWW (CYB1WWW),   Testy penetracyjne (CYB1TPE),  
Cele przedmiotu Zapoznanie z rolą testowania bezpieczeństwa aplikacji w cyklu życia oprogramowania oraz jego znaczeniem w procesie zapewniania jakości i odporności systemów informatycznych. Przedstawienie metod analizy bezpieczeństwa aplikacji z uwzględnieniem ich architektury, przepływu danych oraz sposobów przetwarzania informacji. Zapoznanie z typowymi błędami implementacyjnymi i projektowymi w aplikacjach prowadzącymi do powstawania podatności, w szczególności w zakresie walidacji danych, logiki działania oraz kontroli dostępu. Przedstawienie metod testowania bezpieczeństwa aplikacji ukierunkowanych na identyfikację podatności wynikających ze sposobu implementacji oraz złożoności przetwarzania danych. Zapoznanie z zasadami oceny podatności w aplikacjach oraz przygotowania dokumentacji obejmującej analizę przyczyn ich powstawania i rekomendacje działań naprawczych.

Odniesienia do frameworka edukacyjnego mikrokompetencji SFIA:
Testowanie bezpieczeństwa (penetration testing) PENT – poziom 3
Bezpieczeństwo informacji (information security) ISCO – poziom 3
Testowanie oprogramowania (testing) TEST – poziom 3
Ramowe treści programowe Testowanie bezpieczeństwa aplikacji w cyklu życia oprogramowania. Architektura aplikacji, przepływ danych oraz granice zaufania. Walidacja danych wejściowych oraz mechanizmy przetwarzania danych. Logika działania aplikacji oraz kontrola dostępu do zasobów. Interfejsy komunikacyjne i ich bezpieczeństwo. Mechanizmy uwierzytelniania i zarządzania sesją. Przetwarzanie i ochrona danych w aplikacjach. Złożoność obliczeniowa i jej wpływ na bezpieczeństwo. Automatyzacja testów, analiza podatności oraz dokumentowanie wyników.
Inne informacje o przedmiocie przedmiot ma związek z prowadzoną na Uczelni działalnością naukową
przedmiot kształtuje umiejętności praktyczne
Wyliczenie: Nakład pracy studenta związany z: Godzin
ogółem
W tym
kontaktowych
W tym
praktycznych
udziałem w wykładach 26 26
udziałem w innych formach zajęć 26 26 26
przygotowaniem do bieżących zajęć o charakterze praktycznym 13 13
realizacją zadań praktycznych 20 20
przygotowaniem do zaliczenia wykładu 15
Razem godzin: 100 52 59
Razem punktów ECTS: 4 2.1 2.4
Zakładane kierunkowe efekty uczenia się Wiedza Umiejętności Kompetencje
społeczne
CYB1_W06 CYB1_U03 CYB1_K02
CYB1_W07 CYB1_U06 CYB1_K03
CYB1_W09 CYB1_U07
CYB1_W14 CYB1_U11
CYB1_U12
CYB1_U19
Cele i treści ramowe sformułował(a) dr inż. Anna Łupińska-Dubicka Data: 29/03/2026
Realizacja w roku akademickim 2028/2029
 
Treści programowe
Wykład
1. Rola testowania bezpieczeństwa aplikacji w cyklu życia oprogramowania – znaczenie testów bezpieczeństwa, relacja między projektowaniem, implementacją i weryfikacją, aspekty etyczne i prawne
2. Architektura aplikacji jako kontekst bezpieczeństwa – przepływ danych, granice zaufania, identyfikacja punktów wejścia oraz podstawy modelowania zagrożeń
3. Analiza komunikacji aplikacji – obserwacja i modyfikacja wymiany danych między klientem a serwerem jako metoda identyfikacji błędów implementacyjnych
4. Walidacja danych wejściowych – mechanizmy powstawania podatności wynikających z niepoprawnego przetwarzania danych oraz ich konsekwencje dla bezpieczeństwa systemu
5. Bezpieczeństwo przetwarzania danych strukturalnych – analiza sposobów przetwarzania danych (np. tekstowych i hierarchicznych) oraz związane z nimi błędy implementacyjne
6. Testowanie logiki działania aplikacji – identyfikacja błędów w przebiegu operacji, niespójności walidacji oraz możliwości obejścia przyjętych reguł
7. Mechanizmy uwierzytelniania i zarządzania sesją – analiza sposobów identyfikacji użytkownika oraz typowych błędów projektowych i implementacyjnych
8. Kontrola dostępu i autoryzacja – identyfikacja nieprawidłowości w ograniczaniu dostępu do zasobów oraz błędów prowadzących do nieuprawnionych operacji
9. Bezpieczeństwo interfejsów komunikacyjnych – testowanie poprawności działania interfejsów aplikacyjnych, spójności walidacji oraz ograniczeń dostępu
10. Bezpieczeństwo przechowywania i ochrony danych – analiza sposobów zabezpieczania danych, w tym wykorzystania mechanizmów kryptograficznych i zarządzania danymi w aplikacji
11. Wpływ złożoności obliczeniowej na bezpieczeństwo – podatności wynikające z nadmiernego zużycia zasobów, nieoptymalnych algorytmów i struktur danych
12. Automatyzacja testowania i ocena podatności – generowanie danych testowych, identyfikacja przyczyn podatności, ocena ryzyka oraz przygotowanie raportów i rekomendacji
13. Zaliczenie wykładu
Pracownia specjalistyczna
1. Konfiguracja środowiska testowego oraz przygotowanie aplikacji do analizy – uruchomienie aplikacji, identyfikacja punktów wejścia i przepływów danych
2. Analiza komunikacji aplikacji – przechwytywanie i modyfikacja danych przesyłanych między klientem a serwerem, identyfikacja nieprawidłowości
3. Testowanie walidacji danych wejściowych – wprowadzanie niepoprawnych i skrajnych danych, identyfikacja błędów przetwarzania oraz ich skutków
4. Testowanie podatności związanych z przetwarzaniem danych – analiza działania aplikacji dla danych strukturalnych i nietypowych formatów wejścia
5. Analiza logiki działania aplikacji – identyfikacja niespójności w przebiegu operacji oraz możliwości obejścia założeń projektowych
6. Testowanie mechanizmów uwierzytelniania – analiza procesu logowania, zarządzania stanem użytkownika oraz odporności na nieuprawniony dostęp
7. Testowanie kontroli dostępu – weryfikacja ograniczeń dostępu do zasobów i operacji, identyfikacja przypadków nieuprawnionych działań
8. Testowanie interfejsów komunikacyjnych aplikacji – analiza poprawności działania interfejsów, manipulacja parametrami oraz identyfikacja niespójności walidacji
9. Analiza sposobów przechowywania i ochrony danych – identyfikacja nieprawidłowości w zabezpieczeniu danych oraz błędów w ich przetwarzaniu
10. Testowanie odporności aplikacji na obciążenie i złożoność danych – analiza wpływu danych wejściowych na zużycie zasobów i stabilność działania
11. Automatyzacja testów oraz generowanie danych testowych – wykorzystanie prostych mechanizmów automatyzacji do wykrywania błędów implementacyjnych
12. Analiza wyników testów i przygotowanie raportu – identyfikacja przyczyn podatności, powiązanie ich z implementacją oraz opracowanie rekomendacji poprawek
13. Prezentacja wykonanych projektów i zaliczenie pracowni
Metody dydaktyczne
(realizacja stacjonarna)
W wykład z prezentacją multimedialną
Ps programowanie z użyciem komputera
Metody dydaktyczne
(realizacja zdalna)
W wykład z prezentacją multimedialną
-
Forma zaliczenia
W zaliczenie pisemne
Ps ocena sprawozdań z wykonanych zadań oraz ocena projektu
Warunki zaliczenia
W Uzyskanie min. 30% punktów z każdego efektu uczenia się z zakresu wiedzy, a po spełnieniu tego warunku ostateczna ocena wynika z sumy uzyskanych punktów.
Kryteria oceny:
[ 0 – 50]% punktów – 2.0
(50 – 60]% punktów – 3.0
(60 – 70]% punktów – 3.5
(70 – 80]% punktów – 4.0
(80 – 90]% punktów – 4.5
(90 – 100]% punktów – 5.0

PS:
Minimalne wymagania odnośnie efektów uczenia się:
E3 - identyfikacja co najmniej 1 podatności w analizowanej aplikacji z wykorzystaniem podstawowych technik testowania lub prostych narzędzi oraz wskazanie miejsca jej występowania
E4 - wskazanie przyczyny co najmniej 1 wykrytej podatności na poziomie implementacji lub logiki działania aplikacji wraz z określeniem jej wpływu na bezpieczeństwo
E5 - przygotowanie uproszczonego opisu wykrytej podatności obejmującego jej charakterystykę, sposób odtworzenia oraz ogólną propozycję działania naprawczego

Po spełnieniu powyższych warunków oraz zsumowaniu uzyskanych punktów:
[ 0 – 50]% punktów – 2.0
(50 – 60]% punktów – 3.0
(60 – 70]% punktów – 3.5
(70 – 80]% punktów – 4.0
(80 – 90]% punktów – 4.5
(90 – 100]% punktów – 5.0
-
Symbol efektu Zakładane efekty uczenia się Odniesienie do efektów uczenia się zdefiniowanych dla kierunku studiów
Wiedza Umiejętności Kompetencje
społeczne
Wiedza: student zna i rozumie
E1 mechanizmy powstawania podatności w aplikacjach wynikające z błędów implementacyjnych i projektowych, w szczególności w zakresie walidacji danych, logiki działania oraz kontroli dostępu
E2 metody i narzędzia stosowane w analizie i testowaniu bezpieczeństwa aplikacji oraz ich zastosowania i ograniczenia
Umiejętności: student potrafi
E3 identyfikować podatności w aplikacjach poprzez analizę ich działania oraz wykorzystanie odpowiednich narzędzi i technik testowania
E4 analizować przyczyny wykrytych podatności oraz powiązać je z błędami implementacyjnymi, projektowymi lub niewłaściwym doborem rozwiązań
E5 dokumentować wyniki testów bezpieczeństwa aplikacji oraz formułować rekomendacje działań naprawczych
Kompetencje społeczne: student jest gotów do
E6 odpowiedzialnego prowadzenia testów bezpieczeństwa aplikacji z uwzględnieniem aspektów etycznych i prawnych oraz wpływu podejmowanych działań na systemy i organizację
Symbol efektu Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
E1 zaliczenie pisemne W
E2 zaliczenie pisemne W
E3 ocena sprawozdań z wykonanych zadań, ocena projektu Ps
E4 ocena sprawozdań z wykonanych zadań, ocena projektu Ps
E5 ocena sprawozdań z wykonanych zadań, ocena projektu Ps
E6 projekt Ps
Literatura podstawowa
1. D. Chell, Bezpieczeństwo aplikacji mobilnych. Podręcznik hakera, Helion, Gliwice, 2023
2. M. Sajdak, Bezpieczeństwo aplikacji webowych, Securitum, Kraków, 2025
3. V. Li, Bug Bounty Bootcamp. Przewodnik po tropieniu i zgłaszaniu luk w zabezpieczeniach, Helion, Gliwice, 2022
4. Standard OWASP Top 10: https://owasp.org/Top10/2025/
5. https://owasp.org/www-project-web-security-testing-guide/
6. https://mas.owasp.org/MASTG/
Literatura uzupełniająca
1. P. Hope, B. Walther, Testowanie bezpieczeństwa aplikacji internetowych. Receptury, Helion, Gliwice, 2023
2. P. Verma, A. Dixit, Bezpieczeństwo urządzeń mobilnych. Receptury, Helion, Gliwice, 2012
3. M. Mamica, Bug Bounty i testy penetracyjne aplikacji webowych, kurs online, 2026
Koordynator przedmiotu: dr inż. Anna Łupińska-Dubicka Data: 29/03/2026