| Course OutlineModule 1: Introduction to Web Security This module provides an overview of the terms and concepts of, along with the justification for, Web security. Lessons - Why Build Security-Enhanced Web Applications?
- Using the STRIDE Model to Determine Threats
- Implementing Security: An Overview
After completing this module, students will be able to: Describe why security is an essential consideration in Web application development. Describe the basic methods of cryptography, hashing, and digital signing. Module 2: Planning for Web Application SecurityThis module describes the general process of incorporating security in the Web application planning and design process. Lessons - A Design Process for Building Security-Enhanced Web Applications
After completing this module, students will be able to: Describe the iterative process of designing security into a Web application and be able to describe how each step relates to the other steps. Categorize and identify the most common types of attacks, the potential threat that those attacks pose to systems, services, and data within the organization, and the relationship between these threats. Module 3: Validating User InputThis module explains the methods that can be used for checking user input, along with a discussion of the consequences of not performing those checks. Lessons - User Input
- Types of User Input Attacks
- Performing Validation
- Revealing as Little Information as Possible to the User
Lab : Verifying User Input- The student will be given the task of identifying and repairing several unchecked user input fields on the checkout shipping screen.
After completing this module, students will be able to: Identify the sources of user input in a Web application. Describe the security aspects of the client/server Web paradigm. Implement user input verification. Use communications analysis and coding best practices to avoid providing information to users that can be leveraged for security attacks. Use proper error handling to help ensure all fallback paths are expected, wanted, and do not suspend resource allocations. Reduce the impact of enialerviceDenial of Service (DoS) attacks of varying types, such as application crashing, CPU starvation, resource starvation, and bandwidth choking. Module 4: Internet Information Services AuthenticationThe following topics are covered in this module: Lessons - Introduction to Web Client Authentication
- Configuring Access Permission for a Web Server
- Selecting a Security-Enhanced Client Authentication Method
- Running Services As an Authenticated User
Lab : Authentication and Access Control- Students will configure and implement the authentication and process identification for the online store Web application.
After completing this module, students will be able to: Describe all of the authentication methods that are supported by IIS and Windows 2000 Server and be able to select the best method for a given set of requirements. Use knowledge of Windows 2000 access control mechanisms and process identification to properly configure identities for all of the processes in an ASP/COM+ Web application processing path. Use knowledge of Windows 2000 access control mechanisms and process identification to properly configure resource access for the identities that are defined for a Web application. Module 5: Securing Web PagesThis module covers security in the context of Web applications that are built by using the .NET framework. Lessons - ASP Forms-Based Authentication
- .NET Code Access and Role-Based Security
- Overview of ASP.NET Authentication Methods
- Working with Windows-Based Authentication in ASP.NET security
- Working with ASP.NET Forms-Based Authentication
Lab : Securing Web Pages- Students will be given the task of completing the implementation of an ASP.NET Web application and setting up the authentication and impersonation methods
After completing this module, students will be able to: Describe the elements that make up the core security model of the .NET Framework. Use security best practices and a complete understanding of the security model while implementing ASP.NET Web applications. Module 6: Securing File System DataThis module teaches a Web developer how to help protect file system data that is typically part of a Web application. Lessons - Overview of Securing Files
- Windows Access Control
- Creating ACLs Programmatically
- Helping to Protect ASP.NET Web Application Files
Lab : Securing Files with ACLs- The students will help protect file system data on an ASP.NET page.
After completing this module, students will be able to: Describe how the Windows access control mechanisms are used to help protect file system data. Use the features of Windows to help protect Web application data from tampering. Use ASP.NET Web.config files to restrict access to files that are located in an ASP.NET Web application. Module 7: Securing Microsoft SQL ServerThis module will teach students how to help protect Web applications from SQL Server injection attacks. Lessons - SQL Server Connections and Security
- SQL Server Role-Based Security
- Securing SQL Server Communication
- Preventing SQL Injection Attacks
Lab : Securing Microsoft SQL Server Data- The student will be given the task of repairing the Web application implementation by using stored procedures and Microsoft ActiveX Data Objects (ADO) command parameters.
After completing this module, students will be able to: Module 8: Helping to Protect Communication Privacy and Data IntegrityThis module teaches the mechanisms that can be used to help ensure Web communication privacy and message data integrity, along with the guidelines for their proper use. The guidelines are presented as an attempt to avoid the common implementation mistakes that can compromise security and performance. Lessons - Introduction to Cryptography
- Working with Digital Certificates
- Management
- Using Secure Sockets Layer/Transport Layer Security Protocols
- Using Internet Protocol Security
Lab : Obtaining a Server CertificateLab : Helping to Protect Communication Privacy and Data Integrity- Students will determine what portions of the course Web application require communication privacy and they will then implement SSL-enhanced protection for those portions.
After completing this module, students will be able to: Module 9: Encrypting, Hashing, and Signing DataThis module explains how to use the cryptographic functionality, supported by Microsoft platforms, to encrypt and sign data. Lessons - Encryption and Digital Signing Libraries
- Using CAPICOM
- Using System.Security.Cryptography Namespace to Hash Data
- Using System.Security.Cryptography Namespace to Encrypt and Sign Data
Lab : Hashing Data- Students will sign the contents of a file when it is stored and verify that signature to help ensure data validity when the value is read again.
After completing this module, students will be able to: Module 10: Testing Web Applications for SecurityThis module will provide students with the skills and knowledge that are required to properly test a Web implementation for security. Lessons - Testing Security in a Web Application
- Creating a Security Test Plan
- Performing Security Testing
Lab : Test Cases for Security Testing- Students will perform test cases on the course Web application.
After completing this module, students will be able to: Differentiate security testing from other types of testing. Create a security test plan. Successfully carry out a security test plan.
|
| |