The Certified Application Security Engineer (CASE) credential was developed in partnership with application and software development experts globally.
The CASE credential tests the critical security skills and knowledge required throughout a typical software development life cycle (SDLC), focusing on the importance of the implementation of secure methodologies and practices in today’s insecure operating environment.
The CASE certified training program was developed to prepare software professionals with the capabilities that are expected by employers and academia globally. It is designed to be a hands-on, comprehensive application security training course to teach software professionals to create secure applications.
The training program encompasses security activities involved in all phases of the secure SDLC: planning, creating, testing, and deploying an application.
Unlike other application security trainings, CASE goes beyond just the guidelines on secure coding practices and includes secure requirement gathering, robust application design, and handling security issues in the post development phases of application development.
This makes CASE one of the most comprehensive application security certifications for secure software development on the market today. It’s desired by software application engineers, analysts, and testers from around the world and is respected by hiring authorities.
The .Net framework has increased in popularity because of its open source nature, interoperability, language independence, library of codes and ease of deployment. It has become the preferred choice of application developers. However, there are not many training programs that address secure application development.
While .Net developers often learn security on the job, primarily because the basic education of programming does not usually cover or emphasize security concerns, the CASE program trains these developers to place importance on security.
- In-depth understanding of secure SDLC and secure SDLC models.
- Knowledge of OWASP Top 10, threat modelling, SAST and DAST.
- Capturing security requirements of an application in development.
- Defining, maintaining, and enforcing application security best practices.
- Performing manual and automated code review of application.
- Conducting application security testing for web applications to assess the vulnerabilities.
- Driving development of a holistic application security program.
- Rating the severity of defects and publishing comprehensive reports, detailing associated risks and mitigations.
- Working in teams to improve security posture.
- Application security scanning technologies such as AppScan, Fortify, WebInspect, static application security testing (SAST), dynamic application security testing (DAST), single sign on, and encryption.
- Following secure coding standards that are based on industry-accepted best practices such as OWASP Guide, or CERT Secure Coding to address common coding vulnerabilities.
- Creating a software source code review process that is a part of the development cycles (SDLC, Agile, CI/CD).
- .NET Developers with a minimum of 2 years of experience and individuals who want to become application security engineers, analysts, or testers.
- Individuals involved in the role of developing, testing, managing, or protecting applications.
Participants who wish to take up CASE .NET must be well-versed with basic programming skills.
Module 1: Understanding Application Security, Threats, and Attacks
- What is a Secure Application
- Need for Application Security
- Most Common Application Level Attacks
- Why Applications become Vulnerable to Attacks
- What Constitutes a Comprehensive Application Security?
- Insecure Application: A Software Development Problem
- Software Security Standards, Models, and Frameworks
Module 2: Security Requirements Gathering
- Importance of Gathering Security Requirements
- Security Requirement Engineering (SRE)
- Abuse Case and Security Use Case Modeling
- Abuser and Security Stories
- Security Quality Requirements Engineering (SQUARE)
- Operationally Critical Threat, Asset, and Vulnerability Evaluation (OCTAVE)
Module 3: Secure Application Design and Architecture
- Relative Cost of Fixing Vulnerabilities at Different Phases of SDLC
- Secure Application Design and Architecture
- Goal of Secure Design Process
- Secure Design Actions
- Secure Design Principles
- Threat Modeling
- Decompose Application
- Secure Application Architecture
Module 4: Secure Coding Practices for Input Validation
- Input Validation
- Why Input Validation?
- Input Validation Specification
- Input Validation Approaches
- Input Filtering
- Secure Coding Practices for Input Validation: Web Forms
- Secure Coding Practices for Input Validation: ASP.NET Core
- Secure Coding Practices for Input Validation: MVC
- Authentication and Authorization: ASP.NET Core
- Authentication and Authorization: MVC
- Authentication and Authorization Defensive Techniques: Web Forms
- Authentication and Authorization Defensive Techniques: ASP.NET Core
- Authentication and Authorization Defensive Techniques: MVC
Module 5: Secure Coding Practices for Authentication and Authorization
- Authentication and Authorization
- Common Threats on User Authentication and Authorization
- Authentication and Authorization: Web Forms
Module 6: Secure Coding Practices for Cryptography
- Block Cipher Modes
- Symmetric Encryption Keys
- Asymmetric Encryption Keys
- Functions of Cryptography
- Use of Cryptography to Mitigate Common Application Security Threats
- Cryptographic Attacks
- Techniques Attackers Use to Steal Cryptographic Keys
- What should you do to Secure .NET Applications from Cryptographic Attacks?
- .NET Cryptography Namespaces
- .NET Cryptographic Class Hierarchy
- Symmetric Encryption
- Symmetric Encryption: Defensive Coding Techniques
- Asymmetric Encryption
- Asymmetric Encryption: Defensive Coding Techniques
- Digital Signatures
- Digital Certificates
- XML Signatures
- NET Core Specific Secure Cryptography Practices
Module 7: Secure Coding Practices for Session Management
- Session Management
- NET Session Management Techniques
- Defensive Coding Practices against Broken Session Management
- Cookie-based Session Management
- ViewState-based Session Management
- NET CORE: Secure Session Management Practices
Module 8: Secure Coding Practices for Error Handling
- What are Exceptions/Runtime Errors?
- Need of Secure Error/Exception Handling
- Consequences of Detailed Error Message
- Exposing Detailed Error Messages
- Considerations: Designing Secure Error Messages
- Secure Exception Handling
- Handling Exceptions in an Application
- Defensive Coding practices against Information Disclosure
- Defensive Coding practices against Improper Error Handling
- NET Core: Secure Error Handling Practices
- Secure Auditing and logging
- Tracing in .NET
- Auditing and Logging Security Checklists
Module 9: Static and Dynamic Application Security Testing (SAST & DAST)
- Static Application Security Testing
- Manual Secure Code Review for Most Common Vulnerabilities
- Code Review: Check List Approach
- SAST Finding
- SAST Report
- Dynamic Application Security Testing
- Automated Application Vulnerability Scanning Tools
- Proxy-based Security Testing Tools
- Choosing Between SAST and DAST
Module 10: Secure Deployment and Maintenance
- Secure Deployment
- Prior Deployment Activity
- Deployment Activities: Ensuring Security at Various Levels
- Ensuring Security at Host Level
- Ensuring Security at Network Level
- Ensuring Security at Application Level
- Web Application Firewall (WAF)
- Ensuing Security at IIS level
- Sites and Virtual Directories
- ISAPI Filters
- Ensuring Security at .NET Level
- Ensuring Security at SQL Server Level
- Security Maintenance and Monitoring
- Certified Application Security Engineer (CASE) .NET