TT8120: Secure Web Applications | OWASP Top Ten, Web Services, Rich Interfaces & More

Become an EPIC Affiliate

To view the class schedule you need to become an Affiliate

  • Largest “Guaranteed To Run” public technical training schedules available
  • Easy to become an Affiliate – no charge or fee
Become an EPIC Affiliate

already an Affiliate?  Login

About this Course

Security experts agree that the least effective approach to security is “penetrate and patch”. It is far more effective to “bake” security into an application throughout its lifecycle. After spending significant time examining a poorly designed (from a security perspective) web application, developers are ready to learn how to build secure web applications starting at project inception. The final portion of this course builds on the previously learned mechanics for building defenses by exploring how design and analysis can be used to build stronger applications from the beginning of the software lifecycle.

Secure Web Application Development a seminar style course designed for web developers and technical stakeholders who need to produce secure web applications. They will thoroughly examine best practices for defensively coding web applications, covering all the 2021 OWASP Top Ten as well as several additional prominent vulnerabilities (such as file uploads and handling untrusted free-form text). Our web app security expert will share how to integrate security measures into the development process. You will also explore core concepts and challenges in web application security, showcasing real world examples that illustrate the potential consequences of not following these best practices.

Audience Profile

This is an overview-level , lecture and demonstration style course, designed to provide technical application project stakeholders with a first-look or baseline understanding of how to develop well defended web applications.

At Course Completion

This course will walk you through how to recognize actual and potential software vulnerabilities and implement defenses for those vulnerabilities. You will explore most common security vulnerabilities faced by web applications today, examining each vulnerability from a coding perspective through a process of describing the threat and attack mechanisms, recognizing associated vulnerabilities, and, finally, designing and implementing effective defenses.

Guided by our application security expert, you will explore how to:

· Understand the concepts and terminology behind defensive, secure coding including the phases and goals of a typical exploit

· Establish the first axiom in security analysis of ALL web applications for this course and beyond

· Establish the first axiom in addressing ALL security concerns for this course and beyond

· Ensure that any hacking and bug hunting is performed in a safe and appropriate manner

· Identify defect/bug reporting mechanisms within their organizations

· Avoid common mistakes that are made in bug hunting and vulnerability testing

· Develop an appreciation for the need and value of a multilayered defense in depth

· Understand potential sources for untrusted data

· Understand the consequences for not properly handling untrusted data such as denial of service, cross-site scripting, and injections

· Understand the vulnerabilities of associated with authentication and authorization

· Detect, attack, and implement defenses for authentication and authorization functionality and services

· Understand the dangers and mechanisms behind Cross-Site Scripting (XSS) and Injection attacks

· Detect, attack, and implement defenses against XSS and Injection attacks

· Understand the risks associated with XML processing, software uploads, and deserialization and how to best eliminate or mitigate those risks

· Learn the strengths, limitations, and use for tools such as code scanners, dynamic scanners, and web application firewalls (WAFs)

· Understand techniques and measures that can used to harden web and application servers as well as other components in your infrastructure

· Identify resources to use for ongoing threat intelligence

· Plan next steps after completion of this training

Outline

Session: Bug Hunting Foundation

Lesson: Why Hunt Bugs?

· The Language of Cybersecurity

· The Changing Cybersecurity Landscape

· AppSec Dissection of SolarWinds

· The Human Perimeter

· Interpreting the 2021 Verizon Data Breach Investigation Report

· First Axiom in Web Application Security Analysis

· First Axiom in Addressing ALL Security Concerns

· Lab: Case Study in Failure

Lesson: Safe and Appropriate Bug Hunting/Hacking

· Working Ethically

· Respecting Privacy

· Bug/Defect Notification

· Bug Bounty Programs

· Bug Hunting Mistakes to Avoid

Session: Moving Forward From Hunting Bugs

Lesson: Removing Bugs

· Open Web Application Security Project (OWASP)

· OWASP Top Ten Overview

· Web Application Security Consortium (WASC)

· CERT Secure Coding Standards

· Microsoft Security Response Center

· Software-Specific Threat Intelligence

Session: Foundation for Securing Web Applications

