Di balik sebuah aplikasi yang digunakan sehari-hari terdapat banyak komponen perangkat lunak yang saling terhubung. Sebuah aplikasi tidak selalu dibuat sepenuhnya dari kode yang ditulis oleh pengembang sendiri. Di dalamnya dapat terdapat open-source library, framework, package, modul, hingga komponen dari pihak ketiga.
Penggunaan berbagai komponen tersebut memang dapat mempercepat proses pengembangan perangkat lunak. Namun, semakin banyak komponen yang digunakan, semakin sulit pula bagi pengembang untuk mengetahui apakah seluruh komponen tersebut aman.
Untuk membantu mengatasi masalah tersebut, muncul konsep Software Bill of Materials (SBOM). Teknologi dan praktik ini menjadi semakin penting dalam dunia keamanan siber karena membantu organisasi mengetahui secara rinci komponen yang terdapat dalam sebuah perangkat lunak.
Apa Itu Software Bill of Materials?
Software Bill of Materials (SBOM) adalah daftar terstruktur yang berisi informasi mengenai komponen, library, package, dan dependensi yang digunakan dalam sebuah perangkat lunak.
Jika sebuah aplikasi diibaratkan seperti sebuah kendaraan, SBOM dapat dianalogikan sebagai daftar seluruh komponen yang digunakan untuk membuat kendaraan tersebut.
Dengan mengetahui isi sebuah perangkat lunak, pengembang dan tim keamanan dapat lebih mudah mengetahui komponen mana yang digunakan, siapa pembuatnya, serta apakah terdapat kerentanan keamanan pada komponen tersebut.
Mengapa SBOM Penting?
Dalam pengembangan aplikasi modern, penggunaan komponen pihak ketiga merupakan hal yang sangat umum. Pengembang dapat menggunakan library yang sudah tersedia daripada membuat semuanya dari awal.
Namun, terdapat risiko apabila salah satu komponen yang digunakan ternyata memiliki kerentanan keamanan.
Tanpa SBOM, organisasi mungkin akan kesulitan menjawab pertanyaan seperti:
- Komponen apa saja yang digunakan dalam aplikasi?
- Versi library apa yang digunakan?
- Apakah terdapat komponen yang memiliki kerentanan?
- Dari mana komponen tersebut berasal?
- Aplikasi mana saja yang menggunakan komponen tertentu?
SBOM membantu memberikan gambaran yang lebih jelas mengenai seluruh rantai komponen perangkat lunak.
Bagaimana Cara Kerja SBOM?
Secara sederhana, proses penggunaan SBOM dapat dilakukan melalui beberapa tahap.
1. Mengidentifikasi Komponen
Sistem mengidentifikasi seluruh library, framework, package, dan dependensi yang digunakan dalam aplikasi.
2. Membuat Daftar Komponen
Informasi tersebut kemudian disusun dalam format SBOM yang terstruktur.
3. Melakukan Pemeriksaan Keamanan
Daftar komponen dapat dibandingkan dengan informasi mengenai kerentanan keamanan yang telah diketahui.
4. Menentukan Risiko
Jika ditemukan komponen yang memiliki kerentanan, tim keamanan dapat menentukan tingkat risikonya.
5. Melakukan Pembaruan
Pengembang kemudian dapat memperbarui atau mengganti komponen yang memiliki masalah keamanan.
Dengan proses tersebut, organisasi dapat lebih cepat merespons apabila ditemukan kerentanan pada salah satu komponen aplikasi.
Contoh Sederhana SBOM
Misalnya sebuah website dibuat menggunakan beberapa komponen:
- Framework Laravel
- Library JavaScript
- Package autentikasi
- Library pengolahan gambar
- Database driver
- Berbagai package tambahan
Tanpa SBOM, pengembang mungkin hanya mengetahui bahwa seluruh komponen tersebut digunakan.
Dengan SBOM, informasi setiap komponen dapat dicatat secara lebih terstruktur, termasuk nama komponen dan versinya. Ketika ditemukan kerentanan pada salah satu versi library, tim keamanan dapat segera mencari aplikasi yang menggunakan komponen tersebut.
SBOM dan Keamanan Supply Chain
Salah satu alasan SBOM menjadi penting adalah meningkatnya perhatian terhadap software supply chain security.
Serangan tidak selalu menargetkan aplikasi secara langsung. Penyerang dapat memanfaatkan kelemahan pada salah satu komponen atau dependensi yang digunakan aplikasi.
Karena itu, keamanan perangkat lunak tidak hanya bergantung pada kode yang dibuat oleh perusahaan, tetapi juga pada keamanan komponen dari pihak ketiga.
SBOM membantu organisasi mendapatkan visibilitas terhadap rantai pasokan perangkat lunak tersebut.
Manfaat SBOM
Penerapan SBOM memberikan berbagai manfaat, antara lain:
1. Meningkatkan Transparansi
Organisasi dapat mengetahui komponen yang terdapat dalam perangkat lunak secara lebih jelas.
2. Mempercepat Respons terhadap Kerentanan
Ketika sebuah library diketahui memiliki celah keamanan, organisasi dapat mengetahui aplikasi mana yang terdampak.
3. Mempermudah Audit
Informasi mengenai komponen perangkat lunak dapat digunakan dalam proses pemeriksaan keamanan dan kepatuhan.
4. Mengelola Risiko Pihak Ketiga
Organisasi dapat lebih mudah mengetahui risiko yang berasal dari library dan komponen eksternal.
5. Meningkatkan Keamanan Pengembangan
SBOM dapat menjadi bagian dari proses keamanan dalam siklus pengembangan perangkat lunak.
Tantangan dalam Penerapan SBOM
Meskipun memberikan banyak manfaat, penerapan SBOM juga memiliki tantangan.
Salah satunya adalah menjaga agar informasi dalam SBOM tetap akurat dan terbaru. Aplikasi dapat mengalami perubahan dan pembaruan secara terus-menerus sehingga daftar komponennya juga perlu diperbarui.
Selain itu, organisasi dengan banyak aplikasi harus memiliki sistem yang baik untuk mengelola SBOM dalam jumlah besar.
Kualitas informasi juga menjadi faktor penting. SBOM yang tidak lengkap dapat menyebabkan organisasi memiliki gambaran yang kurang akurat mengenai komponen perangkat lunaknya.
Mengapa Mahasiswa Informatika Perlu Mempelajarinya?
SBOM memiliki hubungan erat dengan berbagai bidang dalam Informatika, seperti:
- Cyber Security
- Rekayasa Perangkat Lunak
- DevSecOps
- Software Engineering
- Manajemen Risiko TI
- Open-Source Software
Bagi mahasiswa Informatika, memahami SBOM dapat memberikan perspektif bahwa keamanan aplikasi tidak hanya berkaitan dengan membuat kode yang aman, tetapi juga memahami seluruh komponen yang digunakan dalam sebuah sistem.
Peluang Karier
Pengetahuan mengenai keamanan software supply chain dapat mendukung berbagai profesi di bidang teknologi, seperti:
- Cyber Security Engineer
- Application Security Engineer
- DevSecOps Engineer
- Software Engineer
- Security Analyst
- Security Architect
- IT Risk Specialist
Dengan semakin kompleksnya aplikasi modern, kemampuan untuk mengidentifikasi dan mengelola risiko komponen perangkat lunak menjadi semakin bernilai.
Masa Depan SBOM
Perkembangan aplikasi berbasis cloud, open-source software, microservices, dan berbagai teknologi modern membuat jumlah dependensi dalam perangkat lunak semakin banyak.
Kondisi tersebut membuat organisasi membutuhkan cara yang lebih terstruktur untuk mengetahui dan mengelola komponen perangkat lunak yang mereka gunakan.
SBOM diperkirakan akan semakin menjadi bagian penting dari praktik secure software development. Penggunaannya juga dapat membantu organisasi membangun proses pengembangan perangkat lunak yang lebih transparan, terukur, dan aman.
Penutup
Software Bill of Materials (SBOM) merupakan pendekatan yang membantu organisasi mengetahui komponen-komponen yang terdapat dalam sebuah perangkat lunak. Dengan adanya daftar tersebut, pengembang dan tim keamanan dapat lebih mudah mengidentifikasi risiko, memantau kerentanan, serta mengambil tindakan ketika ditemukan masalah pada salah satu komponen.
Bagi mahasiswa Program Studi Informatika, memahami SBOM memberikan wawasan bahwa keamanan perangkat lunak tidak berhenti pada proses penulisan kode. Setiap library, framework, dan komponen pihak ketiga yang digunakan juga perlu diperhatikan.
Di tengah perkembangan teknologi digital yang semakin kompleks, kemampuan memahami software supply chain akan menjadi salah satu bekal penting untuk membangun aplikasi yang tidak hanya berfungsi dengan baik, tetapi juga aman dan dapat dipercaya.




