Buat Akun DQLab & Akses Kelas Data Science Python, R, SQL, Excel GRATIS

Kenali Bahaya SQL Injection Demi Keamanan Data

Belajar Data Science di Rumah 20-Desember-2022
https://dqlab.id/files/dqlab/cache/d85264df409ae65c04b89321b52b01c2_x_Thumbnail800.jpg

SQL Injection merupakan salah satu risiko aplikasi/situs web yang paling sering ditemukan. Berdasarkan laporan keamanan aplikasi yang dikeluarkan oleh Veracode,32% dari aplikasi web paling tidak memiliki satu kerentanan SQL Injection. Berdasarkan Open Web Application Security Project (OWASP), injection juga merupakan merupakan ancaman nomor satu terhadap keamanan aplikasi web. Sebagai tambahan, berdasarkan laporan kerentanan dari komunitas yang diperoleh Badan Siber dan Sandi Negara (BSSN) melalui Voluntary Vulnerability Disclosure Program(VVDP), dari bulan Januari s.d. April 2019, 73% dari laporan kerentanan yang diterima merupakan kerentanan SQL Injection.


Serangan SQL injection ini dapat mencakup pencurian serta manipulasi pada database. Bayangkan jika database yang dibobol adalah database dari aplikasi finansial yang kita gunakan, tentu bukan masalah yang sulit untuk mendapatkan email, password, dan data pribadi lainnya. Sangat berbahaya bukan? Apa sebenarnya SQL injection itu? Apakah Sahabat DQ bisa mencegahnya melihat betapa berbahayanya hal ini? Nah, pada artikel ini akan dibahas lebih detail SQL injection. Sekaligus juga akan diberikan tips untuk mencegahnya.


1. Apa Itu SQL Injection?

SQL

SQL Injection merupakan teknik eksploitasi dengan cara memodifikasi perintah SQL pada form input aplikasi yang memungkinkan penyerang untuk dapat mengirimkan sintaks ke database aplikasi. SQL Injection juga dapat didefinisikan sebagai teknik eksploitasi celah keamanan pada layer database untuk mendapatkan query data pada sebuah aplikasi SQL Injection dapat digolongkan kedalam. 5 (lima) risk severity, yaitu sistem penilaian risiko yang dihitung dengan menggunakan kalkulator OWASP berdasarkan hasil analisis faktor kemungkinan terjadi (likelihood) dan faktor dampak (impact) pada kerentanan yang berhasil diidentifikasikan. 


Keberhasilan serangan SQL Injection memungkinkan penyerang untuk dapat mengakses seluruh database, tabel dan query pada aplikasi, dimana seperti yang diketahui database merupakan inti data pada aplikasi, apabila informasi mengenai pengguna (misal : nama, tanggal lahir, NIP, jabatan, email, nomor telepon dan lain sebagainya) diketahui, maka penyerang dapat melakukan serangan lanjutan terhadap aplikasi. Akses dan aksi illegal terhadap database pada aplikasi juga dapat menimbulkan kebocoran integritas data (data integrity compromise), yaitu adanya perubahan terhadap data, kebocoran ketersediaan data (data availiability compromised), yaitu adanya penghapusan terhadap data, bahkan yang paling ekstrim penyerang dapat melakukan pengambilalihan aplikasi.


Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula


2. Bagaimana Cara Kerja SQL Injection?

SQL

Dalam melakukan kejahatan menggunakan SQL injection terdapat tiga langkah yang dilakukan, yaitu:

  • Menemukan celah keamanan melalui data pengguna. Langkah pertama yang dilakukan pada proses SQL injection adalah melihat celah keamanan dengan mendapatkan data pengguna melalui proses login saat akan mengakses situs tertentu. Terutama saat pengguna menuliskan nama user beserta kata sandi. Selanjutnya mereka akan mengirimkan kode pada halaman login dengan query SQL dan diproses oleh database sebagai sebuah perintah. Pada bagian username umumnya diisi dengan menggunakan karakter. Melalui langkah tersebut, hacker dapat menambahkan karakter sebagai kontrol SQL serta memberikan kata kunci berupa instruksi yang dapat merusak database. 

  • Proses validasi. Selanjutnya database melakukan validasi atas perintah yang dikirimkan. Dengan demikian, database akan memberikan informasi pengguna yang digunakan pada proses login. Selanjutnya, hacker akan diizinkan untuk masuk pada akun tersebut. 

  • Mendapatkan akses database. Langkah selanjutnya, mereka dapat melakukan segala aktivitas pada akun terkait. Mulai dari mengubah pengaturan di dalamnya termasuk menjadikan hacker sebagai administrator. Mereka bisa dengan mudah mengakses, mengubah, hingga menghapus data pada situs terkait.

