Get in Touch
 Duration 21 hours

Course Outline

1. IT security and secure coding

  • Foundational Security Principles: Applying Confidentiality, Integrity, and Availability (CIA) to Java applications
  • Secure Software Development Lifecycle (SSDLC): Embedding security from the requirements phase through to deployment
  • Secure Coding Paradigms: Implementing defense in depth, least privilege, and fail-safe defaults
  • Vulnerability Classifications: Interpreting CWE (Common Weakness Enumeration) and OWASP standards

2. Web application security

  • In-Depth Analysis of OWASP Top Ten: Examining Injection, Broken Authentication, and Sensitive Data Exposure
  • Cross-Site Scripting (XSS): Addressing Reflected, Stored, and DOM-based XSS scenarios in Java/JSP
  • Cross-Site Request Forgery (CSRF): Understanding attack mechanics and implementing Anti-CSRF tokens
  • Session Management: Securing cookies, preventing session fixation, and managing timeouts
  • API Security: Protecting REST and SOAP endpoints from misuse

3. Security of Web services

  • Web Services vs. Traditional Web Apps: Analyzing differences in attack surfaces
  • Transport Layer Security: Configuring SSL/TLS for Java clients and servers
  • Message Security: Ensuring integrity and confidentiality at the payload level
  • Authentication Standards: Implementing OAuth 2.0, OpenID Connect, and JWT (JSON Web Tokens)

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 methods for encrypting XML content

5. Foundations of Java security

  • Java Security Architecture: The java.security package and provider model
  • Security Providers: Installing and configuring providers such as Bouncy Castle
  • Access Control: Managing policy files, Permissions, and the Security Manager (Legacy vs. Modern approaches)
  • KeyStore Management: Creating and maintaining keystores and truststores for certificates

6. Practical cryptography

  • Cryptographic Algorithms: Overview of Symmetric (AES), Asymmetric (RSA, ECC), and Hashing (SHA-256/512) methods
  • Random Number Generation: Comparing the risks of java.util.Random with java.security.SecureRandom
  • Key Management: Strategies for key generation, storage, and rotation
  • Java Cryptography Architecture (JCA): Utilizing Cipher, MessageDigest, and Mac classes
  • Java Cryptography Extension (JCE): Understanding policy files and unlimited strength jurisdiction

7. Java security services

  • SSL/TLS in Java: Leveraging SSLSocketFactory and HttpsURLConnection
  • Trust Managers: Customizing trust verification for private PKI environments
  • Authenticators: Performing programmatic authentication using Authenticator.getDefault()
  • Certificate Parsing: Programmatically reading and analyzing X.509 certificates

8. Java EE security

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

9. Common coding errors and vulnerabilities

  • Insecure Deserialization: Mitigating risks associated with ObjectInputStream and security bypasses
  • Command Injection: Addressing OS-level execution vulnerabilities
  • Path Traversal: Sanitizing file system inputs to block directory traversal
  • Reflection Abuse: Assessing risks linked to java.lang.reflect and access control bypasses
  • Hardcoded Credentials: Identifying and eliminating secrets in source code
  • Cryptography Implementation Errors: Avoiding the use of ECB mode, weak keys, or static IVs

10. Knowledge sources

  • Static Analysis Tools: Employing SonarQube, Checkmarx, and Fortify for automated scanning
  • Dynamic Analysis Tools: Overview of Burp Suite and OWASP ZAP
  • CVE Databases: Tracking and responding to new Java framework vulnerabilities
  • Recommended Readings: A list of books, documentation, and secure coding checklists

Requirements

None.

Number of participants


Price per participant

Testimonials (4)

Upcoming Courses

Related Categories