Recommended Path: Native Developer
This article describes our Recommended Native Developer Paths.
Foundational: Native Developer
Foundational principles of application security for native developers. (Video + Hands On)
Total Learning Path Duration: 4 hours 24 minutes
Introduction to Security Journey
Privacy and Customer Data Protection
Six Foundational Truths of Application Security
Memory Managment Introduction (HackEDU)
Secure Design Principles | Part 1
Secure Design Principles | Part 2
Intermediate: Native Developer
Technical deep dive into the threats and security controls relevant to native developers (Video + Hands On)
Total Learning Path Duration: 5 hours 8 minutes
Logging and Exception Handling
Encoding, Hashing, and Encryption (HackEDU)
Buffer Overflow and Remote Code Execution
Static Application Security Testing (SAST)
Static Application Security Testing (SAST) (HackEDU)
Dynamic Application Security Testing (DAST)
Dynamic Application Security Testing (DAST) (HackEDU)
Thinking Like a Penetration Tester
Advanced: C (Native Developer)
Secure application design, secure coding, and specialized C security topics, ranging from vulnerabilities, secure memory management, and secure programming techniques.(Video + Hands On)
Total Learning Path Duration: 5 hours 25 minutes
Designing a Secure App or Product
Secure Design Principles in Action: Part 1
Secure Design Principles in Action: Part 2
Producing Clean, Maintaining, and Secure Code
Secure Coding Best Practices: Part 1
Secure Coding Best Practices: Part 2
C-C++: Classes of Vulns: Part 1
C-C++: Classes of Vulns: Part 2
C-C++: Classes of Vulns: Part 3
C-C++: Anatomy of a Stack Buffer Overflow Exploit
C-C++: Exploiting Memory: Part 1
C-C++: Exploiting Memory: Part 2
C-C++: Secure Programming: Part 1
C-C++: Secure Programming: Part 2
C-C++: Secure Programming: Part 3
C-C++: Secure Programming: Part 4
Advanced: C++ (Native Developer)
Secure application design, secure coding, and specialized C++ security topics, ranging from vulnerabilities, secure memory, platform mitigations, and compiler optimizations.(Video + Hands On)
Total Learning Path Duration: 5 hours 30 minutes
Designing a Secure App or Product
Secure Design Principles in Action: Part 1
Secure Design Principles in Action: Part 2
Producing Clean, Maintaining, and Secure Code
Secure Coding Best Practices: Part 1
Secure Coding Best Practices: Part 2
C-C++: Classes of Vulns: Part 1
C-C++: Classes of Vulns: Part 2
C-C++: Classes of Vulns: Part 3
C-C++: Anatomy of a Stack Buffer Overflow Exploit
C-C++: Exploiting Memory: Part 1
C-C++: Exploiting Memory: Part 2
C-C++: Secure Programming: Part 1
C-C++: Secure Programming: Part 2
C-C++: Secure Programming: Part 3
C-C++: Secure Programming: Part 4
C-C++: Undefined Behavior and Complier Optimization
Advanced: Embedded (Native Developer)
Secure application design, secure coding, and specialized Embedded security topics, ranging from the threat landscape, secure firmware development lifecycle, coding standards, threat modeling, and secure communications. (Video + Hands On)
Total Learning Path Duration: 5 hours 3 minutes
Designing a Secure App or Product
Secure Design Principles in Action: Part 1
Secure Design Principles in Action: Part 2
Producing Clean, Maintaining, and Secure Code
Secure Coding Best Practices: Part 1
Secure Coding Best Practices: Part 2
Introduction to Embedded Security
Fundamentals of Secure Embedded Development
Secure Firmware Development Lifecycle
Secure Coding Standards for Embedded Software
Secure Coding Techniques for Embedded Systems | Part 1
Secure Coding Techniques for Embedded Systems | Part 2
Secure Coding Techniques for Embedded Systems | Part 3
Threat Modeling Embedded Systems
Secure Communications with Embedded Systems