Get in Touch

Course Outline

1. IT security and secure coding

  • Fundamental Security Principles: Confidentiality, Integrity, and Availability (CIA) in the context of Java applications.
  • Secure Software Development Lifecycle (SSDLC): Integrating security from requirements to deployment.
  • Secure Coding Paradigms: Defense in depth, least privilege, and fail-safe defaults.
  • Standard Vulnerability Classifications: Understanding CWE (Common Weakness Enumeration) and OWASP.

2. Web application security

  • Deep Dive into OWASP Top Ten: Detailed analysis of Injection, Broken Authentication, and Sensitive Data Exposure.
  • Cross-Site Scripting (XSS): Reflected, Stored, and DOM-based XSS scenarios in Java/JSP.
  • Cross-Site Request Forgery (CSRF): Mechanisms of attack and implementation of Anti-CSRF tokens.
  • Session Management: Cookie security, session fixation, and timeout management.
  • API Security: Securing REST and SOAP endpoints against abuse.

3. Security of Web services

  • Web Services vs. Traditional Web Apps: Differences in attack surfaces.
  • Transport Layer Security: SSL/TLS configuration for Java clients and servers.
  • Message Security: Integrity and Confidentiality at the payload level.
  • Authentication Standards: OAuth 2.0, OpenID Connect, and JWT (JSON Web Tokens) implementation.

4. XML security

  • XML Parsing Vulnerabilities: Preventing XML External Entity (XXE) attacks.
  • XML Schema Validation: Best practices for strict schema enforcement.
  • XML Digital Signatures: Implementing signatures to ensure non-repudiation.
  • XML Encryption: Standard approaches to encrypting XML content.

5. Foundations of Java security

  • The Java Security Architecture: The java.security package and provider architecture.
  • Security Providers: Installing and configuring providers like Bouncy Castle.
  • Access Control: Policy files, Permissions, and the Security Manager (Legacy vs. Modern).
  • KeyStore Management: Creating and managing keystores and truststores for certificates.

6. Practical cryptography

  • Cryptographic Algorithms: Overview of Symmetric (AES), Asymmetric (RSA, ECC), and Hashing (SHA-256/512) algorithms.
  • Random Number Generation: The dangers of java.util.Random vs. java.security.SecureRandom.
  • Key Management: Key generation, storage, and rotation strategies.
  • Java Cryptography Architecture (JCA): Using CipherMessageDigest, and Mac classes.
  • Java Cryptography Extension (JCE): Understanding policy files and unlimited strength jurisdiction.

7. Java security services

  • SSL/TLS in Java: Using SSLSocketFactory and HttpsURLConnection.
  • Trust Managers: Customizing trust verification for private PKI environments.
  • Authenticators: Programmatic authentication using Authenticator.getDefault().
  • Certificate Parsing: Reading and analyzing X.509 certificates programmatically.

8. Java EE security

  • Declarative Security: Role-based access control (RBAC) using web.xml and annotations.
  • Programmatic Security: Using HttpServletRequest.isUserInRole() and getRemoteUser().
  • JAAS (Java Authentication and Authorization Service): Configuring login.conf and implementing LoginModules.
  • Servlet Security: Container-managed security constraints and authentication methods (FORM, BASIC, DIGEST).

9. Common coding errors and vulnerabilities

  • Insecure Deserialization: The risks of ObjectInputStream and bypassing security checks.
  • Command Injection: Mitigating OS-level execution vulnerabilities.
  • Path Traversal: Sanitizing file system inputs to prevent directory traversal.
  • Reflection Abuse: Risks associated with java.lang.reflect and bypassing access control.
  • Hardcoded Credentials: Identifying and removing secrets from source code.
  • Cryptography Implementation Errors: Using ECB mode, weak keys, or static IVs.

10. Knowledge sources

  • Static Analysis Tools: Using SonarQube, Checkmarx, and Fortify for automated scanning.
  • Dynamic Analysis Tools: Overview of Burp Suite and OWASP ZAP.
  • CVE Databases: How to track and react to new Java framework vulnerabilities.
  • Recommended Readings: List of books, documentation, and secure coding checklists.

Requirements

None.

 21 Hours

Custom Corporate Training

Training solutions designed exclusively for businesses.

  • Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
  • Flexible Schedule: Dates and times adapted to your team's agenda.
  • Format: Online (live), In-company (at your offices), or Hybrid.
Investment

Price per private group, online live training, starting from 4350 € + VAT*

Contact us for an exact quote and to hear our latest promotions

Testimonials (4)

Upcoming Courses

Related Categories