Comprehensive C# and .NET Application Security Training Course
A number of programming languages are available today to compile code to .NET and ASP.NET frameworks. The environment provides powerful means for security development, but developers should know how to apply the architecture- and coding-level programming techniques in order to implement the desired security functionality and avoid vulnerabilities or limit their exploitation.
The aim of this course is to teach developers through numerous hands-on exercises how to prevent untrusted code from performing privileged actions, protect resources through strong authentication and authorization, provide remote procedure calls, handle sessions, introduce different implementations for certain functionality, and many more. A special section is devoted to configuration and hardening of the .NET and ASP.NET environment for security.
A brief introduction to the foundations of cryptography provides a common practical baseline for understanding the purpose and the operation of various algorithms, based on which the course presents the cryptographic features that can be used in .NET. This is followed by the introduction of some recent crypto vulnerabilities both related to certain crypto algorithms and cryptographic protocols, as well as side-channel attacks.
Introduction of different vulnerabilities starts with presenting some typical programming problems committed when using .NET, including bug categories of input validation, error handling or race conditions. A special focus is given to XML security, while the topic of ASP.NET-specific vulnerabilities tackles some special issues and attack methods: like attacking the ViewState, or the string termination attacks.
Participants attending this course will
- Understand basic concepts of security, IT security and secure coding
- Learn to use various security features of the .NET development environment
- Have a practical understanding of cryptography
- Understand some recent attacks against cryptosystems
- Get information about some recent vulnerabilities in .NET and ASP.NET
- Learn about typical coding mistakes and how to avoid them
- Get practical knowledge in using security testing tools
- Get sources and further readings on secure coding practices
Audience
Developers
This course is available as onsite live training in Serbia 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 for mobile devices such as handsets and tablets. It has a large variety of security features to make developing secure software easier; however, it is also missing certain security aspects that are present in other hand-held platforms. The course gives a comprehensive overview of these features, and points out the most critical shortcomings to be aware of related to the underlying Linux, the file system and the environment in general, as well as regarding using permissions and other Android software development components.
Typical security pitfalls and vulnerabilities are described both for native code and Java applications, along with recommendations and best practices to avoid and mitigate them. In many cases discussed issues are supported with real-life examples and case studies. Finally, we give a brief overview on how to use security testing tools to reveal any security relevant programming bugs.
Participants attending this course will
- Understand basic concepts of security, IT security and secure coding
- Learn the security solutions on Android
- Learn to use various security features of the Android platform
- Get information about some recent vulnerabilities in Java on Android
- Learn about typical coding mistakes and how to avoid them
- Get understanding on native code vulnerabilities on Android
- Realize the severe consequences of unsecure buffer handling in native code
- Understand the architectural protection techniques and their weaknesses
- Get 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 used various cryptographic components like encryption and digital signatures. To help participants grasp the role and usage of these cryptographic tools, a solid foundation is laid on the primary requirements of secure communication—secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. The course also highlights typical issues that can compromise these requirements and offers practical solutions.
Cryptography plays a crucial role in network security, and the most important cryptographic algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement are thoroughly discussed. Rather than delving into complex mathematical theories, these elements are presented from a developer's perspective, with examples of typical use cases and practical considerations related to cryptography, such as public key infrastructures. Security protocols across various secure communication areas are introduced, with an in-depth focus on widely-used protocol families like IPSEC and SSL/TLS.
Common cryptographic vulnerabilities are examined, including those related to specific algorithms and protocols like BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and similar issues, as well as the RSA timing attack. Each vulnerability is described in terms of practical implications and potential consequences, avoiding deep mathematical details.
Since XML technology is fundamental for data exchange in networked applications, the course covers the security aspects of XML. This includes the use of XML within web services and SOAP messages, along with protection measures such as XML signatures and XML encryption. The course also addresses weaknesses in these protection measures and XML-specific security issues like XML injection, XML external entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Gain an understanding of basic concepts in security, IT security, and secure coding
- Understand the requirements for secure communication
- Learn about network attacks and defenses at different OSI layers
- Acquire a practical understanding of cryptography
- Understand essential security protocols
- Learn about recent attacks against cryptosystems
- Receive information on recent related vulnerabilities
- Understand the security concepts of web services
- Access sources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursThis three-day course delves into the fundamentals of securing C/C++ code against potential exploits by malicious users. It focuses on common vulnerabilities related to memory management and input handling, emphasizing the principles of writing secure code.
Advanced Java Security
21 HoursEven experienced Java programmers may not fully grasp the various security services provided by Java, nor are they always aware of the specific vulnerabilities relevant to web applications developed in Java.
This course delves into the security components of Standard Java Edition and addresses security concerns in Java Enterprise Edition (JEE) and web services. Before discussing specific services, it covers the fundamentals of cryptography and secure communication. The course includes a variety of exercises on declarative and programmatic security techniques in JEE, as well as transport-layer and end-to-end security for web services. Practical exercises allow participants to explore the discussed APIs and tools firsthand.
The course also examines and explains the most common and severe programming flaws in the Java language and platform, along with web-related vulnerabilities. It covers both language-specific issues and problems arising from the runtime environment. Each vulnerability and associated attack is demonstrated through straightforward exercises, followed by recommended coding guidelines and mitigation techniques.
Participants attending this course will
- Understand basic 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 offered by Java EE
- Learn about typical coding mistakes and how to avoid them
- Receive information on recent vulnerabilities in the Java framework
- Acquire practical knowledge in using security testing tools
- Access sources and further readings on secure coding practices
Audience
Developers
Standard Java Security
14 HoursDescription
The Java language and Runtime Environment (JRE) were designed to mitigate the most common security vulnerabilities found in other languages, such as C/C++. However, software developers and architects should not only be proficient in using the various security features of the Java environment (positive security), but they should also be aware of the numerous vulnerabilities that still pose risks for Java development (negative security).
Before diving into security services, the course provides a brief overview of cryptography fundamentals to establish a common understanding of their purpose and operation. This foundation is followed by practical exercises where participants can experiment with the discussed APIs themselves.
The course also examines and explains the most frequent and severe programming flaws in the Java language and platform, covering 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
- Understand basic concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to avoid them
- Gain proficiency in using various security features of the Java development environment
- Acquire a practical understanding of cryptography
- Identify typical coding mistakes and learn how to prevent them
- Stay informed about recent vulnerabilities in the Java framework
- Access sources and further readings on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursA number of programming languages are available today to compile code to .NET and ASP.NET frameworks. The environment provides powerful means for security development, but developers should know how to apply the architecture- and coding-level programming techniques in order to implement the desired security functionality and avoid vulnerabilities or limit their exploitation.
The aim of this course is to teach developers through numerous hands-on exercises how to prevent untrusted code from performing privileged actions, protect resources through strong authentication and authorization, provide remote procedure calls, handle sessions, introduce different implementations for certain functionality, and many more.
Introduction of different vulnerabilities starts with presenting some typical programming problems committed when using .NET, while the discussion of vulnerabilities of the ASP.NET also deals with various environment settings and their effects. Finally, the topic of ASP.NET-specific vulnerabilities not only deals with some general web application security challenges, but also with special issues and attack methods like attacking the ViewState, or the string termination attacks.
Participants attending this course will
- Understand basic concepts of security, IT security and secure coding
- Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them
- Learn to use various security features of the .NET development environment
- Get practical knowledge in using security testing tools
- Learn about typical coding mistakes and how to avoid them
- Get information about some recent vulnerabilities in .NET and ASP.NET
- Get sources and further readings on secure coding practices
Audience
Developers
The Secure Coding Landscape
14 HoursThis course provides an introduction to key security concepts, offering a broad overview of vulnerabilities that are common across different programming languages and platforms. It explains how to manage the risks associated with software security throughout the various stages of the software development lifecycle. While avoiding deep technical details, it highlights some of the most significant and prevalent vulnerabilities in various software technologies and discusses the challenges of security testing. The course also introduces techniques and tools that can be used to identify and address any existing issues in your code.
Participants attending this course will
- Gain a solid understanding of fundamental security concepts, IT security, and secure coding practices
- Learn about web vulnerabilities affecting both server-side and client-side components
- Recognize the serious consequences of improper buffer handling
- Stay informed about recent vulnerabilities in development environments and frameworks
- Discover common coding errors and learn how to avoid them
- Understand different approaches and methodologies for security testing
Audience
Managers
Secure coding in PHP
21 HoursThe course provides essential skills for PHP developers necessary to make their applications resistant to contemporary attacks through the Internet. Web vulnerabilities are discussed through PHP-based examples going beyond the OWASP top ten, tackling various injection attacks, script injections, attacks against session handling of PHP, insecure direct object references, issues with file upload, and many others. PHP-related vulnerabilities are introduced grouped into the standard vulnerability types of missing or improper input validation, incorrect error and exception handling, improper use of security features and time- and state-related problems. For this latter we discuss attacks like the open_basedir circumvention, denial-of-service through magic float or the hash table collision attack. In all cases participants will get familiar with the most important techniques and functions to be used to mitigate the enlisted risks.
A special focus is given to client-side security tackling security issues of JavaScript, Ajax and HTML5. A number of security-related extensions to PHP are introduced like hash, mcrypt and OpenSSL for cryptography, or Ctype, ext/filter and HTML Purifier for input validation. The best hardening practices are given in connection with PHP configuration (setting php.ini), Apache and the server in general. Finally, an overview is given to various security testing tools and techniques which developers and testers can use, including security scanners, penetration testing and exploit packs, sniffers, proxy servers, fuzzing tools and static source code analyzers.
Both the introduction of vulnerabilities and the configuration practices are supported by a number of hands-on exercises demonstrating the consequences of successful attacks, showing how to apply mitigation techniques and introducing the use of various extensions and tools.
Participants attending this course will
- Understand basic concepts of security, IT security and secure coding
- Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them
- Learn client-side vulnerabilities and secure coding practices
- Have a practical understanding of cryptography
- Learn to use various security features of PHP
- Learn about typical coding mistakes and how to avoid them
- Be informed about recent vulnerabilities of the PHP framework
- Get practical knowledge in using security testing tools
- Get sources and further readings on secure coding practices
Audience
Developers
Microsoft SDL Core
14 HoursThe Comprehensive SDL core training offers an in-depth look into the principles of secure software design, development, and testing through Microsoft's Secure Development Lifecycle (SDL). This course provides a foundational level 100 overview of the essential components of SDL, along with practical design techniques aimed at identifying and resolving flaws during the early stages of the development process.
During the development phase, the training covers common security-related programming errors in both managed and native code. It presents various attack methods for these vulnerabilities and provides mitigation strategies, all illustrated through a series of hands-on exercises designed to give participants an engaging experience in practical hacking. The course also introduces different security testing methodologies and demonstrates the effectiveness of several testing tools. Participants will gain insight into how these tools operate by applying them to previously discussed vulnerable code through numerous practical exercises.
Participants in this course will:
Grasp fundamental concepts of security, IT security, and secure coding
Become familiar with the key steps of Microsoft's Secure Development Lifecycle
Acquire knowledge of secure design and development practices
Learn about secure implementation principles
Comprehend security testing methodologies
- Receive resources and additional reading materials on secure coding practices
Audience
Developers, Managers
Security Testing
14 HoursAfter getting familiar with the vulnerabilities and the attack methods, participants learn about the general approach and the methodology for security testing, and the techniques that can be applied to reveal specific vulnerabilities. Security testing should start with information gathering about the system (ToC, i.e. Target of Evaluation), then a thorough threat modeling should reveal and rate all threats, arriving to the most appropriate risk analysis-driven test plan.
Security evaluations can happen at various steps of the SDLC, and so we discuss design review, code review, reconnaissance and information gathering about the system, testing the implementation and the testing and hardening the environment for secure deployment. Many security testing techniques are introduced in details, like taint analysis and heuristics-based code review, static code analysis, dynamic web vulnerability testing or fuzzing. Various types of tools are introduced that can be applied in order to automate security evaluation of software products, which is also supported by a number of exercises, where we execute these tools to analyze the already discussed vulnerable code. Many real life case studies support better understanding of various vulnerabilities.
This course prepares testers and QA staff to adequately plan and precisely execute security tests, select and use the most appropriate tools and techniques to find even hidden security flaws, and thus gives essential practical skills that can be applied on the next day working day.
Participants attending this course will
- Understand basic concepts of security, IT security and secure coding
- Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them
- Learn client-side vulnerabilities and secure coding practices
- Understand security testing approaches and methodologies
- Get practical knowledge in using security testing techniques and tools
- Get sources and further readings on secure coding practices
Audience
Developers, Testers
Secure Web Application Development and Testing
21 HoursProtecting web-accessible applications requires well-prepared security professionals who are always aware of current attack methods and trends. A wide range of technologies and environments are available that facilitate the development of web applications. It is essential to be knowledgeable not only about the security issues specific to these platforms but also about general vulnerabilities that apply regardless of the development tools used.
The course provides an overview of applicable security solutions in web applications, with a particular emphasis on understanding the most important cryptographic solutions to implement. Various web application vulnerabilities are discussed, both on the server side (following the OWASP Top Ten) and the client side, illustrated through relevant attacks. The course also covers recommended coding techniques and mitigation methods to avoid associated problems. The topic of secure coding is rounded off by discussing common 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. Different approaches—from high-level auditing through penetration testing to ethical hacking—can be used to identify various types of vulnerabilities. However, to move beyond easily discoverable issues, security testing must be well-planned and effectively executed. It is important to remember that while security testers should ideally find all bugs to protect a system, adversaries need only find one exploitable vulnerability to penetrate it.
Practical exercises will aid in understanding web application vulnerabilities, programming mistakes, and most importantly, the mitigation techniques. Hands-on trials of various testing tools—from security scanners through sniffers, proxy servers, fuzzing tools to static source code analyzers—will equip participants with essential practical skills that can be applied immediately at their workplace.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Learn web vulnerabilities beyond the OWASP Top Ten and how to avoid them
- Learn client-side vulnerabilities and secure coding practices
- Gain a practical understanding of cryptography
- Understand different approaches and methodologies in security testing
- Acquire practical knowledge 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 Serbia, 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 Serbia 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 covers the secure coding concepts and principals with Java through Open Web Application Security Project (OWASP) methodology of testing. The Open Web Application Security Project is an online community which creates freely-available articles, methodologies, documentation, tools, and technologies in the field of web application security.
Secure Developer .NET (Inc OWASP)
21 HoursThis course delves into the secure coding concepts and principles using ASP.NET, following the Open Web Application Security Project (OWASP) methodology for testing. OWASP is an online community dedicated to creating freely available articles, methodologies, documentation, tools, and technologies in the realm of web application security.
The course also examines the security features of the .NET Framework and provides insights into how to secure web applications.