Kursplan
Introduktion till säker C- och C++-utveckling
- Förståelse för principer för säker mjukvaruutveckling
- Vanliga säkerhetsrisker i C- och C++-applikationer
- Sammanhanget mellan programmeringsfel och säkerhetssårbarheter
- Standarder och bästa praxis för säkert kodande
Vanliga sårbarheter i C- och C++-programmering
- Identifiering av vanliga kodningsmisstag som introducerar säkerhetsrisker
- Problem med minnessäkerhet i C och C++
- Sårbarhetsmönster och deras påverkan
- Analys av osäkra kodexempel
Principer för säker programmering
- Tillämpning av inneslutna skyddstekniker (defense-in-depth)
- Att skriva robust och underhållbar kod
- Minimering av angreppsytor
- Principer för säker design i C- och C++-applikationer
Indatavalidering och datahantering
- Förståelse för vikten av indatavalidering
- Förebyggande av ondsynt exploatering av indata
- Teckniker för datarensning
- Säker hantering av användar- och extern data
Felhantering och exceptionshantering
- Risker associerade med otillräcklig felhantering
- Design av säkra mekanismer för fel- och exceptionshantering
- Undvikande av informationsläckage via felmeddelanden
- Skapande av resilienta tillämpningar
Minnessäkerhet och skydd mot buffer overflow
- Förståelse för sårbarheter i minneshantering
- Stackbaserade buffer overflow
- Heapbaserade buffer overflow
- Detektering och förebyggande av minneskorruption
- Säkra tekniker för minneshantering
Stackskydd och runtime-säkerhetsfunktioner
- Förståelse för stack overflow-sårbarheter
- Kompilerbaserade skyddsmekanismer
- Stack canaries och skyddsmekanismer
- Randomisering av adressutrymmeslayout (ASLR)
- Moderna operativsystemets säkerhetsfunktioner
Avancerade säkerhetsöverväganden för C++
- Säker hantering av objektens livscykel
- Förebyggande av use-after-free-sårbarheter
- Säker hantering av pekare och referenser
- Undvikande av typförvirringsproblem
- Säker användning av C++-språkfunktioner
Verktyg och tekniker för säkert kodande
- Användning av statiska analysverktyg för att identifiera sårbarheter
- Kodgranskningstekniker för säkerhetsbedömning
- Automatiserade tillvägagångssätt för säkerhetstestning
- Integration av säkerhetskontroller i utvecklingsflöden
Standarder och bästa praxis för säkert kodande
- Genomgång av branschstandarder för säkert kodande
- Tillämpning av defensiva programmeringstekniker
- Inbyggt säkerhet i mjukvaruutvecklingscykeln
- Underhåll av säkra och pålitliga C/C++-applikationer
Praktisk workshop i säkert kodande
- Analys av sårbara C/C++-kodexempel
- Tillämpning av säkerhetskorrigeringar och förbättringar
- Testning av kod mot vanliga sårbarheter
- Genomgång av kursinnehållet och rekommendationer för säker utveckling
Krav
Grundläggande kunskaper i C/C++
Vittnesmål (6)
Erfarenhetsdelning, lärarens kunskap och värde är betydande.
Carey Fan - Logitech
Kurs - C/C++ Secure Coding
Maskintolkat
balansen mellan föreläsningar och praktik, rytmen, utbildarens kunskap och pedagogiska färdighet
Armando Pinto - EID
Kurs - C/C++ Secure Coding
Maskintolkat
Instruktören tillbjöd aktuell information och värdefulla referenser och verktyg.
Jose Vicente - EID
Kurs - C/C++ Secure Coding
Maskintolkat
för att få mycket bra information om kursämnet
Paulo Pereira - EID
Kurs - C/C++ Secure Coding
Maskintolkat
Tränaren har solider kunskap och erfarenhet, trevliga presentationer, bra exempel.
Celso Almeida - EID
Kurs - C/C++ Secure Coding
Maskintolkat
Allmän kursinformation
Paulo Gouveia - EID
Kurs - C/C++ Secure Coding
Maskintolkat