Kursplan
Introduktion till säker C- och C++-utveckling
- Förstå principerna för säker programvaruutveckling
- Vanliga säkerhetsrisker i C- och C++-applikationer
- Sambandet mellan programmeringsfel och säkerhetssårbarheter
- Säker kodningsstandard och bästa praxis
Vanliga programmeringssårbarheter i C och C++
- Att identifiera vanliga programmeringsfel som introducerar säkerhetsrisker
- Minnessäkerhetsproblem i C och C++
- Sårbarhetsmönster och deras påverkan
- Analys av inkonsekva exempelkod
Principer för säkrare programmering
- Tillämpa teknikerna för försvar i djupled (defence-in-depth)
- Skriva robust och underhållbar kod
- Minimera anfallsytan
- Säkra desigprinciper för C- och C++-applikationer
Inmatningsvalidering och databehandling
- Förståelse av vikten av inmatningsvalidering
- Förebygga skadligt utnyttjande av inmatning
- Metoder för datarensning (data sanitisation)
- Säker hantering av användar- och externa data
Felhantering och hantering av undantag
- Risker kopplade till felaktig felhantering
- Designa säkra mekanismer för fel- och undantagshantering
- Förhindra informationssläckning via fel
- Skapa motståndskraftiga applikationer
Minnessäkerhet och skydd mot buffertöversvämningar
- Förstå sårbarheter kopplade till minneshantering
- Stackbaserade buffertöversvämningar
- Heap-baserade buffertöversvämningar
- Upptäcka och förebygga minneskorruption
- Säkra tekniker för minneshantering
Stackskydd och säkerhetsfunktioner vid körning
- Förstå sårbarheter med stacköversvämningar
- Kompilatorbaserade säkerhetsskydd
- Stackkaniner och skyddsmekanismer
- Adressrymdslayoutslumpning (ASLR)
- Säkerhetsfunktioner i moderna operativsystem
Avancerade säkerhetshänsyn för C++
- Säker hantering av objektets livscykel
- Förebygg sårbarheter med use-after-free
- Trygg hantering av pekare och referenser
- Förhindra problem med typförväxling (type confusion)
- Säker användning av C++-språkfunktioner
Verktyg och tekniker för säker kodning
- Använd statiska analysverktyg för att identifiera sårbarheter
- Kodgranskningsmetoder för säkerhetsbedömning
- Automatiserade tillvägagångssätt för säkerhetstestning
- Integrera säkerhetskontroller i utvecklingsarbetets flöde
Säkra kodningsstandarder och bästa praxis
- Granska branschens riktlinjer för säker kodning
- Tillämpa tekniker för defensiv programmering
- Inbygger säkerhet i livscykeln för mjukvaruutveckling
- Upprätthåll säkra och tillförlitliga C/C++-applikationer
Praktiskt verkstadspassed med säker kodning
- Analys av sårbara exempel på C/C++-kod
- Tillämpa säkerhetsfixar och förbättringar
- Testa koden mot vanliga sårbarheter
- Kursgenomgång och rekommendationer för säkra utvecklingsmetoder
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