Návrh Školení
Úvod do bezpečného vývoje v jazycích C a C++
- Pochopení principů bezpečného vývoje softwaru
- Běžná bezpečnostní rizika v aplikacích C a C++
- Vztah mezi chybami v programování a bezpečnostními zranitelnostmi
- Standardy pro bezpečné programování a osvědčené postupy
Běžné zranitelnosti v programování C a C++
- Identifikace častých chyb v kódu, které zavádějí bezpečnostní rizika
- Problémy s bezpečností paměti v jazycích C a C++
- Vzorce zranitelností a jejich dopad
- Analýza příkladů nebezpečného kódu
Principy bezpečného programování
- Aplikace technik obrany na více úrovních (defence-in-depth)
- Psaní robustního a udržovatelného kódu
- Minimalizace plochy útoku
- Principy bezpečného návrhu pro aplikace C a C++
Validace vstupů a zpracování dat
- Pochopení důležitosti validace vstupů
- Prevence zneužití škodlivých vstupů
- Techniky sanitizace dat
- Bezpečné zpracování uživatelských a externích dat
Zpracování chyb a správa výjimek
- Rizika spojená se správným zpracováním chyb
- Návrh mechanismů pro bezpečné zpracování chyb a výjimek
- Zamezení úniku informací prostřednictvím chyb
- Vytváření odolných aplikací
Bezpečnost paměti a ochrana proti přetečení buffers
- Pochopení zranitelností v správě paměti
- Přetečení buffers na stacku
- Přetečení buffers na heapu
- Detekce a prevence poškození paměti
- Bezpečné techniky zpracování paměti
Ochrana stacku a běhové bezpečnostní funkce
- Pochopení zranitelností při přetečení stacku
- Bezpečnostní ochrany založené na kompilátoru
- Stack canary a ochranné mechanismy
- Randomizace rozložení adresního prostoru (ASLR)
- Moderní bezpečnostní funkce operačních systémů
Pokročilé bezpečnostní aspekty jazyka C++
- Bezpečné správy životního cyklu objektů
- Prevence zranitelností typu use-after-free
- Bezpečné správu ukazatelů a odkazů
- Zamezení problémů se záměnou typů
- Bezpečné využití funkcí jazyka C++
Nástroje a techniky bezpečného programování
- Použití nástrojů pro statickou analýzu k identifikaci zranitelností
- Techniky kódu review pro posouzení bezpečnosti
- Přístupy k automatickému testování bezpečnosti
- Integrace bezpečnostních kontrol do vývojových procesů
Standardy a osvědčené postupy bezpečného programování
- Revidování průmyslových pokynů pro bezpečné programování
- Aplikace technik defenzivního programování
- Integrace bezpečnosti do životního cyklu vývoje softwaru
- Udržování bezpečných a spolehlivých aplikací C/C++
Praktická workshop bezpečného programování
- Analýza příkladů zranitelného kódu C/C++
- Aplikace bezpečnostních oprav a vylepšení
- Testování kódu vůči běžným zranitelnostem
- Hodnocení kurzu a doporučení pro bezpečný vývoj
Požadavky
Základy programování v jazycích C/C++
Reference (6)
Sdílení zkušeností, učitelova odbornost a hodnoty.
Carey Fan - Logitech
Kurz - C/C++ Secure Coding
Přeloženo strojem
rovnováha mezi přednáškami a praxí, rytmus, znalosti školitele a jeho pedagogické dovednosti
Armando Pinto - EID
Kurz - C/C++ Secure Coding
Přeloženo strojem
Instruktor poskytl aktuální informace a cenné odkazy a nástroje.
Jose Vicente - EID
Kurz - C/C++ Secure Coding
Přeloženo strojem
získat spoustu užitečných informací o tématu kurzu
Paulo Pereira - EID
Kurz - C/C++ Secure Coding
Přeloženo strojem
Trenér má pevné znalosti a zkušenosti, pěkné prezentace, dobré příklady.
Celso Almeida - EID
Kurz - C/C++ Secure Coding
Přeloženo strojem
Obecné informace o kurzu
Paulo Gouveia - EID
Kurz - C/C++ Secure Coding
Přeloženo strojem