Plan Szkolenia
I. Wprowadzenie do bezpiecznego programowania i bezpieczeństwa aplikacji webowych
1. Współczesny krajobraz zagrożeń dla aplikacji internetowych
- Typowe wektory ataku na aplikacje internetowe
- Ryzyka bezpieczeństwa we współczesnych aplikacjach ASP.NET
- Rola bezpiecznego kodowania w procesie tworzenia oprogramowania
- Wprowadzenie do Fundacji OWASP i jej zasobów
2. Zasady bezpiecznego rozwoju oprogramowania
- Bezpieczeństwo poprzez projektowanie (Security by design)
- Obrona w głębi (Defense in depth)
- Zasada najmniejszych uprawnień (Least privilege)
- Bezpieczne zakończenie działania w przypadku błędu (Fail securely)
- Domyślne ustawienia bezpieczeństwa (Secure defaults)
- Podstawy modelowania zagrożeń
II. Bezpieczny cykl życia rozwoju oprogramowania (SDL)
1. Bezpieczny cykl życia tworzenia oprogramowania
- Zapewnienie bezpieczeństwa na każdym etapie cyklu życia aplikacji
- Wymagania dotyczące bezpieczeństwa
- Bezpieczna architektura i projektowanie
- Praktyki bezpiecznego kodowania
- Testy walidacji bezpieczeństwa
- Bezpieczne wdrażanie i konserwacja
2. Ocena ryzyka i modelowanie zagrożeń
- Identyfikacja zasobów i zagrożeń
- Analiza powierzchni ataku
- Zarys metody STRIDE
- Priorytetyzowanie ryzyk bezpieczeństwa
III. OWASP Top 10 dla aplikacji ASP.NET
1. Zrozumienie listy OWASP Top 10
- Zaburzony kontrola dostępu (Broken Access Control)
- Awarie kryptograficzne
- Iniekcja kodu
- Niebezpieczny projekt (Insecure Design)
- Błędy konfiguracji bezpieczeństwa
- Zagrożone i przestarzałe komponenty
- Awarie identyfikacji i uwierzytelnienia
- Awarie integralności oprogramowania i danych
- Awarie dzienników bezpieczeństwa i monitorowania
- Zfałszowanie żądań po stronie serwera (SSRF)
2. Zastosowanie zaleceń OWASP
- Techniki bezpiecznego kodowania
- Kontrolki prewencyjne
- Praktyki bezpiecznej konfiguracji
- Przykłady i demonstracje z życia wzięte
IV. Bezpieczeństwo uwierzytelniania i autoryzacji
1. Podstawy uwierzytelniania
- Mechanizmy uwierzytelnienia w ASP.NET
- Zabezpieczenie haseł
- Uwierzytelnianie wieloskładnikowe (MFA)
- Zarządzanie sesją
- Zarządzanie tożsamością
2. Autoryzacja i kontrola dostępu
- Autoryzacja oparta na rolach
- Autoryzacja oparta na żetonach (Claims-based)
- Autoryzacja oparta na politykach
- Zapobieganie eskalacji uprawnień
- Ochrona wrażliwych zasobów
V. Zapobieganie atakom iniekcji kodu
1. Zagrożenia typu Iniekcja
- Iniekcja SQL (SQL Injection)
- Iniekcja komend systemowych (Command Injection)
- Iniekcja LDAP
- Iniekcja XML
- Wprowadzenie do iniekcji NoSQL
2. Technikii bezpiecznego kodowania
- Zapytania parametryzowane
- Walidacja danych wejściowych
- Kodowanie wyjściowe (Output encoding)
- Aspekty bezpieczeństwa ORM
- Praktyki bezpiecznego dostępu do bazy danych
VI. Zapobieganie atakom typu Cross-Site Scripting (XSS)
1. Zrozumienie mechanizmu XSS
- Przechowywany XSS (Stored XSS)
- Odbity XSS (Reflected XSS)
- XSS bazujący na DOM (DOM-based XSS)
- Scenariusze ataku
2. Zapobieganie XSS
- Kodowanie wyjściowe
- Walidacja danych wejściowych
- Polytyka bezpieczeństwa zawartości (CSP)
- Bezpieczne przetwarzanie kodu HTML i JavaScript
- Funkcje bezpieczeństwa ASP.NET służące do zapobiegania XSS
VII. Zapobieganie atakom Cross-Site Request Forgery (CSRF)
1. Zrozumienie mechanizmu CSRF
- Działanie ataków CSRF
- Typowe scenariusze ataku
- Skutki biznesowe
2. Ochrona przed CSRF
- Fikcyjne tokeny (Anti-forgery tokens)
- Cookies SameSite
- Bezpieczne zarządzanie sesją
- Mechanizmy anti-forgery 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 danymi wrażliwymi (Secrets management)
- Bezpieczna obsługa błędów
2. Ochrona danych wrażliwych
- API ochrony danych
- Bezpieczne przechowywanie poświadczeń
- Podstawy szyfrowania
- Zarządzanie kluczami
IX. Walidacja danych wejściowych i bezpieczne przetwarzanie danych
1. Walidowanie danych od użytkownika
- Biała lista vs czarna lista
- Walidacja po stronie serwera
- Aspekty walidacji po stronie klienta
- Bezpieczeństwo przesyłania plików
2. Bezpieczne przetwarzanie danych
- Bezpieczeństwo serializacji
- Ryzyka deserializacji
- Integralność danych
- Praktyki bezpiecznego logowania
X. Testy penetracyjne i weryfikacja bezpieczeństwa
1. Metodologia testów penetracyjnych
- Planowanie oceny bezpieczeństwa
- Identyfikacja luk (vulnerabilities)
- Koncepcje eksploatacji luk
- Sporządzanie raportów z wyników
2. Techniki testowania bezpieczeństwa
- Statyczne analizowanie bezpieczeństwa aplikacji (SAST)
- Dynamiczne analizowanie bezpieczeństwa aplikacji (DAST)
- Interaktywne analizowanie bezpieczeństwa aplikacji (IAST)
- Analiza zależności i komponentów
- Ręczny audyt kodu
XI. Zabezpieczanie aplikacji ASP.NET
1. Stosowanie praktyk bezpiecznego kodowania
- Bezpieczna implementacja uwierzytelniania
- Bezpieczna implementacja autoryzacji
- Zabezpieczenie sesji
- Obsługa wyjątków
- Dzienniki i monitorowanie
- Aspekty bezpiecznego wdrażania
2. Najlepsze praktyki bezpieczeństwa
- Standardy bezpiecznego kodowania
- Zarządzanie zależnościami
- Zarządzanie łatkami (Patch management)
- Ciągłe doskonalenie bezpieczeństwa
XII. Warsztat praktyczny: Bezpieczeństwo
1. Identyfikacja i wykorzystanie typowych luk
- Analiza niebezpiecznego kodu ASP.NET
- Identyfikacja luk z listy OWASP Top 10
- Zrozumienie technik ataku
- Ocena bezpieczeństwa aplikacji
2. Usuwanie problemów bezpieczeństwa
- Zastosowanie poprawek bezpiecznego kodowania
- Walidacja środków łagodzących
- Testowanie naprawionych aplikacji
- Ćwiczenie przeglądania kodu pod kątem bezpieczeństwa
XIII. Podsumowanie i przegląd kursu
1. Przegląd kluczowych pojęć
- Zasady bezpiecznego projektowania
- Strategie łagodzenia zagrożeń z OWASP Top 10
- Funkcje bezpieczeństwa ASP.NET
- Bezpieczny cykl życia tworzenia oprogramowania
2. Dyskusja końcowa
- Najlepsze praktyki bezpiecznego kodowania
- Konstruowanie zespołów deweloperskich kładących nacisk na bezpieczeństwo
- Dodatkowe zasoby i narzędzia OWASP
- Pytania i odpowiedzi oraz dalsze kroki
Wymagania
Doświadczenie w pracy z technologią ASP.NET
Doświadczenie w tworzeniu aplikacji internetowych
Opinie uczestników (5)
Wprowadzenie do wielu różnych typów niebezpiecznych zachowań.
Zhongqi
Szkolenie - Secure Developer .NET (Inc OWASP)
Przetłumaczone przez sztuczną inteligencję
Sesja jedynasto-jedna z Raymondem była niesamowita. Był naprawdę wspaniały i skupiony na moich potrzebach szkoleniowych.
Joshua
Szkolenie - Secure Developer .NET (Inc OWASP)
Przetłumaczone przez sztuczną inteligencję
Wysoki poziom wiedzy instruktora oznaczał, że uzyskaliśmy bardzo dobry wgląd w omawiane tematy.
Dafydd - TATA Steel
Szkolenie - Secure Developer .NET (Inc OWASP)
Przetłumaczone przez sztuczną inteligencję
odnośniki referencyjne
Abraham Gonzalez - ATEB Servicios
Szkolenie - Secure Developer .NET (Inc OWASP)
Przetłumaczone przez sztuczną inteligencję
Wiedza trenera w dziedzinie przedmiotu była znakomita, a sposób prezentacji sesji, który umożliwiało publiczności podążanie za demonstracjami, naprawdę pomagał w utrwaleniu tej wiedzy w porównaniu z samym siedzeniem i słuchaniem.
Jack Allan - RSM UK Management Ltd.
Szkolenie - Secure Developer .NET (Inc OWASP)
Przetłumaczone przez sztuczną inteligencję