Duration: 2 days – 14 hrs
Overview
This course prepares testers and QA staff to adequately plan and precisely execute security tests, select and use the most appropriate tools and techniques to find even hidden security flaws, and thus gives essential practical skills that can be applied on the next day working day.
Security evaluations can happen at various steps of the SDLC, and so we discuss design review, code review, reconnaissance and information gathering about the system, testing the implementation and the testing and hardening the environment for secure deployment. Many security testing techniques are introduced in detail, like taint analysis and heuristics-based code review, static code analysis, dynamic web vulnerability testing or fuzzing. Various types of tools are introduced that can be applied in order to automate security evaluation of software products, which is also supported by several exercises, where we execute these tools to analyze the already discussed vulnerable code. Many real-life case studies support better understanding of various vulnerabilities.
After getting familiar with the vulnerabilities and the attack methods, participants learn about the general approach and the methodology for security testing, and the techniques that can be applied to reveal specific vulnerabilities. Security testing should start with information gathering about the system (ToC, i.e. Target of Evaluation), then a thorough threat modeling should reveal and rate all threats, arriving to the most appropriate risk analysis-driven test plan.
Objectives
- Understand basic concepts of security, IT security and secure coding.
- Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them.
- Learn client-side vulnerabilities and secure coding practices.
- Understand security testing approaches and methodologies.
- Get practical knowledge in using security testing techniques and tools.
- Get sources and further readings on secure coding practices.
Audience
- Developers
- Testers
Prerequisites
An understanding of application security.
Course Content
- IT security and secure coding
- Web application security
- Client-side security
- Security testing
- Security testing techniques and tools
- Code review
- Common coding errors and vulnerabilities
- Reconnaissance and information gathering
- Testing the implementation
- Checking and hardening the environment
- Case study – Double bug in Java
- Case study – Shellshock
- Case study – Heartbleed
- Knowledge sources