← Amazon Interview Insights

Amazon·Software Engineer·Technical Phone Screen·Intermediate

Intermediate
Apr 2026

Summary

Interviewed for a security analyst role at Amazon and got a pretty focused Linux forensics question. Short and technical, not a lot of fluff.

Questions Asked (1)

Q1

If you suspect a process on a Linux system is malicious, where do you look to investigate it?

Root Cause AnalysisTechnical Trade-offsSystem Design
Author's notes

I started with /proc and talked through checking the process's file descriptors, open network connections via /proc/net, and cross-referencing with lsof and netstat.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Structure your answer around a systematic investigation process: start with non-invasive observation, then dig into process details, network activity, and persistence mechanisms. Emphasize that you would avoid tipping off the attacker and would preserve evidence for later analysis.

Pro tip: Mention that you would first capture volatile data (like process memory and network connections) before doing anything that might alter the system state, because that evidence is lost on reboot or process termination.

1. Initial triage with process listing

Use commands like `ps aux`, `top`, or `htop` to identify suspicious processes by unusual names, high resource usage, or unexpected parent-child relationships.

2. Inspect process details and open files

Examine the process's executable path, command line, environment, and open files using `/proc/<pid>/` (e.g., `ls -l /proc/<pid>/exe`, `lsof -p <pid>`).

3. Analyze network connections

Check for established connections, listening ports, and unusual remote addresses using `netstat`, `ss`, or `lsof -i` to see if the process is communicating externally.

4. Check persistence and scheduled tasks

Look for mechanisms that would restart the process: cron jobs (`crontab -l`, `/etc/cron*`), systemd services, init scripts, and startup files like `.bashrc` or `/etc/rc.local`.

5. Correlate with logs and system artifacts

Review system logs (`/var/log/auth.log`, `syslog`, `journalctl`), audit logs, and file timestamps to understand how the process started and what it has done.

Key Points to Mention

  • Use of /proc filesystem for deep process inspection (e.g., /proc/<pid>/cmdline, /proc/<pid>/environ, /proc/<pid>/fd)
  • Network analysis tools like netstat, ss, lsof, and tcpdump to identify command-and-control traffic
  • Persistence mechanisms: cron, systemd, init scripts, and user startup files
  • Log analysis: auth.log, syslog, auditd, and journalctl for process execution history
  • Importance of preserving volatile evidence and avoiding actions that alert the attacker
  • Consideration of rootkits and kernel-level hiding (e.g., checking for hidden processes with tools like unhide or rkhunter)

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