Serangan DoS (Denial of Service) tampaknya masih mejadi favorit
hacker. Karena boleh dikatakan
serangan DoS ini tidak ada obatnya. Bila
serangan DoS ini dilakukan secara beramai-ramai dan terorganisir
dengan baik, maka akan menghasilkan kerusakan
yang dahsyat dan sanggup melumpuhkan situs-situs populer seperti
twitter.com dan
metasploit.com.
Apa itu DoS
Denial of service adalah
jenis serangan yang tujuannya adalah mencegah pengguna
yang sesungguhnya menikmati layanan
yang diberikan server. Server sesuai namanya adalah pelayan
yang harus selalu siap melayani permintaan pengguna,
yang umumnya beroperasi 24 jam tanpa henti. Contohnya adalah web server
yang bertugas melayani pengunjung web menyediakan informasi
dalam bentuk halaman html.
Dalam kondisi normal, pengunjung
dapat meminta resource
dari web server
untuk ditampilkan
dalam browsernya, namun bila web server
terkena serangan DoS maka pengunjung tidak
bisa menikmati layanan web server.
Secara umum ada 2
cara melakukan
serangan DoS:
- Mematikan Server
- Menyibukkan Server
- Tanpa bug/vulnerability
- Meng-exploit bug/vulnerability
DoS dengan Mematikan Server: Kill Them!
Anda pernah mengalami ingin memakai telepon umum
atau ATM namun tidak
bisa karena di mesin tersebut ditempel kertas berisi pesan “Out of Service”
atau “
Sedang dalam perbaikan”. Telepon umum adalah target
serangan DoS
yang biasa terjadi, dimana-
mana kita menemukan telpon umum
yang rusak karena
serangan DoS seperti membanting gagang telpon, mencabut kabel, memecahkan LCD dan aksi-aksi lainnya.
Tujuan
serangan ini adalah
membuat server shutdown, reboot, crash, “not responding”. Jadi
serangan ini menghasilkan kerusakan
yang sifatnya persisten artinya kondisi DoS akan tetap
terjadi walaupun attacker
sudah berhenti menyerang, server
baru normal kembali setelah di-restart/reboot.
Bagaimana cara serangan DoS ini dilakukan?
Serangan ini dilakukan
dengan meng-exploit bug/vulnerability
pada server. Kata kunci
pada vulnerability
jenis ini biasanya adalah “specially/carefully crafted packet/
request”,
yang artinya paket
yang dirancang khusus. Kenapa dirancang khusus? Sebab
dalam paket itu mengandung sifat tertentu
yang membuat server
mati ketika mengolah paket khusus itu.
Mari
kita perhatikan
beberapa contoh vulnerability
yang berakibat
pada DoS attack:
- Ping of Death ( CA-1996-26 )
Ini adalah jenis bug yang sudah sangat tua. Praktis sudah tidak ada lagi sistem yang vulnerable terhadap bug ini. Bug ini bila diexploit akan membuat server crash, freeze atau reboot. Serangan ini dilakukan dengan mengirimkan “specially crafted” paket berupa oversized ICMP packet, yaitu paket yang ukurannya di atas normal. Ketika server menerima dan memproses paket yang “aneh” ini, maka server akan crash, freeze atau reboot. Ini adalah contoh serangan DoS “one shot one kill” karena bisa merusak server hanya dengan satu tembakan saja.
- MySQL IF Query DoS ( SA25188 )
Bug ini akan membuat mysql server menjadi crash hanya dengan mengirim sql khusus yang mengandung fungsi IF() contohnya: “SELECT id from example WHERE id IN(1, (SELECT IF(1=0,1,2/0)))”. Ini juga jenis serangan “one shot one kill”.
Tiga contoh di
atas kiranya cukup memberikan gambaran
tentang bagaimana serangan DoS
jenis ini dilakukan.
Pada intinya adalah attacker memanfaatkan (baca:mengexploit) bug
yang membuat server berhenti bekerja dan biasanya dilakukan sendirian secara remote
dengan mengirimkan specially crafted packet.
DoS dengan Menyibukkan Server: Make Them As Busy As Possible!
Pada waktu menjelang
lebaran kita sering merasa begitu sulit mengirim sms, bahkan
sering terjadi gagal kirim. Begitu juga ketika berlangsung acara kuis di TV, mengelpon ke nomor
untuk menjawab kuis terasa begitu sulit. Hal ini
terjadi karena ada begitu banyak
orang yang mengirim sms
pada saat lebaran dan menelpon
pada waktu kuis sehingga
membuat jaringan telekomunikasi
menjadi begitu sibuk sampai tidak
bisa melayani pengguna lain. Peristiwa itu mirip
dengan yang terjadi ketika sebuah server mendapat
serangan denial of service. DoS
yang terjadi pada peristiwa tersebut
bukan jenis DoS
yang mematikan server, namun
jenis DoS
yang menyibukkan server.
Jenis DoS ini bersifat sementara, server akan kembali normal bila attacker berhenti mengirimkan
request yang membuat sibuk server.
DoS
jenis ini terbagi lagi
menjadi 2
jenis berdasarkan
cara melakukan
serangan:
- Exploiting vulnerability: Menyerang dengan malicious request/packet
- No vulnerability exploitation: Menyerang dengan normal request/packet
Membuat server sibuk
dengan mengexploitasi vulnerability
lebih cepat daripada tanpa mengeksploit vulnerability.
Make Server Busy by Exploiting Vulnerability
Dalam serangan DoS
jenis ini, attacker memanfatkan bug
yang membuat server berlebihan
dalam menggunakan resource (cpu,memory,disk space dsb). Attacker akan mencari
cara bagaimana agar
membuat server bekerja ekstra keras (jauh
lebih keras
dari request normal)
untuk melayani
request dia. Biasanya
serangan DoS
jenis ini tidak berupa
serangan “one shot one kill”.
Serangan dilakukan
dengan melakukan banyak
request dengan setiap
request membuat server mengonsumsi
lebih banyak resource
dari request yang normal.
Dalam hitungan matematika sederhana, bila attacker
bisa membuat server bekerja selama 10
detik hanya untuk melayani dia (misal normalnya 0,1
detik), maka attacker
bisa mengirimkan
request 1.000x
untuk membuat server melayani dia selama 10.000
detik (2,7 jam
lebih) sehingga
membuat pengguna lain tidak
bisa menikmati layanan server.
Untuk lebih memahami DoS
jenis ini, mari
kita lihat contoh-contoh vulnerability
yang bisa diexploit
untuk melancarkan
serangan DoS
jenis ini:
Dua contoh vulnerability di
atas cukup menjelaskan
bagaimana serangan DoS
jenis ini dilakukan.
Pada intinya adalah
dengan mengirim banyak malicious
request/paket
yang membuat server mengonsumsi resource
lebih banyak dan
lebih lama
untuk setiap requestnya.
Make Server Busy Without Exploiting Vulnerability
Ini adalah
jenis serangan yang mengandalkan
pada kemampuan mengirimkan normal
request sebanyak-banyaknya sehingga server
menjadi sibuk.
Perbedaan DoS
jenis ini
dengan DoS
yang mengexploit vulnerability adalah
pada requestnya.
Request yang dikirimkan
pada DoS
jenis ini adalah
request yang normal seperti
yang dilakukan pengguna
biasa, sehingga server tidak mengonsumsi resource berlebihan. Sedangkan DoS
yang mengandalkan vulnerability mengirimkan specially crafted malicious
request untuk membuat server mengonsumsi resource
lebih banyak
untuk melayani malicious
request tersebut.
Normal
request hanya membuat server mengonsumsi resource
dalam jumlah
biasa-
biasa saja, tidak akan
mengganggu kerja server secara keseluruhan. Diperlukan normal
request dalam jumlah
yang sangat banyak
untuk membuat server terganggu kerjanya. Jadi agar
serangan ini
menjadi efektif, maka
serangan harus dilakukan beramai-ramai
dari banyak tempat, semakin banyak penyerang semakin bagus hasilnya.
Serangan ini juga disebut
dengan distributed DoS (DDoS) karena dilakukan
dari banyak lokasi
yang terdistribusi (tersebar).
Serangan DDoS dilakukan
dengan menggunakan
komputer zombie
atau robot. Zombie adalah
komputer yang sudah dikuasai attacker sehingga
bisa dikendalikan
dari jarak jauh. Sekumpulan
komputer zombie membentuk jaringan
yang disebut bot-net. Attacker mendapatkan banyak zombie
dengan menyebarkan virus
atau worm, setiap
komputer yang terinfeksi akan diinstall program
yang membuat komputer bersedia menjalankan perintah
dari attacker.
Courtesy of: www.dos-attack.net
Gambar di
atas menjelaskan
cara kerja DDoS. Attacker memberi perintah
kepada semua pasukannya
untuk membuat request HTTP ke sebuah website. Bila pasukan
yang dikuasai attacker sangat besar, maka web server akan dibanjiri
request sehingga
menjadi terlalu sibuk dan tidak
bisa diakses oleh pengguna
yang sebenarnya (real visitor).
Serangan jenis ini tidak ada obatnya karena attacker tidak meng-exploit bug
atau vulnerability apapun. Bila
pada jenis DoS
yang lain,
serangan dapat dicegah
dengan melakukan patching
atau update software, maka
serangan ini tidak
bisa dihentikan
dengan update
atau patch.
Kesimpulan
Denial of service adalah
serangan yang membuat server tidak
bisa melayani pengguna
yang sesungguhnya. Berikut adalah
jenis-
jenis serangan DoS berdasarkan
cara melakukan
serangan:
ilmuhacking.com