Pengembang Java, .NET Rentan terhadap Kerentanan yang Lebih Sering

Pengembang Java, .NET Rentan terhadap Kerentanan yang Lebih Sering

Lebih dari tiga perempat aplikasi yang ditulis dalam Java dan .NET memiliki setidaknya satu kerentanan dari OWASP Top 10, daftar kelemahan perangkat lunak yang biasanya digunakan pengembang sebagai dasar untuk keamanan aplikasi.

Itu menurut perusahaan pengujian perangkat lunak Veracode, yang menemukan dalam analisis terhadap hampir 760,000 aplikasi bahwa sekitar satu dari lima aplikasi yang menggunakan dua ekosistem pemrograman tersebut memiliki setidaknya satu kerentanan tingkat keparahan tinggi atau tingkat keparahan kritis.

Secara keseluruhan, rata-rata aplikasi memiliki peluang 27% untuk memiliki setidaknya satu kerentanan yang diperkenalkan setiap bulan, dengan aplikasi yang ditulis dengan buruk dan aplikasi yang jarang dipindai cenderung lebih cacat, sementara aplikasi dengan riwayat proses keamanan yang lebih panjang dan ditulis oleh orang yang terlatih dengan baik pengembang cenderung memperkenalkan kelemahan baru, data menunjukkan.

Analisis menyoroti pentingnya mengintegrasikan keamanan ke dalam jalur pengembangan, kata Tim Jarrett, wakil presiden manajemen produk strategis di Veracode.

โ€œData secara konsisten menunjukkan bahwa jika Anda membangun kebiasaan keamanan ke dalam proses Anda, Anda akan mendapatkan hasil yang lebih baik, baik dalam hal memperbaiki kekurangan secara keseluruhan, danโ€ฆ Anda juga memperlambat aliran masuknya barang, dan itu membuat perbedaan besar, " dia berkata.

Sementara itu, perusahaan perangkat lunak dan tim pengembangan terus berjuang untuk menghilangkan cacat dan kerentanan dari kode aplikasi. Sementara pengembang dan proyek sumber terbuka memperbaiki kelemahan perangkat lunak lebih cepat, waktu paruh dari kerentanan rata-rata terus diukur dalam bulan, bukan hari atau minggu, menurut laporan โ€œState of Software Securityโ€ Veracode, yang diterbitkan pada 11 Januari. 

Misalnya, aplikasi Java dan .NET, yang menyumbang 71% dari total aplikasi yang dianalisis oleh penelitian, melihat setengah dari kekurangan masih memengaruhi aplikasi setelah masing-masing 243 hari dan 158 hari.

Paruh kerentanan menurut bahasa pemrograman

Sumber: Laporan "Status Keamanan Perangkat Lunak" Veracode

Kembung aplikasi dan usia keduanya memiliki dampak negatif yang signifikan pada keamanan mereka. Aplikasi rata-rata mengumpulkan sekitar 40% lebih banyak kode dan lebih cenderung memiliki kerentanan. Sekitar 54% aplikasi berusia dua tahun memiliki kekurangan, sementara 69% aplikasi berusia lima tahun memiliki kekurangan, analisis ditemukan.

Keamanan Mengejutkan JavaScript

Anehnya, aplikasi yang ditulis dalam JavaScript atau menggunakan salah satu kerangka kerja JavaScript cenderung berjalan lebih baik dalam pemindaian kerentanan. Sementara sekitar 80% aplikasi Java dan .NET memiliki kerentanan, hanya 56% aplikasi JavaScript yang melakukannya. Dan sementara sekitar 20% aplikasi Java dan .NET memiliki kerentanan tingkat tinggi, kurang dari 10% aplikasi JavaScript memilikinya.

Kerangka kerja JavaScript lebih baru, memiliki keamanan lebih, dan memiliki manfaat dari ekosistem sumber terbuka, yang baru-baru ini diuntungkan oleh Java, kata Jarret.

โ€œJavaScript adalah bahasa yang lebih baru, jadi aplikasi yang ditulis di dalamnya [adalah] lebih baru, dan ada korelasi yang telah kami buat dalam laporan sebelumnya antara usia aplikasi dan waktu perbaikan cacat,โ€ katanya. โ€œBanyak alat untuk JavaScript [sudah] matang dan merupakan bahasa yang didukung dengan baik.โ€

Selain itu, jika kerentanan dalam aplikasi Java merupakan masalah pihak pertama โ€” membiarkan pengembang untuk memperbaiki masalah โ€” dalam JavaScript dan kerangka kerja Node.js, kerentanan seringkali merupakan masalah pihak ketiga, karena kerentanan telah terjadi pada komponen di mana perangkat lunak bergantung.

โ€œCara Anda memperbaiki masalah keamanan dalam aplikasi Java sebagian besar [di mana] Anda membuat perubahan pada file kelas dan Anda mengompilasinya,โ€ katanya. โ€œDi mana dalam aplikasi JavaScript, ini ['s] lebih merupakan masalah manajemen paket. Dan itu adalah hal yang berbeda untuk dipelajari oleh pengembang, yang mungkin lebih mudah.โ€

Bahasa Pemrograman Baru Languish

Data laporan tersebut juga menyoroti perbedaan antara bahasa pemrograman yang dipelajari pengembang dan bahasa yang sebenarnya digunakan di sebagian besar perusahaan. Bahasa dan ekosistem teratas โ€” Java, .NET, dan JavaScript โ€” yang dilihat oleh Veracode bukanlah teknologi pemrograman pilihan pengembang.

Sementara kerangka kerja berbasis JavaScript dan JS โ€” seperti Node.js, React.js, dan Angular โ€” mendominasi daftar teknologi pilihan pengembang, Java adalah salah satu bahasa pemrograman yang paling tidak disukai, dengan 54% responden takut akan bahasa tersebut, dibandingkan dengan 46% yang menyukainya, menurut Stack Overflow's Survei Pengembang 2022

Namun Java mendominasi pangsa aplikasi yang dipindai oleh klien Veracode (44%) dibandingkan dengan 14% untuk JavaScript. 

Selain itu, bahasa pemrograman yang paling disukai, Rust, bahkan tidak muncul di data Veracode, sedangkan pengembang No. 6, Python, hanya menyumbang kurang dari 4% dari aplikasi yang dipindai.

Bagian dari alasan pemutusan adalah bahwa aplikasi yang dibuat ditulis dalam bahasa pemrograman yang dibuat, kata Jarrett dari Veracode.

โ€œAnda memiliki alam semesta penuh dari semua kode yang ada di luar sana, dan kemudian Anda memiliki jenis buih di puncak gelombang perkembangan baru yang terjadi, dan di situlah Anda melihat orang-orang mengambil Go dan Rust dan Dart dan Flutter,โ€ katanya.

Karena basis kode gabungan dari aplikasi yang ditulis dalam bahasa tersebut, situasi tersebut sepertinya tidak akan berubah.

โ€œSayangnya, aplikasi lama tidak pernah mati, jadi ada banyak massa kritis di perusahaan dengan basis kode Java dan basis kode .NET yang besar ini,โ€ katanya.

Stempel Waktu:

Lebih dari Bacaan gelap