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. In addition to teaching basic programming skills, this course digs deep into sound processes and practices that apply to the entire software development lifecycle.

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.

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-level s of inter-operability.

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.

This course quickly introduces you 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. Multiple practical labs reinforce these concepts with real vulnerabilities and attacks. You will be challenged to design and implement the layered defenses you will need to defend your own applications.

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 trying to defend 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.

A key component to our Best Defense IT Security Training Series, this workshop is a companion course with several developer-oriented courses and seminars. Although this edition of the course is .Net-specific, it may also be presented using Java or other programming languages.

    No classes are currenty scheduled for this course.

    Call (919) 283-1653 to get a class scheduled online or in your area!

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

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

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

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

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

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

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

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

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

*Please Note: Course Outline is subject to change without notice. Exact course outline will be provided at time of registration.
  • Potential sources for untrusted data
  • Consequences for not properly handling untrusted data such as denial of service, cross-site scripting, and injections
  • 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
  • Vulnerabilities of associated with authentication and authorization
  • Detect, attack, and implement defenses for authentication and authorization functionality and services
  • Dangers and mechanisms behind Cross-Site Scripting (XSS) and Injection attacks
  • Detect, attack, and implement defenses against XSS and Injection attacks
  • Concepts and terminology behind defensive, secure, coding
  • Using 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 .Net-based web applications
  • Basics of XML Encryption as well as how it can be used as part of the defensive infrastructure for web services
  • Basics of XML Digital Signature as well as how it can be used as part of the defensive infrastructure for web services
  • Defend vulnerabilities that are specific to XML and XML parsers

This intermediate-level .Net programming course is designed for application project stakeholders who wish to get up and running on developing well defended .Net applications.

Ready to Jumpstart Your IT Career?