Defensive Coding for C#
Overview/Description
Target Audience
Prerequisites
Expected Duration
Lesson Objectives
Course Number
Expertise Level
Overview/Description
Defensive Programming is a methodology for writing code that is not prone to present or future errors potentially caused by unexpected user inputs/actions. In this course you will explore common risks to C#, how to counter common risks, the best way to deal with user input, and finally how to secure WCF applications.
Target Audience
Developers seeking an introductory guide to developing efficient, secure, applications that are defendable against a variety of issues
Prerequisites
None
Expected Duration (hours)
1.9
Lesson Objectives Defensive Coding for C#
start the course
list potential risks to C# UI applications
describe what buffer overflows are and their impact
identify how to prevent buffer overflows
identify what form injection attacks typically take in C# applications
describe how to mitigate injection attacks in C# applications
identify how to prevent shatter attacks in .NET applications
recognize how to prevent DLL highjacking in .NET applications
use exceptions in C# applications
specify how to deal with bad data in your C# applications
how to use input validation in a C# application
how to use regular expressions to help in input validation
recognize how to constrain user input to prevent bad data input
describe what SQL injection attacks are
recognize how to use Stored Procedures to aid in the defense of SQL injection attacks
describe some of the pitfalls of using dynamic SQL
illustrate how authentication works in WCF
recognize how to verify service identities
identify how to prevent NTLM attacks
recognize how to work with the WindowsIdentity class
describe potential XML risks in ASP.NET applications
identify how to prevent against XML Entity expansion attacks
list the potential problems that path traversal may cause
recognize how to prevent path traversal attacks
use defensive coding techniques to create secure C# application
Course Number: sd_dpcs_a02_it_enus
Expertise Level
Intermediate