Comprehensive C# and .NET Application Security Training Course
Today's development landscape offers a variety of programming languages capable of compiling code for .NET and ASP.NET frameworks. While these environments provide robust mechanisms for securing applications, developers must master architecture-level and coding-level programming techniques to effectively implement security features, prevent vulnerabilities, and mitigate potential exploitation.
This course is designed to equip developers with practical skills through numerous hands-on exercises. Participants will learn how to prevent untrusted code from executing privileged actions, secure resources using strong authentication and authorization protocols, manage remote procedure calls and sessions, and explore various functional implementations. A dedicated module focuses on the configuration and hardening of .NET and ASP.NET environments to enhance overall security posture.
The curriculum begins with a concise introduction to cryptography fundamentals, establishing a practical baseline for understanding the purpose and operation of various algorithms. This foundation supports the exploration of cryptographic capabilities within .NET, followed by an analysis of recent crypto vulnerabilities related to specific algorithms and protocols, as well as side-channel attacks.
The discussion on vulnerabilities starts by highlighting common programming errors inherent to .NET, such as input validation flaws, error handling issues, and race conditions. Special attention is given to XML security, while the section on ASP.NET-specific vulnerabilities examines unique attack vectors, including attacks on ViewState and string termination exploits.
Upon completion of this course, participants will be able to:
- Grasp fundamental concepts of IT security and secure coding practices.
- Utilize the diverse security features available in the .NET development environment.
- Apply practical knowledge of cryptography.
- Identify and understand recent attack methodologies targeting cryptosystems.
- Gain awareness of recent vulnerabilities within .NET and ASP.NET.
- Recognize typical coding errors and learn how to avoid them.
- Acquire hands-on experience with security testing tools.
- Access valuable resources and further reading materials on secure coding.
Target Audience
Software Developers
This course is available as onsite live training in Greece or online live training.Course Outline
- IT Security and Secure Coding Principles
- .NET Security Architecture and Services
- Applied Cryptography
- ASP.NET Security Architecture
- Analysis of Cryptographic Vulnerabilities
- RSA Timing Attacks
- Feature Examination and Vulnerability Identification
- Denial of Service (DoS) Prevention
- ASP.NET Configuration and Hardening
- XML Security Best Practices
- Common Coding Errors and Vulnerabilities
- Principles of Security and Secure Coding
- Reference Materials and 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 (3)
Experience sharing, it's teacher's know-how and valuable.
Carey Fan - Logitech
Course - C/C++ Secure Coding
the knowledge of the trainer was very high - he knew what he was talking about, and knew the answers to our questions
Adam - Fireup.PRO
Course - Advanced Java Security
The topic is current and I needed to be updated
Damilano Marco - SIAP s.r.l.
Course - Secure Developer Java (Inc OWASP)
Upcoming Courses
Related Courses
Android Security
14 HoursAndroid operates as an open platform for mobile devices, including smartphones and tablets. It offers a wide array of security features designed to simplify the development of secure software; however, it lacks certain security aspects found in other handheld platforms. This course provides a thorough overview of these features and highlights critical shortcomings associated with the underlying Linux system, the file system, and the general environment, as well as issues related to permissions and other Android software development components.
The course describes common security pitfalls and vulnerabilities in both native code and Java applications, offering recommendations and best practices to prevent and mitigate them. Many of the discussed issues are illustrated with real-life examples and case studies. Finally, we provide a brief overview of how to utilize security testing tools to identify relevant programming bugs.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about Android security solutions
- Acquire skills in utilizing various security features of the Android platform
- Gain information on recent vulnerabilities in Java on Android
- Learn about typical coding mistakes and how to avoid them
- Develop an understanding of native code vulnerabilities on Android
- Recognize the severe consequences of insecure buffer handling in native code
- Understand architectural protection techniques and their weaknesses
- Obtain resources and further reading materials on secure coding practices
Audience
Professionals
Network Security and Secure Communication
21 HoursBuilding a secure networked application can be challenging, even for developers who have previously utilized various cryptographic building blocks, such as encryption and digital signatures. To help participants grasp the role and application of these cryptographic primitives, this course first establishes a solid foundation in the core requirements of secure communication: secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also addresses common issues that can compromise these requirements and presents real-world solutions.
Given that cryptography is a critical component of network security, the course covers essential cryptographic algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on in-depth mathematical theory, these concepts are explored from a developer's perspective, featuring typical use-case examples and practical considerations such as public key infrastructures. Additionally, the course introduces security protocols used across various domains of secure communication, with a detailed discussion on widely adopted protocol families like IPSEC and SSL/TLS.
Common cryptographic vulnerabilities are examined, both concerning specific algorithms and protocols. Examples include BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and others, as well as the RSA timing attack. For each issue, the course outlines practical considerations and potential consequences without delving into complex mathematical details.
Finally, since XML technology is central to data exchange for networked applications, the course describes the security aspects of XML. This covers the use of XML in web services and SOAP messages, along with protection measures such as XML Signature and XML Encryption. It also addresses weaknesses in these protections and XML-specific security issues, including XML injection, XML External Entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Understand the requirements for secure communication
- Learn about network attacks and defenses across different OSI layers
- Gain a practical understanding of cryptography
- Comprehend essential security protocols
- Understand recent attacks targeting cryptosystems
- Receive information on recent related vulnerabilities
- Understand the security concepts of web services
- Access resources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursThis three-day course explores the fundamental principles of safeguarding C/C++ code against malicious exploitation, particularly through proper memory management and input handling. Participants will learn the core concepts essential for writing robust and secure software.
Advanced Java Security
21 HoursEven seasoned Java developers often lack a comprehensive grasp of the security services provided by Java, as well as the diverse vulnerabilities that impact web applications built with the language.
In addition to introducing the security components of Standard Java Edition, this course addresses security challenges within Java Enterprise Edition (JEE) and web services. The discussion of specific services is grounded in the fundamentals of cryptography and secure communication. Through various exercises, participants explore declarative and programmatic security techniques in JEE, while examining both transport-layer and end-to-end security for web services. All components are demonstrated through practical exercises, allowing attendees to hands-on test the relevant APIs and tools.
The course also examines the most common and severe programming flaws associated with the Java language and platform, along with web-related vulnerabilities. Beyond typical bugs made by Java programmers, the covered security vulnerabilities encompass both language-specific issues and problems arising from the runtime environment. Each vulnerability and its corresponding attack vectors are illustrated through accessible exercises, followed by recommended coding guidelines and potential mitigation strategies.
Participants attending this course will
- Comprehend the fundamental concepts of security, IT security, and secure coding
- Identify web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them
- Grasp the security concepts underlying web services
- Learn to utilize various security features within the Java development environment
- Gain a practical understanding of cryptography
- Understand the security solutions available in Java EE
- Recognize typical coding mistakes and learn how to avoid them
- Receive information on recent vulnerabilities within the Java framework
- Acquire practical skills in using security testing tools
- Access resources and further reading on secure coding practices
Audience
Developers
Standard Java Security
14 HoursDescription
The Java programming language and its Runtime Environment (JRE) were engineered to eliminate many of the common security vulnerabilities that typically plague other languages, such as C and C++. However, software developers and architects must not only master the application of Java’s security features—often referred to as positive security—but also recognize the persistent vulnerabilities that remain relevant in modern Java development, known as negative security.
This course begins with a concise overview of cryptographic foundations, establishing a shared understanding of the purpose and mechanics of the components involved. Through a series of hands-on exercises, participants will gain practical experience with the relevant APIs.
Additionally, the curriculum thoroughly examines the most frequent and critical programming flaws within the Java language and platform, addressing both typical errors made by Java developers and issues specific to the language and its environment. Each vulnerability and associated attack vector is demonstrated via clear, practical exercises, followed by recommended coding guidelines and effective mitigation strategies.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Understand web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them
- Learn to leverage various security features available in the Java development environment
- Develop a practical understanding of cryptography
- Identify typical coding mistakes and discover how to avoid them
- Gain insights into recent vulnerabilities affecting the Java framework
- Access resources and further reading materials on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, numerous programming languages support compilation for the .NET and ASP.NET frameworks. While this ecosystem offers robust mechanisms for security development, developers must master specific architectural and coding-level techniques to implement effective security controls, prevent vulnerabilities, and mitigate potential exploitation.
This course empowers developers through extensive hands-on exercises. You will learn to stop untrusted code from executing privileged actions, secure resources via rigorous authentication and authorization, manage remote procedure calls and sessions, and explore diverse implementation strategies for various functionalities.
We begin by introducing common vulnerabilities through typical programming pitfalls encountered in .NET development. The discussion on ASP.NET vulnerabilities extends to environmental configurations and their impact on security. Furthermore, the course addresses ASP.NET-specific threats, covering general web application security challenges alongside specialized issues such as ViewState attacks and string termination exploits.
Participants attending this course will
- Grasp fundamental concepts of IT security and secure coding practices
- Identify web vulnerabilities beyond the OWASP Top Ten and understand how to prevent them
- Utilize the comprehensive security features available within the .NET development environment
- Acquire practical skills in employing security testing tools
- Recognize common coding errors and learn how to avoid them
- Gain insight into recent vulnerabilities affecting .NET and ASP.NET
- Access resources and further reading materials on secure coding standards
Audience
Software Developers
The Secure Coding Landscape
14 HoursThis course provides an introduction to fundamental security principles and offers a comprehensive overview of vulnerability types, independent of specific programming languages or platforms. It explains how to manage risks associated with software security across the various stages of the software development lifecycle. Rather than diving into technical minutiae, the course highlights significant and prevalent vulnerabilities across different development technologies. It also addresses the challenges of security testing and outlines practical techniques and tools to help identify and resolve issues within code.
Upon completing this course, participants will be able to:
- Grasp the core concepts of security, IT security, and secure coding practices.
- Understand web vulnerabilities affecting both server and client sides.
- Recognize the serious consequences of improper buffer handling.
- Stay informed about recent vulnerabilities in development environments and frameworks.
- Identify common coding mistakes and learn how to prevent them.
- Comprehend security testing approaches and methodologies.
Target Audience
Managers
Secure coding in PHP
21 HoursThis course equips PHP developers with the vital skills needed to shield applications from modern internet-based threats. It explores web vulnerabilities through practical PHP examples that extend beyond the OWASP Top Ten, addressing diverse injection attacks, script injection, weaknesses in PHP session handling, insecure direct object references, file upload issues, and more. PHP-specific vulnerabilities are categorized into standard types such as missing or flawed input validation, incorrect error and exception handling, misuse of security features, and time- and state-related issues. For the latter category, we examine attacks like open_basedir circumvention, denial-of-service via magic floats, and hash table collision attacks. Throughout, participants learn the essential techniques and functions required to mitigate these risks.
Special attention is given to client-side security, addressing issues in JavaScript, Ajax, and HTML5. The course introduces key PHP security extensions, including hash, mcrypt, and OpenSSL for cryptography, as well as Ctype, ext/filter, and HTML Purifier for input validation. We cover best hardening practices related to PHP configuration (php.ini settings), Apache, and general server setup. Additionally, an overview of various security testing tools and techniques is provided, enabling developers and testers to utilize security scanners, penetration testing frameworks, exploit packs, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the introduction of vulnerabilities and configuration practices are reinforced by hands-on exercises. These exercises demonstrate the impact of successful attacks, illustrate the application of mitigation techniques, and guide participants through the use of various extensions and tools.
Participants attending this course will
- Comprehend fundamental concepts of security, IT security, and secure coding
- Explore web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them
- Understand client-side vulnerabilities and adhere to secure coding practices
- Gain a practical understanding of cryptography
- Learn to utilize various PHP security features
- Identify common coding mistakes and discover how to avoid them
- Stay informed about recent vulnerabilities affecting the PHP framework
- Acquire practical experience with security testing tools
- Access resources and further reading on secure coding practices
Audience
Developers
Microsoft SDL Core
14 HoursThis combined core training provides an in-depth look at secure software design, development, and testing via the Microsoft Secure Development Lifecycle (SDL). It offers a level 100 overview of SDL's fundamental building blocks, followed by design techniques aimed at detecting and correcting flaws during the early stages of the development process.
Focusing on the development phase, the course outlines typical security-relevant programming bugs in both managed and native code. It presents attack methods for the discussed vulnerabilities alongside their corresponding mitigation techniques, all illustrated through numerous hands-on exercises that offer participants a practical 'live hacking' experience. The training introduces various security testing methods and demonstrates the effectiveness of different testing tools. Participants gain a clear understanding of how these tools operate by applying them to the vulnerable code examples covered in the course through practical exercises.
Participants attending this course will
Understand basic concepts of security, IT security, and secure coding
Become familiar with the essential steps of the Microsoft Secure Development Lifecycle
Learn secure design and development practices
Learn about secure implementation principles
Understand security testing methodology
- Access sources and further readings on secure coding practices
Audience
Developers, Managers
Security Testing
14 HoursOnce participants have gained an understanding of vulnerabilities and attack vectors, they will explore the overarching approach and methodology for security testing, along with the techniques used to uncover specific weaknesses. The process begins with comprehensive information gathering about the system under evaluation (ToC). This is followed by thorough threat modeling to identify and assess all potential threats, leading to the development of a risk-analysis-driven test plan.
Security evaluations can occur at multiple stages of the Software Development Life Cycle (SDLC). Consequently, the course covers design and code reviews, reconnaissance, and information gathering about the system, as well as testing the implementation and hardening the environment for secure deployment. Detailed instruction is provided on various security testing techniques, including taint analysis, heuristics-based code review, static code analysis, dynamic web vulnerability testing, and fuzzing. Participants will be introduced to a range of tools designed to automate the security evaluation of software products. These tools are utilized in practical exercises where participants analyze previously discussed vulnerable code. Additionally, numerous real-life case studies are included to deepen the understanding of various vulnerabilities.
This course equips testers and QA professionals with the ability to effectively plan and execute security tests, select and utilize the most suitable tools and techniques to identify even subtle security flaws, and acquire essential practical skills that can be immediately applied in their daily work.
Upon completion of this course, participants will be able to:
- Grasp fundamental concepts of security, IT security, and secure coding
- Identify web vulnerabilities beyond the OWASP Top Ten and understand how to mitigate them
- Learn about client-side vulnerabilities and secure coding best practices
- Understand security testing approaches and methodologies
- Gain practical experience in using security testing techniques and tools
- Access resources and further reading materials on secure coding practices
Audience
Developers, Testers
Secure Web Application Development and Testing
21 HoursProtecting web-accessible applications demands skilled security professionals who remain constantly vigilant regarding emerging attack vectors and trends. While a wide array of technologies and environments facilitate the comfortable development of web applications, it is crucial to be aware not only of the specific security challenges associated with these platforms but also of general vulnerabilities that persist regardless of the development tools employed.
This course provides a comprehensive overview of security solutions for web applications, with a particular emphasis on understanding essential cryptographic mechanisms. We explore various web application vulnerabilities across both server-side (following the OWASP Top Ten) and client-side domains, illustrating them through relevant attack scenarios. These are followed by recommended coding practices and mitigation strategies to prevent associated issues. The module on secure coding concludes with an analysis of common security-related programming errors, including input validation failures, misuse of security features, and code quality issues.
Testing plays a pivotal role in ensuring the security and robustness of web applications. A variety of approaches, ranging from high-level auditing and penetration testing to ethical hacking, can be employed to uncover different types of vulnerabilities. However, to move beyond easily identifiable weaknesses, security testing must be meticulously planned and executed. It is important to remember that while security testers ideally need to identify all bugs to fully protect a system, adversaries only need to find one exploitable vulnerability to gain access.
Practical exercises are designed to deepen your understanding of web application vulnerabilities, programming mistakes, and, most importantly, mitigation techniques. Through hands-on trials with various testing tools—ranging from security scanners and sniffers to proxy servers, fuzzing tools, and static source code analyzers—this course equips you with essential practical skills that can be applied immediately in the workplace.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding
- Gain knowledge of web vulnerabilities beyond the OWASP Top Ten and learn how to avoid them
- Understand client-side vulnerabilities and adopt secure coding practices
- Develop a practical understanding of cryptography
- Comprehend security testing approaches and methodologies
- Acquire practical knowledge of security testing techniques and tools
- Stay informed about recent vulnerabilities across various platforms, frameworks, and libraries
- Access resources and further reading on secure coding practices
Audience
Developers, Testers
DevOps Security: Creating a DevOps Security Strategy
7 HoursIn this instructor-led, live course in Greece, participants will learn how to formulate the proper security strategy to face the DevOps security challenge.
EC-Council Certified DevSecOps Engineer (ECDE)
28 HoursThe EC-Council Certified DevSecOps Engineer (ECDE) program is a practical course tailored to empower professionals with the expertise to weave security throughout the DevOps lifecycle, ensuring robust software development from the planning phase through to deployment.
This instructor-led live training, available both online and onsite, targets intermediate-level software and DevOps professionals aiming to embed security practices into CI/CD pipelines, thereby guaranteeing the delivery of secure and compliant code.
Upon completion of this training, participants will be able to:
- Comprehend the core principles and practices of DevSecOps.
- Secure every stage of the CI/CD pipeline utilizing automated tools.
- Apply secure coding standards and perform vulnerability scanning.
- Prepare for the ECDE certification through practical labs and comprehensive review.
Course Format
- Interactive lectures and discussions.
- Hands-on application of DevSecOps tools within simulated pipelines.
- Guided exercises focused on secure development and deployment.
Course Customization Options
- To request customized training for this course tailored to your team’s workflows or toolchain, please contact us to arrange.
How to Write Secure Code
35 HoursThis course aims to help in the following:
- Assist developers in mastering the techniques for writing secure code.
- Enable software testers to evaluate application security before deployment to the production environment.
- Help software architects understand the risks surrounding applications.
- Support team leaders in establishing security baselines for developers.
- Aid web masters in configuring servers to avoid misconfigurations.
Secure Developer Java (Inc OWASP)
21 HoursThis course explores secure coding concepts and principles in Java, applying the testing methodology of the Open Web Application Security Project (OWASP). OWASP is a global online community dedicated to producing freely available articles, methodologies, documentation, tools, and technologies focused on enhancing web application security.