Setiap perangkat lunak yang kami gunakan memerlukan tingkat kepercayaan tertentu. Baik itu sistem manajemen konten, suite kantor, atau sistem operasi – setiap aplikasi yang kami instal adalah lompatan kecil keyakinan.
Kita harus percaya, misalnya, bahwa itu aman, menghormati privasi kita, dan berfungsi seperti yang diharapkan. Dengan kata lain: kita harus percaya bahwa pengembang telah membuat aplikasi dengan niat baik dan menggunakannya tidak akan mengakibatkan bahaya yang disengaja.
Keyakinan itu diuji setiap hari. Kelemahan keamanan, serangan berbahaya, dan segala macam bug menimbulkan tantangan besar. Dan begitu banyak reputasi aplikasi bergantung pada bagaimana pengembang merespons krisis ini.
Namun seperti yang lebih sering kita lihat, kepercayaan tidak hanya bergantung pada pengembang utama aplikasi. Tanggung jawab itu juga menyebar ke skrip dan pustaka pihak ketiga mana pun yang digunakan produk mereka.
Salah satu contoh utama adalah Kerentanan log4j. Cacat pada pustaka logging populer dari Apache ini memungkinkan aktor menjalankan kode berbahaya secara sewenang-wenang. Efeknya bisa sangat menghancurkan.
Seolah ini belum cukup buruk, menambal kerentanan menjadi luar biasa kompleks karena banyaknya aplikasi dan penyedia layanan lain yang menggunakan Log4j. Ini berarti bahwa setiap aplikasi harus memutakhirkan salinan perpustakaannya, lalu mendistribusikan perbaikannya kepada pengguna. Prosesnya harus berulang lagi dan lagi.
Untuk desainer web, ini menyentuh rumah di beberapa tingkatan. Kami menaruh kepercayaan kami pada banyak aplikasi (terutama open-source). Dan banyak yang memiliki ketergantungan pihak ketiga. Ini menempatkan kami dan klien kami dalam risiko.
Mari kita lihat lebih dalam masalah ini dan apa yang dapat dilakukan desainer web untuk tetap aman.
Perangkat Lunak Sumber Terbuka Menjadi Perhatian Khusus
Kisah Log4j telah membuka sekaleng worm tentang perangkat lunak sumber terbuka pada khususnya. Di Amerika Serikat, Gedung Putih mengadakan pertemuan dengan perusahaan teknologi terkemuka mengenai keamanan perangkat lunak dasar yang digunakan secara luas yang dikelola oleh sukarelawan.
Contoh populer termasuk WordPress, Node.js, Bereaction Aslidan OpenSSL. Selain itu, Google memiliki diterbitkan daftar lebih dari 100.000 proyek yang dianggap “kritis”. Mereka diandalkan oleh semua orang mulai dari pemerintah, perusahaan, lembaga pendidikan – hingga situs web pribadi dan bisnis kecil.
Ini tidak berarti bahwa salah satu item dalam daftar tersebut pada dasarnya tidak aman. Sebaliknya, ini adalah ukuran dampak potensial yang dapat ditimbulkan oleh kelemahan keamanan. Sebagai Kelompok Kerja Proyek Pengamanan Kritis OpenSSF (WG) menyatakan:
“Untuk tujuan kami, proyek OSS (perangkat lunak sumber terbuka) kritis adalah proyek OSS yang dapat memiliki dampak yang sangat besar jika memiliki kerentanan signifikan yang tidak disengaja, atau jika ditumbangkan dalam repositori sumber atau paket distribusinya. .”
Relawan dan Sumber Daya Terbatas
Untuk menyatakan yang jelas, lubang keamanan tidak terbatas pada perangkat lunak sumber terbuka. Proyek-proyek kepemilikan besar dari orang-orang seperti Apple, Microsoft, dan raksasa teknologi lainnya juga memiliki bagian yang adil.
Perbedaannya adalah bahwa perusahaan-perusahaan ini memiliki sumber daya untuk memastikan masalah apa pun, setelah ditemukan, segera diperbaiki. Proyek yang mengandalkan sukarelawan mungkin tidak memiliki kemewahan seperti itu. Beberapa mungkin perlu berebut untuk menemukan seseorang yang berpengetahuan luas yang dapat mengambil tindakan yang tepat pada waktu yang tepat.
Dan jika sebuah proyek tidak lagi dipertahankan? Ini menempatkan target besar pada siapa pun yang menggunakan perangkat lunak itu – apakah mereka mengetahuinya atau tidak.
Keindahan dari proyek-proyek ini adalah bahwa sukarelawan mereka sangat berdedikasi. Kami sering memberi hormat kepada mereka yang bekerja di belakang layar WordPress, misalnya. Kesediaan orang untuk menyumbangkan waktu dan bakat mereka adalah hal yang luar biasa.
Tetapi sebagai Morten Rand-Hendriksen menunjukkanbeberapa masalah sistemik utama perlu ditangani:
“Kami bertindak seolah-olah ini masih proyek hobi kecil yang kami retas di ruang bawah tanah orang tua kami. Kenyataannya, mereka sangat kritis terhadap misi, seringkali di tingkat pemerintahan, dan apa yang membawa kita ke sini tidak lagi cukup untuk membawa kita ke mana pun kecuali kekacauan.”
Sangat mengagumkan bahwa sekelompok orang, tidak peduli seberapa kecil atau jauh, dapat membangun aplikasi yang berdampak pada dunia. Tetapi tidak ada jaminan bahwa proyek tersebut akan berkelanjutan dalam jangka panjang. Itu bisa bermasalah.
Apa yang Dapat Dilakukan Desainer Web?
Sebagai desainer web, kami berada dalam posisi yang canggung. Begitu banyak dari apa yang kita lakukan hari ini bergantung pada proyek-proyek open-source. Dan kita menuai keuntungan dari mereka setiap hari.
Kabar baiknya adalah bahwa tidak satu pun dari masalah yang diuraikan di atas berarti kita harus meninggalkan open source – kita juga tidak boleh. Ada terlalu banyak nilai dengan mengabaikan proyek favorit kami. Jika cukup banyak dari kita yang melakukannya, itu kemungkinan akan memperburuk situasi.
Sebaliknya, kita harus hati-hati mempertimbangkan aplikasi yang kita gunakan. Dapatkan pemahaman tentang proyek, siapa yang terlibat, dan tantangan yang mereka hadapi. Lihatlah reputasinya dalam industri dan umur panjangnya. Periksa changelognya dan lihat seberapa sering pembaruan dirilis. Pertimbangkan untuk menyumbangkan waktu Anda jika Anda mampu.
Penting juga untuk melihat dependensi pihak ketiga mana yang terkait dengan sebuah proyek. Ini bisa sulit untuk dibedakan, tetapi sepadan dengan usaha.
Lalu ada peran penyedia layanan seperti web host dan API. Mereka adalah tautan tambahan dalam rantai ini. Karena, meskipun kami yakin bahwa aplikasi yang kami instal aman, kami juga perlu mengandalkan penyedia ini untuk memelihara sistem mereka juga. Pantau mereka sebaik mungkin dan jangan takut untuk bertanya.
Menempatkan kepercayaan buta pada perangkat lunak bukanlah pilihan yang bijaksana. Dan meskipun mungkin terasa hampir mustahil untuk mengikuti semua ini, sekarang ini adalah bagian penting dari pekerjaan.
Sejujurnya, kita tidak akan bisa menangkap setiap masalah sebelum menjadi sesuatu yang lebih besar. Namun kami dapat mendengarkan dan bersikap proaktif tentang perangkat lunak yang kami gunakan.
.