Návrh Školení
Základy IT bezpečnosti a zabezpečeného kódování
- Základní principy bezpečnosti a obrany v hloubce (defense in depth)
- Aktuální trendy ve vulnerabilitách a útocích (exploits)
- Integrace zabezpečeného vývojového cyklu softwaru (SSDLC)
Zabezpečení webových aplikací
- OWASP Top Ten (2021) a další problémy
- Injekce, poškozená autentizace, nezabezpečená deserializace
- Zabezpečené správy sezení a tokenů
Zabezpečení na straně klienta (client-side)
- Cross-Site Scripting (XSS) a DOM-based útoky
- Cross-Site Request Forgery (CSRF)
- Moderní client-side frameworky a rizika v dodavatelské řetězci (supply chain risks)
Základy zabezpečení Javy
- Architektura a sandboxování zabezpečení Javy
- Zabezpečené použití Java API a knihoven
- Neutralizace vulnerabilit při deserializaci (mitigating deserialization vulnerabilities)
Praktická kryptografie
- Hashování, šifrování a digitální podpisy (digital signatures)
- Použití architektury Javy pro kryptografii (Java Cryptography Architecture - JCA)
- Správa klíčů a zabezpečená komunikace s TLS
Zabezpečení služeb Javy (Java Security Services)
- Autentizace a autorizace pomocí JAAS (Java Authentication and Authorization Service)
- Přehled Spring Security
- Zabezpečené webové služby a API v Javě
Zabezpečení C/C++ a bezpečnost paměti (memory safety)
- Rozložení paměti a operace na zásobníku (stack operations)
- Přetečení vyrovnávacích pamětí, útoky formátovacího řetězce a visící ukazatele (dangling pointers)
- Techniky neutralizace: ASLR, DEP, stack canaries
Běžné kódovací chyby a vulnerabilit (vulnerabilities)
- Injekční chyby v C/C++ a Javě (injection flaws)
- Nesprávné zpracování chyb a protokolování (improper error handling and logging)
- Nezabezpečená správa souborů a prostředků (insecure file and resource management)
Zdroje znalostí a osvědčené postupy (best practices)
- Aktualizace informací o CVE, poradenství (advisories) a frameworkech
- Statikní a dynamické analytické nástroje pro zabezpečené kódování (secure coding)
- Další četba a zdroje pro neustálé učení (continuous learning)
Shrnutí a další kroky (next steps)
Požadavky
- Znalost jazyků C/C++, Java a vývoj webových aplikací
- Základní znalosti sítí a protokolu HTTP
- Zkušenosti s používáním integrovaného vývojového prostředí (IDE) nebo textového editoru
Cílová skupina
- Vývojáři
- Softwaroví inženýři
- Techničtí vedoucí
Reference (5)
Více příkladů pro každý modul a skvělé znalosti školitele.
Sebastian - BRD
Kurz - Secure Developer Java (Inc OWASP)
Přeloženo strojem
Module3 Applications Attacks and Exploits, XSS, SQL injection Module4 Servers Attacks and Exploits, DOS, BOF
Tshifhiwa - Vodacom
Kurz - How to Write Secure Code
Přeloženo strojem
Obecné informace o kurzu
Paulo Gouveia - EID
Kurz - C/C++ Secure Coding
Přeloženo strojem
The trainer's subject knowledge was excellent, and the way the sessions were set out so that the audience could follow along with the demonstrations really helped to cement that knowledge, compared to just sitting and listening.
Jack Allan - RSM UK Management Ltd.
Kurz - Secure Developer .NET (Inc OWASP)
Nothing it was perfect.