
Pengembang yang membuat perangkat lunak, aplikasi, dan program yang mendorong bisnis digital telah menjadi urat nadi banyak organisasi. Sebagian besar bisnis modern tidak akan dapat (menguntungkan) berfungsi, tanpa aplikasi dan program yang kompetitif, atau tanpa akses 24 jam ke situs web dan infrastruktur lainnya.
Namun, titik kontak yang sama ini juga sering menjadi pintu gerbang yang digunakan peretas dan pengguna jahat lainnya untuk mencuri informasi, meluncurkan serangan, dan batu loncatan ke aktivitas kriminal lainnya seperti penipuan dan ransomware.
Serangan yang berhasil tetap lazim, meskipun pengeluaran untuk keamanan siber di sebagian besar organisasi meningkat, dan meskipun gerakan seperti DevSecOps mengalihkan keamanan ke pengembang yang merupakan sumber kehidupan bisnis saat ini. Pengembang memahami pentingnya keamanan, dan sangat ingin menerapkan kode yang aman dan berkualitas, tetapi kerentanan perangkat lunak terus dieksploitasi.
Mengapa?
Untuk tahun ke-2, Secure Code Warrior diadakan Status survei keamanan yang digerakkan oleh pengembang, 2022 dalam kemitraan dengan Evans Data Corp pada Desember 2021, menyurvei 1.200 pengembang secara global untuk memahami keterampilan, persepsi, dan perilaku terkait praktik pengkodean yang aman, serta dampaknya dan relevansi yang dirasakan dalam siklus pengembangan perangkat lunak (SDLC).
Survei tersebut mengidentifikasi tidak adanya definisi yang jelas atau pemahaman tentang apa yang dimaksud dengan kode aman. Ternyata ada perbedaan besar antara apa yang pengembang memikirkan adalah kode aman, dan kode aman apa? sebenarnya adalah.
Tidak mengherankan bahwa menulis kode kualitas adalah prioritas utama bagi komunitas pengembangan. Tetapi ketika ditanya secara khusus tentang kode aman, hanya 29% yang mengatakan bahwa praktik aktif menulis kode yang bebas dari kerentanan diprioritaskan. Sebaliknya, pengembang mengaitkan praktik yang kurang aman dan kurang dapat diandalkan dengan pembuatan kode aman. Misalnya, meneliti kode yang ada (37%), dan mengandalkan perpustakaan yang bersumber dari luar untuk kode aman (37%) adalah praktik teratas yang dikaitkan pengembang dengan pengkodean aman. Menggunakan kembali kode yang telah dianggap aman (32%) adalah pilihan populer lainnya. Praktik aktif menulis kode yang bebas dari kerentanan berada di urutan ke-6 dengan 29% menyatakan ini adalah praktik teratas dalam pembuatan kode aman.
Ketika ditanya lebih lanjut, kurangnya waktu dan kurangnya pendekatan kohesif dari manajemen dinyatakan sebagai hambatan utama untuk membuat kode aman.
Ketergantungan pada kode yang ada adalah salah satu faktor yang meningkatkan risiko perangkat lunak dikirimkan dengan kerentanan yang dapat dieksploitasi. Mengatasi pemutusan apa yang merupakan kode aman ini diperlukan bagi pengembang untuk membuat kode berkualitas yang juga aman.
Apa yang Dapat Dilakukan Organisasi Untuk Memperbaiki Situasi?
Salah satu pesan utama dari survei tersebut adalah bahwa komunitas pengembang secara keseluruhan dipenuhi oleh orang-orang profesional yang peduli dengan apa yang mereka lakukan. Menulis kode kualitas terbaik sangat penting bagi mereka sebagai sebuah kelompok. Masalahnya adalah dalam banyak kasus, organisasi tempat mereka bekerja belum mengidentifikasi praktik terbaik apa yang diperlukan untuk menghasilkan kode yang aman, dan belum memasukkan sumber daya yang cukup ke dalam pelatihan atau memungkinkan pengembang mereka untuk memenuhi tujuan tersebut.
Faktanya, sebagian besar pengembang menyatakan bahwa organisasi mereka bahkan tidak memiliki definisi yang jelas tentang apa yang dimaksud dengan kode aman. Salah satu contoh yang paling mengkhawatirkan adalah bahwa 28% responden survei mengatakan bahwa organisasi mereka menganggap kode aman jika tidak ada pelanggaran yang dilaporkan setelah aplikasi atau program dikerahkan ke lingkungan produksi atau tersedia untuk umum.
Mungkin tidak perlu dikatakan, tetapi dalam lanskap ancaman yang kompleks saat ini, hanya berharap untuk hasil yang baik tanpa benar-benar bekerja ke arah mereka kemungkinan akan menghasilkan hasil yang dapat diprediksi: bahkan lebih banyak pelanggaran keamanan.
Untungnya, ini adalah situasi di mana relatif mudah untuk setidaknya memulai dengan memperbaiki masalah, dan kemudian mulai bekerja menuju tujuan kode aman. Langkah pertama dan bisa dibilang paling penting adalah bagi organisasi untuk menentukan apa yang mereka anggap sebagai kode aman. Dan segala sesuatu yang berada di luar definisi itu perlu dianggap tidak aman.
Pengkodean aman harus didefinisikan sebagai praktik pengembang terampil yang menulis kode yang bebas dari kerentanan, sejak awal SDLC. Hanya setelah praktik ini ditetapkan, komunitas pengembang dapat bekerja untuk mencapai tujuan tersebut.
Membuat tujuan kode aman menjadi kenyataan
Setelah definisi kode aman ditetapkan, organisasi harus siap untuk mendukung upaya tersebut dan pengembang mereka yang akan melaksanakan tujuan penerapan praktik kode aman total. Dukungan itu sangat penting. Tanpa itu, definisi kode aman dalam organisasi Anda, meskipun penting, akan menjadi sedikit lebih dari macan kertas. Praktik pengkodean yang aman harus didukung oleh manajemen dan diberikan pertimbangan, wewenang, dan anggaran yang tepat agar berhasil.
Ini mungkin memerlukan sasaran pembandingan baru untuk pengembang, yang secara tradisional diukur berdasarkan kecepatan pengkodean mereka. Faktanya, 37% pengembang dalam survei melaporkan meninggalkan kerentanan yang diketahui dalam kode mereka karena tenggat waktu yang ketat tidak memungkinkan waktu yang dibutuhkan untuk memperbaikinya, atau untuk membuat kode dengan benar sejak awal.
Pada awalnya, ini mungkin berarti meningkatkan tenggat waktu untuk memberi pengembang lebih banyak waktu untuk membuat kode dengan benar, meskipun pengeluaran waktu di awal proses pengkodean kemungkinan akan dibuat kemudian karena lebih sedikit kebutuhan untuk revisi program, patch dan pasca-penempatan kerja. Dan menghilangkan kemungkinan pelanggaran yang dilakukan pada akhirnya dapat menghemat ratusan jam dan mungkin jutaan kehilangan pendapatan, denda, dan biaya pembersihan.
Pengembang juga akan memerlukan pelatihan langsung yang relevan, terutama yang berkaitan dengan kerentanan spesifik yang mungkin mereka temui, dan membantu mempelajari cara mengidentifikasi dan memperbaiki kerentanan kode. Hal ini terutama benar mengingat 36% responden survei yang mengatakan mereka ingin menghapus kerentanan dari kode mereka, tetapi tidak memiliki keterampilan atau pengetahuan untuk melakukannya.
Ingin membaca lebih banyak wawasan yang diperoleh dari survei Secure Code Warriors terhadap 1200 pengembang di seluruh dunia? Anda dapat mengaksesnya di sini: State of Developer Driven Security 2022