Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Day 1
IT Security and Secure Coding for Government
- Nature of Security in the Public Sector
- Key Terms Related to IT Security
- Definition of Risk for Government Operations
- Various Aspects of IT Security for Government Systems
- Requirements for Different Application Areas in the Public Sector
- Distinction Between IT Security and Secure Coding
-
From Vulnerabilities to Botnets and Cybercrime
- Nature of Security Flaws in Government Systems
- Reasons for the Complexity of Security Challenges
- Progression from an Infected Computer to Targeted Attacks on Government Networks
-
Classification of Security Flaws
- Landwehr’s Taxonomy for Government Use
- The Seven Pernicious Kingdoms in Government Systems
- OWASP Top Ten 2013 for Government Applications
- Comparison of OWASP Top Ten from 2003 to 2013 for Government Context
Introduction to the Microsoft® Security Development Lifecycle (SDL) for Government
- Agenda
-
Applications Under Attack in the Public Sector...
- Evolution of Cybercrime Targeting Government Systems
- Increasing Focus on Application-Level Attacks in the Public Sector
- Prevalence of Vulnerabilities in Smaller ISV Applications Used by Government Agencies
-
Origins of the Microsoft SDL for Government...
- Security Timeline at Microsoft for Government Use
- Which Government Applications Are Required to Follow SDL?
-
Microsoft Security Development Lifecycle (SDL) for Government
- Overview of the Microsoft SDL for Government
- Pre-SDL Requirements: Security Training for Government Personnel
- Phase One: Requirements Gathering and Analysis
- Phase Two: Design and Architecture Review
- Phase Three: Implementation and Development
- Phase Four: Verification and Testing
- Phase Five: Release – Response Plan for Government Systems
- Phase Five: Release – Final Security Review for Government Applications
- Phase Five: Release – Archiving of Documentation
- Post-SDL Requirement: Ongoing Response and Maintenance
- SDL Process Guidance for Line-of-Business (LOB) Apps in Government
- SDL Guidance for Agile Methodologies in Government Projects
- Importance of Process Improvement in Secure Software Development for Government
Secure Design Principles for Government Systems
-
Attack Surface Management
- Reducing the Attack Surface of Government Systems
- Example of Attack Surface Reduction in a Government Application
- Analyzing the Attack Surface of Government Networks
- Examples of Effective Attack Surface Reduction Strategies
-
Privacy Considerations for Government Applications
- Ensuring Privacy in Government Systems
- Understanding Application Behaviors and Privacy Concerns in the Public Sector
-
Defense in Depth Strategy for Government Security
- Core Principle of SDL: Defense In Depth for Government Systems
- Example of Implementing Defense in Depth in a Government Application
-
Least Privilege Principle for Government Applications
- Example of Applying the Least Privilege Principle in Government Systems
-
Secure Defaults for Government Software
- Examples of Implementing Secure Defaults in Government Applications
Secure Implementation Principles for Government Systems
- Agenda
- Microsoft Security Development Lifecycle (SDL) for Government
-
Buffer Overflow Basics for Government Developers
- Intel 80x86 Processors – Main Registers in Government Systems
- Memory Address Layout in Government Applications
- Function Calling Mechanism in C/C++ on x86 for Government Use
- Local Variables and the Stack Frame in Government Software
-
Stack Overflow Vulnerabilities in Government Systems
- Buffer Overflow on the Stack in Government Applications
- Exercises – Introduction to Stack Overflows in Government Systems
- Exercise BOFIntro – Determining the Stack Layout in a Government Application
- Exercise BOFIntro – A Simple Exploit for Government Systems
-
Input Validation for Government Applications
- Concepts of Input Validation in Government Software
-
Integer Problems in Government Systems
- Representation of Negative Integers in Government Code
- Integer Overflow Vulnerabilities in Government Applications
- Arithmetic Overflow – Predicting the Output in a Government Context
- Exercise IntOverflow – Identifying and Mitigating Integer Overflows in Government Systems
- What is the Value of Math.Abs(int.MinValue) in a Government Application?
-
Mitigation Strategies for Integer Problems in Government Software
- General Approaches to Mitigating Integer Problems in Government Applications
- Avoiding Arithmetic Overflow – Addition in Government Code
- Avoiding Arithmetic Overflow – Multiplication in Government Systems
- Detecting Overflow with the Checked Keyword in C# for Government Use
- Exercise – Using the Checked Keyword in C# for Government Applications
- Handling Exceptions Triggered by Overflows in C# for Government Systems
-
Case Study – Integer Overflow Vulnerability in .NET for Government Applications
- A Real-World Integer Overflow Example in a Government System
- Exploiting the Integer Overflow Vulnerability in Government Software
-
Path Traversal Vulnerabilities and Mitigation Strategies for Government Systems
- Preventing Path Traversal Attacks in Government Applications
Day 2
Secure Implementation Principles for Government Systems
-
Injection Vulnerabilities in Government Software
- Common SQL Injection Attack Methods in Government Databases
- Blind and Time-Based SQL Injection Techniques in Government Applications
- Methods for Protecting Against SQL Injection in Government Systems
- Command Injection Vulnerabilities in Government Software
-
Broken Authentication and Password Management in Government Systems
- Exercise – Identifying Weaknesses in Hashed Passwords for Government Applications
- Best Practices for Password Management and Storage in the Public Sector
- Special Purpose Hash Algorithms for Secure Password Storage in Government Systems
-
Cross-Site Scripting (XSS) Vulnerabilities in Government Applications
- Understanding Cross-Site Scripting (XSS) in Government Software
- CSS Injection Vulnerabilities in Government Systems
- Exploiting XSS Through Other HTML Tags in Government Applications
- Preventing XSS Attacks in Government Software
-
Missing Function-Level Access Control in Government Systems
- Strategies for Filtering File Uploads in Government Applications
-
Practical Cryptography for Government Applications
- Providing Confidentiality with Symmetric Cryptography in Government Systems
- Overview of Symmetric Encryption Algorithms for Government Use
- Block Ciphers – Modes of Operation in Government Software
- Hash Functions or Message Digests for Government Applications
- Hashing Algorithms for Government Systems
- Message Authentication Codes (MAC) for Government Use
- Ensuring Integrity and Authenticity with Symmetric Keys in Government Software
- Providing Confidentiality with Public-Key Encryption for Government Applications
- Rule of Thumb – Possession of Private Keys in Government Systems
- Common Mistakes in Password Management for Government Applications
- Exercise – Identifying Hard-Coded Passwords in Government Software
- Conclusion on Cryptographic Best Practices for Government Use
Secure Verification Principles for Government Systems
- Differentiating Functional Testing from Security Testing in the Public Sector
- Identifying and Addressing Security Vulnerabilities in Government Applications
- Prioritizing Security Issues in Government Systems
- Integrating Security Testing into the SDLC for Government Projects
- Steps of Test Planning (Risk Analysis) for Government Software
-
Scoping and Information Gathering for Government Applications
- Identifying Stakeholders in Government Projects
- Assessing Assets in Government Systems
- Analyzing the Attack Surface of Government Networks
- Defining Security Objectives for Testing in Government Applications
-
Threat Modeling for Government Systems
- Overview of Threat Modeling for Government Use
- Developing Attacker Profiles for Government Applications
- Threat Modeling Using Attack Trees in Government Software
- Threat Modeling Based on Misuse/Abuse Cases in Government Systems
- Example of Misuse/Abuse Cases in a Simple Web Shop for Government Use
- STRIDE Per Element Approach to Threat Modeling – MS SDL for Government
- Identifying Security Objectives Through Threat Modeling in Government Applications
- Diagramming Techniques and Examples of DFD Elements for Government Use
- Example of a Data Flow Diagram (DFD) for Government Systems
- Enumerating Threats Using MS SDL’s STRIDE and DFD Elements in Government Software
- Risk Analysis – Classifying Threats in Government Applications
- The DREAD Threat/Risk Ranking Model for Government Use
-
Security Testing Techniques and Tools for Government Systems
- General Approaches to Security Testing in the Public Sector
- Techniques for Various Steps of the SDLC in Government Projects
-
Code Review for Secure Software Development in Government
- Conducting Code Reviews for Security in Government Applications
- Performing Taint Analysis in Government Systems
- Applying Heuristics to Identify Security Issues in Government Code
-
Static Code Analysis for Government Applications
- Overview of Static Code Analysis for Government Use
- Exercise – Utilizing Static Code Analysis Tools in Government Projects
-
Testing the Implementation Phase of Government Systems
- Conducting Manual Run-Time Verification for Government Applications
- Comparing Manual and Automated Security Testing in Government Software
- Performing Penetration Testing on Government Systems
- Stress Testing Government Applications
-
Fuzzing for Automated Security Testing in Government Systems
- Introduction to Fuzzing for Government Use
- Challenges of Implementing Fuzzing in Government Applications
-
Web Vulnerability Scanners for Government Systems
- Exercise – Using a Vulnerability Scanner in a Government Application
-
Checking and Hardening the Environment for Government Systems
- Understanding the Common Vulnerability Scoring System (CVSS) for Government Use
- Utilizing Vulnerability Scanners in Government Networks
- Accessing Public Databases for Security Information in the Public Sector
-
Case Study – Forms Authentication Bypass in Government Applications
- NULL Byte Termination Vulnerability in Government Systems
- Identifying the Forms Authentication Bypass Vulnerability in Government Code
- Exploiting the Forms Authentication Bypass in a Government Application
Knowledge Sources for Secure Coding in Government Systems
- Secure Coding Resources – A Starter Kit for Government Developers
- Vulnerability Databases for Government Use
- .NET Secure Coding Guidelines at MSDN for Government Applications
- .NET Secure Coding Cheat Sheets for Government Use
- Recommended Books on .NET and ASP.NET Security for Government Developers
14 Hours
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.