logo
Karta przedmiotu
logo

Bezpieczeństwo aplikacji webowych

Podstawowe informacje o zajęciach

Cykl kształcenia: 2024/2025

Nazwa jednostki prowadzącej studia: Wydział Elektrotechniki i Informatyki

Nazwa kierunku studiów: Informatyka

Obszar kształcenia: nauki techniczne

Profil studiów: ogólnoakademicki

Poziom studiów: drugiego stopnia

Forma studiów: stacjonarne

Specjalności na kierunku: H - Cyberbezpieczeństwo i technologie chmurowe, I - Inżynieria inteligentnych systemów informatycznych, S - Systemy i sieci komputerowe

Tytuł otrzymywany po ukończeniu studiów: magister inżynier

Nazwa jednostki prowadzącej zajęcia: Katedra Elektrotechniki i Podstaw Informatyki

Kod zajęć: 15670

Status zajęć: obowiązkowy dla specjalności H - Cyberbezpieczeństwo i technologie chmurowe

Układ zajęć w planie studiów: sem: 1 / W20 P30 / 4 ECTS / E

Język wykładowy: polski

Imię i nazwisko koordynatora 1: dr inż. Bartosz Trybus

Imię i nazwisko koordynatora 2: dr inż. Witold Posiewała

Cel kształcenia i wykaz literatury

Główny cel kształcenia: Omówienie problematyki bezpieczeństwa aplikacji webowych, w tym scharakteryzowanie budowy tych aplikacji powodujące występowanie zagrożeń.

Ogólne informacje o zajęciach:

Wykaz literatury, wymaganej do zaliczenia zajęć
Literatura wykorzystywana podczas zajęć wykładowych
1 Sajdak M. Bezpieczeństwo aplikacji webowych Securitum. 2019
Literatura wykorzystywana podczas zajęć ćwiczeniowych/laboratoryjnych/innych
1 Microsoft ASP.NET Web APIs Build secure REST APIs on any platform with C# https://dotnet.microsoft.com/en-us/apps/aspnet/apis.
2 Microsoft ASP.NET Core security topics https://docs.microsoft.com/en-us/aspnet/core/security/.
Literatura do samodzielnego studiowania
1 Mueller J.P. Security for Web Developers: Using JavaScript, HTML, and CSS O'Reilly Media. 2015

Wymagania wstępne w kategorii wiedzy/umiejętności/kompetencji społecznych

Wymagania formalne: Wpis na semestr 1.

Wymagania wstępne w kategorii Wiedzy: Zna podstawowe zasady działania aplikacji internetowych, co najmniej jeden język skryptowy.

Wymagania wstępne w kategorii Umiejętności: Potrafi uruchomić aplikację napisaną w języku skryptowym za pomocą serwera HTTP. Potrafi utworzyć aplikację w obiektowym języku programowania.

Wymagania wstępne w kategorii Kompetencji społecznych: Potrafi w sposób zrozumiały prezentować wyniki swojej pracy.

Efekty kształcenia dla zajęć

MEK Student, który zaliczył zajęcia Formy zajęć/metody dydaktyczne prowadzące do osiągnięcia danego efektu kształcenia Metody weryfikacji każdego z wymienionych efektów kształcenia Związki z KEK Związki z PRK
01 Wie czym są aplikacje internetowe i które ich właściwości są podatne na zagrożenia. wykład, projekt indywidualny sprawdzian pisemny, prezentacja projektu K_W09+
K_K03+
P7S_KO
P7S_WK
02 Zna rodzaje ataków na serwery Web. wykład, projekt indywidualny sprawdzian pisemny, prezentacja projektu K_W04+
K_U02+
K_K05+
P7S_KR
P7S_UU
P7S_WG
03 Zna rodzaje ataków na aplikacje internetowe. wykład, projekt indywidualny sprawdzian pisemny, prezentacja projektu K_W04+
K_U02+
K_K03+
P7S_KO
P7S_UU
P7S_WG
04 Zna techniki zabezpieczeń aplikacji webowych przed typowymi atakami. wykład, projekt indywidualny sprawdzian pisemny, prezentacja projektu K_W04++
K_U02+
K_U07+++
K_U09+++
P7S_UU
P7S_UW
P7S_WG
05 Zna techniki uwierzytelniania i autoryzacji użytkowników aplikacji webowych wykład, projekt indywidualny sprawdzian pisemny, prezentacja projektu K_W04++
K_W05++
K_U09+++
K_K05+
P7S_KR
P7S_UW
P7S_WG
P7S_WK

Uwaga: W zależności od sytuacji epidemicznej, jeżeli nie będzie możliwości weryfikacji osiągniętych efektów uczenia się określonych w programie studiów w sposób stacjonarny w szczególności zaliczenia i egzaminy kończące określone zajęcia będą mogły się odbywać przy użyciu środków komunikacji elektronicznej (w sposób zdalny).

