Comprehensive C# and .NET Application Security Training Course
A variety of programming languages are available today to compile code for the .NET and ASP.NET frameworks. These environments offer robust tools for developing secure applications, but it is essential for developers to understand how to apply architectural and coding techniques effectively to implement security features and mitigate vulnerabilities or limit their exploitation.
The goal of this course is to equip developers with practical, hands-on exercises that teach them how to prevent untrusted code from performing privileged actions, protect resources through strong authentication and authorization, enable remote procedure calls, manage sessions, explore different implementations for specific functionality, and much more. A dedicated section focuses on configuring and hardening the .NET and ASP.NET environments for enhanced security.
A brief introduction to cryptography provides a practical foundation for understanding the purpose and operation of various algorithms. The course then delves into the cryptographic features available in .NET, followed by an exploration of recent crypto vulnerabilities related to specific algorithms, protocols, and side-channel attacks.
The discussion on different vulnerabilities begins with common programming issues when using .NET, such as input validation, error handling, and race conditions. Special attention is given to XML security, while the section on ASP.NET-specific vulnerabilities addresses unique challenges and attack methods, including ViewState attacks and string termination attacks.
Participants attending this course will
- Gain a fundamental understanding of security, IT security, and secure coding practices
- Learn to leverage various security features in the .NET development environment
- Develop a practical grasp of cryptography
- Understand recent attacks against cryptosystems
- Receive insights into recent vulnerabilities in .NET and ASP.NET
- Identify typical coding mistakes and learn how to avoid them
- Acquire practical knowledge in using security testing tools
- Access sources and further readings on secure coding practices
Audience
Developers
This course is available as onsite live training in Taiwan or online live training.Course Outline
- IT security and secure coding
- .NET security architecture and services
- Practical cryptography
- ASP.NET security architecture
- Cryptographic vulnerabilities
- RSA timing attack
- Features and vulnerabilities
- Denial of service
- ASP.NETconfiguration and hardening
- XML security
- Common coding errors and vulnerabilities
- Principles of security and secure coding
- Knowledge sources
Open Training Courses require 5+ participants.
Comprehensive C# and .NET Application Security Training Course - Booking
Comprehensive C# and .NET Application Security Training Course - Enquiry
Comprehensive C# and .NET Application Security - Consultancy Enquiry
Testimonials (5)
Multiple examples for each module and great knowledge of the trainer.
Sebastian - BRD
Course - Secure Developer Java (Inc OWASP)
Module3 Applications Attacks and Exploits, XSS, SQL injection Module4 Servers Attacks and Exploits, DOS, BOF
Tshifhiwa - Vodacom
Course - How to Write Secure Code
General course information
Paulo Gouveia - EID
Course - C/C++ Secure Coding
The trainer's subject knowledge was excellent, and the way the sessions were set out so that the audience could follow along with the demonstrations really helped to cement that knowledge, compared to just sitting and listening.
Jack Allan - RSM UK Management Ltd.
Course - Secure Developer .NET (Inc OWASP)
Nothing it was perfect.
Zola Madolo - Vodacom
Course - Android Security
Upcoming Courses
Related Courses
Android Security
14 HoursAndroid is an open platform designed for mobile devices, including handsets and tablets. It offers a wide range of security features to facilitate the development of secure software; however, it also lacks certain security aspects found in other handheld platforms. This course provides a comprehensive overview of these features and highlights the most critical shortcomings related to the underlying Linux system, the file system, and the general environment, as well as issues with permissions and other Android software development components.
Common security pitfalls and vulnerabilities are discussed for both native code and Java applications, along with recommendations and best practices to avoid and mitigate these issues. Many of the topics covered are supported by real-life examples and case studies. Additionally, the course offers a brief overview of how to use security testing tools to identify any programming bugs that could impact security.
Participants attending this course will
- Gain an understanding of basic concepts in security, IT security, and secure coding
- Learn about the security solutions available on Android
- Discover how to utilize various security features of the Android platform
- Receive information about recent vulnerabilities in Java applications on Android
- Understand typical coding mistakes and how to avoid them
- Gain insight into native code vulnerabilities on Android
- Recognize the severe consequences of insecure buffer handling in native code
- Comprehend architectural protection techniques and their potential weaknesses
- Access sources and further readings on secure coding practices
Audience
Professionals
Network Security and Secure Communication
21 HoursImplementing a secure networked application can be challenging, even for developers who have previously worked with various cryptographic components like encryption and digital signatures. To ensure participants grasp the role and usage of these cryptographic elements, we start by laying a solid foundation on the primary requirements of secure communication—secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. We also address typical issues that can compromise these requirements and present real-world solutions.
Given that cryptography is a critical aspect of network security, we delve into the most important cryptographic algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than delving into complex mathematical theories, these elements are discussed from a developer's perspective, with practical use-case examples and considerations related to implementing cryptographic solutions, such as public key infrastructures. We introduce security protocols across various secure communication areas, focusing on widely-used protocol families like IPSEC and SSL/TLS.
We discuss common cryptographic vulnerabilities associated with specific algorithms and protocols, including BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and similar issues, as well as the RSA timing attack. For each vulnerability, we describe practical implications and potential consequences without diving into deep mathematical details.
Since XML technology is central to data exchange in networked applications, we explore the security aspects of XML. This includes its use within web services and SOAP messages, along with protection measures like XML signatures and XML encryption. We also examine weaknesses in these protection measures and XML-specific security issues such as XML injection, XML external entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Comprehend the requirements for secure communication
- Learn about network attacks and defenses at different OSI layers
- Gain a practical understanding of cryptography
- Understand essential security protocols
- Be aware of recent attacks against cryptosystems
- Receive information on recent related vulnerabilities
- Understand the security concepts of Web services
- Get sources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursThis three-day course provides an overview of securing C/C++ code to protect against malicious users who might exploit vulnerabilities related to memory management and input handling. The course delves into the principles of writing secure code.
Advanced Java Security
21 HoursEven experienced Java programmers may not fully grasp all the security features provided by Java, nor are they always aware of the various vulnerabilities that can affect web applications built with Java.
This course covers more than just the security components of Standard Java Edition; it delves into the security challenges of Java Enterprise Edition (JEE) and web services. Before diving into specific services, the course provides a foundation in cryptography and secure communication. Practical exercises explore both declarative and programmatic security techniques in JEE, as well as transport-layer and end-to-end security for web services. Participants will engage in several hands-on exercises to familiarize themselves with the APIs and tools discussed.
The course also examines and explains the most common and critical programming flaws in the Java language and platform, along with web-related vulnerabilities. It covers not only typical bugs made by Java programmers but also issues specific to the language and problems arising from the runtime environment. Each vulnerability and attack is demonstrated through straightforward exercises, followed by recommended coding guidelines and mitigation techniques.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to prevent them
- Grasp the security principles of web services
- Become proficient in using various security features of the Java development environment
- Gain a practical understanding of cryptography
- Understand the security solutions provided by Java EE
- Learn about common coding mistakes and how to avoid them
- Stay informed about recent vulnerabilities in the Java framework
- Acquire practical knowledge in using security testing tools
- Access resources and further readings on secure coding practices
Audience
Developers
Standard Java Security
14 HoursDescription
The Java language and the Runtime Environment (JRE) were designed to avoid many of the most common security vulnerabilities found in other languages, such as C/C++. However, software developers and architects need to be well-versed not only in utilizing the various security features of the Java environment (positive security) but also in understanding the numerous vulnerabilities that remain relevant for Java development (negative security).
Before delving into security services, the course provides a brief overview of cryptography fundamentals, ensuring everyone has a common foundation to understand the purpose and operation of the applicable components. Participants will engage in several practical exercises where they can experiment with these APIs firsthand.
The course also explores and explains the most frequent and severe programming flaws in the Java language and platform. It covers both typical bugs made by Java programmers and issues specific to the language and environment. Each vulnerability and relevant attack is demonstrated through straightforward exercises, followed by recommended coding guidelines and mitigation techniques.
Participants attending this course will
- Gain a solid understanding of basic security concepts, IT security, and secure coding practices
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to prevent them
- Become proficient in using various security features within the Java development environment
- Develop a practical understanding of cryptography
- Identify typical coding mistakes and learn how to avoid them
- Stay informed about recent vulnerabilities in the Java framework
- Receive sources and further readings on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursA variety of programming languages are available today for compiling code to the .NET and ASP.NET frameworks. These environments offer robust tools for security development, but it is essential for developers to understand how to apply architectural and coding techniques to implement effective security measures and minimize vulnerabilities or their exploitation.
The goal of this course is to teach developers through numerous hands-on exercises how to prevent untrusted code from executing privileged actions, secure resources with strong authentication and authorization, facilitate remote procedure calls, manage sessions, explore different implementations for specific functionalities, and much more.
The introduction to various vulnerabilities begins by discussing typical programming issues that arise when using .NET. The discussion on ASP.NET vulnerabilities also covers different environment settings and their impacts. Additionally, the course addresses ASP.NET-specific vulnerabilities, including general web application security challenges as well as special issues and attack methods such as attacking the ViewState or string termination attacks.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about Web vulnerabilities beyond the OWASP Top Ten and how to mitigate them
- Gain knowledge in utilizing various security features of the .NET development environment
- Acquire practical experience with security testing tools
- Become familiar with common coding errors and learn how to avoid them
- Stay informed about recent vulnerabilities in .NET and ASP.NET
- Receive resources and further readings on secure coding practices
Audience
Developers
The Secure Coding Landscape
14 HoursThis course provides an introduction to common security concepts, offering a broad overview of vulnerabilities that are prevalent across different programming languages and platforms. It explains how to manage the risks associated with software security throughout the various phases of the software development lifecycle. While avoiding deep technical details, it highlights some of the most significant and painful vulnerabilities found in various software development technologies. Additionally, it addresses the challenges of security testing, presenting techniques and tools that can be used to identify and address any existing issues in your code.
Participants attending this course will
- Gain an understanding of fundamental concepts in security, IT security, and secure coding
- Comprehend Web vulnerabilities on both the server and client sides
- Recognize the serious consequences of improper buffer handling
- Stay informed about recent vulnerabilities in development environments and frameworks
- Learn about common coding mistakes and how to avoid them
- Understand different approaches and methodologies for security testing
Audience
Managers
Secure coding in PHP
21 HoursThe course equips PHP developers with the essential skills needed to protect their applications from modern internet attacks. It delves into web vulnerabilities through practical PHP-based examples, extending beyond the OWASP Top Ten to cover a wide range of issues such as injection attacks, script injections, session handling attacks in PHP, insecure direct object references, file upload problems, and more. Vulnerabilities specific to PHP are categorized into standard types like missing or improper input validation, incorrect error and exception handling, misuse of security features, and time- and state-related issues. Examples of the latter include open_basedir circumvention, denial-of-service through magic float, and hash table collision attacks. Participants will become familiar with key techniques and functions to mitigate these risks.
Special attention is given to client-side security, addressing JavaScript, Ajax, and HTML5 vulnerabilities. The course introduces several PHP extensions for security purposes, such as hash, mcrypt, and OpenSSL for cryptography, and Ctype, ext/filter, and HTML Purifier for input validation. Best practices for hardening PHP configuration (php.ini), Apache, and the server in general are also covered. Additionally, an overview of various security testing tools and techniques is provided, including security scanners, penetration testing and exploit packs, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both vulnerability introductions and configuration practices are reinforced with hands-on exercises that demonstrate the consequences of successful attacks, illustrate how to apply mitigation techniques, and introduce the use of various extensions and tools.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to prevent them
- Gain knowledge on client-side vulnerabilities and secure coding practices
- Develop a practical understanding of cryptography
- Learn to utilize various security features in PHP
- Identify common coding mistakes and learn how to avoid them
- Stay informed about recent vulnerabilities in the PHP framework
- Acquire practical knowledge in using security testing tools
- Receive sources and further reading materials on secure coding practices
Audience
Developers
Microsoft SDL Core
14 HoursThe Comprehensive SDL core training offers an overview of secure software design, development, and testing based on Microsoft's Secure Development Lifecycle (SDL). It begins with a level 100 introduction to the foundational components of SDL, followed by design strategies aimed at identifying and correcting flaws early in the development process.
During the development phase, the course covers common security-related programming bugs in both managed and native code. Various attack methods for these vulnerabilities are discussed along with their respective mitigation techniques, all demonstrated through practical exercises that provide an engaging hands-on experience. The training also introduces different security testing approaches and showcases the effectiveness of various testing tools. Participants gain a deeper understanding of these tools by applying them to previously discussed vulnerable code in several practical exercises.
Participants attending this course will
Grasp fundamental concepts of security, IT security, and secure coding
Become familiar with the critical steps of Microsoft's Secure Development Lifecycle
Acquire knowledge on secure design and development practices
Learn principles of secure implementation
Understand methodologies for security testing
- Receive resources and additional reading materials on secure coding practices
Audience
Developers, Managers
Security Testing
14 HoursAfter gaining an understanding of vulnerabilities and attack methods, participants will delve into the general approach and methodology for security testing. They will learn various techniques that can help uncover specific vulnerabilities. Security testing typically begins with gathering information about the system (ToC, or Target of Evaluation). A comprehensive threat modeling process should then identify and prioritize all potential threats, leading to a risk analysis-driven test plan.
Security evaluations can be conducted at different stages of the Software Development Life Cycle (SDLC). Therefore, we will cover topics such as design review, code review, system reconnaissance and information gathering, implementation testing, and environment testing for secure deployment. The course introduces a range of security testing techniques in detail, including taint analysis, heuristic-based code review, static code analysis, dynamic web vulnerability testing, and fuzzing. Various tools are also discussed to automate the security evaluation of software products, with practical exercises where participants can use these tools to analyze known vulnerable code. Real-life case studies enhance understanding of various vulnerabilities.
This course equips testers and QA staff with the skills needed to effectively plan and execute security tests, select and utilize appropriate tools and techniques to uncover even hidden security flaws. Participants will gain essential practical skills that they can apply immediately in their work.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about Web vulnerabilities beyond the OWASP Top Ten and how to mitigate them
- Explore client-side vulnerabilities and secure coding practices
- Grasp security testing approaches and methodologies
- Acquire practical knowledge in using security testing techniques and tools
- Access sources and further readings on secure coding practices
Audience
Developers, Testers
Secure Web Application Development and Testing
21 HoursProtecting web-accessible applications necessitates well-prepared security professionals who are always aware of the latest attack methods and trends. A wide array of technologies and environments facilitate comfortable development of web applications. It is crucial not only to be aware of security issues specific to these platforms but also to understand general vulnerabilities that apply regardless of the development tools used.
This course provides an overview of applicable security solutions in web applications, with a particular emphasis on understanding key cryptographic solutions. Various web application vulnerabilities are discussed, both on the server side (in line with the OWASP Top Ten) and the client side. These vulnerabilities are demonstrated through relevant attacks, followed by recommended coding techniques and mitigation methods to prevent associated issues. The course also delves into typical security-related programming mistakes in areas such as input validation, improper use of security features, and code quality.
Testing plays a crucial role in ensuring the security and robustness of web applications. Multiple approaches—from high-level auditing through penetration testing to ethical hacking—can be employed to identify vulnerabilities of different types. However, to go beyond easily identifiable issues, security testing must be well-planned and executed effectively. It's important to remember that while security testers should ideally find all bugs to protect a system, adversaries only need to find one exploitable vulnerability to penetrate it.
Practical exercises will help participants understand web application vulnerabilities, programming mistakes, and most importantly, mitigation techniques. Hands-on trials of various testing tools—from security scanners and sniffers to proxy servers, fuzzing tools, and static source code analyzers—will provide essential practical skills that can be immediately applied in the workplace.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to avoid them
- Understand client-side vulnerabilities and secure coding practices
- Gain practical knowledge of cryptography
- Comprehend different approaches and methodologies in security testing
- Acquire practical skills in using security testing techniques and tools
- Stay informed about recent vulnerabilities in various platforms, frameworks, and libraries
- Access sources and further readings on secure coding practices
Audience
Developers, Testers
DevOps Security: Creating a DevOps Security Strategy
7 HoursIn this instructor-led, live course in Taiwan, participants will learn how to formulate the proper security strategy to face the DevOps security challenge.
How to Write Secure Code
35 HoursThis Course in Taiwan aims to help in the following:
- Help Developers to master the techniques of writing Secure Code
- Help Software Testers to test the security of the application before publishing to the production environment
- Help Software Architects to understand the risks surrounding the applications
- Help Team Leaders to set the security base lines for the developers
- Help Web Masters to configure the Servers to avoid miss-configurations
Secure Developer Java (Inc OWASP)
21 HoursThis course delves into secure coding concepts and principles using Java, leveraging the Open Web Application Security Project (OWASP) methodology for testing. OWASP is an online community that develops and provides freely accessible articles, methodologies, documentation, tools, and technologies focused on enhancing web application security.
Secure Developer .NET (Inc OWASP)
21 HoursThis course delves into secure coding concepts and principles using ASP.NET, leveraging the Open Web Application Security Project (OWASP) methodology for testing. OWASP is an online community that develops freely available articles, methodologies, documentation, tools, and technologies in the realm of web application security.
The course examines the security features of the .NET Framework and how to secure web applications effectively.