Návrh Školení
I. Úvod do bezpečného kódování a zabezpečení webových aplikací
1. Současná krajinu hrozeb pro webové aplikace
- Běžné útočné body webových aplikací
- Bezpečnostní rizika v moderních aplikacích ASP.NET
- Role bezpečného kódování ve vývoji softwaru
- Úvod do Nadace OWASP a jejích zdrojů
2. Zásady bezpečného vývoje softwaru
- Zabezpečení při návrhu
- Obrana v hloubce
- Nejnižší povolení (Least privilege)
- Bezpečné selhání (Fail securely)
- Bezpečné výchozí nastavení
- Základní principy modelování hrozeb
II. Životní cyklus bezpečného vývoje (SDL)
1. Bezpečný životní cyklus vývoje softwaru
- Zabezpečení na všech fázích životního cyklu
- Požadavky na zabezpečení
- Bezpečná architektura a návrh
- Osvědčené postupy bezpečného kódování
- Testování a validace zabezpečení
- Bezpečné nasazení a údržba
2. Hodnocení rizik a modelování hrozeb
- Identifikace aktiv a hrozeb
- Anýza povrchu útoku
- Přehled STRIDE
- Prioritizace bezpečnostních rizik
III. OWASP Top 10 pro aplikace ASP.NET
1. Porozumění OWASP Top 10
- Porušený přístupový kontrol (Broken Access Control)
- Kryptografické selhání
- Vstřikování (Injection)
- Nesprávný návrh
- Nebezpečná konfigurace
- Zranitelné a zastaralé komponenty
- Selhání identifikace a ověření
- Selhání integrity softwaru a dat
- Selhání zabezpečeného protokolování a monitoringu
- Falešné požadavky na straně serveru (SSRF)
2. Aplikování doporučení OWASP
- Techniky bezpečného kódování
- Převenceční kontroly
- Osvědčené postupy pro konfiguraci
- Příklady z praxe a demonstace
IV. Zabezpečení ověřování a autorizace
1. Základní principy ověřování
- Ověřovací mechanismy v ASP.NET
- Zabezpečení hesel
- Multifaktorové ověřování
- Správa relací
- Správa identit
2. autorizace a přístupový kontrol
- Role-based autorizace (podle rolí)
- Claims-based autorizace (podleClaimů)
- Policy-based autorizace (podle zásad)
- Předcházání eskalaci práv
- Ochrana citlivých zdrojů
V. Předcházání útokům prostřednictvím vstřikování
1. Zranitelnosti vstřikování
- Vstřikování do SQL (SQL Injection)
- Vstřikování příkazů (Command Injection)
- Vstřikování LDAP (LDAP Injection)
- Vstřikování XML
- Přehled vstřikování NoSQL
2. Techniky bezpečného kódování
- Parametrické dotazy
- Validace vstupu
- Kódování výstupu
- Zvažování zabezpečení ORM
- Bezpečné postupy přístupu k databázi
VI. Předcházání Cross-Site Scripting (XSS)
1. Porozumění XSS
- Uložené XSS (Stored XSS)
- Zrcadlové XSS (Reflected XSS)
- XSS založené na DOM
- Útočné scénáře
2. Prevence XSS
- Kódování výstupu
- Validace vstupu
- Zásady ochrany obsahu (Content Security Policy - CSP)
- Bezpečná manipulace s HTML a JavaScriptem
- Bezpečnostní funkce ASP.NET pro prevenci XSS
VII. Předcházání Cross-Site Request Forgery (CSRF)
1. Porozumění CSRF
- Jak útoky CSRF fungují
- Běžné scénáře útoku
- Dopad na byznys
2. Ochrana proti CSRF
- Tokeny proti padělání (Anti-forgery tokens)
- Soubory cookie SameSite
- Bezpečná správa relací
- Mechanismy proti padělání v ASP.NET
VIII. Bezpečné konfigurace aplikací ASP.NET
1. Bezpečnostní funkce ASP.NET
- Zabezpečení konfigurace
- Bezpečné HTTP záhlaví
- Konfigurace HTTPS a TLS
- Správa tajemství (Secrets management)
- Bezpečné zpracování chyb
2. Ochrana citlivých dat
- Aplikace API pro ochranu dat
- Bezpečné ukládání přihlašovacích údajů
- Základy šifrování
- Správa klíčů
IX. Validace vstupů a bezpečná manipulace s daty
1. Validace uživatelských vstupů
- White-listing versus black-listing
- Validace na straně serveru
- Zvažování validace na straně klienta
- Zabezpečení nahrávání souborů
2. Bezpečné zpracování dat
- Zabezpečení serializace
- Rizika deserializace
- Celost dat
- Osvědčené postupy zabezpečeného protokolování
X. Testování na pronikání a ověřování zabezpečení
1. Metodologie testování na pronikání
- Plánování bezpečnostních posouzení
- Identifikace zranitelností
- Koncepty exploatace
- Přehled nálezů
2. Techniky testování zabezpečení
- Statické testování zabezpečení aplikací (SAST)
- Dynamické testování zabezpečení aplikací (DAST)
- Interaktivní testování zabezpečení aplikací (IAST)
- Anýza závislostí a komponent
- Manuální přezkum kódu
XI. Zabezpečení aplikací ASP.NET
1. Aplikování osvědčených postupů bezpečného kódování
- Bezpečná implementace ověřování
- Bezpečná implementace autorizace
- Zabezpečení relací
- Zpracování výjimek
- Protokolování a monitorování
- Zvažování bezpečného nasazení
2. Osvědčené postupy zabezpečení
- Standardy bezpečného kódování
- Správa závislostí
- Správa záplat
- Kontinuální zlepšování zabezpečení
XII. Praktická bezpečnostní dílna
1. Identifikace a využití běžných zranitelností
- Anýza nebezpečného kódu ASP.NET
- Identifikace zranitelností OWASP Top 10
- Porozumění technikám útoku
- Hodnocení zabezpečení aplikace
2. Odstraňování problémů se zabezpečením
- Aplikování opravných bezpečných kódovacích řešení
- Validace mitigací
- Testování opravených aplikací
- Cvičení s přezkumem bezpečného kódování
XIII. Shrnutí a přehled kurzu
1. Přehled klíčových konceptů
- Zásady bezpečného návrhu
- Strategie mitigace OWASP Top 10
- Bezpečnostní funkce ASP.NET
- Životní cyklus bezpečného vývoje
2. Závěrečná diskuze
- Osvědčené postupy pro bezpečné kódování
- Vybudování zabezpečení ve vývojových týmech
- Další zdroje a nástroje OWASP
- Položení otázek a další kroky
Požadavky
Zkušenosti s ASP.NET
Zkušenosti s tvorbou webových aplikací
Reference (5)
Úvod do různých typů nebezpečného chování.
Zhongqi
Kurz - Secure Developer .NET (Inc OWASP)
Přeloženo strojem
Mít jednotlivou sezení s Raymondem bylo úžasné. Byl opravdu skvělý a důkladný ve všech mých potřebách souvisejících s tréninkem.
Joshua
Kurz - Secure Developer .NET (Inc OWASP)
Přeloženo strojem
Vysoký stupeň znalostí instruktora znamenal, že jsme získali velmi dobrý přehled o projednaných tématech.
Dafydd - TATA Steel
Kurz - Secure Developer .NET (Inc OWASP)
Přeloženo strojem
referenční odkazy
Abraham Gonzalez - ATEB Servicios
Kurz - Secure Developer .NET (Inc OWASP)
Přeloženo strojem
Tréninkový vedoucí měl vynikající znalosti předmětu a způsob, jakým byly relace uspořádány tak, aby publikum mohlo snadno následovat demonstrace, skutečně pomohl pevněji zakotvit tato znalosti ve srovnání s tím, kdy by se účastníci jen posazovali a naslouchali.
Jack Allan - RSM UK Management Ltd.
Kurz - Secure Developer .NET (Inc OWASP)
Přeloženo strojem