MS 2350 - Developing and Deploying Secure Microsoft .NET Framework Applications

**Please note that CompuWorks will only accept students registering through a company or organization. Please click here for more information**

 

Description:     This three-day instructor-led course teaches developers to develop and deploy secure Microsoft .NET client applications by using Microsoft Visual Studio .NET and the Microsoft .NET Framework. The course provides an overview of security; discusses design issues, including threat modeling techniques and coding techniques that enhance security; and explains why type-safety verification is the cornerstone of Microsoft .NET Framework security. This course provides side-by-side coding examples and activities written in both Microsoft Visual Basic .NET and Microsoft Visual C#.

 

Days:                3

 

Prerequisites:   Before attending this workshop, students must:

•     Developers who will gain the most from this course have a working understanding of the .NET Framework and some project experience writing .NET Framework client applications by using either Visual Basic .NET or Visual C#. Before attending this course, students must have:

•     Experience developing applications by using the .NET Framework, including using:

•     The common language runtime

•     Managed execution

•     Basic file I/O classes, such as the FileStream class

•     Students can satisfy the prerequisites for this course by attending Course 2349: Programming with the  Microsoft .NET Framework (Microsoft Visual C# .NET), or Course 2415: Programming with the Microsoft .NET Framework (Microsoft Visual Basic .NET).

•     Programming experience with Visual Basic .NET or Visual C#, including:

•     Opening, building, running, and debugging projects in Visual Studio .NET

•     Declaring variables and using loops and conditional statements

•     Creating classes and methods

•     Using attributes

•     Students can satisfy the prerequisites for Visual Basic .NET by completing Course 2559: Introduction to Visual Basic .NET Programming with Microsoft .NET,or Course 2373: Programming with Microsoft Visual Basic .NET.

•     Students can satisfy the prerequisites for Visual C# by completing Course 2124: Programming with C#, or Course 2609: Introduction to C# Programming with Microsoft .NET.

 

Audience:        This course is intended for experienced professional software developers who work on development teams in a corporate enterprise or for independent software vendors. These developers may also develop enterprise level applications in a networked environment.

 


 

Module 1: Introduction to .NET Framework Security and Deployment

This module introduces concepts and terminology, including a working definition of assembly, that are related to security and deployment in the Microsoft .NET Framework.

Lessons

·         Introduction to .NET Assemblies

·         Overview of Security Measures

·         Overview of Deployment Concepts

Module 2: Viewing Metadata and Using Reflection

This module discusses metadata as it applies to assemblies and types. Reading metadata in Microsoft intermediate language (MSIL) code enables you to understand and troubleshoot assembly and type references. This module also discusses techniques for programmatically accessing metadata by using reflection.

Lessons

·         Viewing Metadata

·         Using Reflection

Module 3: Secure Coding and Type-Safety Verification

This module provides an overview of security, discusses some design and coding techniques that enhance security, and then explains why type-safety verification is the cornerstone of Microsoft .NET Framework security.

Lessons

·         Security Basics

·         Creating and Using a Threat Model

·         Type-Safety Verification

Module 4: Cryptography and Digital Signing

This module discusses cryptography and digital signing. These technologies involve the protection of data and code. You can encrypt data to prevent unauthorized users from viewing it, and you can sign both data and code to prevent tampering and to identify the sender. The Microsoft .NET Framework provides extensive support for cryptography and data signing.

Lessons

Cryptography and Signing Basics

·         Encrypting and Decrypting Data with a Symmetric Algorithm

·         Encrypting, Decrypting, and Signing Data with an Asymmetric

      Algorithm

·         Signing Code

Lab: Encrypting and Decrypting Text with a Password

Module 5: Code Access Security

This module discusses code access security. This feature of the .NET Framework allows the developer and the systems administrator to exercise precise control over the resources that code is given permission to access. You can use tools and classes that are provided with the Microsoft .NET Framework to view and modify how code access security is implemented in your application.

Lessons

·         Overview of Code Access Security

·         Modifying Security Policy

·         Security Operations Basics

·         Performing Imperative Security Operations

·         Performing Declarative Security Operations

·         Adding Permission Requests

Lab: Using Code Access Security

Module 6: Role-Based Security

This module discusses programming techniques for implementing role-based security by using the Microsoft .NET Framework.

Lessons

·         Role-Based Security Basics

·         Role-Based Security with Principal and Identity Objects

·         Role-Based Security with Permission Objects

Lab: Role-Based Security

Module 7: Isolated Storage

This module discusses isolated storage, what it is, the advantages of using it, and how to use it.

Lessons

·         Isolated Storage Basics

·         Using Isolated Storage

Module 8: Creating an Assembly

This module describes why and how to deploy an assembly either as a single file or as multiple files. It then describes why and how to deploy an assembly privately or as a shared assembly.

Lessons

·         Creating Single-File and Multifile Assemblies

·         Creating Privately Deployed and Shared Assemblies

Module 9: Deploying .NET Framework Applications

This module discusses specific reasons for using each deployment option. It also describes how to create deployment projects and how to customize deployment.

Lessons

·         Overview of Deployment

·         Creating a Setup Project

Module 10: Assembly Binding and Configuration

This module covers how to configure assembly binding by using the Microsoft .NET Framework. The ability to manage assembly binding allows you to perform the following deployment tasks:

Deployment of an updated shared component across an enterprise.

Allow a specific application to continue to use an earlier version of a shared assembly.

Enforce binding policy across the enterprise without exception.

Lessons

·         Versioning and Assembly Binding Basics

·         Configuration File Syntax

·         Creating Policy Configuration Files

Mar 13, 2012 - Mar 15, 2012
Apr 09, 2012 - Apr 11, 2012
May 22, 2012 - May 24, 2012
Jun 06, 2012 - Jun 08, 2012
Jul 17, 2012 - Jul 19, 2012
Aug 06, 2012 - Aug 08, 2012
Sep 18, 2012 - Sep 20, 2012
Oct 10, 2012 - Oct 12, 2012
Nov 19, 2012 - Nov 21, 2012
Dec 05, 2012 - Dec 07, 2012



Price: $1,350