Apple's Data Protection team needs a motivated software engineer to enhance the confidentiality of user data at rest by improving storage encryption and device unlock mechanisms across all Apple products, ensuring world-class security for millions of customers.
Requirements
- Excellent C and systems programming skills
- Strong understanding of operating systems internals
- Industry exposure to and knowledge of OS security and applied cryptography
- Understanding of past, current, and emerging security exploits
- iOS and macOS exposure (end user, administrator, developer)
- Kernel programming
- Hypervisor design and architecture
Responsibilities
- Help define the security properties and architecture for the next-generation operating system
- Design and implement new approaches to user data protection, storage encryption, and trusted execution environments
- Come up with new and innovative ways of increasing security and privacy while preserving ease-of-use and improving the quality of the user experience
- Drive adoption of these technologies across the organization
- Contribute to the entire system, from the kernel up through libraries, frameworks, and applications
- Tackle challenging wide-ranging engineering problems anywhere in the software stack
- Determine the appropriate compromise between several often competing factors such as ease of use, performance, and of course security
Other
- Ability to deliver solid work on tight schedules
- Excellent teamwork skills. We work with all engineering teams involved in these products, and on all of their code
- Collaborating closely with all other security partners, ranging from our Silicon Engineering group to our Cloud Services group
- Work cooperatively with other parts of Apple on multi-functional technologies and initiatives to enhance security
- Involvement in open source technologies and development communities such as FreeBSD and Linux