SUKABUMIUPDATE.com - Di era digitalisasi saat ini serangan siber mengalami peningkatan yang cukup pesat. Serangan siber ada banyak jenisnya, salah satunya adalah SQL Injection yang kerap kali digunakan untuk mengusik database suatu aplikasi web.
Menurut organisasi yang berkecimpung di bidang keamanan siber, OWASP, SQL Injection adalah jenis serangan siber terbesar ketiga pada aplikasi web.
Pada artikel kali ini, kita akan membahas tentang SQL Injection yang sering menyerang aplikasi web (website).
Apa itu SQL Injection?
SQL Injection, jika dilihat dari namanya maka serangan siber ini berkaitan dengan suntik menyuntik (injeksi).
Melansir acunetix.com, SQL Injection merupakan jenis serangan siber dengan cara memberikan kode program berbahaya pada database suatu website atau aplikasi web. Kode program dapat mengontrol database dan berpotensi terjadinya kebocoran data.
Pelaku SQL Injection dapat melakukan otentikasi dan otorisasi halaman web atau aplikasi web, sehingga dapat mengambil data penting yang ada di dalam database. Database yang berhasil ditembus penyerang dapat diubah-ubah sedemikian rupa, berbahaya bukan?
SQL Injection dapat mempengaruhi website atau aplikasi web yang menggunakan database SQL seperti MySQL misalnya.
Penyerang akan mendapatkan akses tidak sah ke data sensitif yang terkumpul di database seperti data pribadi, informasi pelanggan, rahasia dagang dan data lainnya.
Menurut organisasi keamanan siber OWASP, SQL Injection merupakan jenis serangan siber pada aplikasi web yang paling umum dan paling berbahaya. Bahkan di tahun 2017, OWASP memasukkan SQL Injection sebagai serangan siber paling berbahaya nomor satu pada aplikasi web.
Bagaimana SQL Injection bekerja?
Melansir acunetix.com, SQL Injection dapat dilakukan jika ditemukan suatu input di aplikasi web yang memiliki celah keamanan.
Jika sudah ditemukan, pelaku SQL Injection akan menggunakan input pengguna untuk ke dalam database aplikasi web. Bila database berhasil ditembus, maka penyerangan akan memberikan input suatu konten atau kode program berbahaya.
Karena database jenis SQL bersifat relasional, maka akan sangat berbahaya bila berhasil ditembus oleh penyerang.
Penyerang yang sukses menembus database bisa menyamar sebagai pengguna atau administrator aplikasi web. Selanjutnya penyerang akan mencari data-data penting milik pengguna aplikasi web di dalam database.
Selain itu, penyerang juga bisa mendapatkan akses penuh dalam pengelolaan database, tentunya ini sangat berbahaya. Dalam tingkat lanjut, SQL Injection dapat digunakan untuk tindak serangan siber lain.
Cara mencegah SQL Injection
Melanasir caraguna.com, ada lima cara yang dapat digunakan untuk mencegah terjadinya SQL Injection pada aplikasi web yang kita kelola, diantaranya:
1. Validasi input
Untuk mencegah terjadinya SQL Injection diperlukan validasi input. Input harus difilter terlebih dahulu dengan memperhatikan jenis input, format input, panjang input dan sebagainya.
Jika input telah difilter sesuai prosedur yang ditetapkan, maka dapat digunakan ke dalam query database.
2. Gunakan query parameter
Query parameter atau parameterized query merupakan permintaan query yang dilengkapi penanda parameter. Penanda parameter akan memiliki nilai pada query dieksekusi. Dengan demikian, penyerang tidak dapat mengubah kode SQL saat melakukan input.
3. Pembatasan hak akses
Pemberian batasan hak akses bertujuan untuk mencegah pihak asing membobol database. Pengelola aplikasi web perlu membuat sebuah akses khusus untuk bisa masuk ke dalam database.
4. Enkripsi database
Enkripsi database dapat dilakukan untuk menyimpan data yang bersifat kredensial secara terpisah. Hal ini bertujuan agar para SQL Injector kesulitan mendapatkan data. Misal database username dan password dipisah.