Bądźmy w kontakcie
 Czas trwania 21 godzin

Plan Szkolenia

I. Wprowadzenie do bezpiecznego kodowania i bezpieczeństwa aplikacji internetowych

1. Współczesny krajobraz zagrożeń dla aplikacji internetowych

  • Typowe wektory ataków na aplikacje internetowe
  • Zagrożenia bezpieczeństwa we współczesnych aplikacjach ASP.NET
  • Rola bezpiecznego kodowania w tworzeniu oprogramowania
  • Wprowadzenie do Fundacji OWASP i jej zasobów

2. Zasady bezpiecznego tworzenia oprogramowania

  • Bezpieczeństwo projektowane od podstaw
  • Obrona w głąb
  • Zasada najmniejszych uprawnień
  • Bezpieczne działanie w przypadku awarii
  • Bezpieczne ustawienia domyślne
  • Podstawy modelowania zagrożeń

II. Bezpieczny cykl życia oprogramowania (SDL)

1. Bezpieczny cykl życia oprogramowania

  • Bezpieczeństwo w całym cyklu życia oprogramowania
  • Wymagania bezpieczeństwa
  • Bezpieczna architektura i projektowanie
  • Praktyki bezpiecznego kodowania
  • Testowanie i walidacja bezpieczeństwa
  • Bezpieczne wdrażanie i utrzymanie

2. Ocena ryzyka i modelowanie zagrożeń

  • Identyfikacja zasobów i zagrożeń
  • Analiza powierzchni ataku
  • Przegląd metodyki STRIDE
  • Priorytetyzacja ryzyk bezpieczeństwa

III. OWASP Top 10 dla aplikacji ASP.NET

1. Zrozumienie OWASP Top 10

  • Niewłaściwa kontrola dostępu
  • Błędy kryptograficzne
  • Wstrzykiwanie kodu (Injection)
  • Niebezpieczny projekt
  • Błędna konfiguracja zabezpieczeń
  • Podatne i nieaktualne komponenty
  • Błędy identyfikacji i uwierzytelniania
  • Błędy integralności oprogramowania i danych
  • Błędy rejestrowania i monitorowania zdarzeń bezpieczeństwa
  • Fałszowanie żądań po stronie serwera (SSRF)

2. Stosowanie zaleceń OWASP

  • Techniki bezpiecznego kodowania
  • Kontrole zapobiegawcze
  • Praktyki bezpiecznej konfiguracji
  • Przykłady i demonstracje z życia wzięte

IV. Bezpieczeństwo uwierzytelniania i autoryzacji

1. Podstawy uwierzytelniania

  • Mechanizmy uwierzytelniania w ASP.NET
  • Bezpieczeństwo haseł
  • Uwierzytelnianie wieloskładnikowe
  • Zarządzanie sesjami
  • Zarządzanie tożsamością

2. Autoryzacja i kontrola dostępu

  • Autoryzacja oparta na rolach
  • Autoryzacja oparta na oświadczeniach (claims)
  • Autoryzacja oparta na zasadach (policies)
  • Zapobieganie eskalacji uprawnień
  • Ochrona zasobów wrażliwych

V. Zapobieganie atakom typu Injection

1. Podatności typu Injection

  • Wstrzykiwanie SQL (SQL Injection)
  • Wstrzykiwanie poleceń (Command Injection)
  • Wstrzykiwanie LDAP (LDAP Injection)
  • Wstrzykiwanie XML (XML Injection)
  • Przegląd wstrzykiwania NoSQL (NoSQL Injection)

2. Techniki bezpiecznego kodowania

  • Zapytania sparametryzowane
  • Walidacja danych wejściowych
  • Kodowanie danych wyjściowych
  • Zagadnienia bezpieczeństwa ORM
  • Bezpieczne praktyki dostępu do bazy danych

VI. Zapobieganie atakom Cross-Site Scripting (XSS)

1. Zrozumienie XSS

  • XSS trwały (Stored XSS)
  • XSS odbity (Reflected XSS)
  • XSS oparty na DOM (DOM-based XSS)
  • Scenariusze ataków

2. Zapobieganie XSS

  • Kodowanie danych wyjściowych
  • Walidacja danych wejściowych
  • Polityka bezpieczeństwa treści (CSP)
  • Bezpieczne obchodzenie się z HTML i JavaScript
  • Funkcje bezpieczeństwa ASP.NET zapobiegające XSS

