blog Detail

Risiko Kerentanan Keamanan Aplikasi Web : Jenis Kerentanan dan Cara Menghindarinya

Aplikasi web telah menjadi opsi untuk berbagai jenis bisnis dan startup di seluruh dunia untuk meraih audiens yang lebih luas dan meningkatkan penjualan mereka. Namun, terdapat risiko besar tentang data dan hal lainnya ketika perusahaan meletakkan bisnis mereka ke web.

Setiap tahunnya, sejumlah besar aplikasi web rentan terhadap berbagai ancaman dan serangan. Oleh karena itu perusahaan perlu untuk memahami beberapa jenis kerentanan aplikasi web yang paling umum.

 

Kerentanan Aplikasi Web

Kerentanan dapat terjadi pada aplikasi web karena terdapat suatu kesalahan pada proses pengembangan atau perancangannya. Kerentanan aplikasi web juga didapatkan dari serangan dari dalam maupun dari luar.

Kerentanan dalam aplikasi web biasanya terjadi di tingkat database atau tingkat jaringan. Hal tersebut juga mencakup berbagai hal seperti kesalahan input atau input tidak valid, desain aplikasi web yang bermasalah/buruk, dll.

 

SQL Injection

SQL injection dapat membuka jalan bagi penyerang untuk memanfaatkan data yang berbahaya yang dipasang untuk menyerang database atau direktori tertentu. Injeksi akan segera terjadi setelah penyerang mengirim suatu kueri atau perintah ke interpreter dan memaksa interpreter untuk mengerjakannya, dimana perintah tersebut adalah perintah tidak diinginkan dan menawarkan data yang tidak sah.

Terdapat 2 cara yang digunakan peretas dalam mengimplementasikan injeksi SQL. Pertama, injeksi SQL untuk melakukan serangan ke dalam database dan yang kedua dengan menggunakan injeksi LDAP untuk meyerang direktori tertentu.

Penyerang akan memasukkan suatu konten yang berbahaya dengan tujuan untuk mengakses atau mendapatkan konten atau data yang berada dalam database. Dengan melakukan hal tersebut, penyerang dapat mengakses informasi sensitif atau memodifikasi berbagai hal dalam database.

 

Cross-Site Scripting (XSS)

XSS merupakan penyerangan pada sisi klien atau pengguna. Penyerang akan memasukkan skrip berbahaya ke suatu halaman web atau aplikasi web. Lalu, serangan akan dimulai ketika pengguna mengakses halaman web atau aplikasi web yang telah dipasangi skrip tersebut.

 

Xss

Sumber : helpnetsecurity

Karena hal tersebut, penyerang dapat mengakses semua informasi penting secara instan atau mungkin bahkan dapat menipu pengguna untuk mengungkapkan informasi mereka sendiri.

Dengan menerapkan metode penyerangan ini, penyerang akan mengambil berbagai hal seperti cookie sesi, riwayat browser, halaman web yang memiliki konten sensitive, dll.

 

Otentikasi yang Rusak

Kerentanan ini dapat membuat penyerang dapat membobol semua detail otentikasi yang digunakan oleh pengguna. Istilah otentikasi yang rusak dapat disebabkan oleh 2 hal utama yaitu manajemen sesi dan manajemen kredensial.

Jika kedua hal tersebut tidak diterapkan secara benar pada aplikasi web, hal tersebut akan menyebabkan masalah kerentanan yang serius seperti credential stuffing, password spraying, brute force, dll.

Dan penyerang dapat mengakses kredensial pengguna untuk sementara atau permanen jika target pengguna telah logout dari sesinya. Setelah itu, penyerang dapat mengakses berbagai hal seperti ID session, token, URL, dan lebih banyak lagi.

 

Cross-Site Request Forgery (CSRF)

CSRF adalah kerentanan aplikasi web dimana penyerang mengirimkan suatu permintaan palsu ke halaman web ketika pengguna telah diautentikasi. Dalam hal ini, penyerang mengubah keadaan aplikasi web yang diserang daripada melakukan pencurian data.

Tujuan utama dari CSRF adalah untuk mengubah ID email, password, status, informasi profil user, dll. Penyerang mendapatkan akses yang lengkap kea kun pengguna berdasarkan aksi yang dilakukan.

 

Pemaparan Data yang Sensitif

Pada kerentanan ini, penyerang menggunakan kunci enkripsi untuk mengakses dan mencuri data. Pemaparan data sensitive hanya terjadi ketika terdapat suatu hal di dalam database tidak disimpan dengan benar. Karena hal tersebut, penyerang dapat mengakses data dengan melalui berbagai hal seperti enkripsi yang lemah atau data yang tidak memiliki enkripsi, transfer data antar database dengan praktik/cara yang salah, dll.

Dengan penyerangan aplikasi web ini, penyerang dapat mengakses hal-hal seperti informasi perbankan, informasi kesehatan, login credentials, dll. Hal tersebut dapat mengarah pada pencurian identitas, pemalsuan kartu kredit, dll.

 

XML External Entities (XXE)

