Kursplan
I. Introduktion till säkert kodande och webbtillämpningssäkerhet
1. Det moderna hotbilden för webbapplikationer
- Gemensamma angreppsvektorer för webbapplikationer
- Säkerhetsrisker i moderna ASP.NET-applikationer
- Säker kodningens roll i mjukvaruutveckling
- Introduktion till OWASP Foundation och dess resurser
2. Principer för säker programvaruutveckling
- Säkerhet genom design
- Försvar i djupet (Defense in depth)
- Minst tillstånd
- Felkorsning på ett säkert sätt
- Säkra standardvärden
- Grunderna i hotmodeller (Threat modeling)
II. Livscykel för säker utveckling (SDL)
1. Säker livscykel för mjukvaruutveckling
- Säkerhet genom hela utvecklingslivscykeln
- Säkerhetskrav
- Säker arkitektur och design
- Säkra kodningsrutiner
- Säker testning och validering
- Säker deployment och underhåll
2. Riskbedömning och hotmodeller
- Identifiera tillgångar och hot
- Analys av angreppsytan
- Översikt över STRIDE
- Prioritera säkerhetsrisker
III. OWASP Top 10 för ASP.NET-applikationer
1. Förstå OWASP Top 10
- Bruten åtkomstkontroll
- Kryptografiska misslyckanden
- Injektion
- Osäker design
- Säkerhetsfelkonfiguration
- Sårbara och inaktuella komponenter
- Misslyckanden vid identifiering och autentisering
- Misslyckanden i mjukvaru- och dataintegritet
- Misslyckanden vid säkerhetsloggning och övervakning
- Förfrågansförfalskning på serversidan (SSRF)
2. Tillämpa OWASP-rekommendationer
- Säkra kodningstekniker
- Förebyggande åtgärder
- Säkra konfigurationsrutiner
- Erfarenhetsbaserade exempel och demonstrationer
IV. Säkerhet för autentisering och behörighet
1. Grunderna i autentisering
- Autentiseringsmekanismer i ASP.NET
- Lösenordssäkerhet
- Flerfaktorsautentisering
- Sessionshantering
- Identitetshantering
2. Behörighet och åtkomstkontroll
- Bearbaserad behörighet
- Kravbaserad behörighet (Claims-based authorization)
- Policybaserad behörighet
- Förebygga eskalering av behörigheter
- Skydda känsliga resurser
V. Förhindra injektionsattacker
1. Injektionssårbarheter
- SQL-injektion
- Kommandoinjektion
- LDAP-injektion
- XML-injektion
- Översikt över NoSQL-injektion
2. Säkra kodningstekniker
- Parametrerade frågor
- Validering av indata
- Kodning av utdata (Output encoding)
- Säkerhetsaspekter kring ORM
- Säkra rutiner för databasåtkomst
VI. Förhindra Cross-Site Scripting (XSS)
1. Förstå XSS
- Lagrad XSS
- Reflekterad XSS
- DOM-baserad XSS
- Angreppsscenarier
2. Förebygga XSS
- Kodning av utdata (Output encoding)
- Validering av indata
- Innehållssäkerhetspolicy (CSP)
- Säker hantering av HTML och JavaScript
- Säkerhetsfunktioner i ASP.NET för XSS-förebyggande
VII. Förhindra Cross-Site Request Forgery (CSRF)
1. Förstå CSRF
- Hur CSRF-attacker fungerar
- Gemensamma angreppsscenarier
- Företagsekonomisk påverkan
2. CSRF-skydd
- Tokens för att motverka förfalskning
- SameSite-cookies
- Säker sessionshantering
- ASP.NET-mekanismer för att motverka förfalskning
VIII. Säker konfiguration av ASP.NET-applikationer
1. ASP.NET-säkerhetsfunktioner
- Konfigurationssäkerhet
- Säkra HTTP-huvuden
- Konfiguration av HTTPS och TLS
- Hantering av hemligheter (Secrets management)
- Säker felhantering
2. Skydda känslig data
- Data Protection API:er
- Säker lagring av inloggningsuppgifter
- Grundläggande kryptografi
- Nyckelhantering
IX. Indatavalidering och säker datahantering
1. Validera användarinput
- Vitlistning kontra svartlistning
- Serversidig validering
- Överväganden kring klientssidig validering
- Säkerhet vid filuppladdningar
2. Säker databearbetning
- Säker serialisering
- Risker vid deserialisering
- Dataintegritet
- Säkra loggningsrutiner
X. Penetrationstestning och säkerhetsverifiering
1. Metodologi för penetrationstestning
- Planera säkerhetsbedömningar
- Identifiera sårbarheter
- Exploateringskoncept
- Rapportering av fynd
2. Tekniker för säkerhetstestning
- Statisk applikationssäkerhetstestning (SAST)
- Dynamisk applikationssäkerhetstestning (DAST)
- Interaktiv applikationssäkerhetstestning (IAST)
- Analys av beroenden och komponenter
- Manuell kodgranskning
XI. Säkra ASP.NET-applikationer
1. Tillämpa säkra kodningsrutiner
- Säker implementation av autentisering
- Säker implementation av behörighet
- Sessionssäkerhet
- Felhantering
- Loggning och övervakning
- Betraktelser gällande säker deployment
2. Säkra bästa praxis
- Säkra kodningsstandarder
- Hantering av beroenden
- Hantering av uppdateringar (Patch management)
- Kontinuerlig säkerhetsförbättring
XII. Praktiskt säkerhetsarbetspass
1. Identifiera och utnyttja vanliga sårbarheter
- Analys av osäker ASP.NET-kod
- Identifiera OWASP Top 10-sårbarheter
- Förstå attacktekniker
- Utvärdera applikationssäkerhet
2. Åtgärda säkerhetsproblem
- Tillämpa säkra kodningslösningar
- Validera motåtgärder
- Testa åtgärdade applikationer
- Övning i granskning av säker kodning
XIII. Sammanfattning och kursgenomgång
1. Genomgång av nyckelkoncept
- Principer för säker design
- Mitringsstrategier för OWASP Top 10
- Säkerhetsfunktioner i ASP.NET
- Livscykel för säker utveckling
2. Avslutande diskussion
- Bästa praxis för säker kodning
- Inbygger säkerhet i utvecklingsteam
- Ytterligare OWASP-resurser och verktyg
- Frågor och svar samt nästa steg
Krav
Erfarenhet av ASP.NET
Erfarenhet av att skapa webbapplikationer
Vittnesmål (5)
Introduktion till de många olika typerna av osäkra beteenden.
Zhongqi
Kurs - Secure Developer .NET (Inc OWASP)
Maskintolkat
att ha en enskild session med Raymond var fantastisk. Han var verkligen bra och uppmärksam på alla mina träningsbehov.
Joshua
Kurs - Secure Developer .NET (Inc OWASP)
Maskintolkat
Instruktorernas höga kunskapsnivå innebar att vi fick en mycket god insikt i de ämnen som behandlades.
Dafydd - TATA Steel
Kurs - Secure Developer .NET (Inc OWASP)
Maskintolkat
referenslänkarna
Abraham Gonzalez - ATEB Servicios
Kurs - Secure Developer .NET (Inc OWASP)
Maskintolkat
Instruktörens kunskap om ämnet var utmärkt, och sättet som sessionerna var organiserade så att publiken kunde följa med i demonstrationerna bidrog verkligen till att fastna med den kunskapen, jämfört med att bara sitta och lyssna.
Jack Allan - RSM UK Management Ltd.
Kurs - Secure Developer .NET (Inc OWASP)
Maskintolkat