Belajar Firmware Engineer - Firmware Security
Episode 18 of 28

Belajar Firmware Engineer - Firmware Security

Mengamankan firmware dari ancaman nyata: threat model perangkat embedded, secure boot dan root of trust, pemilihan kriptografi AES/SHA/ECC beserta key management, anti-tamper, serta langkah hardening agar firmware tahan terhadap reverse engineering dan serangan fisik.

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Setelah di episode 17 data kita tersimpan aman, pada episode ini kita mengamankan perangkat itu sendiri. Di 2026, security-by-design bukan pilihan — ia syarat tender, regulasi, dan reputasi. Perangkat yang mudah dibajak bukan hanya merugikan pemiliknya, tapi bisa menjadi bagian dari botnet atau pintu masuk jaringan perusahaan.

Mengapa keamanan firmware berbeda dari keamanan server? Karena attacker memegang perangkatnya secara fisik. Mereka bisa membaca flash, memanipulasi pin, menganalisis arus dan timing, bahkan melepas chip. Desain keamanan embedded harus bertahan dari ancaman yang tidak ada di dunia cloud.

Threat Model untuk Perangkat Embedded

Mulai dengan bertanya: siapa musuh, apa aset, apa konsekuensinya?

AsetAncamanKonsekuensi
Firmware imageReverse engineeringKloning produk, temukan kunci
Private key / credentialEkstraksiBerpura-pura jadi perangkat
Data penggunaKebocoranPelanggaran privasi/regulasi
Integritas perangkatModifikasi imageBotnet, backdoor
Keamanan fisikTamper (buka, probe)Akses kunci/flash

Mengenali aset dan ancaman menentukan seberapa dalam kalian berinvestasi. Alat pacemaker butuh proteksi lebih dari smart lamp — trade-off biaya vs risiko harus eksplisit, bukan kebetulan.

Secure Boot dan Root of Trust

Kita sudah merancang bootloader di episode 13; sekarang kita perkuat dengan root of trust:

Rantai kepercayaan firmware
Hardware root of trust (public key di ROM/fuse)
   -> verifikasi bootloader (signature ECDSA/RSA)
      -> verifikasi aplikasi (signature)
         -> verifikasi update OTA (signature)
  • Fuse/OTP menyimpan hash public key vendor yang tidak bisa ditulis ulang.
  • Setiap lapisan memverifikasi lapisan berikutnya sebelum menjalankannya.
  • Firmware tidak pernah dieksekusi tanpa verifikasi signature — bahkan image korup tidak bisa dijalankan.

Debug port (JTAG/SWD) adalah pintu belakang raksasa: di produksi, nonaktifkan atau proteksi dengan password agar tidak ada yang bisa attach debugger dan membaca memori.

Kriptografi untuk Firmware

Pilih algoritma sesuai peran, bukan tren:

KebutuhanAlgoritmaKeterangan
Integritas dataSHA-256/384Hash pesan & image
Kerahasiaan dataAES-128/256Enkripsi data at rest / komunikasi
Tanda tanganECDSA-P256 / RSA-PSSVerifikasi image & update
Random numberTRNG/HWRNGKunci, nonce, IV — jangan PRNG

Hardware Accelerator dan Secure Element

CPU kecil tidak menangani AES-256 secara real-time tanpa bantuan:

  • Hardware crypto accelerator (banyak MCU memilikinya): AES, SHA, TRNG di silicon — cepat dan hemat daya.
  • Secure element (chip terpisah, misal ATECC608): menyimpan kunci, melakukan operasi kripto tanpa pernah mengeluarkan kunci dari chip — pertahanan terbaik terhadap ekstraksi fisik.
  • HSM di sisi server untuk menandatangani update.

Key Management

Kunci yang bisa dibaca = kunci yang tidak ada:

Aturan key management
✓ Kunci sign produksi: simpan di HSM, jangan pernah di repo/CI
✓ Kunci perangkat: di secure element / secure storage terenkripsi
✓ Ganti default credential; generate unik per perangkat
✓ Rencanakan rotasi & revocation sejak desain
✓ Jangan hardcode kunci di source code (pernah bocor = hancur)

Anti-Tamper

Serangan fisik membutuhkan respons fisik:

  • Secure element — kunci tidak pernah keluar chip; probe tidak berguna.
  • MPU (Memory Protection Unit) — batasi wilayah memori yang boleh diakses kode; cegah eksploitasi buffer overflow mengeksekusi kode.
  • Deteksi fisik — switch, mesh tamper, sensor tegangan/suhu: wipe key saat terdeteksi.
  • Potongan/redup — beberapa MCU mendukung self-destruct terprogram saat tamper.

Hardening: Daftar Praktik Dasar

Checklist hardening firmware
☐ Secure boot aktif (signature setiap layer)
☐ Debug port dinonaktifkan / password di produksi
☐ Stack canary + MPU aktif
☐ Data Execution Prevention: stack/data non-executable (W^X)
☐ Minimal attack surface: matikan peripheral & fungsi tak terpakai
☐ Input divalidasi ketat (parser, protokol, ukuran buffer)
☐ Logging & alarm keamanan (upaya brute force, boot aneh)
☐ Update signature + anti-rollback (episode 19)

Important

Keamanan bukan fitur yang "ditempel" di akhir — keputusan (key storage, debug port, MPU, secure boot) memengaruhi skema hardware. Mulai dari desain awal. Produk yang di-hardening setelah selesai hampir selalu menyisakan celah struktural yang tidak bisa ditutup tanpa desain ulang.

Praktik: Hardening Firmware Kalian

Audit kode kalian dengan lensa attacker:

Langkah audit keamanan singkat
1. Amati trace power/IO - bisakah melihat alur boot & data?
2. Coba attach debugger (JTAG/SWD) - apakah terkunci?
3. Baca flash dengan programmer - apakah image terenkripsi?
4. Uji parser protokol dengan input acak (fuzzing sederhana)
5. Cek apakah sertifikat/kunci bisa diekstrak dari image
6. Evaluasi: seberapa mahal memecahkan perangkat ini?

Kesalahan Umum Firmware Security

  1. Mengandalkan obfuscation — bukan keamanan; dengan waktu, semua terlihat.
  2. Debug port terbuka di produksi — akses penuh memori bagi siapa pun.
  3. Kunci hardcode di firmware — sekali dump, selamanya bocor.
  4. Tanpa verifikasi signature — attacker tinggal flash image-nya.
  5. PRNG untuk kunci — bisa diprediksi; pakai TRNG/hardware RNG.
  6. Mengabaikan update/rollback — celah permanen di lapangan.

Penutup

Inti yang harus dibawa pulang:

  • Threat model dulu: siapa musuh, aset apa, konsekuensi apa.
  • Secure boot + root of trust memverifikasi setiap lapisan.
  • Pilih kripto sesuai peran: SHA (integritas), AES (kerahasiaan), ECDSA (tanda tangan), TRNG (random).
  • Secure element & MPU adalah pertahanan terbaik terhadap serangan fisik.
  • Hardening: debug port ditutup, stack canary, W^X, attack surface minimal.

Di episode 19 selanjutnya kita menutup lingkaran keamanan update: Secure OTA & Update — signed update, rollback protection, dan integritas end-to-end sehingga perangkat hanya bisa diperbarui oleh kalian. Update kalian akan aman dari ujung ke ujung!

Belajar Firmware Engineer - Firmware Security | Belajar Firmware Engineer