Nggak Nyangka! 75% Patch Keamanan Bikin Aplikasi Error



Nggak Nyangka! 75% Patch Keamanan Bikin Aplikasi Error - credit: techrepublic - pibitek.biz - Data

credit: techrepublic


336-280
TL;DR
  • Update aplikasi bisa bikin error.
  • Dependency yang tidak cocok bisa jadi masalah.
  • Mengurangi jumlah dependency bisa mempersulit penyerang.

pibitek.biz -Metode ini bisa mengurangi biaya dan waktu yang dibutuhkan untuk mengatasi kerentanan.

Waduh, ternyata banyak banget kasus di mana aplikasi yang seharusnya aman, malah jadi error setelah dipatch. Hal ini diungkap dalam laporan terbaru yang dikeluarkan oleh perusahaan keamanan siber Endor Labs. Menurut laporan ini, 75% dari patch keamanan yang diterapkan pada aplikasi malah bikin aplikasi error. Parahnya, masalah ini sering banget terjadi ketika aplikasi diupdate ke versi terbaru. Terutama ketika dilakukan update minor, 94% aplikasi malah jadi error! Nah, kalau update ke versi yang lebih tinggi, angka ini bahkan naik menjadi 95%.

Apalagi, update software biasanya nggak semudah kelihatannya. Bayangkan, aplikasi yang kamu pakai itu sebenarnya terdiri dari beberapa komponen yang saling berhubungan. Nah, salah satu komponen itu disebut dependency, yang fungsinya kaya perlengkapan tambahan yang membantu aplikasi kamu bekerja dengan baik. Nggak jarang, dependency ini juga harus diupdate untuk mengatasi masalah keamanan. Makanya, saat kamu nge-update aplikasi, kamu sebenarnya juga nge-update dependency-nya. Tapi, proses update dependency ini ternyata nggak segampang membalikkan telapak tangan.

Soalnya, 24% dari semua dependency yang ada di aplikasi harus diupdate ke versi yang lebih tinggi untuk mengatasi masalah keamanan. Coba bayangkan, update aplikasi bisa bikin aplikasi error, dan update dependency bisa bikin aplikasi error juga. Jadi, kalau nggak hati-hati, update aplikasi bisa jadi petaka! Para pakar keamanan siber dari Endor Labs menyimpulkan, aplikasi yang bermasalah setelah diupdate biasanya disebabkan oleh ketidakcocokan antara versi baru aplikasi dengan versi lama dependency-nya.

Apalagi, ada kalanya aplikasi yang kamu pakai menyertakan kode yang nggak terlihat secara langsung. Kode ini disebut phantom dependency, yang tersembunyi di balik aplikasi dan terkadang bisa jadi penyebab masalah. Phantom dependency sering ditemukan di aplikasi yang menggunakan AI. Biasanya, aplikasi AI ini ditulis menggunakan bahasa pemrograman Python, yang memang terkenal sering menimbulkan phantom dependency karena memungkinkan penginstalan paket yang tidak terdaftar dalam manifest file aplikasi.

Data yang dikumpulkan oleh Endor Labs menunjukkan bahwa phantom dependency terjadi di 27% dari aplikasi. Lebih menakutkannya, lebih dari 56% dari dependency yang bermasalah ternyata adalah phantom dependency. Laporan yang dikeluarkan Endor Labs juga mengungkap bahwa data mengenai kerentanan dependency sering kali tidak lengkap atau salah. Akibatnya, informasi yang diterima oleh para developer sering kali salah, yang berpotensi menimbulkan kesalahan dalam pengambilan keputusan. Salah satu masalah lainnya adalah kekurangan informasi detail mengenai kerentanan yang terjadi pada dependency.

Contohnya, para developer kadang kali sulit menentukan fungsi mana saja yang terkena dampak kerentanan dan bagaimana cara mengatasinya. Padahal, menentukan fungsi yang terkena dampak sangat penting untuk menilai risiko kerentanan terhadap aplikasi. Tanpa informasi ini, para developer harus memeriksa setiap fungsi secara manual untuk mencari kerentanan, yang bisa sangat merepotkan dan membutuhkan waktu yang lama. Endor Labs menemukan bahwa lebih dari 90,5% kerentanan yang terjadi pada dependency di Java, Python, Rust, Go, C#, .

NET, Kotlin, dan Scala tidak bisa dimanfaatkan secara langsung. Artinya, kerentanan ini tidak bisa dimanfaatkan oleh penyerang untuk menyerang aplikasi. Seiring dengan semakin meningkatnya penggunaan AI dalam pengkodean, mengatasi kerentanan dependency menjadi semakin rumit. Permasalahan utama adalah ketidaksesuaian data mengenai kerentanan di antara database publikasi publik. Angka kerentanan bisa berbeda sebanyak 10% di antara database publik. Kondisi ini menunjukkan bahwa ada perbedaan persepsi dan standar dalam menilai kerentanan dependency AI.

Para developer sulit menentukan data mana yang akurat dan dapat dipercaya. Hal ini membuat mereka sulit mengambil keputusan yang tepat dalam mengatasi kerentanan. Menariknya, para pakar dari Endor Labs menemukan bahwa sebagian besar kerentanan yang ditemukan pada aplikasi berasal dari dependency yang jarang digunakan. Hal ini menunjukkan bahwa para developer kadang kali mengabaikan dependency yang kurang populer, yang pada akhirnya bisa menjadi lubang keamanan yang serius. Ternyata, mencari dan mengatasi kerentanan dependency ini nggak mudah.

Semakin banyak dependency yang ada di aplikasi, semakin sulit juga mencari dan mengatasi kerentanannya. Contohnya, aplikasi yang menjalankan banyak dependency mungkin memiliki ratusan bahkan ribuan dependency yang harus dicek satu persatu. Para pakar keamanan siber menyarankan untuk mengurangi jumlah dependency yang dipakai dalam aplikasi. Tujuannya adalah untuk mempersulit para penyerang menemukan kerentanan dan menyerang aplikasi. Tapi, mengurangi jumlah dependency bukan selalu mudah. Soalnya, dependency ini sering kali dibutuhkan untuk mendukung fitur dan kemampuan aplikasi.

Mengupdate dependency ke versi terbaru juga bisa mengurangi jumlah kerentanan yang harus ditangani. Sebagai contoh, menguupdate 20 komponen dependency terpopuler di Python bisa mengurangi jumlah kerentanan hingga 75%. Namun, proses menguupdate dependency tidak selalu berjalan lancar. Ada kemungkinan update dependency bisa memicu error dan menghambat kinerja aplikasi. Untuk mengatasi masalah ini, para developer harus menjalankan pengujian yang mendalam sebelum menguupdate dependency. Tujuannya adalah untuk memastikan bahwa update dependency tidak menyebabkan error atau mengurangi kinerja aplikasi.

Para pakar juga menyarankan untuk menghilangkan kerentanan yang tidak bisa dimanfaatkan oleh penyerang. Ini penting untuk menghilangkan kerentanan yang tidak membahayakan aplikasi. Para pakar menemukan bahwa hanya 4% kerentanan di Java dan JavaScript dan kurang dari 1% kerentanan di Python yang membutuhkan perhatian serius. Dengan meningkatkan kualitas data mengenai kerentanan dependency, para developer bisa menentukan prioritas dalam mengatasi kerentanan. Mereka bisa menfokuskan pada kerentanan yang paling membahayakan aplikasi.