s.p. digital icon s.p. Digital slogan

Teknik Peretasan dan Exploitasi Keamanan Situs Website

hacking techniques and prevention

Tidak satupun aplikasi software atau situs website yang memiliki tingkat keamanan hingga 100%. Hampir semuanya mempunyai celah yang dibidik oleh hacker untuk melakukan exploitasi dan mencuri data rahasia yang tersimpan secara online. Apa manfaat seorang hacker mencuri data dari situs website atau sebuah aplikasi? Apabila data penting dicuri, hal ini sangat merugikan dan berdampak buruk bagi pengguna situs atau sebuah aplikasi dan kredibilitas dari suatu perusahaan akan menurun karena hilangnya kepercayaan konsumen.

Apa itu hacker dan apa motif mereka melakukan serangan terhadap suatu situs web, sistem komputer, software online ataupun aplikasi? Dilansir dari Wikipedia, Hacker dapat diartikan seseorang atau suatu komunitas yang memiliki keterampilan khusus di bidang teknologi komputer untuk menemukan celah keamanan dan mengatasi masalah

Hacker dapat dibagi menjadi beberapa bagian berdasarkan konteks tujuan yaitu:

  1. White Hat Hackers adalah individu atau kelompok yang sangat terampil dan memiliki pengetahuan secara teknis untuk melakukan pencarian kelemahan pada suatu sistem komputer, software, aplikasi dan atau situs web untuk dapat diperbaiki guna mengurangi resiko pembobolan data atau pencurian.
  2. Black Hat Hackers adalah individu atau kelompok yang melanggar hukum untuk menyerang sistem keamanan sebuah sistem komputer, aplikasi, software dan atau situs web dan kemudian mencuri data untuk digunakan secara ilegal dan dapat menimbulkan kerusakan pada objek yang exploitasi.
  3. Gray Hat Hackers adalah diantara white hat hacker dan black hat hacker. Mereka bertindak untuk menemukan celah keamanan secara ilegal dan menginformasikan kepada pihak pemilik dengan maksud untuk mendapatkan imbalan.
  4. Script Kiddie sebutan untuk hacker yang masih amatir dan tidak punya pengalaman untuk menulis script program mereka sendiri. Peretas biasanya hanya coba coba dengan menggunakan suatu software yang mereka temukan dan di download untuk melakukan testing dan serangan ke suatu situs web.
  5. State Sponsored Hackers adalah hacker yang bekerja untuk pemerintahan atau badan intelijen negara dengan tujuan untuk melakukan pengamanan terhadap sistem komputer atau situs pemerintahan dari serangan hacker lainnya.

Dengan resiko yang sudah dipahami tentang rentannya sebuah sistem komputer, aplikasi, software atau situs web diretas oleh orang atau kelompok yang tidak bertanggung jawab dan mencuri data penting untuk dieksploitasi untuk dipergunakan secara ilegal. Software house yang memiliki tenaga programmer yang handal dan berpengalaman dibidangnya akan bekerja dengan cermat dan teliti untuk menutup sedini mungkin setiap celah keamanan sehingga menyulitkan pihak hacker karena sistem keamanan canggih. Jika dibutuhkan, Mereka investor yang memiliki modal besar akan bekerja sama dengan hacker untuk mengamankan suatu sistem komputer dan secara berkala melakukan testing untuk mencari celah keamanan agar dapat diperbaiki.

Lalu apa saja teknik yang umum digunakan hacker untuk menyerang dan mengeksploitasi keamanan situs?

Berikut Jenis Teknik Peretas Yang Sering digunakan

1. SQL Injection

Teknik ini biasanya memanipulasi suatu perintah yang mampu mengecoh logic suatu sistem saat proses login ke suatu halaman situs atau halaman administrator web. Jika aplikasi tidak memvalidasi dengan benar input data atau variabel dari suatu UR, hacker dapat mengambil alih atau memodifikasi database yang terkait.

For example: ex-am-ple.com/items/iteams.php?itemid=999; DROP TABLE USERS will generate the following SQL query:

SELECT ItemName, ItemDescription
FROM Items
WHERE ItemNumber = 999; DROP TABLE USERS

Query di atas memerintahkan untuk menghapus data user pada tabel database.