Lesson: Principles of Information Security

· Security Is a Lifecycle Issue

· Minimize Attack Surface Area

· Layers of Defense: Tenacious D

· Compartmentalize

· Consider All Application States

· Do NOT Trust the Untrusted

· AppSec Dissection of the Verkada Exploit

Session: Bug Stomping 101

Lesson: Unvalidated Data

· Buffer Overflows

· Integer Arithmetic Vulnerabilities

· Defining and Defending Trust Boundaries

· Rigorous., Positive Specifications

· Whitelisting vs Blacklisting

· Challenges: Free-Form Text, Email Addresses, and Uploaded Files

Lesson: A01: Broken Access Control

· Elevation of Privileges

· Insufficient Flow Control

· Unprotected URL/Resource Access/Forceful Browsing

· Metadata Manipulation (JWTs)

· CORS Misconfiguration Issues

· Cross Site Request Forgeries (CSRF)

· CSRF Defenses

· Lab: Spotlight: Verizon

Lesson: A02: Cryptographic Failures

· Identifying Protection Needs

· Evolving Privacy Considerations

· Options for Protecting Data

· Transport/Message Level Security

· Weak Cryptographic Processing

· Keys and Key Management

· NIST Recommendations

Lesson: A03: Injection

· Injection Flaws

· SQL Injection Attacks Evolve

· Drill Down on Stored Procedures

· Other Forms of Server-Side Injection

· Minimizing Injection Flaws

· Client-side Injection: XSS

· Persistent, Reflective, and DOM-Based XSS

· Best Practices for Untrusted Data

Lesson: A04: Insecure Design

· Secure Software Development Processes

· Shifting Left

· Cost of Continually Reinventing

· Leveraging Common AppSec Practices and Control

· Paralysis by Analysis

· Actionable Application Security

· Additional Tools for the Toolbox

· Lab: Actionable AppSec

Lesson: A05: Security Misconfiguration

· System Hardening

· Risks with Internet-Connected Resources (Servers to Cloud)

· Minimalist Configurations

· Application Whitelisting

· Secure Baseline

· Segmentation with Containers and Cloud

· Lab: Configuration Guidance

· Resolution of External References

· Safe XML Processing

Session: Bug Stomping 102

Lesson: A06: Vulnerable and Outdated Components

· Vulnerable Components

· Software Inventory

· Managing Updates: Balancing Risk and Timeliness

· AppSec Dissection of Ongoing Microsoft Exchange Exploits

· Lab: Spotlight: Equifax

Lesson: A07: Identification and Authentication Failures

· Quality and Protection of Authentication Data

· Proper hashing of passwords

· Handling Passwords on Server Side

· Session Management

· HttpOnly and Security Headers

Lesson: A08: Software and Data Integrity Failures

· Serialization/Deserialization

· Issues with Consuming Vulnerable Software

· Using Trusted Repositories

· CI/CD Pipeline Issues

· Protecting Software Development Resources

Lesson: A09: Security Logging and Monitoring Failures

· Detecting Threats and Active Attacks

· Best Practices for Determining What to Log

· Safe Logging in Support of Forensics

· Lab: Auditing and Logging Guidance

Lesson: A10: Server-Side Request Forgery (SSRF)

· Understanding SSRF

· Remote Resource Access Scenarios

· Complexity of Cloud Services

· SSRF Defense in Depth

· Positive Allow Lists

Session: Moving Forward

Lesson: Applications: What Next?

· Common Vulnerabilities and Exposures

· CWE/SANS Top 25 Most Dangerous SW Errors

· Strength Training: Project Teams/Developers

· Strength Training: IT Organizations

· Lab: Spotlight: Capital One

Additional Topics: Time Permitting

Lesson: SDL Overview

· Attack Phases: Offensive Actions and Defensive Controls

· Secure Software Development Processes

· Shifting Left

· Actionable Items Moving Forward

Lesson: SDL in Action

· Risk Escalators

· Risk Escalator Mitigation

· SDL Phases

· Actions for each SDL Phase

· SDL Best Practices

Prerequisites

Real-world programming experience is highly recommended for code reviews, but not required.