Fundamentals of Securing Databases (FSD)

Course Description Schedule Course Outline

Who should attend

Securing Databases is an intense 2-day database security training workshop/seminar essential for DBAs and developers who need to produce secure database applications and manage secure databases. In addition to teaching basic skills, this course digs deep into sound processes and practices that apply to the entire software development life-cycle. Perhaps just as significantly, students learn about current, real examples that illustrate the potential consequences of not following these best practices.

Data, databases, and related resources are at the heart of most IT infrastructures. These assets can have high value from a business, regulatory, and liability perspective. In this course, students repeatedly attack and then defend various assets associated with a fully-functional database. This approach illustrates the mechanics of how to secure databases in the most practical of terms.

Class Prerequisites

This is an intermediate-level database course, designed for those who wish to get up and running on developing well defended database applications. This course may be customized to suit your team’s unique objectives.

Familiarity with databases is required and real world experience is highly recommended. Ideally, students should have approximately 6 months to a year of database working knowledge.

What You Will Learn

Students who attend Securing Databases will leave the course armed with the skills required to recognize actual and potential database vulnerabilities, implement defenses for those vulnerabilities, and test those defenses for sufficiency.

This course quickly introduces students to the most common security vulnerabilities faced by databases today. Each vulnerability is examined from a database perspective through a process of describing the threat and attack mechanisms, recognizing associated vulnerabilities, and, finally, designing, implementing, and testing effective defenses. Multiple practical demonstrations reinforce these concepts with real vulnerabilities and attacks. Students are then challenged to design and implement the layered defenses they will need in defending their own databases.

Working in a dynamic learning environment attendees will learn to:

  • Understand the consequences for not properly handling untrusted data such as denial of service, cross-site scripting, and injections
  • Be able to test databases with various attack techniques to determine the existence of and effectiveness of layered defenses
  • Prevent and defend the many potential vulnerabilities associated with untrusted data
  • Understand the concepts and terminology behind supporting, designing, and deploying secure databases
  • Appreciate the magnitude of the problems associated with data security and the potential risks associated with those problems
  • Understand the currently accepted best practices for supporting the many security needs of databases.
  • Understand the vulnerabilities associated with authentication and authorization within the context of databases and database applications
  • Be able to detect, attack, and implement defenses for authentication and authorization functionality
  • Understand the dangers and mechanisms behind Cross-Site Scripting (XSS) and Injection attacks
  • Be able to detect, attack, and implement defenses against XSS and Injection attacks
  • Understand the concepts and terminology behind defensive, secure, coding
  • Understand the use of Threat Modeling as a tool in identifying software vulnerabilities based on realistic threats against meaningful assets
  • Perform both static reviews and dynamic database testing to uncover vulnerabilities
  • Design and develop strong, robust authentication and authorization implementations
  • Understand the fundamentals of Digital Signatures as well as how it can be used as part of the defensive infrastructure for data
  • Understand the fundamentals of Encryption as well as how it can be used as part of the defensive infrastructure for data

This class is “technology-centric”, designed to train attendees in essential secure database skills, coupling the most current, effective techniques with the soundest industry practices.

The course provides a solid foundation in basic terminology and concepts, extended and built upon throughout the engagement. Students will examine various recognized attacks against data and databases. Processes and best practices are discussed and illustrated through both discussions and group activities.


What’s included?

Students who attend Securing Database Fundamentals will leave the course armed with the skills required to recognize actual and potential software vulnerabilities, implement defenses for those vulnerabilities, and test those defenses for sufficiency.

Although this training is skills-centric, this course can be delivered on of a variety of database products. Please inquire for details and options.

Outline: Fundamentals of Securing Databases (FSD)

Session: Foundation


  • Thriving Industry of Identify Theft
  • Dishonor Roll of Data Breaches
  • TJX: Anatomy of a Disaster
  • Heartland: What? Again?

