Secure development Junior - 3 days
Description
Many, many programming languages are in active use, and many more have been created. What makes them different, especially security wise ? Why can't anyone agree on what the best language is? What are common blunders and good practices when developing software ? This module will help you answer these questions, and give you a glimpse of pure functional programming!
3 days
Content
- 
Programming langages typology - 
fundamental differences between programming languages 
- 
a classification for languages 
- 
programming languages trends 
 
- 
- 
Discussing programming languages - 
a primer on cognitive biases 
- 
what is the best programming language ? 
 
- 
- 
The attacker - 
the attacker mental model 
- 
a classification of attacker interactions 
 
- 
- 
Hurdles - 
most common vulnerabilities and malpractices 
- 
most vulnerable software features 
 
- 
- 
Mitigations - 
a primer on software architecture 
- 
generic mitigations 
 
- 
- 
Safe practices - 
secure software development process 
 
- 
- 
Formal methods and related techniques - 
What are formal methods ? 
- 
What are their pros and cons ? 
 
- 
This course is illustrated by many real life example, and half of it is devoted to lab work.