3. Apa Dampak Dari SQL Injection?

SQL

SQL injection memiliki dampak berbahaya di antaranya yaitu:

  • Verifikasi login dapat ditembus. Dengan SQL injection, penyerang dapat masuk ke website/aplikasi tanpa username dan password yang valid. Artinya, peran verifikasi pengguna untuk memfilter akses website bisa mudah dilewati. Kondisi ini tentu sangat membahayakan website yang menjadi sasarannya.

  • Privasi pengguna website terancam. Tak hanya bisa mengakses website tanpa login, pelaku SQL injection juga dapat melakukan login sebagai pengguna lain, tergantung teknik yang digunakan. Dengan kondisi ini, hacker bisa mendapatkan informasi pengguna dan menyalahgunakannya untuk aktivitas ilegal. Termasuk, penipuan atas nama pengguna tersebut.

  • Database termodifikasi. Teknik SQL injection juga dapat digunakan untuk mengubah serta menambah data baru pada database.Hacker bisa saja mengubah data transaksi nasabah, bahkan memindahkan isi rekening nasabah ke rekening lain milik hacker tersebut.

  • Riwayat data terhapus dari database. Tak ingin aksinya dilacak, penyerang dengan akses administrator bisa menghapus keseluruhan data pada database.

  • Pembobolan firewall. Beberapa server database memungkinkan akses terhadap operating system (OS). Jika serangan SQL injection berhasil mengakses OS, artinya hacker mampu menyerang jaringan internal yang ada di balik firewall dengan OS Command Execution.


Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data


4. Upaya Apa yang Bisa Dilakukan Untuk Mencegah SQL Injection?


SQL


Serangan SQL injection ini memungkinkan terjadinya pencurian data melalui celah keamanan database. Aktivitas ini tentu sangat merugikan pengguna. Oleh karena itu, perlu dilakukan beberapa cara sebagai tindakan pencegahan terjadinya SQL injection pada situs yang kalian miliki. Cara yang dapat dilakukan yaitu:

  • Melakukan validasi pengguna. Validasi pada saat input pengguna dapat membantu melakukan pengecekkan segala perintah sebelum diizinkan masuk. Proses ini bertujuan untuk memastikan jenis input apa saja yang mencoba masuk sehingga dapat ditentukan diizinkan atau tidak. Dampaknya, hanya pengguna dengan value tertentu yang dapat masuk.

  • Memisahkan database username dan kata sandi. Melalui SQL injection, hacker mampu mendapatkan username dan kata sandi pada satu database. Maka, untuk mencegah hal tersebut terjadi, kalian dapat menempatkan username dan kata sandi pada database yang berbeda. 

  • Menggunakan parameterized queries. Parameterized Queries merupakan cara yang membantu memberikan seluruh kode SQL sebelum mengirimkan ke manajemen database. Sehingga, database dapat mengenali kode dan dapat membedakan melalui data input. Penggunaan Parameterized Queries dapat menghindari SQL injection karena query pada situs terkait telah terkunci dan tidak dapat dilakukan perubahan apa pun. 

  • Membatasi hak akses. Dalam mengakses sebuah situs, diperlukan batasan agar pengguna lain tidak dapat dengan mudah mencoba masuk. Hindari melakukan proses masuk ke database menggunakan akses admin. Gunakan akses yang telah ditentukan sebagai upaya membatasi lebarnya ruang lingkup sistem.


Kejahatan bisa terjadi dimana saja, bahkan di dunia digital sekalipun. Segala sesuatu yang berhubungan dengan data customer memang sudah selayaknya untuk dilindungi. Serangan SQL Injection bukanlah satu-satunya kejahatan yang akan kita temui, karena ada banyak sekali kejahatan siber yang mengancam website atau aplikasi yang kita miliki. Sehingga kita harus terus waspada dan terus meningkatkan keamanan website. Namun sebelum masuk ke tingkat advance tersebut, ada baiknya belajar hal-hal yang bersifat fundamental dari SQL. Nah, DQLab menjadi solusi atas keresahan Sahabat DQ. Kalian bisa belajar mengasah kemampuan SQL melalui modul pembelajaran di website DQLab. Modul ini sangat cocok untuk pemula yang belum memiliki pemahaman terhadap SQL atau bukan dari background IT. Agar bisa mengaksesnya, kalian cukup berlangganan untuk menjadi member premium di DQLab. Segera Sign Up di website dan nikmati kemudahan belajar meski untuk pemula!


Penulis : Dita Feby 

Editor : Annissa Widya  




Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login