SKILL BENCHMARK
Linux OS Exploits Proficiency (Advanced Level)
- 20m
- 31 questions
The Linux OS Exploits Proficiency benchmark measures whether a learner has extensive exposure in generic Linux operating system distributions, practices, and principles , and working experience and exposure to common OS exploits and techniques. A learner who scores high on this benchmark demonstrates professional proficiency in all of the major areas of Linux exploits analysis and tooling.
Topics covered
- apply flags to the gcc compiler to catch string weaknesses by converting warnings into errors
- describe a program's structure in memory in terms of address space layout
- describe architectural considerations based on the targeted platform
- describe common weaknesses and errors made when working with integers and how to prevent them
- describe how coding errors and vulnerabilities lead to corrupting memory
- describe how data and functionality are protected by separating computing resources
- describe how strings are exploited in computer programs
- describe how strings executed dynamically can lead to vulnerabilities
- describe methods and goals for allocating memory
- describe out-of-order execution and related processor concepts and vulnerabilities
- describe race conditions, their potential for vulnerabilities, and approaches to avoiding race conditions
- describe safeguards and considerations when running insecure programs in virtual environments
- describe the GNU C Library (glibc) and how it integrates with the Linux kernel
- describe the impact and mitigations in place to avoid and mitigate the Spectre and Meltdown vulnerabilities
- describe the main components of the Linux system call table
- describe the nature of out-of-bounds write vulnerabilities and their impact
- describe the Write XOR Execute (W^X) feature and its impact on memory security
- describe use-after-free vulnerabilities, how they occur, and typical target examples to keep in mind
- discuss how data and functionality are protected within the Linux operating system by kernel and userland separation
- establish an approach to using virtual environments to stage exploits
- explore compiler warnings that are vital to security and program stability
- explore how stack smashing vulnerabilities occur and how they are mitigated
- illustrate the weaknesses caused by string formatting methods
- investigate what it means to overflow the heap
- perform a string buffer overflow in a C program
- recognize and avoid stack buffer overflows
- recognize and correct weaknesses introduced by poorly implemented string copies
- recognize escape vulnerabilities from virtual machines to hosts
- targets for exploiting processes and tasks of a running Linux system
- targets for privilege escalation exploits and common privilege control mechanisms
- various processor and operating system considerations that need to be taken into account when developing mitigations to vulnerabilities and exploits