Learn what prerequisite knowledge is expected for course success.
- If you're a professional software developer, or looking to enter into this crazy chaos that is software development, then this course is for you. The consistent theme in this industry is that nothing is consistent. As such, we need to be perpetual students. The only thing I expect you to be armed with is a knowledge of how to write software in some capacity. I don't care about which language you use, or what platform you deploy your code to, but you must understand that some languages are susceptible to one kind of attack while others can be prone to other attacks.
That is the nature of languages in general. They all have their advantages and disadvantages. Platforms work in the same way. A web platform for instance has very different attack vectors than the embedded software on an IoT device. Neither is secure or insecure in its own right. It's a matter of handling the challenges that you're presented with in your given situation.
In order to do that you need to understand they're risks and work from there. As you watch this course, I expect you to take the knowledge of the language and platforms you use and apply them to make your code more secure.
- Understanding attackers and risks
- Documenting your risks
- Issues related to web client–server interactions
- Issues related to thick app and client–server interactions
- Authorization and cryptography issues
- Implementing security in each phase of the software development life cycle