Tutup sumber daya terbuka: Menghilangkan fantasi
Diterbitkan: 2022-03-31Mengejar pengungkapan kerentanan Log4j pada bulan Desember 2021 dan keadaan baru pengembang menyabotase perpustakaan Javascript miliknya – 'color.js' & 'faker.js', status perangkat lunak komputer open source telah menjadi masalah.
Dengan pertemuan tingkat tinggi di White Property tentang open-up source, dan Perintah Pemerintah dari Presiden AS Biden, beberapa bahkan meminta itu adalah 'penutup sumber daya terbuka'. Meskipun mungkin tergoda untuk memeriksa kerentanan utama sebagai tanda pasokan terbuka entah bagaimana tetap kurang, kebenarannya jauh dari itu.
Perangkat lunak open source tidak jauh lebih aman daripada paket perangkat lunak bisnis. Pada kenyataannya, sebagian besar perangkat lunak komputer profesional mungkin memiliki fitur atau beroperasi pada sistem sumber terbuka. Pasokan terbuka hanya menandakan bahwa program perangkat lunak diformulasikan dengan cara yang tepat di mana kode suplai dapat diakses oleh siapa saja yang menginginkannya.
Apa yang telah kami lihat dengan respons Log4j dari tim Apache Log4j persis seperti yang kami harapkan – sebuah tim yang mengambil paket perangkat lunak yang mereka kembangkan dengan serius dan saat ini responsif terhadap keinginan yayasan penyiapan mereka. Melihat bahwa mereka adalah sukarelawan, respons semacam ini menunjukkan kenikmatan kepemilikan yang sering kita lihat di dalam komunitas sumber daya terbuka.
Alih-alih memicu penutupan open source, insiden seperti Log4j kemungkinan besar akan meningkatkan peningkatan open source secara keseluruhan – sangat mirip dengan Heartbleed yang meningkatkan metode kemajuan dari dua grup pertumbuhan open dan close source. Jadi, jika open source terdaftar di sini terus, apa yang harus dilakukan organisasi untuk mentransfer ke depan untuk mendeteksi dan mengurangi kerentanan dengan lebih baik?
Mengatasi perlindungan perangkat lunak komputer dari tingkat organisasi
Sempurna, strategi mengidentifikasi dan mengurangi kerentanan menuntut kita untuk menguraikan beberapa peran di muka. Kebanyakan orang berharap pemasok paket perangkat lunak mereka – yaitu orang-orang yang mengembangkan perangkat lunak komputer yang mereka andalkan – untuk memeriksa perangkat lunak itu. Hasil akhir dari pengujian itu akan menjadi hasil yang ditetapkan yang menyoroti kelemahan dalam perangkat lunak yang disediakan pemasok. Di seluruh dunia yang hebat, masing-masing dan semua kelemahan itu akan diselesaikan sebelum pengiriman dan pengiriman program.
Di planet asli, meskipun demikian, beberapa dari semua kelemahan itu akan diatur sebelumnya, beberapa akan ditandai sebagai "tidak ada program untuk diperbaiki" dan beberapa akan secara optimis diperbaiki dalam peluncuran jangka panjang. Apa saja daftar kelemahannya, dan mana yang akhirnya ditetapkan, bukanlah sesuatu yang biasanya diungkapkan oleh penyedia. Selain itu, tidak ada satu alat yang dapat menemukan semua kelemahan, dan beberapa hanya melakukan pekerjaan jika Anda memiliki kode sumber daya, meskipun orang lain meminta perangkat lunak yang berjalan.
Anda akan perhatikan bahwa tidak ada penyebutan kata 'kerentanan' dalam hal ini, karena memiliki indikasi yang spesifik dan mendasar. Dalam penerapannya, kerentanan hanyalah kelemahan yang dapat dieksploitasi atau yang memiliki peluang eksploitasi yang realistis.
Sebagian besar, tetapi tidak semua, kerentanan diungkapkan melalui prosedur terpusat yang dikenal sebagai Database Kerentanan Nasional, atau hanya NVD. Meskipun NVD berakar di AS, dan ditangani oleh Otoritas AS, konten NVD dapat diakses oleh semua orang dan direplikasi di berbagai lokasi internasional. Dari sudut pandang tata kelola, memeriksa perbaikan dalam konten NVD adalah cara terbaik untuk menjaga pengungkapan kerentanan baru yang terbaik.
Masalahnya adalah NVD memperbarui lebih lambat daripada liputan media, jadi dengan kerentanan utama seperti Log4Shell, HeartBleed, dan Dirty Cow, tenaga kerja yang menemukan kerentanan mungkin dapat membuat julukan bermerek untuk kerentanan dalam upaya untuk memperluas kesadaran akan kesulitan. Membuat rencana tata kelola yang menyaring perlindungan media dari pertemuan dunia maya ini jelas bukan praktik yang fantastis.
Jika liputan media sebagai memasuki administrasi kerentanan adalah ide yang buruk, dan NVD sedikit bertahap untuk menyajikan semua fakta, lalu apa kebijakan tata kelola yang paling efektif? Itu akan datang dari bentuk alat keamanan yang dikenal sebagai "Analisis Komposisi Perangkat Lunak", atau SCA. Perangkat lunak SCA tampaknya berada di kedua kode sumber untuk aplikasi, atau executable atau pustaka yang menentukan aplikasi, dan upaya untuk mencari tahu pustaka sumber terbuka mana yang telah digunakan untuk membangun perangkat lunak itu.
Daftar perpustakaan orang-orang itu dikenal sebagai SBOM, atau Perangkat Lunak Komputer Bill of Materials. Dengan asumsi aplikasi SCA melakukan tugasnya secara efektif, maka kebijakan tata kelola dapat dibuat yang memetakan detail NVD ke SBOM sehingga Anda tahu apa yang harus ditambal… Kecuali bahwa tetap ada fakta NVD laten yang harus diperhitungkan.
Beberapa instrumen SCA yang jauh lebih unggul menyelesaikan tantangan itu dengan menghasilkan saran yang secara proaktif memperingatkan pelanggan ketika ada entri NVD yang tertunda tetapi di mana rincian entri NVD itu ditambah oleh vendor SCA. Beberapa peralatan paling mutakhir juga dikhususkan untuk menyaring atau memvalidasi variasi perangkat lunak komputer mana yang terpengaruh oleh pengungkapan kerentanan.

