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 | ||||||||||||||||||||||||