XXE adalah kerentanan yang digunakan penyerang untuk menghalangi pemrosesan data XML suatu aplikasi. Oleh sebab itu, penyerang dapat mengkases berbagai hal di dalam server dan menjaga sistem back-end maupun external, dan bahkan pengguna tidak dapat mengaksesnya di aplikasi web.

Kerentanan ini menghasilkan pengungkapan data pribadi, pemalsuan permintaan sisi server, dll.

 

Kesalahan Konfigurasi Keamanan

Kesalahan Konfigurasi Keamanan dapat diartikan bahwa perusahaan tidak dapat menerapkan kontrol keamanan di aplikasi web atau menerpakan semua kontrol keamanan dengan beberapa kesalahan.

Beberapa kesalahan konfigurasi seperti file yang tidak terenkripsi, sistem yang tidak ditambal, perangkat yang tidak aman, perlindungan firewall yang tidak tepat, dll., membuat penyerang dapat mengakses data atau fungsi yang sensitive. Selain itu, penyerang juga dapat mengakses seluruh database.

 

Deserialisasi yang Tidak Aman

Deserialisasi yang Tidak Aman merupakan serangan yang ditujukan pada aplikasi web, dimana penyerang dapat melakukan serangan dalam jumlah besar seperti serangan DoS, serangan control akses, penghindaran otentikasi, serangan berulang, dll.

Bagi yang tidak tahu serialisasi adalah suatu proses yang berharga untuk mengonversi objek dalam format yang selanjutnya dapat dipulihkan. Sedangkan deserialisasi adalah kebalikan dari serialisasi di mana data dari aliran file jaringan diambil untuk membangun objek lagi.

 

Penggunaan Komponen yang Memiliki Kerentanan

Beberapa komponen aplikasi web seperti kerangka kerja, pustaka, modul perangkat lunak, dll., dapat menyebabkan kerentanan. Jika dalam penggunaan komponen-komponen tersebut pengembang tidak memperbaruinya atau tidak menyadarinya, itu akan menyebabkan serangan. Penyerang dapat menghapus atau mengambil alih seluruh data yang ada di dalam server.

 

Pengalihan dan Penerusan yang Tidak Divalidasi

Berbagai aplikasi web dapat mengarahkan atau meneruskan pengguna ke URL dan halaman yang berbeda di dalam maupun di situs web lain. Namun, jika aplikasi web tidak memiliki sistem validasi yang tepat dan efektif, maka pengguna dapat menerima input yang salah dan mengarahkannya ke sumber yang tidak dipercaya.

 

invalid_forward

Sumber : gurutechnolabs

Pada saat itulah penyerang memanfaatkan situasi dengan mengubah URL yang asli menjadi URL yang lain untuk melakukan phising scam atau mendapatkan kredensial pengguna.

 

Pencatatan dan Pemantauan Tidak Memadai

Ketika pengguna lupa untuk keluar dari peristiwa penting terkait keamanan atau peristiwa tersebut tidak dipantau, kerentanan semacam ini terjadi kapanpun.

Penyerang memanfaatkan hal tersebut untuk mengambil sejumlah besar data dan menghancurkannya. Selain itu, penyerang juga bisa mendapatkan kredensial penting dari pengguna.

 

Praktik Terbaik Keamanan Aplikasi Web

Berikut adalah praktik keamanan aplikasi web yang dapat dipertimbangkan untuk mencegah adanya kerentanan pada sistem/aplikasi web.

 

Enkripsi Data Aplikasi Web

Meng-enkripsi data adalah cara yang paling lama yang diketahui untuk mengamankan suatu aplikasi web. Enkripsi diterapkan pada semua data yang bersifat sensitive di aplikasi web, seperti passwords, detail kartu kredit, data demografi, data pengguna, dll.

Enkripsi juga diterapkan pada semua data baik data yang sedang dikirim (pada saat transaksi data) maupun data disaat diam, sehingga data hanya dapat diakses oleh pengguna yang memiliki izin yang tepat.

Selain enkripsi data, perusahaan harus memastikan untuk selalu memperbarui sertifikat SSL dengan versi yang paling baru/terakhir, serta aplikasi web yang digunakan harus menerapkan minimal keamanan HTTPS.

Untuk otentikasi pada aplikasi web, harus dipastikan minimal telah menerapkan algoritma hashing agar perlindungan data aplikasi web lebih efisien.

 

Memantau Aset Aplikasi Web

Sangatlah penting untuk memantau dan mengetahui semua komponen yang digunakan di dalam maupun mendukung jalannya aplikasi web untuk melindungi aplikasi web.

Perusahaan harus memiliki detail dari semua layanan aplikasi web yang digunakan dan detail dari server yang berisi tentang aplikasi web dan komponen pendukungnya yang tersimpan di dalam server tersebut. Hal tersebut akan membantu untuk mengetahui aset mana yang digunakan untuk mendukung jalannya aplikasi web serta menghemat banyak waktu dalam jangka panjang.

 

Penilaian Ancaman

