Kurs: Bezpieczeństwo aplikacji lato 2016/17

Język wykładowy Angielski
Opiekun Paweł Rajba
Liczba godzin 30 (wyk.) 30 (prac.)
Rodzaj K2 - kurs zaawansowany
ECTS 5
Polecany dla I roku Nie
Egzamin Nie
Grupy efektów kształcenia Inżynieria oprogramowania (L)

Opis przedmiotu:

Celem zajeć jest zaprezentowanie rożnych aspektow bezpieczeństwa aplikacji. Omowione zostaną często spotykane luki bezpieczeństwa wraz ze sposobami na ich unikanie, komponenty aplikacji krytyczne pod względem bezpieczeństwa oraz dodatkowe elementy związane z bezpieczeństwem, jak np. testowanie czy normy ISO. Wszystkie prezentowane zagadnienia będą podparte stroną praktyczną, czyli przeglądem produktow dostępnych na rynku wraz z przykładowym kodem w ulubionym języku programowania. ##### **Program** 1. Bezpieczeństwo aplikacji * wprowadzenie do zagadnienia * przegląd często spotykanych zagrożeń... * ... i sposoby na ich unikanie * rankingi OWASP i CWE * baza CVE, kalkulator CVSS 2. Certyfikaty, podpisy elektroniczne, znaczniki czasu * podstawy teoretyczne, PKI, zastosowania certyfikatow * certyfikaty dostępne na rynku, rola Narodowego Centrum Certyfikacji, usługi kwalifikowane * strona praktyczna, przegląd rozwiązań, tworzenie własnych centrow certyfikacji 3. Uwierzytelnianie i autoryzacja * komponenty składowe rozwiązania i ich rola * znaczenie w rożnych warstwach sieciowych * przegląd protokołow i rozwiązań dostępnych na rynku, w tym NTLM i Kerberos * mechanizmy kontroli dostępu, w tym RBAC & ABAC * procesy związane zarządzaniem tożsamościami i dostępem 4. Federacja tożsamości i delegacja autoryzacji * protokoły OAuth2, OpenID Connect i XACML * bezpieczeństwo w rożnych typach architektury * integracja z usługami firm trzecich: SMS, systemy płatności, Auth0, Google, Facebook 5. Bezpieczeństwo baz danych * przykład rozwiązań proponowanych przez Microsoft SQL Server 6. Bezpieczeństwo na poziomie infrastruktury * bezpieczeństwo serwerow aplikacji * przegląd komponentow jak firewalle, proxy, IDS/IPS, WAF * znaczenie monitoringu, rola SIEM 7. Architektura zabezpieczeń * znaczenie dobrych wymagań * rodzaje kontrolek i ich zastosowanie * przegląd i znaczenie podstawowych zasad bezpieczeństwa (ang. security principles) * przegląd warstw architektury i ich rola * koncepcja tzw. security domains 8. Modelowanie zagrożeń * metodyka STRIDE * zastosowanie narzędzi wspierających 9. Bezpieczeństwo informacji * podstawowe koncepcje i pojęcia * przepływy informacji i ich zabezpieczenie * wykorzystanie modelowania zagrożeń 10. Testowanie bezpieczeństwa * testy penetracyjne i skany podatności, rodzaje, metodyki * przegląd narzędzi do przeprowadzania testow * wprowadzenie do hakowania 11. Bezpieczeństwo w procesie wytwarzania oprogramowania * omowienie procesu, przegląd głownych etapow * przegląd ważniejszych aktywności, m.in. zbieranie wymagań, analiza ryzyka, threat modelling. 12. Znaczenie wprowadzenia i utrzymywania polityki bezpieczeństwa

Wykłady

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Paweł Rajba
śr 16:00-18:00 (s. 141) 40 9 0

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.

Pracownie

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Paweł Rajba
śr 18:00-20:00 (s. 137) 15 9 0

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.


Konsultacje prowadzących:


Imię i nazwisko Pokój Konsultacje
Paweł Rajba 239 Przed lub po zajęciach. Proszę o uprzedni kontakt poprzez e-mail