Career Training >> Information Technology Training >> System Administration Training >> Foundstone Building Secure Software Training Seminar
Course ID: 12034 | Course Duration: 4 Days
Course Dates: 
 
Career Training
 

Foundstone Building Secure Software Training Class

Course ID: 12034
 
 
Course Snapshot View Dates Add To My Courses Get More Information About This Course Register Online Register By Fax On-Site Training View Printer Friendly Version
 
     
 

Foundstone Building Secure Software Training Seminar


Software insecurity has become one of the biggest security concerns facing
organizations today. As hackers turn their attention to the software and
applications that make up an organization's IT infrastructure, people are
realizing that the best way to protect that infrastructure is building secure
software at the onset.
Building secure software requires careful design, development, and deployment
processes and a fundamental understanding of the security mechanisms and
techniques available. By eliminating potential security flaws early in the
Software Development Lifecycle (SDLC), organizations eliminate significant
remediation costs and reduce the risk to their critical digital assets.
Students are presented with an overview of the fundamental concepts, techniques,
and mechanisms involved with each stage of the SDLC. Concepts are then
reinforced with real-word examples and driven home with hands-on practical lab
exercises. Students receive a free copy of "Building Secure Software"
(or similar book), use of an individual dual-boot Windows/Linux laptop during
the class, use of the lab network and computers, class handouts, and lab work
books.
 
     
     
  Course Details  
     
     
  Agenda  
 

Day 1 - Introduction, Authentication, Authorization, and Client Side Security



Day one sets the foundation for the course with an introduction to software
security concepts and issues. Students then learn about the problems
cryptography can solve and how to select the appropriate cryptographic
techniques to solve real world problems. They learn the various options for
authenticating users and system components and how to build secure authorization
systems.


Introduction



Why build secure software in the first place and what exactly do we mean by
security in the software development life cycle? This introduction covers the
process of building secure software and the economics of insecure software.


  • Security in the SDLC



Economics of Insecure Software



Cryptography



How does cryptography work and what problems can it be used to solve? This
section includes details of symmetric, asymmetric and hash functions, types of
algorithms, key management (including key generation, key exchange, key
histories, key storage, and key lengths). This section is reinforced with real
word scenarios and the Building Secure Software crypto challenge lab.


  • Conceptual Foundation

  • Key Management

  • Issues and Scenarios

  • Building a Secure Crypto System



Authentication



How do I authenticate users and other system components? What techniques can I
employ and what precautions must I consider? This section discusses the options,
the benefits, and the pitfalls of those choices.


  • Methods of Authentication

  • Components of Authentication

  • Choice Criteria

  • Real World Scenarios



Authorization



I know who the user is, now what? This section describes techniques and models
for building software authorization schemes.


  • Authorization Models

  • Choice Criteria

  • Real World Scenarios



Day 2 - User Management, Data Validation, Architecture, and Design Patterns



Students learn how to build secure user management systems including password
storage and password reset systems. They then learn how to perform data
validation to prevent common attacks and how to deal with the inevitable
failures, errors, and exceptions in a secure manner.


User Management



We all have users but how do I manage their accounts securely? This section
describes the right way to store passwords, build password reset schemes, and
prevent users from being locked out by rogue attackers.


  • Designing a Secure User Management Systems

  • Password Management

  • Account Management



Client Side Security



No one will find this license key if I bury it well enough, right? Wrong! This
section explains the fallacy of client side security with demonstrations of a
how a hacker would subvert a database front end.


  • Clients in Untrusted Environments

  • Avoiding Common Pitfalls

  • Technology Specific Threats



Data Validation



We all know we have to validate the input, right? Well, there is a little more
to it than that. This section describes the pros and cons of strategies like
white lists and black lists and why input validation alone is not enough. It
also describes specifics such as how to prevent SQL injection and Cross Site
Scripting and how internationalization concerns need to be taken into account.


  • Preventing Hacking Attacks

  • Preparing for the Unexpected

  • Validation Strategies

  • Dealing with Internationalization



Error Handling and Exception Management



Failure is inevitable, but what should I expect? How do I ensure that I fail
closed and not open? Should I ever fail open? This section describes strategies
for error handling to ensure that you fail securely.


  • Designing for Failure

  • Failing Securely

  • Dealing with the Unexpected



