Course Outline
Module 1: Introduction to Software Security
• Overview of the course.
• Objectives of the course.
• Initial introduction.
• Importance of software security in public sector operations.
• Threats to applications.
• Common vulnerabilities and their impact on government systems.
• Definitions and foundational concepts of software security.
• Fundamentals of secure coding practices for government.
Module 2: Common Web Application Risks (OWASP Top 10)
• A1 - Injection.
1. SQL Injection.
2. OS/Command Injection.
3. LDAP Injection.
• A2 - Broken Authentication and Session Management.
1. Cross-Site Scripting (XSS).
2. Insecure Direct Object References.
3. Security Misconfiguration.
4. Sensitive Data Exposure.
5. Data at Rest.
6. Data in Transit.
7. Missing Function Level Access Control.
Module 3: Demo Web Application Penetration
• Instructional videos.
• Demonstration of vulnerability penetration techniques for government systems.
Module 4: Data Validation
• Techniques for input validation.
• Comparison of server-side and client-side validation methods.
• Whitelisting versus blacklisting strategies.
• Output encoding and escaping to prevent attacks.
• Use of parameterized queries for enhanced security.
• Leveraging frameworks and APIs for data validation.
• Overview of the Microsoft Web Protection Library.
• Application of Java Regex in validation.
• Utilization of OWASP ESAPI validators.
Module 5: Authentication
• Basic authentication versus forms-based authentication methods.
• Policies for robust authentication practices.
• Implementation of authorization and permissions management for government systems.
Module 6: Session Management
• Strategies to protect session IDs in government applications.
• Prevention of session hijacking attacks.
• Mitigation techniques for session fixation vulnerabilities.
Module 7: Secure SDLC
• General overview of secure software development lifecycle (SDLC).
• Detailed examination of the secure SDLC process.
• Perspectives from management and developers on implementing a secure SDLC.
• Consumer expectations for security in government applications.
• Business responsibilities in maintaining secure systems.
• Phases of the development lifecycle with a focus on security.
Requirements
• Proficiency in a programming language (Java, .NET, PHP) for government applications.
• Understanding of web technologies to support public sector workflows.
• Familiarity with database management systems (Oracle, MySQL, MSSQL) to ensure robust data governance and accountability.
Testimonials (5)
Multiple examples for each module and great knowledge of the trainer.
Sebastian - BRD
Course - Secure Developer Java (Inc OWASP)
Module3 Applications Attacks and Exploits, XSS, SQL injection Module4 Servers Attacks and Exploits, DOS, BOF
Tshifhiwa - Vodacom
Course - How to Write Secure Code
General course information
Paulo Gouveia - EID
Course - C/C++ Secure Coding
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.
Course - Secure Developer .NET (Inc OWASP)
Nothing it was perfect.