Security Concepts

  • Terminology and Players
  • Assets, Threats, and Attacks
  • CWE/SANS Top 25 Programming Errors
  • Categories
  • What they mean to your services

Defensive Coding Principles

  • Security Is A Lifecycle Issue
  • Minimize Attack Surface
  • Manage Resources
  • Application States
  • Compartmentalize
  • Defense In Depth - Layered Defense
  • Consider All Application States
  • Not Trusting The Untrusted
  • Security Defect Mitigation
  • Leverage Experience


  • Recent, Relevant Incidents
  • Find Security Defects In Web Application
Session: Top Database Security Vulnerabilities

Security Concerns Common to all DBMSs

  • Authentication
  • Authorization
  • Confidentiality
  • Integrity
  • Auditing
  • Replication, Federation, and Clustering
  • Backup and Recovery
  • OS, Application, and Network Components

Unvalidated Input

  • Sources of Untrusted Input
  • Trust Boundaries
  • Designing and Implementing Defenses

Broken Authentication

  • Quality of Passwords
  • Protection of Passwords
  • Hashing Passwords
  • Protecting Authentication Assets
  • System Account Management
  • User Account Management

Broken Access Control

  • Gaining Elevated Privileges
  • Compartmentalization Based on Level of Privilege
  • Special Privileges Provided by Database and Systems
  • Protecting Special Roles

Cross Site Scripting (XSS/CSRF) Flaws

  • What and How
  • Role of Databases in Enabling XSS
  • Designing and Implementing Defenses

Injection Flaws

  • What and How
  • SQL, PL/SQL, XML, and Others
  • Stored Procedures
  • Buffer Overflows
  • Designing and Implementing Defenses

Error Handling and Information Leakage

  • What and How
  • Four Dimensions of Error Response
  • Proper Error Handling Design

Insecure Handling

  • Data at Rest
  • Data in Motion
  • Encryption
  • Compartmentalization Based on Level of Privilege
  • Backups and Archives
  • Connection Strings and High Value Server-Side Credentials
  • Designing and Implementing Defenses

Insecure Management of Configuration

  • Initial Installation
  • Patch Management
  • Server Hardening
  • Operating System Hardening
  • Connection Hardening
  • Replication Hardening
  • Best Practices

Direct Object Access

  • What and How
  • Role of Databases in Enabling Access
  • High Risk Practices to Avoid
Session: Database Security

Identification and Authentication

  • Group and Individual
  • Key Management Practices
  • Token and Certificates Practices

Computing Environment

  • Data Changes and Controls
  • Encryption
  • Privilege Management
  • Additional Controls and Practices

Database Auditing

  • Auditing Mechanics and Best Practices
  • Tracking Changes to Code
  • Tracking Changes to Permissions
  • Extending Auditing

Boundary Defenses

Continuity of Service

  • Defending Backup/Restoration Assets
  • Data and Software Backups
  • Trusted Recovery

Vulnerability and Incident Management

Session: Cryptography Overview
  • Cryptography defined
  • Strong Encryption
  • Ciphers and algorithms
  • Message digests
  • Types of keys
  • Key management
  • Certificate management
  • Encryption/Decryption
Session: Secure Software Development (SSD)

SSD Process Overview

  • CLASP Defined
  • CLASP Applied

Asset, Boundary, and Vulnerability Identification

Vulnerability Response

Design and Code Reviews

Applying Processes and Practices

Risk Analysis

Session: Security Testing

Testing as Lifecycle Process

Testing Planning and Documentation

Testing Tools And Processes

  • Principles
  • Reviews
  • Testing
  • Tools

Static and Dynamic Analysis

Testing Practices

  • Authentication Testing
  • Data Validation Testing
  • Denial Of Service Testing
Session: Generic Database Measures

Overview, Conventions, and Best Practices

Generic Database Checks and Procedures

Applying the Measures

Classroom Training

Duration 2 days

Enroll now