C++ – Introduction to cppcheck
cppcheck is a static code analysis tool for C++ code that tests for a wide number of potential vulnerabilities and other errors. This lab demonstrates some of the basic functionality and use of cppcheck.
Cyber Range
This cyber range helps you develop your knowledge in finding and remediating vulnerabilities in C++ code. You’ll build and reinforce your skills as you progress through labs covering a wide range of C++ code security topics, including using ccpcheck, gdb, XQilla and other tools to find common security issues in C++ code, perform control flow analysis and recognize vulnerabilities that can lead to common application attacks, such as buffer and integer overflows or XPath injection. You will also practice identifying format string vulnerabilities, improper type and pointer management, and other risks.
The labs
C++ – Introduction to cppcheck
cppcheck is a static code analysis tool for C++ code that tests for a wide number of potential vulnerabilities and other errors. This lab demonstrates some of the basic functionality and use of cppcheck.
C++ – Control Flow Analysis in C++
A variety of different errors can affect the execution flow of code and its eventual result. This lab demonstrates the use of a control flow analysis tool for tracking the flow of C++ code and identifying these errors.
C++ – Buffer Overflows
Buffer overflows are one of the simplest and most common programming errors in C++ code. This lab demonstrates several ways that a buffer overflow vulnerability can be introduced into code, how they can be exploited, and how to correct them.
C++ – Integer Overflows and Underflows
Integer overflow and underflow vulnerabilities are created by unsafe typecasting between different integer variable types. This lab demonstrates code containing these vulnerabilities, how the vulnerabilities can be exploited, and how to correct them.
C++ – Format String Vulnerabilities
Format string specifiers are useful for building strings using variables of other types. However, if they are misused, they can have unexpected results or open up a program to exploitation. This lab demonstrates some common format string mistakes, and, when applicable, how they can be exploited.
C++ – XPath Injection
XPath makes it possible to programmatically access data stored within an XML document. This lab demonstrates how poorly-designed XPath queries can be exploited and corrected.
C++ – Type Management
C++ has a number of different variable types and ways of using them. This lab explores some of the ways that types and functions can be misused.
C++ – Pointer Management
C++ pointers contain memory addresses and are used as a reference to arrays and other object types. This lab demonstrates some of the common mistakes made using pointers in C++.
C++ – Sensitive Data Disclosure
Applications are frequently designed to process and protect sensitive information. This lab explores some of the ways that logical or implementation errors can unintentionally expose this data.
C++ – Poor Error Handling
A variety of different factors can cause low-level functions and other code to fail. This lab demonstrates some ways in which errors in error handling can make code execution unpredictable or exploitable.
We use Infosec Skills to provide continuous training to our technicians and to prepare them for various certifications. Infosec Skills allows us to create personalized training programs that focus on each of our technicians’ particular roles and see their progress as they take courses. We also, recommend it to clients to make their IT support teams better.
Caleb Yankus
This has been utilized to bridge the skills gap across our cyber team and to aid them as they prepare for their various certifications. It also has provided a nice learning foundation for our various cyber team members to utilize as we continue to find ways for cross-utilization with operations while minimizing the downtime needed to ensure everyone’s knowledge is the same.
Daniel Simpson
We use Infosec Skills to provide base level knowledge for employees. We also use the services to provide in depth learning for employees as they encounter new technologies. If an employee is is assigned to a new project, we can rely on Infosec Skills to provide a rapid concentrated learning environment. This rapid concentrated learning positions our employees for success.
Infosec Skills Teams client