> > > HSSSD

Hacking and Securing SQL Server Databases (HSSSD)

Course Description Schedule Course Outline

About this Course

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

Hacking and Securing SQL Databases is an intense 3-day database security training course essential that, in addition to teaching basic skills, digs deep into sound processes and practices that apply to the entire software development lifecycle. Perhaps just as significantly, you will 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. They must be protected accordingly. In this course, you will 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.

After attending the Securing Oracle Databases course, you will leave 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 you 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. You will then be challenged to design and implement the layered defenses you will need in defending your own databases.

Who should attend

  • DBAs and developers who need to produce secure database applications and manage secure databases

Class Prerequisites

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

What You Will Learn

Working in a dynamic learning environment, you will learn to:

  • Perform a comprehensive set of checks and procedures against SQL databases and home directories
  • Understand the rationale for the measures being taken to secure the SQL databases as well as home directories
  • 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.


After attending the Hacking and Securing SQL Databases course, you will be armed with the skills required to recognize actual and potential software vulnerabilities, implement defenses for those vulnerabilities, and test those defenses for sufficiency.

Fast Lane realizes the need for comprehensive SQL security training to protect companies most critical information assets. In this course, you will be lead through the process of auditing and securing SQL by defining the risks to data, using auditing techniques for detecting unauthorized access attempts, using SQL access controls and user management functions, and developing reliable backup and restore processes and techniques to secure the SQL database, as well as applications.

Throughout the course you will be exposed to the database as seen through the eyes of an attacker, including public and unreleased techniques that are used to compromise the integrity of the database or escalate a user's privileges. In this fashion, you will gain a better understanding of how an attacker sees a database as a target and how you can configure the database to be resistant to known and unknown attacks.

Outline: Hacking and Securing SQL Server Databases (HSSSD)

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


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: SQL Database Measures

Overview, Conventions, and Best Practices

SQL Checks and Procedures

  • Database Automated Checks
  • Database Interview Checks
  • Database Manual Checks
  • Database Verify Checks
  • Home Automated Checks
  • Home Interview Checks
  • Home Manual Checks
  • Home Verify Checks

Applying the Measures

Classroom Training

Duration 3 days

Enroll now