Pencegahan:

  • Pengaturan format form isian dengan membatasi karakter dan panjang karakter yang diperbolehkan ketika diinput oleh user.
  • Melakukan validasi setiap data yang masuk dengan metode whitelist dan blacklist yang artinya memfilter kode atau karakter jika terindikasi berbahaya seperti: (&, ;, `, ‘, \, “, |, *, ?, ~, <, >, ^, (, ), [, ], {, }, $, \n, dan \r), sedangkan whitelist adalah karakter yang aman untuk diinput pada suatu form.
  • Parameterized Query yaitu permintaan (Query) yang memakai penanda, dimana penanda ini akan diberikan nilai pada waktu query dieksekusi.
  • SQL Escape String dapat mengurangi resiko dari karakter yang dianggap berbahaya akan diconvert menjadi karakter lain, contohnya:
    $username = mysql_real_escape_string($_POST['username']); atau $param = mysql_real_escape_string($_GET['ID']);
  • Menonaktifkan Notifikasi Error dapat mengurangi resiko dari serangan SQL injection karena fitur notifikasi error pada SQL injection adalah fitur yang bisa disalahgunakan oleh para hacker untuk mengeksploitasi situs web.
  • Membuat Struktur Database yang baik yaitu dengan memisahkan data krusial seperti username, password atau ID lainnya antar table database serta memberi batasan akses pada setiap user sesuai levelnya. Mengenkripsi password sebelum disimpan ke table database dengan memanfaatkan fitur sql seperti funsi MD5(), Hash(), Sha1(), crypt() atau base64_encode().

2. Cross-Site Scripting (XSS)

XSS merupakan teknik peretasan situs dengan cara menyisipkan kode pemrograman biasanya menggunakan javascript, VBScript, ActiveX, Flash, dan bahasa sisi klien lainnya. Ada 2 tipe serangan XSS yaitu Persistent XSS atau Stored XSS adalah jenis XSS yang paling merusak. Dalam persistent XSS, skrip tersebut akan disimpan secara permanen di server target, seperti database, forum pesan. Dan Non-persistent XSS adalah serangan yang bekerja dengan menyisipkan code di url.

Pencegahan:

  • Melakukan filtrasi terhadap karakter tertentu pada nilai input.
  • Memvalidasi pada file POST dan GET untuk menghindari penyisipan script dapa file yang unggah.
  • Menerapkan Cross Boundaries Policy yang mewajibkan user untuk melakukan register terlebih dahulu dan terverifikasi.
  • Menambah Security Development Lifecycle yaitu pengembangan software yang membantu programmer membuat software lebih aman dan pemenuhan kebutuhan.

3. Brute Force Attacks

Brute Force Attacks biasanya seorang hacker menggunakan program otomatis yang digunakan untuk menebak secara berulang kata sandi user.

Pencegahan:

  • Membatasi user untuk login dengan memberikan maksimal 3x percobaan untuk login, dan jika diindikasikan salah maka otomatis terblokir.
  • Membuat kombinasi password dengan karakter, angka dan karakter spesial sehingga tidak mudah untuk ditebak.
  • Menyisipkan kode Captcha (Completely Automated Public Test to Tell Computers and Humans Apart) pada halaman yang dianggap riskan seperti kolom login, komentar atau pesan.
  • Two Factor Authentication yaitu sebuah sistem keamanan ganda yang dibutuhkan ketika membuka sebuah aplikasi. 2FA akan memvalidasi ketika user lolos pada fase awal dengan mengirimkan suatu kode baik via sms, whatsapp atau dengan aplikasi seperti Google Authenticator.
  • Integrasi server dengan CloudFlare adalah layanan CDN (Content Delivery Network) dan web security.

Distributed Denial of Service (DDoS)

DDoS merupakan serangan yang menargetkan situs web dan server dengan mengirimkan lalu lintas palsu sehingga server akan terganggu yang menyebabkan layanan down. Serangan DDoS mencoba untuk menghabiskan sumber daya aplikasi.

Pencegahan:

  • Menyediakan kapasitas sumber daya server untuk meminimalisir saat terjadinya lonjakan traffic. Hal ini bisa dicek melalui Analytics atau software lain yang memberikan gambaran umum tentang jumlah pengunjung sehingga bisa memprediksi besaran kapasitas server yang dibutuhkan.
  • Menggunakan layanan proteksi DDoS seperti CloudFlare karena pada dasarnya server tersebar melalui CDN sehingga kinerja server tidak berlebihan.
  • Menggunakan Firewall yang kuat sehingga terhindar dari serangan DDoS karena mampu memfilter situs yang dianggap berbahaya.
  • Jika tercatat indikasi suatu IP yang mencurigakan yang mana traffic diluar batas, dapat melakukan pemblokiran akses dari IP bersangkutan.

4. Cross-Site Request Forgery (CSRF)

CSRF merupakan serangan eksploitasi web yang membuat pengguna tanpa sepengetahuannya mengirim sebuah permintaan atau request ke website melalui website yang sedang dibuka saat itu. Biasanya serangan ini berupa exploit URL yang dikirimkan ke Email dengan tujuan untuk mendapatkan data penting seperti password/email login.

Pencegahan:

  • Menerapkan 2FA pada login session.
  • Google Authenticator yang berfungsi untuk memvalidasi ulang saat permintaan untuk login.

5. Vulnerabilities

Vulnerabilities yaitu serangan hacker dengan menyisipkan file tertentu bisa berupa malware yang ketika download dan instalasi maka malware tersebut akan menginfeksi sistem komputer.

Pencegahan:

  • Validasi dan sanitasi input pengguna saat memasukkan file eksternal.
  • Terapkan filtering atau whitelist untuk membatasi jenis file yang diperbolehkan dan sumber file yang diizinkan untuk sisipkan.
  • Batasi akses ke direktori yang aman dan hindari menyertakan file dari sumber eksternal yang tidak dipercaya.

Itulah uraian lengkap tentang bagaimana mengamankan sebuah sistem komputer, aplikasi, software atau situs dari serangan hacker yang dapat merugikan investor atau pengguna. Untuk itu pentingnya memilih rekanan software house yang sudah teruji dan terpercaya agar terhindar dari berbagai kemungkinan terburuk terjadi sehingga pihak investor sangat perlu untuk melakukan perawatan dan update berkala guna mendapatkan pemutakhiran program.

Oleh karena itu sebelum memutuskan untuk bekerja sama perlu diperhatikan beberapa aspek penting untuk dapat dipertimbangkan dalam memilih sebuah perusahaan sorftware.