CERT Secure Coding in C and C++ Professional Certificate
The CERT Secure Coding in C and C++ Professional Certificate provides software developers with practical instruction based upon the CERT Secure Coding Standards. The CERT Secure Coding Standards have been curated from the contribution of 1900+ experts for the C and C++ programming language. The CERT Secure Coding team teaches the essentials of designing and developing secure software in C and C++. Completion of this Professional Certificate will enable software developers to increase security and reduce vulnerability within the C and C++ programs they develop.
To learn more about all the CERT Secure Coding Professional Certificates, please see: SEI Certificates.
The CERT Secure Coding in C and C++ 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 3 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 C and C++
Secure Coding in C and C++ provides detailed instruction about common programming errors in C and C++ and describes how these errors can lead to code that is vulnerable to exploitation. The course concentrates on security issues intrinsic to the C and C++ programming languages and associated libraries. The intent is for this course to be useful to anyone involved in developing secure C and C++ programs regardless of the specific application. Moreover, this course encourages programmers to adopt security best practices and develop a security mindset that can help protect software from tomorrow's attacks, not just today's.
Instruction is accomplished through recorded lectures from SEI instructors. Course exercises allow the concepts taught to be applied in a virtual environment ‹ VM and exercise application files are supplied for download. This eLearning course contains twenty (20) hours of video instruction, that may be studied incrementally, and six (6) optional exercises.
This course is also offered as instructor-led training at customer sites.
CERT Secure Coding in C and C++ Professional Certificate
The CERT Secure Coding in C and C++ 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%.
Please note that successful completion of all program components are necessary to achieve the professional certificate.
Audience
C and C++ Software Developers
Objectives
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 C or C++ application
- thwart buffer overflows and stack-smashing attacks that exploit insecure string manipulation logic
- avoid vulnerabilities and security flaws resulting from the incorrect use of dynamic memory management functions
- eliminate integer-related problems: integer overflows, sign errors, and truncation errors
- correctly use formatted output functions without introducing format-string vulnerabilities
- avoid I/O vulnerabilities, including race conditions
Topics
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 C and C++
- String Management
- Detection and Recovery
- Structured Code Review
- Integer Vulnerabilities and Mitigations
- Dynamic Memory Management
- Formatted Output
- File I/O Basics
- UNIX Permissions and Privileges
- File Identification Vulnerabilities
- Race Conditions
Materials
Once registered, learners will be granted 24-hour-a-day access to the course 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 Software Concepts
- 8 video training sessions with transcripts
Secure Coding in C and C++
- 20 video training sessions with transcripts
- 6 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:
Prerequisites
- A basic to intermediate understanding of the C and C++ programming languages
- Software security knowledge or experience is not required
To access the SEI Learning Portal, your computer must have the following:
- For optimum viewing, we recommend using the following browsers: Microsoft Edge, Mozilla Firefox, Google Chrome, Safari
- These browsers are supported on the following operating systems: Microsoft Windows 8 (or higher), OSX (Last two major releases), Most Linux Distributions
- Mobile Operating Systems: iOS 9, Android 6.0
- Microsoft Edge, Firefox, Chrome and Safari follow a continuous release policy that makes difficult to fix a minimum version. For this reason, following the market recommendation we will support the last 2 major version of each of these browsers. Please note that as of January 2018, we do not support Safari on Windows.
This is an eLearning course
Course Fees in USD
- eLearning $1,250
Schedule
Your access period of 12 months is based on your enrollment date.
Learners will have 12 months to complete both courses. Upon completing all elements of each course, the learner is awarded an electronic certificate of course completion. Upon completing both courses and successful completion of the certificate exam, the learner is awarded the CERT Secure Coding in C and C++ Professional Certificate.
If you wish to purchase this course for a group of learners, please email courseregistration@sei.cmu.edu or telephone at +1 412-268-7388 for group rate details.
IMPORTANT NOTICE:
Carnegie Mellon University/Software Engineering Institute offices will be closed for winter break, December 21, 2024-January 1, 2025. SEI course registrations received during this period will be confirmed and enrollment completed upon our return on January 2, 2025.
Course Questions?
Email: | course-info@sei.cmu.edu |
Phone: | 412-268-7388 |
Related Courses
Secure Coding in C and C++
Secure Development, Cyber Workforce Development
This 4-day course provides a detailed explanation of common programming errors in C and C++ and describes how these errors can lead to code that is vulnerable to exploitation.
Learn MoreTraining 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.