Kursplan
Dag 1
- IT-säkerhet och säker kodning
- Säkerhetens natur
- IT-säkerhetsrelaterade termer
- Definition av risk
- Olika aspekter av IT-säkerhet
- Krav på olika applikationsområden
- IT-säkerhet kontra säker kodning
- Från sårbarheter till botnät och cyberbrottslighet
- Typ av säkerhetsbrister
- Orsaker till svårigheter
- Från en infekterad dator till riktade attacker
- Klassificering av säkerhetsbrister
- Landwehrs taxonomi
- De sju skadliga kungadömena
- OWASP Topp tio 2013
- OWASP Topp tio jämförelse 2003 – 2013
- Introduktion till Microsoft® Security Development Lifecycle (SDL)
- Dagordning
- Applikationer under attack...
- Evolution av cyberbrott
- Attacker fokuserar på applikationer
- De flesta sårbarheter finns i mindre ISV-appar
- Ursprunget till Microsoft SDL...
- Säkerhetstidslinje vid Microsoft...
- Vilka appar krävs för att följa SDL?
- Microsoft Säkerhetsutvecklingslivscykel (SDL)
- Microsoft Säkerhetsutvecklingslivscykel (SDL)
- Pre-SDL-krav: Säkerhetsutbildning
- Fas ett: Krav
- Fas två: Design
- Fas tre: Implementering
- Fas fyra: Verifiering
- Fas fem: Release – Responsplan
- Fas fem: Release – Slutlig säkerhetsgranskning
- Fas fem: Release – Arkiv
- Krav efter SDL: Svar
- SDL-processvägledning för LOB-appar
- SDL-vägledning för Agile Metoder
- Säker mjukvaruutveckling kräver processförbättring
- Säkra designprinciper
- Attackyta
- Reduktion av attackytan
- Attackyta – ett exempel
- Analys av attackytan
- Reduktion av attackyta – exempel
- Integritet
- Integritet
- Förstå applikationsbeteenden och bekymmer
- Försvar på djupet
- SDL Core Principle: Försvar i djupet
- Försvar i djupled – exempel
- Minst privilegieprincip
- Minsta privilegium – exempel
- Säkra standardinställningar
- Säkra standardinställningar – exempel
- Attackyta
- Säkra implementeringsprinciper
- Dagordning
- Microsoft Säkerhetsutvecklingslivscykel (SDL)
- Grunderna för buffertspill
- Intel 80x86-processorer – huvudregister
- Minnesadresslayouten
- Funktionsanropsmekanismen i C/C++ på x86
- De lokala variablerna och stackramen
- Stack overflow
- Buffertspill på stapeln
- Övningar – introduktion
- Övning BOFintro
- Övning BOFintro – bestäm stacklayouten
- Träna BOFintro – en enkel exploatering
- Ingångsvalidering
- Ingångsvalideringskoncept
- Heltalsproblem
- Representation av negativa heltal
- Heltals överflöde
- Aritmetiskt spill – gissa resultatet!
- Träna IntOverflow
- Vad är värdet av Math.Abs(int.MinValue)?
- Heltalsproblem
- Heltalsproblem
- Undvika aritmetiskt spill – addition
- Undvika aritmetiskt spill – multiplikation
- Upptäcker spill med det markerade sökordet i C#
- Övning – Använd det markerade nyckelordet i C#
- Undantag som utlöses av spill i C#
- Fallstudie – heltalsspill i .NET
- En verklig heltalsöversvämningssårbarhet
- Utnyttja sårbarheten för heltalsspill
- Sårbarhet för genomkörning av vägar
- Åtgärdsreducering
Dag 2
- Säkra implementeringsprinciper
- Injektion
- Typiska SQL Injektionsattackmetoder
- Blind och tidsbaserad SQL injektion
- SQL Injektionsskyddsmetoder
- Kommando injektion
- Trasig autentisering - lösenordshantering
- Träning – Svaghet hos hashade lösenord
- Lösenordshantering och lagring
- Speciella hashalgoritmer för lösenordslagring
- Cross-Site Scripting (XSS)
- Cross-Site Scripting (XSS)
- CSS injektion
- Exploatering: injicering genom andra HTML taggar
- XSS-förebyggande
- Tillträdeskontroll på funktionsnivå saknas
- Filtrera filuppladdningar
- Praktisk kryptografi
- Ge konfidentialitet med symmetrisk kryptografi
- Symmetriska krypteringsalgoritmer
- Blockchiffer – driftsätt
- Hash eller meddelandesammanfattning
- Hash-algoritmer
- Message Authentication Code (MAC)
- Ger integritet och autenticitet med en symmetrisk nyckel
- Ge konfidentialitet med kryptering med publik nyckel
- Tumregel – innehav av privat nyckel
- Typiska misstag i lösenordshantering
- Träning – Hårdkodade lösenord
- Slutsats
- Injektion
- Säkra verifieringsprinciper
- Funktionstestning kontra säkerhetstestning
- Säkerhetssårbarheter
- Prioritering
- Säkerhetstestning i SDLC
- Steg för testplanering (riskanalys)
- Omfattning och informationsinsamling
- Intressenter
- Tillgångar
- Angreppsytan
- Säkerhetsmål för testning
- Hotmodellering
- Hotmodellering
- Angriparprofiler
- Hotmodellering baserad på attackträd
- Hotmodellering baserad på fall av missbruk/missbruk
- Missbruk/missbruksfall – ett enkelt webbshopexempel
- STRIDE per element tillvägagångssätt för hotmodellering – MS SDL
- Identifiera säkerhetsmål
- Diagrammering – exempel på DFD-element
- Dataflödesdiagram – exempel
- Hotuppräkning – MS SDL:s STRIDE- och DFD-element
- Riskanalys – klassificering av hot
- DREAD hot/risk rankningsmodell
- Säkerhetstesttekniker och verktyg
- Allmänna testmetoder
- Tekniker för olika steg i SDLC
- Kodgranskning
- Kodgranskning för mjukvarusäkerhet
- Taint analys
- Heuristik
- Statisk kodanalys
- Statisk kodanalys
- Statisk kodanalys
- Övning – Använda verktyg för statisk kodanalys
- Testar implementeringen
- Manuell körtidsverifiering
- Manuell kontra automatiserad säkerhetstestning
- Penetrationsprovning
- Stresstester
- Luddrigt
- Automatiserad säkerhetstestning - fuzzing
- Fuzzing-utmaningar
- Webb sårbarhetsskannrar
- Träning – Använda en sårbarhetsskanner
- Kontrollera och härda miljön
- Common Vulnerability Scoring System – CVSS
- Sårbarhetsskannrar
- Offentliga databaser
- Fallstudie – Forms Authentication Bypass
- NULL-byte-avslutningssårbarhet
- Sårbarheten Forms Authentication Bypass i koden
- Utnyttja formulärautentiseringsbypass
- Kunskapskällor
- Säkra kodningskällor – ett startpaket
- Sårbarhetsdatabaser
- .NET riktlinjer för säker kodning på MSDN
- .NET säker kodning fuskark
- Rekommenderade böcker – .NET och ASP.NET
Vittnesmål (10)
balansen mellan föreläsningar och praktik, rytmen, tränarens kunskap och pedagogiska skicklighet
Armando Pinto - EID
Kurs - C/C++ Secure Coding
Machine Translated
Very good knowledge and character.
Constantinos Michael
Kurs - Java and Web Application Security
Pushade ändringar regelbundet, eftersom jag dag 3 började gå vilse mer än tidigare och det var svårare att fånga ett misstag snabbt, jag kunde snabbt kolla efter den senaste ändringen och vara uppdaterad med materialet
Paulina
Kurs - Advanced Java Security
Machine Translated
Mycket bra att förstå hur en hackare potentiellt skulle analysera webbplatser för svagheter och verktyg de kan använda.
Roger - OTT Mobile
Kurs - .NET, C# and ASP.NET Security Development
Machine Translated
Beginning by how to hack to better understand how to secure was very interesting and appreciated.
Raphaël Capocasale - Mikron SA Boudry
Kurs - Advanced C#, ASP.NET and Web Application Security
Web 的同源策略和跨域的内容,以及XSS 的危害,這個很貼切我們的工作。
Princess Ou - 广东溢达纺织有限公司
Kurs - Web Application Security
Trainer willing to answer questions and give bunch of examples for us to learn.
Eldrick Ricamara - Human Edge Software Philippines, Inc. (part of Tribal Group)
Kurs - Security Testing
Lär dig använda nya verktyg. Mest för att se hur säkerhetstester kunde utföras
Jason - Kropman
Kurs - Secure Web Application Development and Testing
Machine Translated
The real life examples.
Marios Prokopiou
Kurs - Secure coding in PHP
The Burpe suite i need more training in this