Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
IT Security & Secure Coding Foundations
- Understanding the CIA triad: Confidentiality, Integrity, and Availability as core security principles
- Common vulnerabilities and attacks across various languages and platforms (SQLi, XSS, CSRF, SSRF, etc.)
- The role of a secure Software Development Life Cycle (SDLC) in preventing, detecting, and mitigating code-level threats
Web Application Security in Java Context
- OWASP Top Ten: Aligning industry standards with common Java flaws
- Injection mitigation: Utilizing prepared statements, ORM layers, and parameterized queries
- Authentication vulnerabilities (such as broken session management and XSS-as-vector) and their remediation patterns
- Input validation techniques to ensure robustness against directory traversal and path manipulation attacks
Foundations of Java Security & Cryptography Deep Dive
- Core cryptography concepts: symmetric vs. asymmetric encryption, hashing algorithms, and digital signatures
- Secure communication protocols: Best practices for setting up TLS/SSL in Java applications (HTTPS)
- Practical lab: Configuring secure connections between web servers and backend services using SSL/TLS
Java Security Services & Enterprise Security Features
- Utilizing the built-in security API to implement robust authentication (JAAS, KeyStore, CertificatePath, SecureRandom)
- Managing user sessions with minimal risk of hijacking or fixation
- Lab: Implementing secure session management patterns and mitigating risks associated with session cookie theft
Common Coding Errors & Vulnerabilities in Java
- Recognizing insecure coding patterns that lead to class loading vulnerabilities (including CVEs related to deserialization and JAR extraction)
- Preventing unsafe reflection usage from resulting in arbitrary code execution via privilege elevation
- Understanding the impact of insecure logging frameworks and mitigating risks through secure handlers or appropriate logging levels
- Hands-on lab: Refactoring insecure Java code samples into secure patterns (FindSecurityBugs refactoring exercise)
Cryptography in Practice & Modern Secure Coding Patterns
- Practical encryption: Designing secure key management strategies and protecting sensitive data both in transit and at rest
- Hashing for integrity verification: Password storage, file content validation, and digital signing workflows
- Lab: Implementing secure data hashing (SHA-256) for password storage and validating stored hashes against input
Advanced Secure Coding & Threat Modeling
- Integrating static code analysis into CI/CD pipelines using FindSecurityBugs in Maven/Gradle
- Identifying risks early in the design phase through threat modeling workshops
- Workshop: Applying threat modeling to a sample Java application, prioritizing risks, and implementing secure coding practices
Capstone Project & Secure Coding Roadmap
- Participants select a real-world Java project (web application, microservice, or library)
- Analyzing the codebase for OWASP Top Ten vulnerabilities (such as injection, broken authentication, SSI, etc.)
- Refactoring insecure code into best practice patterns and implementing secure service configurations
- Documenting the process, challenges encountered, and new learning outcomes, followed by peer review and facilitator feedback
Open Q&A, Resources Distribution & Final Review
- Open discussion forum to address common secure coding questions, clarify advanced concepts, and share real-world experiences
- Curated resource library: OWASP Java Secure Coding Top Ten CheatSheet, FindSecurityBugs refactoring guide, and recommended secure coding libraries
- Course closure and post-training support for applying new skills in ongoing projects
Requirements
- Basic computer proficiency in operating modern laptop/desktop operating systems and standard office productivity tools (word processors, spreadsheets)
- No prior Java programming or security experience is required; however, a foundational understanding of object-oriented concepts and standard web development workflows is encouraged
- A willingness to actively engage in hands-on exercises, quizzes, and real-world case study analyses to practice skill application
14 Hours
Testimonials (3)
Experience sharing, it's teacher's know-how and valuable.
Carey Fan - Logitech
Course - C/C++ Secure Coding
That we got a complex overview also about the context - for example why do we need some annotations and what they mean. I liked the practical part of the training - having to manually run the commands and call the rest api's
Alina - ACCENTURE SERVICES S.R.L
Course - Quarkus for Developers
The extra information that was shared, the training was not straightforward groovy, which was nice.