Firmware adalah jenis program perangkat lunak yang ditanamkan langsung ke dalam perangkat keras (hardware) untuk membantu perangkat tersebut berfungsi secara lancar dan efektif.
Firmware diinstal langsung ke perangkat keras saat proses manufaktur. Firmware digunakan untuk menjalankan program pengguna di perangkat, dan bisa dianggap sebagai perangkat lunak yang memungkinkan perangkat keras untuk berjalan.
Produsen perangkat keras menggunakan embedded firmware untuk mengontrol fungsi berbagai perangkat dan sistem keras, mirip seperti sistem operasi (OS) pada komputer yang mengontrol fungsi aplikasi perangkat lunak. Firmware sering kali ditulis ke dalam memori non-volatile seperti ROM. Selain itu, bisa juga ditulis ke dalam EPROM, flash memory, atau one-time programmable memory.
Firmware yang diinstal di ROM atau one-time programmable memory tidak bisa diubah atau diperbarui. Jenis firmware ini biasanya termasuk low-level firmware yang sudah menyatu dengan perangkatnya. Firmware yang ditulis ke flash memory bisa diperbarui, dan karena itu disebut high-level firmware.
Ilmuwan komputer asal Amerika, Ascher Opler, disebut sebagai pencetus istilah firmware dalam majalah Datamation edisi tahun 1967. Ia menggunakan istilah ini untuk menggambarkan jenis mikroprogram yang berada di antara perangkat keras dan perangkat lunak. Sekarang, istilah firmware dianggap sebagai gabungan dua kata: “firm” yang berarti tertanam dalam perangkat keras dan tidak sering diperbarui, dan “software” yang berarti perangkat lunak yang ditujukan untuk perangkat tertentu.
Kenapa pembaruan firmware itu penting dan gimana cara kerjanya?
Pembaruan firmware terdiri dari kode yang memberi tahu perangkat keras bagaimana berperilaku dengan cara baru atau yang dimodifikasi. Biasanya pembaruan ini dirilis untuk memperbaiki bug, mencegah peretasan firmware, menambahkan fitur baru, meningkatkan keamanan, atau agar bisa berinteraksi dengan media baru.
Contoh efek dari pembaruan firmware meliputi:
- CD writer bisa membakar tipe disk baru.
- Router menjadi lebih stabil dan performanya meningkat.
- Pabrikan motherboard merilis update BIOS agar mendukung prosesor baru.
Beberapa perangkat yang terhubung ke internet bisa secara otomatis memeriksa, mengunduh, dan menginstal pembaruan firmware. Tapi ada juga produsen yang mengharuskan pengguna untuk mengunduh dan menginstalnya secara manual dari situs resmi mereka.
Seberapa sering firmware diperbarui tergantung pada jenis perangkatnya. Misalnya, lampu pintar mungkin jarang sekali butuh pembaruan. Tapi untuk thermostat pintar, pembaruan bisa lebih sering agar tetap kompatibel dengan pembaruan OS di smartphone. Smartphone sendiri biasanya melakukan upgrade firmware bersamaan dengan pembaruan software secara otomatis, jadi pengguna nggak perlu ribet memperbarui firmware secara manual. Proses pembaruan jarak jauh seperti ini dikenal dengan istilah over-the-air (OTA).
Banyak perangkat elektronik juga harus tetap menyala selama proses update firmware supaya pembaruannya nggak korup. Firmware yang korup bisa bikin perangkat jadi rusak atau tidak berfungsi. Kalau rusaknya parah, perangkat bisa jadi tidak bisa diperbaiki alias bricked.
Jenis-jenis firmware
Sebenarnya ada banyak jenis firmware, tapi secara umum bisa dikelompokkan jadi tiga kategori:
- Low-level firmware. Ini adalah firmware yang sudah menyatu dengan perangkat keras. Biasanya ditulis ke chip memori non-volatile seperti ROM, dan nggak bisa diubah.
- High-level firmware. Jenis ini bisa diperbarui dan umumnya lebih kompleks dibanding low-level firmware. Biasanya disimpan di chip flash memory.
- Subsystem firmware. Firmware ini adalah bagian dari embedded system, misalnya CPU atau layar LCD. Contoh lain adalah power subsystem di server. Seperti high-level firmware, subsystem firmware bisa diperbarui dan punya kompleksitas yang lebih tinggi dari low-level firmware.
Aplikasi firmware dalam dunia nyata
Firmware bisa ditemukan di berbagai perangkat komputasi, bahkan pada alat-alat yang nggak biasa dianggap sebagai perangkat komputer. Contoh aplikasi firmware antara lain:
- Komputer pribadi. Firmware seperti BIOS atau UEFI tertanam dalam chip kecil di motherboard. Perangkat tambahan seperti kartu grafis juga punya firmware-nya sendiri.
- Perangkat penyimpanan. Flashdisk, hard drive, dan media penyimpanan portabel lainnya memiliki firmware dasar agar bisa berfungsi dengan komputer.
- Perangkat mobile. Smartphone, tablet, dan laptop semua menggunakan firmware agar perangkat kerasnya bisa sinkron dengan perangkat lunak.
- Otomotif. Mobil punya sistem tertanam dan sensor yang firmware-nya memungkinkan berbagai fungsionalitas berjalan.
- Peralatan rumah tangga. Mesin cuci dan pencuci piring punya firmware agar bisa dikontrol melalui program komputer.
- Kartu pintar. Smart card berisi instruksi yang memberikan fungsi dasar, autentikasi, dan enkripsi.
Selain itu, firmware juga dibutuhkan oleh perangkat berikut:
- Router
- Network drive
- Printer
- Scanner
- Kamera
- Peralatan industri
Embedded firmware adalah elemen penting dalam perangkat dan jaringan Internet of Things (IoT).
Perbedaan firmware dan software
Sebenarnya firmware itu bagian dari software. Tapi ada beberapa perbedaan penting di antara keduanya:
Firmware
Firmware adalah software yang menyediakan instruksi mesin dasar untuk memungkinkan perangkat keras bisa berfungsi dan berkomunikasi dengan perangkat lunak lain. Firmware memberikan kontrol level rendah atas fungsi dasar seperti proses booting, komunikasi, dan interaksi dengan OS maupun hardware lainnya. Karena itu, firmware sering disebut “software untuk hardware”.
Firmware juga biasanya nggak dirancang agar ramah pengguna karena nggak banyak berinteraksi langsung dengan pengguna. Pembaruan firmware juga nggak sering dilakukan, kecuali untuk kebutuhan penting seperti keamanan atau fitur baru.
Contoh firmware: BIOS, UEFI.
Software
Software dirancang agar bisa digunakan pengguna untuk melakukan tugas-tugas tertentu. Software berada di atas firmware, nggak terlalu terikat ke hardware, dan menggunakan firmware untuk berkomunikasi dengan perangkat keras. Software biasanya lebih kompleks dan fleksibel.
Software juga bisa dengan mudah diperbarui, di-upgrade, dipatch, atau bahkan diganti tanpa harus mengganti komponen perangkat keras. Ini jarang bisa dilakukan di firmware karena sifatnya yang tertanam dan permanen di chip.
Contoh software: Sistem operasi, aplikasi pengolah kata, aplikasi manajemen proyek, video conference, business intelligence, dan CRM.
Apa itu keamanan firmware?
Peretas dan hacker dapat mengeksploitasi kerentanan dalam firmware untuk mengambil alih kontrol terhadap perangkat keras tempat firmware itu tertanam. Mereka bisa menyisipkan malware ke dalam perangkat, mencuri data, dan memata-matai aktivitas online pengguna. Jika kerentanan tersebut belum diketahui oleh produsen perangkat, eksploitasi ini bisa berujung pada ancaman keamanan jangka panjang yang sulit terdeteksi dan ditangani.
Serangan terhadap firmware sulit untuk dideteksi oleh solusi antivirus atau antimalware biasa karena firmware berjalan pada level rendah dan seringkali berada di luar jangkauan sistem operasi. Inilah yang membuatnya menjadi target yang menarik bagi pelaku kejahatan siber.
Contoh serangan terhadap firmware
Beberapa serangan firmware terkenal termasuk:
- LoJax. Malware rootkit pertama yang berhasil menginfeksi UEFI firmware, digunakan untuk menginstal trojan akses jarak jauh.
- Vault 7 leak. Dokumen bocoran dari CIA menunjukkan adanya eksploitasi firmware pada berbagai perangkat untuk melakukan pengintaian.
- MoonBounce. Rootkit firmware UEFI yang ditemukan oleh Kaspersky, menunjukkan kemampuan malware untuk bertahan bahkan setelah reinstall OS.
Cara melindungi firmware
Untuk menjaga keamanan firmware, berikut beberapa langkah penting yang dapat dilakukan:
- Selalu perbarui firmware secara berkala. Pembaruan firmware sering kali mencakup perbaikan bug dan tambalan keamanan yang penting.
- Hindari sumber tidak resmi. Jangan mengunduh firmware dari situs atau pihak ketiga yang tidak terpercaya.
- Gunakan perangkat lunak keamanan yang mampu mendeteksi ancaman pada firmware. Beberapa solusi keamanan tingkat lanjut kini menawarkan fitur untuk memindai firmware.
- Aktifkan boot aman (secure boot) jika tersedia. Ini membantu mencegah firmware yang tidak sah dijalankan saat startup.
- Amankan akses fisik ke perangkat. Serangan firmware sering kali memerlukan akses langsung ke perangkat keras.
Masa depan firmware
Firmware akan tetap menjadi bagian penting dari perangkat elektronik di masa depan. Seiring meningkatnya kompleksitas perangkat keras dan munculnya teknologi baru seperti edge computing, 5G, dan AI, firmware harus terus berkembang agar dapat mengakomodasi fitur-fitur baru serta menjaga keamanan dan kinerja perangkat.
Ke depan, kita juga akan melihat peningkatan dalam:
- Manajemen firmware secara terpusat untuk perusahaan dan organisasi besar.
- Pembaruan firmware otomatis dan lebih aman, termasuk validasi digital dan rollback otomatis jika pembaruan gagal.
- Integrasi firmware dengan cloud, memungkinkan diagnostik dan kontrol firmware dari jarak jauh.
- Standarisasi firmware melalui inisiatif seperti NIST dan industri IoT untuk mencegah inkonsistensi antar perangkat.
Karena firmware memainkan peran penting dalam pengoperasian perangkat keras dan konektivitas perangkat pintar, memahami dan mengelola firmware secara efektif adalah kunci untuk mengoptimalkan performa, keamanan, dan keberlanjutan ekosistem teknologi yang terus berkembang.