Container bersifat efemeral: jika pod restart, bukti dapat lenyap. Maka kumpulkan yang paling volatil lebih dulu dan lakukan containment tanpa menghancurkan bukti.
Contain, lalu Preserve
# Keluarkan pod dari layanan tetapi biarkan hidupkubectl label pod bad-pod quarantine=true --overwritekubectl cordon <node> # cegah pod baru mendarat di node ini# Simpan state dan logkubectl get pod bad-pod -o yaml > pod.yamlkubectl logs bad-pod --all-containers > pod.logkubectl cp bad-pod:/tmp ./evidence-tmp# Hash dan catatsha256sum pod.yaml pod.log
Pasangkan dengan NetworkPolicy deny-all pada label karantina.
Lokasi Bukti
Sumber
Informasi
Kubernetes audit log
Siapa memanggil API: pembuatan pod, pembacaan secret, perubahan RBAC
Container runtime logs
Proses start, image pull
Disk node (/var/lib/containerd, /var/log)
Layer container, file yang dijatuhkan
auth.log, shell history
Login dan perintah di node
Cloud audit logs
Pemakaian IAM, panggilan API, akses storage
Network/flow logs
Koneksi ke mining pool atau C2
Memory image
Proses berjalan, kode terinjeksi, koneksi hidup
Membangun Timeline
Korelasikan semua sumber menjadi satu cerita memakai Plaso/Timesketch, Autopsy, atau spreadsheet.
Pertanyaan dan kesimpulan dalam bahasa sederhana; daftar bukti dengan hash dan log custody; metode dan versi tool (dapat diulang pemeriksa lain); temuan terkait artefak dan timestamp spesifik; keterbatasan (apa yang tidak dapat ditentukan). Pisahkan fakta dari opini.
Latihan Mandiri: Replay the Case
Di lab terisolasi (kind/minikube, FLARE-VM/REMnux, snapshot aktif): (A) deploy weak pod, daftar kelemahan, pindai dengan Trivy, perbaiki tiga teratas, tambahkan default-deny dan verifikasi dengan curl; (B) analisis sampel pelatihan, ekstrak 5 IOC, tulis aturan YARA/Sigma; (C) latihan dengan image publik (NIST CFReDS), verifikasi hash, buat timeline 10 peristiwa; stretch: Kubernetes Goat. Deliverable: laporan insiden singkat (root cause, perilaku malware, timeline, rekomendasi).
Summary
Forensik cloud-native mempertahankan prinsip klasik (jangan ubah bukti, dokumentasikan dan hash, chain of custody) tetapi harus mengakomodasi sifat efemeral container: kumpulkan yang paling volatil dulu dan contain tanpa menghancurkan (label karantina, cordon, simpan YAML/log/file, hash, deny-all NetworkPolicy). Bukti tersebar di audit log Kubernetes, log runtime, disk node, cloud audit, flow log, dan memori; dikorelasikan menjadi timeline dan dilaporkan dengan metode yang dapat diulang serta memisahkan fakta dari opini.
Additional Information
Teknik Lanjutan
Checkpoint container (CRIU, kubectl debug dengan ephemeral container) dapat menangkap proses hidup; Falco dan Tetragon merekam event runtime untuk forensik setelah pod hilang. Akuisisi memori mengikuti Incident Response dan Memory Forensics.
Proyek Eksplorasi Mandiri
Sebarkan Kubernetes Goat, lakukan satu serangan, lalu susun timeline dari audit log dan log runtime beserta hash bukti.
Bacaan Lanjutan
NIST SP 800-86, ISO/IEC 27037.
Plaso (log2timeline) dan Timesketch documentation.