Treści kształcenia dla zajęć

Sem. TK Treści kształcenia Realizowane na MEK
1 TK01 Czym są aplikacje internetowe, rodzaje i architektury aplikacji internetowych. Sposoby serwowania aplikacji internetowych. Właściwości protokołu HTTP, rodzaje serwerów HTTP. Zadania i parametry serwerów HTTP. W1 MEK01 MEK02
1 TK02 Rodzaje ataków. Ataki na serwery HTTP - DDoS, DNS, Directory Traversal, Man-in-the-Middle/Sniffing, Phishing, HTTP Response-Splitting, Web Cache Poisoning, SSRF, itp.. Narzędzia ataków na serwery. W2,W3 MEK02
1 TK03 Typowe ataki na aplikacje internetowe: Injection, Broken Authentication, Sensitive Data Exposure, XML External Entity (XXE), Broken Access Control, Security Misconfiguration, Cross-Site Scripting (XSS), Insecure Deserialization. Using Components with Known Vulnerabilities Insufficient Logging and Monitoring W4,W5 MEK02
1 TK04 Wzorzec Model-Widok-Kontroler. Pojęcia frontend i backend. Przykłady. Współpraca z bazą danych. Walidacja formularzy jako element zabezpieczeń. W6,W7 MEK01 MEK04
1 TK05 Zabezpieczanie aplikacji webowych. Reguła Same-Origin-Policy. Mechanizm CORS i jego ograniczenia. Obrona przed SQL Injection - przykłady rozwiązań. W8, W9 MEK03 MEK04
1 TK06 Uwierzytelnianie i autoryzacja użytkowników. Rodzaje ataków. Polityka przechowywania haseł. Obsługa sesji. Ochrona dostępu do usług i zasobów. Standardy OAuth, JWT. Przykłady zastosowań. W9,W10 MEK01 MEK05

Nakład pracy studenta

Forma zajęć Praca przed zajęciami Udział w zajęciach Praca po zajęciach
Wykład (sem. 1) Przygotowanie do kolokwium: 10.00 godz./sem.
Godziny kontaktowe: 20.00 godz./sem.
Uzupełnienie/studiowanie notatek: 5.00 godz./sem.
Studiowanie zalecanej literatury: 15.00 godz./sem.
Projekt/Seminarium (sem. 1) Przygotowanie do zajęć projektowych/seminaryjnych: 10.00 godz./sem.
Godziny kontaktowe: 30.00 godz./sem..
Wykonanie projektu/dokumentacji/raportu: 5.00 godz./sem.
Przygotowanie do prezentacji: 5.00 godz./sem.
Konsultacje (sem. 1) Przygotowanie do konsultacji: 2.00 godz./sem.
Udział w konsultacjach: 2.00 godz./sem.
Egzamin (sem. 1) Przygotowanie do egzaminu: 10.00 godz./sem.
Egzamin pisemny: 1.00 godz./sem.

Sposób wystawiania ocen składowych zajęć i oceny końcowej

Forma zajęć Sposób wystawiania oceny podsumowującej
Wykład Student otrzymuje ocenę za uczestnictwo wykładach według następujących progów: - co najmniej 40% obecności - 3,0 (dst) - co najmniej 50% obecności - 3,5 (+dst) - co najmniej 60% obecności - 4,0 (db) - co najmniej 80% obecności - 4,5 (+db) - co najmniej 90% obecności - 5,0 (bdb). Do nieobecności nie wliczają się godziny usprawiedliwione z tytułu choroby, czy sporadycznego uczestnictwa w innych czynnościach realizowanych w imieniu uczelni.
Projekt/Seminarium Ocena będzie wystawiana na podstawie analizy kodów prezentowanego programu, a także prezentacji opracowanego rozwiązania. W zależności od stopnia jego skomplikowania i wykorzystanych mechanizmów zostanie przyznana adekwatna ocena.
Ocena końcowa Część projektowa brana jest z wagą 0,8, a część wykładowa z wagą 0,2. W nadzwyczajnych, wyjątkowych i uzasadnionych sytuacjach może zostać zwiększona lub zmniejszona o maksymalnie jeden stopień.

Przykładowe zadania

Wymagane podczas egzaminu/zaliczenia
(-)

Realizowane podczas zajęć ćwiczeniowych/laboratoryjnych/projektowych
(-)

Inne
(-)

Czy podczas egzaminu/zaliczenia student ma możliwość korzystania z materiałów pomocniczych : nie

Treści zajęć powiazane są z prowadzonymi badaniami naukowymi: nie