Day 3 - Error Handling, Event Logging and Exception Management, and Web
Application Security



Day Three teaches students how to perform effective logging and how logging can
help enhance security. They are then taught how architecture and design patterns
can be applied to build secure designs and why it is important to not reinvent
the wheel. The afternoon walks students through top web application security
vulnerabilities including SQL Injection and Cross Site Scripting using the
Foundstone Hacme BankT, an ASP.NET banking application that demonstrates
hands-on flaws. Students get to exploit the vulnerabilities and are stimulated
to think about how to protect against them.


Event Logging



Trust but verify implies that events must be monitored and analyzed. This
section outlines event logging strategies and techniques that can be used to
capture security events and improve security through observation.


  • Designing Security Monitoring

  • Capturing Security Events

  • Tracking Security Problems



Architecture & Design Patterns



Many problems can be solved strategically or avoided altogether by architecture.
This section discusses network security architectures to support software
security and application architectures such as the Model View Controller (MVC).
Software engineers have been applying design patterns for a long time to improve
performance and create elegant designs. Most of these patterns also have
significant security benefits. This section describes the patterns' security
properties and when they may be appropriate. It concludes with the Military lab.


Web Application Security



Covering the OWASP top ten and beyond, this hands-on section has students
exploiting real world security vulnerabilities like SQL injection and Cross Site
Scripting on the Hacme Bank.



  • Building Reusable Security Components


  • Application Architecture [MVC II]


  • Supporting Secure Applications with Network Security Architectures

    • Appling Design Patterns for Security

    • Learning from the Real World





Platform and Web Services Security



  • Security in the JAVA and .NET Environments

  • Session Management

  • Common Attacks

  • Exploitation Strategies


  • Prevention and Countermeasures


Day 4 - Testing and Threat Modeling



Building a testing framework can be a complicated task. Students are presented
with a task orientated testing framework that they can take back to their own
environment and test their own software. They are then taught the nuts and bolts
of developing Threat Models and are required to use the Microsoft Threat
Modeling tool to develop a real world threat model using the Java or Microsoft
Pet Store reference architectures.


Software Security Testing




  • In the SDLC - Testing security is about testing people, process, policy, and
    technology. This section highlights the techniques and tasks that should be
    considered.


  • The Right Tools - There are a lot of security tools on the market, but are they
    effective? What tools should you consider for what tasks?


  • The Right Techniques - Black Box Testing, code review, threat modeling. What
    techniques should be a
 
     
     
  Audience  
 

Software professionals who define, design, and architect solutions, those who
manage software de

 
     
  Pre-requisites  
  PreReqs  
     
  Comments  
  For all course dates held in Canada, please add 5% GST to the course price. Canadian residents will need to add an additional 7% PST to the course price.  
     
     
 
On-Site Training Bring this Foundstone Building Secure Software training class in-house at your facility. Request More Information Request More Information On Foundstone Building Secure Software
 
Career Training
 
 
Career Training
  Foundstone Building Secure Software Training Course Dates and Locations  
     
  Course ID: 12034 | Course Duration: 4 Days  
     
  Locations:  
     
   User Incentive For Registering on TrainUp.com! Gift card when you register today!  
     
 
Start Date Price      Location/Event Details Register Online Request
More Info
  Print/Fax
Register
11/04/2008 $3,995.00    Dallas, TX Register Online For The 11/04/2008 Event Request More Information   Register By Fax For The 11/04/2008 Event
 
     
 
On-Site Training Bring this Foundstone Building Secure Software training class in-house at your facility. Request More Information Request More Information On Foundstone Building Secure Software
 
Career Training
 
 
Career Training
  Browse Our Catalog  
     
  Select a market segment to view more courses

 
     
  Or, select a category to view more Information Technology courses

 
     
  Browse By Category Browse By Category

Browse By Location Browse By Location

Browse New Courses Browse New Courses

 
     
Career Training
 
   
 
 
Career Training
   
Career Training
 
 
 
 






Site Map -- Top Training Courses -- Request On-Site Training

Find Jobs -- Degree Programs -- Training Providers -- Resource Center -- About Us -- Contact us

TrainUp.com Your Career Training Marketplace