This course provides a fundamental understanding of secure coding practices, teaching you how to incorporate security into the software development life cycle. It emphasizes the importance of adopting the mindset of a security professional and identifying common insecure code issues. The course covers a range of topics including understanding attackers and risks, documenting your risks, and issues related to web client-server and thick app-client-server interactions. It also delves into authorization and cryptography issues. The course concludes with an overview of implementing security in each phase of the software development life cycle, providing you with the knowledge to strengthen the security posture of your applications.
This course provides a fundamental understanding of secure coding practices, teaching you how to incorporate security into the software development life cycle. It emphasizes the importance of adopting the mindset of a security professional and identifying common insecure code issues. The course covers a range of topics including understanding attackers and risks, documenting your risks, and issues related to web client-server and thick app-client-server interactions. It also delves into authorization and cryptography issues. The course concludes with an overview of implementing security in each phase of the software development life cycle, providing you with the knowledge to strengthen the security posture of your applications.
Learning Objectives
Understanding the goal of secure coding and the mindset of an attacker
Learning to break what you build to identify vulnerabilities
Assessing and documenting your risks
Identifying input validation, communication channel, and session management issues
Understanding error handling, logging, output, and internal data management issues
Exploring configuration, database, file and I/O, and memory management issues
Identifying dependency issues
Understanding authentication, password, authorization, access control, and cryptography issues
Embracing security in design, development, testing, and deployment