Penilaian ancaman merupakan poin penting dalam pengecekan keamanan aplikasi web. Hal tersebut bertujuan untuk mengidentifikasi potensi ancaman yang dapat mengancam keamanan aplikasi web. Berikut adalah tahapan yang dapat digunakan untuk mengidentifikasi ancaman.

  • Mengidentifikasi segala alur yang membuat penyerang dapat meretas sistem atau aplikasi web.
  • Mengidentifikasi dan membuat daftar tindakan pencegahan terhadap serangan keamanan.
  • Memasang suatu alat untuk mendukung perlindungan aplikasi web dari ancaman serangan.

Melakukan penilaian secara menyeluruh dapat membantu perusahaan dalam mengintegrasikan langkah-langkah keamanan terbaik yang dapat diterapkan dalam aplikasi web perusahaan. Namun jika tidak ada dukungan internal (dukungan dari manajemen atas) dan dukungan external (penerapan alat tambahan, menyewa penyedia layanan keamanan TI, dsb.), maka keamanan informasi pada perusahaan tidak akan terjamin.

 

Hindari Kesalahan Konfigurasi Keamanan

Proses pembangunan dan penyebaran secara terstruktur dapat membantu mengintegrasikan berbagai hal dalam aplikasi web secara efisien. Selain itu, perusahaan dapat menguji aplikasi web yang telah dibangun sebelum diterapkan pada proses bisnis perusahaan, serta mencegah berbagai kerentanan yang dimiliki aplikasi web.

 

Mengadopsi Kerangka Kerja Keamanan Cyber

Kerangka kerja keamanan siber berisi tentang pedoman dan praktik untuk melindungi keamanan teknologi informasi suatu perusahaan/organisasi. Pedoman atau praktik di dalam kerangka kerja keamanan siber antara lain kontrol keamanan, metode penilaian risiko, praktik/pedoman untuk mempertahankan data dari serangan, dan masih banyak lagi. Oleh karena itu, kerangka kerja keamanan siber sangat disarankan untuk diadopsi oleh perusahaan/organisasi.

 

Melakukan Jaminan dan Pengujian Kualitas Perangkat Lunak

Jaminan kualitas dan pengujian kualitas secara ekstensif merupakan praktik terbaik untuk keamanan aplikasi web.

Sangatlah penting bagi perusahaan untuk melakukan proses pengujian aplikasi web secara manual berdasarkan standar atau kerangka kerja yang berlaku, serta menambahkan lapisan keamanan lain ke dalam aplikasi web untuk mencegah adanya celah keamanan pada prosesnya.

Jaminan kualitas dan pengujian juga dapat meningkatkan pengalaman pengguna, mencegah serangan, dan meningkatkan citra merek di mata pengguna atau pelanggan.

 

Memperbarui Dependensi Secara Teratur

Perubahan scenario harus diiringi dengan pembeharuan semua perpustakaan dan alat yang berjalan. Jika perusahaan gagal melakukannya, maka hal tersebut dapat menyebabkan munculnya berbagai kerentanan keamanan aplikasi web. Tidak hanya itu perusahaan juga akan mengahadapi masalah terkait keamanan informasi, kinerja, dll.

Oleh sebab itu, sangatlah penting bagi perusahaan untuk memperbarui dependensi mereka ke versi terbaru untuk melindung aplikasi web dari sejumlah besar kerentanan, serta meningkatkan kinerja dan membuat tugas pemeliharaan lebih efisien.

 

Prioritas Kerentanan Aplikasi Web

Membuat prioritas kerentanan merupakan salah satu praktik terbaik keamanan aplikasi web lainnya. Dengan memprioritaskan kerentanan, perusahaan dapat mengetahui ancaman kerentanan mana yang dapat dihilangkan dan sisanya dapat diurus nanti.

Terdapat lima cara dimana perusahaan dapat memprioritaskan kerentanan yaitu sebagai berikut.

  1. Severity : Menekankan kerentanan kritis dan keparahan tinggi berdasarkan peringkat CVSS (Common Vulnerability Scoring System).
  2. Jenis Aplikasi : Aplikasi web yang memiliki data sensitif di dalamnya harus ditangani terlebih dahulu.
  3. Popularitas : Prioritas dapat ditentukan juga berdsasrkan popularitas kerentanan di antara para peretas
  4. Tanggal Penyelesaian : Menentukan tanggal penyelesaian kerentanan berdasarkan tingkat kerentanan yang telah ditetapkan.
  5. Remediasi : Berdasarkan tingkat koreksi yang diperlukan, perusahaan dapat memprioritaskan kerentanan dan mengatasinya. Dengan menggunakan metode yang paling sesuai dan berfokus pada beberapa kerentanan, perusahaan dapat menyelesaikannya secara instan dan menghemat waktu.

 

Ingin tahu informasi dan berita menarik lainnya, silahkan kunjungi website kami di :

https://fittechinova.com/

 

Dan jangan lupa follow media sosial kami yang lain
Instagram  : fittechinova

linkedin     : https://www.linkedin.com/company/fti-global

Facebook : Fit Tech Inova Global