Meskipun demikian, meskipun program perangkat lunak SCA dapat menutup lubang di antara pengungkapan dan identifikasi, perlu diperhatikan bahwa ia memiliki batasan mendasar. Jika program SCA belum memindai semua program Anda, maka program tersebut hanya dapat menandai pengungkapan kerentanan baru untuk subset program Anda.
Dari sudut pandang cakupan tata kelola, ia kemudian membuat TI beroperasi untuk menetapkan semua program perangkat lunak dan fungsionalitas pengadaan untuk memastikan bahwa semua aplikasi, seperti pembaruan dan unduhan bebas biaya, keduanya muncul di bawah SBOM dan bahwa SBOM divalidasi dengan menerapkan program perangkat lunak SCA. Karena program tersedia dalam format sumber dan biner, penting bagi tim tata kelola yang menuju ke jalur ini untuk memilih program perangkat lunak SCA yang dapat secara efektif menjalankan perangkat lunak komputer dalam semua jenis dan format. Jenis rencana tata kelola ini akan membantu mengidentifikasi pengungkapan kerentanan baru dan pengaruhnya terhadap perusahaan bisnis, tetapi akan membuat perbedaan mitigasi produktif menjadi kebijakan unik, mengingat mitigasi akan menuntut pengujian perangkat lunak.
Memastikan keamanan teknik sendiri hanyalah satu hal, tetapi keanggunan sumber daya terbuka adalah bahwa ia dirancang untuk menjadi kolaboratif.
Mengutip Abraham Lincoln, membuka sumber daya adalah pengetahuan dari orang-orang, oleh individu dan untuk individu. Gerakan open source yang modis dimulai dengan prinsip dasar bahwa jika Anda tidak menyukai cara kerja kode, maka Anda bebas untuk memodifikasinya dan mengatasi apa pun celah dalam fungsionalitas yang akhirnya dianggap ada.
Elemen kesulitan yang kita hadapi saat ini adalah sentimen yang membuat konsumen atau pengguna akhir proyek open source berperilaku seolah-olah tantangan open supply adalah penjual aplikasi bisnis.
Jika Anda muncul di daftar tantangan dari setiap usaha sumber daya terbuka yang cukup terkenal di GitHub, Anda akan melihat permintaan fungsi dan ulasan tentang kapan masalah yang dipilih dapat diselesaikan. Kisah masalah dan keluhan tentang kemudahan servis semacam itu memiliki harapan implisit bahwa manajer produk akan mendapatkan akhir dari permintaan orang-orang tersebut dan bahwa mereka akan ditambahkan ke peta jalan dan pada titik tertentu diluncurkan – semuanya tanpa biaya.
Faktanya, kesenjangan dalam fungsionalitas dan bahkan dalam bug yang dirasakan, menandakan peluang untuk tidak meminta layanan pakar pemrograman gratis tetapi sebagai alternatif untuk berkontribusi pada pencapaian kode jangka panjang yang secara substansial penting bagi orang yang mengeluh.
Tentu saja, beberapa orang tidak akan mengetahui bahasa pemrograman yang digunakan oleh proyek, tetapi mengharapkan orang lain untuk memprioritaskan keluhan dari pihak ketiga yang tidak dikenal lebih dari variasi yang menjernihkan komplikasi untuk kontributor energik tidak terlihat nyata. Sama pentingnya dengan apa pun, fitur sumber daya terbuka melalui altruisme kontributor.
Di atas modern untuk waktu yang lama kami telah mendengarkan kontributor utama untuk pekerjaan sumber daya yang terkenal, gangguan khusus tentang pendapatan yang dibuat oleh perusahaan besar dari penggunaan paket perangkat lunak mereka. Meskipun mudah untuk menghubungkan seseorang yang menempatkan kekuatan mereka ke dalam tugas hanya untuk mendapatkan sepertiga pendapatan dari upaya tersebut, kenyataannya adalah bahwa jika pesta ketiga itu mendapat untung dari upaya tenaga kerja pengembangan sumber daya terbuka, maka mereka harus berkontribusi pada kesuksesan jangka panjangnya.
Jika tidak, maka mereka menjalankan bahaya bahwa tidak hanya kode yang diterbitkan dapat berubah dalam metode yang tidak mereka andalkan, tetapi juga ketika masalah perlindungan diidentifikasi dan diselesaikan, bahwa mereka mungkin mengalami keterlambatan dalam menerapkan perbaikan orang. Lagi pula, jika bisnis kecil tidak meluangkan waktu untuk berinteraksi dengan tim yang memproduksi perangkat lunak komputer yang mendukung bisnis mereka, maka mungkin mereka tidak tahu dari mana semua program yang mendukung bisnis mereka berasal dan tidak dapat ditambal dengan andal. dia.
Menemukan kerentanan dalam open-up supply bukanlah masalah, tetapi deteksi cacat program yang mewakili kelemahan yang dapat dieksploitasi, merupakan materi pelajaran yang signifikan. Meskipun paket perangkat lunak open source dan closed supply memiliki potensi yang setara untuk masalah stabilitas, dengan sumber terbuka dapat dicapai bagi siapa saja untuk menentukan semua masalah tersebut. Dengan itu, organisasi harus mendapatkan langkah-langkah proaktif – yang tidak bergantung pada perlindungan media – untuk melihat kerentanan terbaru.
Sama pentingnya, mereka harus melakukan tujuan yang berkontribusi pada tugas pasokan terbuka yang mereka berikan, atau mereka mungkin akan menjatuhkan pengguna ke variasi kode yang tidak terduga atau kesadaran yang tertunda dari tambalan yang signifikan.
Tim Mackey adalah Ahli Strategi Perlindungan Utama di Synopsys .