The DRIVE security team is searching for a Senior Software Security Engineer to develop security features for NVIDIA's ground-breaking solutions in automated driving. You will work with hard-working multi-functional engineering development teams across various vehicle subsystems to ensure our system is crafted to be trustworthy and robust against a steadily evolving threat landscape. You'll find our work exhilarating, fun, and meaningful. We are the top artificial intelligence computing company and are paving the way with innovations in gaming, visualization, supercomputing, and autonomous platforms. As a prime team member, you will be a key leader responsible for the security of our autonomous driving software stack.
NVIDIA gives automakers, Tier 1 suppliers, automotive research institutions, and start-ups the power and flexibility to develop and deploy breakthrough artificial intelligence systems for self-driving vehicles. Our unified computing architecture enables training deep neural networks in the data center on the NVIDIA DGX-1™, and then seamlessly runs them on NVIDIA DRIVE AGX inside the vehicle. Today, we are working with over 270 partners that are using our platform in the development of autonomous cars, trucks, shuttles, and taxis.
What You'll Be Doing
- Write modern C++ code for foundational software security features, APIs, and tools that enable internal and external customers to efficiently improve the security posture of autonomous driving solutions.
- Contribute throughout the software development lifecycle including: secure architecture and design principles; architectural security analysis; defensive coding; static analysis; unit, integration, fuzzing, and penetration testing; secure code reviews.
- Strive for world-class software quality, security, and safety while developing according to modern standards including ISO 21434, ISO 26262, and Automotive SPICE.
- BS/MS (or equivalent experience) in electrical engineering, computer science, or computer engineering.
- 5+ years of experience in system/embedded/real-time software design, development, and verification.
- Proven track record in secure design, coding (particularly C++), SAST/DAST (e.g., Coverity), verification (e.g., positive/negative/boundary testing, fuzz & pen-testing), problem-solving, and debugging.
- Deep understanding of computational fundamentals (e.g., algorithms, data structures), computer architecture, operating systems, and embedded development (e.g., virtualization, scheduling, real-time, processes, threads, I/O, filesystems, virtual memory, DMA, sockets, etc.).
- Familiarity with a variety of software-relevant threats and hands-on experience with security controls (e.g., applied cryptography, DAC, MAC, ARM privilege levels, TEE, HSM, security co-processors, etc.).
- A strong teammate; hands-on; self-motivated; positive demeanor; driven to learn, grow, and build.
- Experience with MS Threat Modeling Tool, STRIDE, HEAVENS, etc.
- Knowledge of security-related protocols and standards (e.g., SecOC, MACSEC, IPsec, TLS/DTLS), vehicle networks (e.g. Ethernet, CAN, FlexRay, etc.), or other common and automotive industry standards and regulations.
- Experience with binary analysis, library injection, fuzzing, etc.
- Familiarity with Automotive SPICE or other Software Development Lifecycle processes, ISO 21434, UNECE R155, ISO 26262.
You will also be eligible for equity and benefits.
NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status, or any other characteristic protected by law.
#J-18808-Ljbffr