PředmětyPředměty(verze: 953)
Předmět, akademický rok 2023/2024
   Přihlásit přes CAS
Bezpečnost softwarových systémů v praxi - NSWI202
Anglický název: Security of Software Systems in Practice
Zajišťuje: Katedra softwarového inženýrství (32-KSI)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2023
Semestr: zimní
E-Kredity: 3
Rozsah, examinace: zimní s.:1/1, Z [HT]
Počet míst: neomezen
Minimální obsazenost: neomezen
4EU+: ne
Virtuální mobilita / počet míst pro virtuální mobilitu: ne
Stav předmětu: vyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Způsob výuky: prezenční
Další informace: https://www.ksi.mff.cuni.cz/teaching/nswi202-web
Garant: RNDr. Filip Zavoral, Ph.D.
Třída: Informatika Bc.
Informatika Mgr. - volitelný
Kategorizace předmětu: Informatika > Informatika, Aplikační software, Počítačová grafika a geometrie, Databázové systémy, Didaktika informatiky, Diskrétní matematika, Předměty širšího základu, Předměty obecného základu, Počítačová a formální lingvistika, Optimalizace, Programování, Softwarové inženýrství, Teoretická informatika
Prerekvizity : {Java nebo C# nebo C++}
Anotace -
Prakticky orientovaný předmět zaměřený na různé aspekty bezpečnosti softwarových systémů. Teoretické přednášky budou doplněny praktickými workshopy, na kterých studenti aplikují získané znalosti. Secure development life-cycle, identifikace zranitelnosti, penetrační testování, zabezpečení cloudové infrastruktury, infrastructure as code, disaster recovery, compliance, identifikace, autentizace, autorizace, auditing, single-sign-on, bezpečnostní protokoly.
Poslední úprava: Zavoral Filip, RNDr., Ph.D. (20.04.2023)
Sylabus -
Secure Development Life Cycle
Přehled jednotlivých fází SDLC, jak včasně identifikovat zranitelnosti definované v OWASP TOP 10 a jakým způsobem k nim přistupovat. Také se zaměříme na penetrační testování, které je důležitou součástí životního cyklu vývoje aplikací. Dále se budeme věnovat poznatkům získaných z předcházejících penetračních testů a jak je co nejlépe aplikovat na budoucí projekty. Na konci semestru využijeme znalosti z této přednášky k absolvování praktického workshopu.

Security in the Cloud
Techniky a ověřené postupy pro zabezpečení cloudové infrastruktury. Dotkneme se témat jako "Infrastructure as Code (IaC)", "Infrastructure hardening" a vývoj SaaS produktu hostovaného v cloudu. Seznámíme se s průběhem "Disaster recovery" testů a jak tyto testy pomáhají zlepšovat dostupnost a spolehlivost cloudové infrastruktury.

Compliance
Ucelený přehled o bezpečnostních normách se zaměřením na certifikace SOC 2 a ISO %27001. Studenti se seznámí s klíčovými požadavky a doporučenými postupy pro dosažení a udržení požadavků stanovených v těchto normách. Seznámíme se spojenými aktivitami jako je pravidelné posuzování bezpečnosti, zavádění vhodných kontrolních mechanismů a prokazování souladu se stanovenými předpisy. Ukážeme si, jak využít znalosti získané na předchozích přednáškách k implementaci standardů informační bezpečnosti ve společnosti.

Workshop
Workshop je zaměřen na odhalování bezpečnostních zranitelností ve webových aplikacích na základě metodiky OWASP. Workshop zahrnuje teoretickou a praktickou část. Teoretická část stručně popisuje nejčastější webové zranitelnosti - jejich dopad na bezpečnost, integritu a dostupnost webové aplikace. V praktické části si studenti vyzkouší najít bezpečnostní zranitelnosti v reálném produktu.

Identifikace, autentizace, autorizace a auditing
Identifikace, identifikátor, autentizace (znalost, vlastnictví, biometrie), credentials, autorizace, federalizace.

Budou rozebrány moderní metody používané pro bezpečnou autentizaci jako druhý faktor

a jako passwordless mechanismy autentizace. Detailně budou rozebrány mechanismy xOTP (HOTP, TOTP), WebAuthn a navazující technologie pro passwordless autentizaci PassKey.

Single Sign On a federalizovaná autentizace
Detailně bude rozebrána problematika Single Sign On v interním prostředí organizace a protokoly LDAP, Kerberos a %SAML2.

Bude diskutována problematika federalizované autentizace v prostředí internetu pomocí protokolu OpenID Connect (i ve vazbě na OAuth2) a jeho aplikace v rámci federalizovaného přihlašování. Detailně budou rozebrány role jednotlivých zúčastněných entit, sekvence volání, formáty přenášených dat a formáty souvisejících metadatových souborů. Bude zmíněna také role odvozených protokolů v nově připravované Evropské peněžence digitální identity.

Praktická cvičení
Studenti naprogramují minimální webovou aplikaci, která pro autentizaci využívá některou z technologií WebAuthentication/%FIDO2 nebo PassKey.

Studenti nakonfigurují poskytovatele identity podle protokolu OpenID Connect (server Keycloak) a implementují demo aplikaci, která použije federalizovaného protokolu OpenID Connect pro přihlášení uživatele. Alternativně bude provedena integrace Kentico pomocí OpenID Connect.

Předmět je zajišťován ve spolupráci s odborníky z praxe.

Poslední úprava: Zavoral Filip, RNDr., Ph.D. (21.04.2023)
 
Univerzita Karlova | Informační systém UK