Students who attend
Secure Java Coding will leave the course armed with the required skills to recognize software vulnerabilities (actual and potential) and implement defenses for those vulnerabilities. This course quickly introduces developers to the various types of threats against their software.
The concept and process of Threat Modeling is introduced as a key enabler for implementing effective and appropriate security for software and information assets. This course includes coverage of the many security-related technologies and APIs that exist in the Java world.
Working in a hands-on, dynamic learning environment, let our expert security team, attendees will learn to:
- Understand the concepts and terminology behind defensive coding
- Understand and use Threat Modeling as a tool in identifying software vulnerabilities based on realistic threats against meaningful assets
- Learn the entire spectrum of threats and attacks that take place against software applications in today’s world
- Use Threat Modeling to identify potential vulnerabilities in a real life case study
- Perform both static code reviews and dynamic application testing to uncover vulnerabilities in Java applications
- Understand the vulnerabilities of the Java programming language and the JVM as well as how to harden both
- Understand and work with Java 2 platform security to gain an appreciation for what is protected and how
- Understand the role that Java Authentication and Authorization Service (JAAS) has in Java applications
- Use JAAS in conjunction with a Java application for both authentication and authorization
- Understand the basics of Java Cryptography (JCA) and Encryption (JCE) and where they fit in the overall security picture
- Understand the fundamentals of XML Digital Signature and XML Encryption
This class is "technology-centric", designed to train attendees in essential secure coding and development skills, coupling the most current, effective techniques with the soundest industry practices. This workshop is about 50% dynamic lab exercises and 50% lecture.
The course provides a solid foundation in basic terminology and concepts, extended and built upon throughout the engagement. Students will examine various recognized attacks against web applications. Processes and best practices are discussed and illustrated through both discussions and group activities.
The second portion of the course steps through a series of vulnerabilities illustrating in very real terms the right way to implement secure web applications. The last portion of the course examines several design patterns that can be used to facilitate better application architecture, design, implementation, and deployment.