Návrh Školení
I. Úvod do bezpečného programování a zabezpečení webových aplikací
1. Současná krajina hrozeb pro webové aplikace
- Bežné vektor útoku na webové aplikace
- Bezpečnostní rizika v moderních ASP.NET aplikacích
- Role bezpečného programování ve vývoji softwaru
- Úvod do nadace OWASP a jejích zdrojů
2. Principy bezpečného vývoje softwaru
- Bezpečnost jako součást designu
- Hloubková obrana
- Princip minimálních oprávnění
- Bezpečné selhání
- Bezpečná výchozí nastavení
- Základy modelování hrozeb
II. Životní cyklus bezpečného vývoje (SDL)
1. Životní cyklus bezpečného vývoje softwaru
- Bezpečnost v průběhu celého životního cyklu vývoje
- Bezpečnostní požadavky
- Bezpečná architektura a návrh
- Praxe bezpečného programování
- Bezpečnostní testování a validace
- Bezpečné nasazení a údržba
2. Hodnocení rizik a modelování hrozeb
- Identifikace aktiv a hrozeb
- Analýza plochy útoku
- Přehled modelu STRIDE
- Prioritizace bezpečnostních rizik
III. OWASP Top 10 pro ASP.NET aplikace
1. Pochopení OWASP Top 10
- Porušená kontrola přístupu
- Neúspěchy kryptografie
- Injekce
- Nebezpečný návrh
- Chybné konfigurace zabezpečení
- Zranlivé a zastaralé komponenty
- Neúspěchy identifikace a autentizace
- Neúspěchy integrity softwaru a dat
- Neúspěchy logování a monitoringu zabezpečení
- Podvržení požadavků na serveru (SSRF)
2. Aplikace doporučení OWASP
- Techniky bezpečného programování
- Prevence a kontrolní mechanismy
- Praxe bezpečné konfigurace
- Praktické příklady a demonystrace
IV. Bezpečnost autentizace a autorizace
1. Základy autentizace
- Mechanismy autentizace v ASP.NET
- Bezpečnost hesel
- Viacektorová autentizace
- Správa relací
- Správa identit
2. Autorizace a kontrola přístupu
- Role-based autorizace
- Autorizace na základě claimů
- Autorizace na základě politik
- Předcházení eskalaci oprávnění
- Ochrana citlivých zdrojů
V. Předcházení útokům typu injikce
1. Zranlivosti na základě injekce
- SQL injikce
- Injekce příkazů
- LDAP injikce
- XML injikce
- Přehled NoSQL injikce
2. Techniky bezpečného programování
- Parametrizované dotazy
- Validace vstupu
- Kódování výstupu
- Bezpečnostní aspekty ORM
- Bezpečné postupy přístupu k databázi
VI. Předcházení Cross-Site Scripting (XSS)
1. Pochopení XSS
- Uložený XSS
- Odrážející XSS
- XSS na základě DOM
- Scénáře útoku
2. Prevence XSS
- Kódování výstupu
- Validace vstupu
- Content Security Policy (CSP)
- Bezpečné zpracování HTML a JavaScript
- Bezpečnostní funkce ASP.NET pro prevenci XSS
VII. Předcházení Cross-Site Request Forgery (CSRF)
1. Pochopení CSRF
- Jak fungují útoky typu CSRF
- Časté scénáře útoku
- Biznisový dopad
2. Ochrana proti CSRF
- Anti-forgery tokeny
- Cookies SameSite
- Bezpečná správa relací
- Anti-forgery mechanismy ASP.NET
VIII. Bezpečná konfigurace ASP.NET aplikací
1. Bezpečnostní funkce ASP.NET
- Bezpečnost konfigurace
- Bezpečné HTTP hlavičky
- Konfigurace HTTPS a TLS
- Správa tajných údajů
- Bezpečné zpracování chyb
2. Ochrana citlivých dat
- API pro ochranu dat
- Bezpečné ukládání přihlašovacích údajů
- Základy šifrování
- Správa klíčů
IX. Validace vstupu a bezpečné zpracování dat
1. Validace uživatelského vstupu
- Bílé listy versus černé listy
- Server-side validace
- Úvahy ohledně client-side validace
- Bezpečnost nahrávání souborů
2. Bezpečné zpracování dat
- Bezpečnost serializace
- Rizika deserializace
- Integrita dat
- Praxe bezpečného logování
X. Penetrační testování a ověření zabezpečení
1. Metodologie penetračního testování
- Plánování bezpečnostních posouzení
- Identifikace zranlivostí
- Koncepce explotace
- Reportování nálezů
2. Techniky bezpečnostního testování
- Statické bezpečnostní testování aplikací (SAST)
- Dynamické bezpečnostní testování aplikací (DAST)
- Interaktivní bezpečnostní testování aplikací (IAST)
- Analýza závislostí a komponent
- Manuální recenzí kódu
XI. Zabezpečování ASP.NET aplikací
1. Aplikace praxí bezpečného programování
- Implementace bezpečné autentizace
- Implementace bezpečné autorizace
- Bezpečnost relací
- Zpracování výjimek
- Logování a monitorování
- Úvahy ohledně bezpečného nasazení
2. Nejlepší praktika zabezpečení
- Standardy bezpečného programová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 explotace běžných zranlivostí
- Analýza nespravěného ASP.NET kódu
- Identifikace zranlivostí OWASP Top 10
- Pochopení technik útoku
- Hodnocení bezpečnosti aplikace
2. Odstraňování bezpečnostních problémů
- Aplikace oprav z pohledu bezpečného programování
- Ověření zmírnění rizik
- Testování opravených aplikací
- Cvičení v recenzování bezpečného kódu
XIII. Shrnutí a hodnocení kurzu
1. Opakování klíčových konceptů
- Principy bezpečného návrhu
- Strategie zmírnění OWASP Top 10
- Bezpečnostní funkce ASP.NET
- Životní cyklus bezpečného vývoje
2. Závěrečná diskuze
- Nejlepší praktika bezpečného programování
- Zavádění bezpečnosti do vývojářských týmů
- Další zdroje a nástroje OWASP
- Q&A a další kroky
Požadavky
Zkušenosti s ASP.net
Zkušenosti s vytvářením 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