Course Outline
Foundations of IT Security and Secure Coding
- Fundamental security principles and defense-in-depth strategies
- Current trends in vulnerabilities and exploit techniques
- Integrating secure software development lifecycles (SSDLC)
Web Application Security
- OWASP Top Ten (2021) and emerging threats
- Injection attacks, broken authentication, and insecure deserialization
- Secure management of sessions and tokens
Client-Side Security
- Cross-Site Scripting (XSS) and DOM-based attacks
- Cross-Site Request Forgery (CSRF)
- Risks associated with modern client-side frameworks and supply chains
Essentials of Java Security
- Java security architecture and sandboxing mechanisms
- Best practices for using Java APIs and libraries
- Strategies for mitigating deserialization vulnerabilities
Practical Cryptography
- Hashing, encryption, and digital signature technologies
- Leveraging the Java Cryptography Architecture (JCA)
- Key management and securing communications via TLS
Java Security Services
- Authentication and authorization using JAAS
- Overview of Spring Security
- Developing secure web services and APIs with Java
C/C++ Security and Memory Safety
- Understanding memory layout and stack operations
- Vulnerabilities such as buffer overflows, format string attacks, and dangling pointers
- Mitigation strategies: ASLR, DEP, and stack canaries
Common Coding Errors and Vulnerabilities
- Injection flaws in C/C++ and Java
- Inadequate error handling and logging practices
- Insecure management of files and resources
Knowledge Resources and Best Practices
- Monitoring CVEs, security advisories, and framework updates
- Utilizing static and dynamic analysis tools for secure coding
- Recommended readings and resources for ongoing education
Summary and Future Steps
Requirements
- Proficiency in C/C++, Java, and web application development
- Foundational knowledge of networking concepts and HTTP
- Practical experience with IDEs or code editors
Target Audience
- Developers
- Software engineers
- Technical leads
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
Very good to understand how a hacker would potentially analyse sites for weakness and tools they might employ .