← Apple Interview Insights

Apple·Software Engineer·Technical Phone Screen·Senior

Senior
May 2026

Summary

Apple security engineer interview, one technical question about unix persistence mechanisms. Pretty sparse on details but the topic itself has a lot of depth to it.

Questions Asked (1)

Q1

What are the techniques malware uses to maintain persistence on Unix-based systems?

System DesignTechnical Trade-offsRoot Cause Analysis
Author's notes

This is the kind of question where you either know the landscape or you don't.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining persistence and its importance to malware, then systematically categorize techniques by Unix subsystem (user-level, system-level, kernel-level). For each category, provide concrete examples and discuss trade-offs in stealth, privilege requirements, and detection difficulty, tying back to Apple's security focus.

Pro tip: Emphasize that modern macOS has layered defenses (SIP, TCC, notarization) that mitigate many traditional persistence techniques, and mention how malware adapts to these constraints—this shows deep platform knowledge and maturity.

1. Define persistence and its goals

Explain that persistence allows malware to survive reboots, user logouts, and updates, ensuring continued execution. Highlight the attacker's trade-off between stealth and reliability.

2. Categorize by privilege level

Organize techniques into user-level (e.g., shell profiles, cron jobs), system-level (e.g., launchd, systemd), and kernel-level (e.g., rootkits, kernel modules). This structure shows systematic thinking.

3. Provide concrete examples per category

For each category, name specific mechanisms: user-level: ~/.bashrc, ~/.ssh/authorized_keys, cron; system-level: /etc/rc.local, launchd plists, systemd units; kernel-level: LKMs, eBPF, bootkits.

4. Discuss trade-offs and detection

Analyze each technique's stealth, required privileges, and ease of detection. Mention how macOS-specific protections (SIP, TCC) affect viability and how attackers bypass them.

5. Conclude with defense implications

Summarize how understanding persistence techniques informs detection and mitigation strategies, aligning with Apple's security engineering priorities.

Key Points to Mention

  • Launchd (macOS) and systemd (Linux) as modern init systems abused for persistence via plist/unit files.
  • User-level persistence: shell configuration files (.bashrc, .zshrc), SSH authorized_keys, cron jobs, and login items.
  • System-level persistence: /etc/rc.local, /etc/init.d scripts, and systemd timers/services.
  • Kernel-level persistence: loadable kernel modules (LKMs), eBPF programs, and bootkits (e.g., EFI firmware implants).
  • macOS-specific protections: System Integrity Protection (SIP), Transparency, Consent, and Control (TCC), and notarization, and how malware bypasses them (e.g., signed binaries, user-approved installs).
  • Detection and mitigation: file integrity monitoring, launchd/systemd auditing, and behavioral analysis.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.