Label Nutrisi yang Sentiasa Tiada dalam Perisian

Pada 9 Disember 2021, seorang penyelidik keselamatan menemui kelemahan dalam perpustakaan Java yang dipanggil Log4j. Dalam tempoh 72 jam, ratusan juta sistem berhadapan dengan risiko.

Masalahnya bukan sekadar kerentanan tersebut. Masalahnya adalah keterlihatan. Kebanyakan syarikat tidak tahu sama ada Log4j wujud di dalam perisian mereka sendiri.

Detik ini telah menjadikan Software Bill of Materials (SBOM) sebagai keutamaan bagi lembaga pengarah syarikat.

SBOM ialah inventori bagi setiap komponen dalam perisian anda. Ia berfungsi seperti label nutrisi untuk kod. Ia menyenaraikan perpustakaan sumber terbuka, pakej pihak ketiga, dan bahagian dalaman. Ia merangkumi versi dan lesen.

Perisian moden adalah kompleks. Satu aplikasi sering menggunakan 500 hingga 1,500 bahagian pihak ketiga. Anda tidak boleh menjejaki perkara ini secara manual.

Dua piawaian utama wujud hari ini:

• SPDX: Fokus kepada pematuhan lesen. Bagus untuk pasukan undang-undang. • CycloneDX: Fokus kepada keselamatan. Bagus untuk pasukan DevSecOps.

Kepantasan tindak balas anda bergantung pada SBOM anda. Semasa krisis Log4j, syarikat yang mempunyai SBOM dapat mengenal pasti risiko mereka dalam masa beberapa jam. Syarikat tanpa SBOM terpaksa menghabiskan masa berminggu-minggu untuk audit manual.

Serangan baru-baru ini seperti XZ Utils membuktikan jurang ini masih wujud. Penyerang menyembunyikan pintu belakang (backdoors) dalam perpustakaan biasa. Tanpa automasi, anda tidak akan menyedarinya.

Peraturan juga sedang berubah:

• Perintah Eksekutif AS 14028: Vendor persekutuan mesti menyediakan SBOM. • Panduan FDA: Peranti perubatan memerlukan SBOM. • Akta Ketahanan Siber EU: Memerlukan SBOM untuk perisian di EU menjelang 2027.

Cara untuk bermula:

  1. Pilih satu piawaian. Gunakan CycloneDX untuk keselamatan atau SPDX untuk lesen.
  2. Automasikan penjanaan. Gunakan alatan seperti Syft untuk imej atau Snyk untuk saluran paip (pipelines).
  3. Hubungkan ke pangkalan data. Sambungkan senarai anda ke NIST NVD atau OSV.
  4. Tetapkan jadual. Jana SBOM dengan setiap binaan (build).

Jangan cuba membaiki keseluruhan portfolio anda sekaligus. Mulakan dengan satu aplikasi.

Ingat, SBOM ialah alat diagnostik. Ia memberitahu anda apa yang anda miliki. Ia tidak menyelesaikan masalah untuk anda. Jika SBOM menunjukkan 23 kerentanan, anda masih memerlukan pelan untuk menampalnya (patch).

Syarikat terbaik bukan sekadar mempunyai alatan. Mereka mempunyai proses. Mereka tahu siapa yang memiliki sesuatu kebergantungan (dependency) sebelum krisis melanda.

Sumber: https://dev.to/spicykim/the-nutrition-label-that-software-always-lacked-213 Butiran penuh: lucas8.com/what-is-sbom-software-bill-of-materials