VII. Zapobieganie atakom Cross-Site Request Forgery (CSRF)

1. Zrozumienie CSRF

  • Jak działają ataki CSRF
  • Typowe scenariusze ataków
  • Wpływ na biznes

2. Ochrona przed CSRF

  • Tokeny zapobiegające fałszerstwom (anti-forgery tokens)
  • Ciasteczka SameSite
  • Bezpieczne zarządzanie sesjami
  • Mechanizmy zapobiegające fałszerstwom w ASP.NET

VIII. Bezpieczna konfiguracja aplikacji ASP.NET

1. Funkcje bezpieczeństwa ASP.NET

  • Bezpieczeństwo konfiguracji
  • Bezpieczne nagłówki HTTP
  • Konfiguracja HTTPS i TLS
  • Zarządzanie sekretami
  • Bezpieczna obsługa błędów

2. Ochrona danych wrażliwych

  • Interfejsy API ochrony danych
  • Bezpieczne przechowywanie poświadczeń
  • Podstawy szyfrowania
  • Zarządzanie kluczami

IX. Walidacja danych wejściowych i bezpieczne przetwarzanie danych

1. Walidacja danych wprowadzanych przez użytkownika

  • Listy dozwolonych a listy zablokowanych (whitelisting vs blacklisting)
  • Walidacja po stronie serwera
  • Zagadnienia walidacji po stronie klienta
  • Bezpieczeństwo przesyłania plików

2. Bezpieczne przetwarzanie danych

  • Bezpieczeństwo serializacji
  • Ryzyka deserializacji
  • Integralność danych
  • Bezpieczne praktyki rejestrowania zdarzeń

X. Testy penetracyjne i weryfikacja bezpieczeństwa

1. Metodyka testów penetracyjnych

  • Planowanie ocen bezpieczeństwa
  • Identyfikacja podatności
  • Koncepcje eksploitacji
  • Raportowanie wyników

2. Techniki testowania bezpieczeństwa

  • Statyczne testowanie bezpieczeństwa aplikacji (SAST)
  • Dynamiczne testowanie bezpieczeństwa aplikacji (DAST)
  • Interaktywne testowanie bezpieczeństwa aplikacji (IAST)
  • Analiza zależności i komponentów
  • Ręczny przegląd kodu

XI. Zabezpieczanie aplikacji ASP.NET

1. Stosowanie praktyk bezpiecznego kodowania

  • Bezpieczna implementacja uwierzytelniania
  • Bezpieczna implementacja autoryzacji
  • Bezpieczeństwo sesji
  • Obsługa wyjątków
  • Rejestrowanie i monitorowanie zdarzeń
  • Zagadnienia bezpiecznego wdrażania

2. Najlepsze praktyki bezpieczeństwa

  • Standardy bezpiecznego kodowania
  • Zarządzanie zależnościami
  • Zarządzanie poprawkami
  • Ciągłe doskonalenie bezpieczeństwa

XII. Praktyczne warsztaty bezpieczeństwa

1. Identyfikacja i wykorzystywanie typowych podatności

  • Analiza niezabezpieczonego kodu ASP.NET
  • Identyfikacja podatności z listy OWASP Top 10
  • Zrozumienie technik ataków
  • Ocena bezpieczeństwa aplikacji

2. Usuwanie problemów bezpieczeństwa

  • Stosowanie poprawek bezpiecznego kodowania
  • Walidacja zastosowanych zabezpieczeń
  • Testowanie naprawionych aplikacji
  • Ćwiczenie z przeglądu bezpiecznego kodu

XIII. Podsumowanie i przegląd kursu

1. Przegląd kluczowych koncepcji

  • Zasady bezpiecznego projektowania
  • Strategie łagodzenia zagrożeń z listy OWASP Top 10
  • Funkcje bezpieczeństwa ASP.NET
  • Bezpieczny cykl życia oprogramowania

2. Dyskusja końcowa

  • Najlepsze praktyki bezpiecznego kodowania
  • Wdrażanie bezpieczeństwa w zespołach programistycznych
  • Dodatkowe zasoby i narzędzia OWASP
  • Pytania i odpowiedzi oraz kolejne kroki

Wymagania

Doświadczenie w pracy z ASP.NET
Doświadczenie w tworzeniu aplikacji internetowych

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (5)

Propozycje terminów

Powiązane Kategorie