Home > Training > SNWS

Securing .NET Web Services (SNWS)

Course Description Schedule Course Outline
 

Course Content

Designing, implementing, and deploying secure services presents unique challenges. In addition to dealing with all of the vulnerabilities and attacks associated with web applications, web services must address business-oriented concerns such as authentication, authorization, non-repudiation and others. The complicating factor is that all measures must be implemented within the constraints of standards and high levels of interoperability.

This course quickly introduces developers to the most common security vulnerabilities faced by web applications today. Each vulnerability is examined from a Net perspective through a process of describing the threat and attack mechanisms, recognizing associated vulnerabilities, and, finally, designing, implementing, and testing effective defenses. In many cases, there are labs that 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 applications. This class is “technology-centric”, designed to train you in essential secure coding and development skills, coupling the most current, effective techniques with the soundest industry practices. This workshop is about 50% dynamic lab exercises and 50% lecture.

In addition to teaching basic programming skills, this course digs deep into sound processes and practices that apply to the entire software-development life cycle. In this course, you will thoroughly examine best practices for defensively coding .Net services, including XML processing. You will repeatedly attack and then defend various assets associated with fully-functional web services. This hands-on approach drives home the mechanics of how to secure .Net web services in the most practical of terms. You 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.

Who should attend

  • Securing .Net Web Services is a lab-intensive, hands-on .Net security training course, essential for experienced enterprise developers who need to produce secure .Net-based web services.

Prerequisites

  • Familiarity with the C# programming language is required
  • Real world programming experience is highly recommended

Course Objectives

Working in a lab-intensive, hands-on programming environment, led by our security experts, you will learn to:

  • 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
  • Be able to test web applications 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 vulnerabilities associated with authentication and authorization
  • Be able to 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
  • Be able to 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
  • 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 code reviews and dynamic application testing to uncover vulnerabilities in web applications
  • Design and develop strong, robust authentication and authorization implementations within the context of .NET
  • Understand the fundamentals of XML Digital Signature and XML Encryption as well as how they are used within the web services arena
  • Be able to detect, attack, and implement defenses for XML-based services and functionality
  • Understand techniques and measures that can used to harden web and application servers as well as other components in your infrastructure

Comments

What’s included?

Our robust course materials include much more than a simple slideshow presentation handout. Student materials include a comprehensive hard-copy course manual, complete with detailed course notes, code samples, diagrams and current reference materials, all directly related to the course at hand, indexed for ease of use. Step-by-step lab instructions and project descriptions are clearly illustrated and commented for maximum learning and ease of use. This course also includes:

  • Basic course pre-testing and/or post-course assessments
  • Ability to customize the courseware, adapting it to your companies policies, procedures and plans

Detailed Course Outline

Session 1: Foundation

Misconceptions

  • 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
  • OWASP
  • CWE/SANS Top 25 Programming Errors
  • Categories
  • What they mean to your services

Defensive Coding Principles

Reality

  • Recent, Relevant Incidents
  • Find Security Defects In Web Application
Session 2: SOA Security Overview

Challenges

  • Identity and Propagation
  • Real-time Transactions
  • Diverse Environments
  • Information Protection
  • Standards Compliance

Services and Security

  • SOA Components
  • Service Lifecycle
  • Security Policies

Security Services

  • Identity
  • Authentication
  • Authorization
  • Confidentiality/Integrity
  • Auditing
  • Non-repudiation
Session 3: Applying Security to Services

Direct Service Exposure

Indirect Service Exposure

Enterprise Service Bus (ESB)

  • Mediating Security Services
  • Transport-Level Security
  • Message-Level Security
  • Policy Enforcement
  • Policy Management
  • Protecting the ESB

Composed Services

  • Single-Sign On
  • Trust Relationships
  • Trust Relationships and Web Services
Session 4: Defending XML Processing

Defending XML

  • Understanding common attacks and how to defend
  • Operating in safe mode
  • Using standards-based security
  • XML-aware security infrastructure

Defending Web Services

  • Security exposures
  • Transport-level security
  • Message-level security
  • WS-Security
  • Attacks and defenses

Session 5: WS-Security

  • WS-Security
  • WS-Security Stack
  • Best Practices

XML Digital Signature

  • Architecture
  • Working with XML Digital Signature
  • Integrating XML Digital Signature into Web Services
  • Best Practices
Session 6: Top Security Vulnerabilities
  • Unvalidated Input
  • Overview of Regular Expressions
  • Broken Access Control
  • Broken Authentication and Session Management
  • Cross Site Scripting (XSS/CSRF) Flaws
  • Injection Flaws
  • Error Handling and Information Leakage
  • Insecure Storage
  • Insecure Management of Configuration
  • Direct Object Access
  • Spoofing
Session 7: Best Practices

Best Practices and 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
  • Web Application Security Design Patterns
  • Authentication Enforcer
  • Authorization Enforcer
  • Intercepting Validator
  • Secure Base Action
  • Secure Logger
  • Secure Pipe
  • Secure Service Proxy
  • Intercepting Web Agent
Session 8: 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 9: Security Testing

Testing as Lifecycle Process

Testing Planning and Documentation

Testing Tools and Processes

  • Principles
  • Reviews
  • Testing
  • Tools

Static and Dynamic Code Analysis

Testing Practices

  • Authentication Testing
  • Session Management Testing
  • Data Validation Testing
  • Denial of Service Testing
  • Web Services Testing

Duration: 4 days

 
Live chat by BoldChat