CERT Secure Coding in Java Professional Certificate
The CERT Secure Coding in Java Professional Certificate provides software developers with practical instruction based upon the CERT Secure Coding Standards. The CERT Secure Coding team teaches the essentials of designing and developing secure software in Java. Completion of this Professional Certificate will enable software developers to increase security and reduce vulnerability within the Java programs they develop.
To learn more about all the CERT Secure Coding Professional Certificates, please see: SEI Certificates.
The CERT Secure Coding in Java Professional Certificate is a certificate program that includes two courses and an examination, which are all available online. This Certificate program package includes the required courses, exam, and 2 e-books for continued study.Secure Software Concepts
Secure Software Concepts explores basic security concepts and how security design principles protect the organization. Risk assessment and management, regulatory requirements, and software design are examined within the context of the organization's acquisition and development lifecycles to prepare the student for a deeper study of secure coding. This eLearning course contains two hours of video instruction that may be studied incrementally.Secure Coding in Java
Secure Coding in Java provides a detailed explanation of common programming errors in Java and describes how these errors can lead to code that is vulnerable to exploitation. The course concentrates on security issues intrinsic to the Java programming languages and associated libraries. The intent is for this course to be useful to anyone involved in developing secure Java programs regardless of the specific application.
Instruction is accomplished through recorded lectures from SEI instructors and is reinforced through online exercise labs which apply your new knowledge. This eLearning course contains sixteen (16) hours of video instruction, that may be studied incrementally, and four (4) online exercises performed in the virtual lab environment.
This course is also offered as instructor-led training at customer sites.Secure Coding in Java Examination
The CERT Secure Coding in Java Professional Certificate concludes with an examination of the student's comprehension of the concepts presented in the preceding courses. The exam consists of 40 multiple choice questions. Students proceed through the exam at their convenience over 6 total hours. Students must achieve a passing score of 80%. Once answers are submitted, the exam will provide your score immediately and allow one opportunity to review and change responses to rescore, if necessary.
Please note that successful completion of all program components are necessary to achieve the professional certificate.
Java Software Developers
Students will acquire a working knowledge of common programming errors that lead to software vulnerabilities, how these errors can be exploited, and effective mitigation strategies for preventing the introduction of these errors. In particular, students will learn how to
- improve the overall security of any Java application
- avoid injection attacks, such as SQL injection and XSS
- understand Java's memory model, with a thorough grounding of concurrency, and learn how to prevent race conditions while avoiding deadlock
- learn when to throw and catch exceptions
- avoid I/O vulnerabilities, including file-based race conditions
- learn how historical exploits on Java were executed and later disabled
Secure Software Concepts
- Define the core security concepts
- Understand how security design principles protect the organization
- Understand information privacy requirements imposed by regulation
- Sarbanes-Oxley (SOX)
- Gramm-Leach-Bliley Act (GLBA)
- Federal Information Security Management Act (FISMA)
- Payment Card Industry (PCI)
- Define governance, risk, and compliance as related to secure software development
- Identify critical assets, risk, and security requirements
- Assess and manage risk
- Identify security tasks within various software development methodologies
- Select and use software assurance methodologies presented
Secure Coding in JavaTopics
- Input Sanitization and Validation
- Objects and Methods
- File I/O
- The Java Memory Model
- The Java Security Model
- Historical Vulnerabilities and Exploits
Once registered, learners will be granted 24-hour-a-day access to the courses material for 12 months.Learners can proceed through the courses at their convenience and can review and repeat individual sections as often as needed.
Each course provides video-recorded training sessions that were presented by SEI CERT instructors to a classroom of students representing a variety of industries. Instructor demonstrations included with the courses explore and reinforce the concepts taught and how they can be successfully applied.Secure Coding Concepts
- 8 video training sessions with transcripts
- 50 video training sessions with transcripts
- 4 coding exercises
A copy of course slides is available to download.
The curriculum and materials are based upon the e-books, which are provided in the certificate package:
- Java Coding Guidelines eBook
- The CERT Oracle Secure Coding Standard for Java eBook
- A basic to intermediate understanding of the Java programming language
- Software security knowledge or experience is not required
To use CERT STEPfwd effectively, you need the following:
- HTML5 compatible web browser such as Internet Explorer 9+, Chrome 4+, or Firefox 3.5+
- Internet connection of 384 Kbps or greater to sustain downloads with no more than 230 ms of latency
- Computer system and network settings that allow access to streaming video from internet sources
- Minimum client resolution of 1280 x 1024 to enable proper lab player display
Training courses provided by the SEI are not academic courses for academic credit toward a degree. Any certificates provided are evidence of the completion of the courses and are not official academic credentials. For more information about SEI training courses, see Registration Terms and Conditions and Confidentiality of Course Records.