The Security for Hackers and Developers: Overview course will teach you the fundamentals of software security and a security-oriented development process, and in doing so, provide the foundation for you to move to the intermediate courses which focus on code auditing, fuzzing, reverse engineering, and exploit development.
There are four technical skills required by security researchers, quality engineers, and developers concerned with software security: source code auditing, fuzzing, reverse engineering, and exploitation. With the understanding these four courses provide, you’ll be ready to move on to the advanced course in this path Advanced Malware Analysis: Combating Exploit Kits.
In the final course in this path, you'll draw on the knowledge and skills you’ve learned in order to analyze and detect an advanced form of malware, exploit kits.
What you will learn
- The fundamentals of software security and a security-oriented development process
- How and when to audit source code
- How to use various fuzzing techniques
- How to reverse compiled software using IDA Pro
- How to detect and exploit bugs in software, including stack overflows, function pointer overwrites, off-by-ones, integer errors, uninitialized variable attacks, heap spraying, and ROP
- How to detect and analyze exploit kits (EKs)
- How to pull apart the malware payloads dropped by the initial exploit or EK
There are no required prerequisites for this path. Programming (specifically with C/C++/.asm) and information/cyber security knowledge and experience is helpful, but not necessary.