MAKALAH SEMINAR TUGAS AKHIR PERIODE Januari 2010
RANCANG BANGUN SISTEM PENCEGAHAN DATA FLOODING PADA JARINGAN KOMPUTER Johan Anggi Pratama – Wahyu Suadi, S.Kom, M.M, M.Kom. – Bagus Jati Santoso, S.Kom. Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember, Email:
[email protected],
[email protected],
[email protected]
Abstrak Suatu serangan ke dalam server jaringan komputer dapat terjadi kapan saja. Baik pada saat administrator sedang kerja ataupun tidak. Dengan demikian dibutuhkan sistem pertahanan didalam server itu sendiri yang bisa menganalisa langsung apakah setiap paket yang masuk tersebut adalah data yang diharapkan ataupun data yang tidak diharapkan. Kalau paket tersebut merupakan data yang tidak diharapkan, diusahakan agar komputer bisa mengambil tindakan yaitu dengan mengeblok IP asal paket tersebut. Pemodelan suatu sistem yang digunakan untuk mengatasi flooding data pada suatu jaringan. Sistem didesain dengan jalan membuat suatu firewall yang aktif yang bisa mendefinisikan setiap data yang masuk kedalam server, apakah data yang datang itu merupakan sebuah data flood atau data yang diperlukan oleh user.
peralatannya. Kerugian yang diderita akan hal ini bisa dibilang tidak kecil. Kasus pencurian atau manipulasi data perusahaan saja dapat mencapai kerugian sampai jutaan dollar amerika. Belum lagi kerusakan peralatan yang digunakan oleh perusahaan tersebut, yang bisa dibilang tidak murah. Dalam faktor keamanan ini biasanya perusahaan menempatkan administrator untuk menjaga. Tetapi fungsi administrator tentunya akan terbatas waktunya, saat jam kerja. Meskipun di jam kerja pun kadang kala karena terlalu banyaknya aliran data tentunya administrator tentunya akan kesulitan menganalisa apakah data yang diterima oleh server adalah data yang diharapkan atau data yang tidak diharapkan. Sedangkan suatu serangan ke sistem keamanan bisa terjadi kapan saja. Baik pada saat administrator sedang kerja atupun tengah malam dimana tidak ada yang menjaga server tersebut. Dengan demikian dibutuhkan sistem pertahanan didalam server itu sendiri yang bisa menganalisa langsung apakah setiap paket yang masuk tersebut adalah data yang diharapkan ataupun data yang tidak diharapkan. Kalau paket tersebut merupakan data yang tidak diharapkan, diusahakan agar komputer bisa mengambil tindakan untuk mengantisipasi agar serangan yang terjadi tidak menimbulkan kerugian yang besar. Akan lebih baik kalau server bisa mengantisipasinya langsung, sehingga kerugian bisa mendekati nol atau tidak ada sama sekali. Salah satu serangan yang menimbulkan efek parah pada server adalah TCP Syn flood. Paketpaket SYN adalah salah satu jenis paket dalam protokol Transmission Control Protocol yang dapat digunakan untuk membuat koneksi antara dua host dan dikirimkan oleh host yang hendak membuat koneksi, sebagai langkah pertama pembuatan koneksi dalam proses "TCP Three-way Handshake". Dalam sebuah serangan SYN Flooding, si penyerang akan mengirimkan paket-paket SYN ke dalam port-port yang sedang berada dalam keadaan "Listening" yang berada dalam host target. Normalnya, paket-paket SYN yang dikirimkan berisi alamat sumber yang menunjukkan sistem aktual, tetapi paket-paket SYN dalam serangan ini didesain sedemikian rupa, sehingga paket-paket tersebut memiliki alamat sumber yang tidak menunjukkan sistem aktual.
Kata kunci: Data flooding, jaringan komputer, TCP Syn flood.
1.
Pendahuluan Sudah banyaknya perusahaan yang menggunakan internet sebagai sarana untuk membantu dalam melaksanakan aktifitas rutin perusahaan dan aktifitas rutin lainnya. Dalam hal ini tidak hanya perusahaan yang bergerak di bidang telekomunikasi saja yang menggunakan internet, tetapi juga perusahaan lain yang tidak bergerak di bidang tersebut. Kecenderungan penggunaan internet ini disebabkan oleh dengan adanya internet akan didapatkan kemudahan dalam hal komunikasi dan transfer data. Kenyataan ini bisa kita lihat pada bidang perbankan. Sistem komunikasi data sangat berguna membantu perusahaan tersebut untuk melayani para nasabahnya, juga dalam bidang marketing suatu barang hasil industri suatu perusahaan. Kemudahan dan kepraktisan merupakan kunci dari mengapa dipilihnya internet ini. Tetapi disamping keuntungan yang banyak tersebut, internet juga menyimpan banyak kekurangan yang sangat mengkhawatirkan bagi para penggunanya. Salah satu yang sangat menjadi kendala adalah dalam bidang keamanan. Banyak kasus yang membuktikan bahwa perusahaan yang tersambung di internet sering kali mendapatkan gangguan baik dalam data yang dimiliki maupun 1
JOHAN ANGGI PRATAMA - 5105100073
Ketika target menerima paket SYN yang telah dimodifikasi tersebut, target akan merespons dengan sebuah paket SYN/ACK yang ditujukan kepada alamat yang tercantum di dalam SYN Packet yang ia terima (yang berarti sistem tersebut tidak ada secara aktual), dan kemudian akan menunggu paket Acknowledgment (ACK) sebagai balasan untuk melengkapi proses pembuatan koneksi. Tetapi, karena alamat sumber dalam paket SYN yang dikirimkan oleh penyerang tidaklah valid, paket ACK tidak akan pernah datang ke target, dan port yang menjadi target serangan akan menunggu hingga waktu pembuatan koneksi "kadaluwarsa" atau timed-out. Jika sebuah port yang listening tersebut menerima banyak paketpaket SYN, maka port tersebut akan meresponsnya dengan paket SYN/ACK sesuai dengan jumlah paket SYN yang ia dapat menampungnya di dalam buffer yang dialokasikan oleh sistem operasi.
4.
2.
Jaringan Komputer Kebutuhan akan adanya suatu jaringan informasi meningkat dengan pesat. Kebutuhan kita akan informasi bertambah besar. Bagi sebagian masyarakat, informasi telah menjadi barang kebutuhan primer, dan hal tersebut berkaitan erat dengan perkembangan dunia jaringan komputer. Sebelum era penggunaan jaringan komputer, penggunaan komputer sangat terbatas untuk mesin-mesin standalone yang terpisah dan independent antara satu dengan yang lainnya. Tetapi setelah memasuki era penggunaan jaringan, kumpulan komputer-komputer standalone tersebut dihubungkan satu dengan yang lainnya dan menjadi suatu jaringan sehingga seluruh informasi dari masing-masing komputer dapat dikorelasikan. Beberapa tujuan dari penggunaan jaringan : 1.
2.
3.
Skalabilitas, yaitu kemampuan untuk meningkatkan kinerja sistem secara berangsur-angsur sesuai dengan beban pekerjaan dengan hanya menambah sejumlah prosesor. Meningkatnya kuantitas dan kualitas kebutuhan akan informasi dan jaringan informasi mendorong perluasan jaringan yang telah tersedia baik dari segi ukuran, kemampuan maupun teknologi. Kebutuhan dan ekspansi jaringan direspon dengan baik oleh perusahaanperusahaan (vendors) komputer, sehingga bermunculan sistem-sistem dan peralatan (equipment) baru seperti local dan remote bridges, multiprotocol routers, distributed hubs dan switching hubs. Kebutuhan akan bandwith yang lebih lebar untuk aplikasi LAN-to-LAN networking telah memunculkan TI DSU/CSU units atau frame relay interfaces.
3.
Data flooding Traffic data yang ada dalam suatu jaringan akan mengalami turun naik selama pemakaiannya. Pada jam-jam sibuk traffic suatu data akan sangat padat, sehingga traffic data tersebut akan terganggu. Baik data yang akan dikirim maupun data yang akan datang akan mengalami antrian data yang mengakibatkan kelambatan dalam pengiriman dan penerimaan data. Tetapi adakalanya data-data yang berada dalam traffic merupakan data yang tidak perlu. Data-data tersebut memang sengaja di dikirim oleh sesorang untuk merusak jaringan data yang ada. Perngiriman data tersebut dapat mengakibatkan lambatnya jalur traffic yang ada dalam jaringan, dan juga bisa mengakibatkan kerugian lain yang cukup berarti, misalnya kerusakan alat ataupun kerusakan program karena adanya intruder yang masuk ke dalam jaringan. Pengiriman data yang berlebihan baik dari besar paket maupun jumlah paket kedalam suatu jaringan dan umumnya merupakan data yang tidak berguna biasa disebut flood.
Resources sharing, bertujuan agar seluruh program, peralatan (hardware) ataupun data dapat diakses oleh setiap orang yang berada dalam jaringan tanpa dipengaruhi lokasi pemakai atau resources. Sehingga dapat diringkas bahwa tujuan dari resources sharing ini adalah untuk menghilangkan kendala jarak. Reliabilitas atau keandalan yang tinggi. Bila suatu proses dijalankan oleh 2 atau lebih CPU maka dapat dimungkinakan proses tersebut akan lebih memiliki keandalan walaupun tiba-tiba ditengah proses salah satu CPU down. Biaya, karena kinerja dari PC (Personal Komputer) lebih baik dibandingkan main frame. Hal ini menyebabkan para perancang sistem membangun suatu sistem dengan model server-client; dalam suatu sistem terdapat komputer-komputer yang bertindak sebagai client.
Macam-macam Flood attack : Ping of death Pengiriman paket echo request ICMP ke dalam suatu jaringan secara berlebihan. Pengiriman paket ini dapat mengakibatkan sistem crash, hung ataupun reboot. Smurf Attack Hampir sama dengan Ping of death tetapi untuk smurf attack paket ICMP tidak dikirim secara langsung ke korban, melainkan melalui perantara. Pada awalnya dikirim sebuah paket ICMP echo request ke sebuah host lain, paket ini bertujuan 2
JOHAN ANGGI PRATAMA - 5105100073
agar host tersebut mengirimkan paket ICMP PING secara terus menerus ke korban terakhirnya.
Kebanyakan aplikasi jaringan mengakses jaringan menggunakan sistem operasi primitif seperti socket. Sangat mudah untuk mengakses data pada jaringan dengan pendekatan seperti ini semenjak sistem operasi mampu mengatasi detildetil dari aplikasi level bawah (protocol handling, packet reassembly, dll.) dan menyediakan interface yang familiar. WinPcap menyediakan fasilitas untuk : Meng-capture raw packet, baik yang menuju ke sebuah mesin yang menjalakannya maupun mesin lain yang sedang bertukar data dengannya. Memfilter paket-paket berdasarkan kebutuhan pengguna sebelum memanfaatkannya ke dalam aplikasi. Mentransmisikan raw packet ke dalam jaringan. Mendapatkan informasi statistic dari trafik jaringan. Pemrograman antar muka WinPcap dapat digunakan oleh banyak tipe peralatan analisis jaringan, troubleshooting, security, dan pengawasan. Tools yang mengandalkan WinPcap antara lain : network and protocol analyzer network monitors traffic loggers traffic generators user-level bridges and routers network intrusion detection systems (NIDS) network scanners security tools WinPcap mengirim dan menerima paket secara terpisah dari host protocol, seperti TCP-IP. Hal ini berarti WinPcap tidak bisa melakukan blok, filter, atau manipulasi dari trafik yang di-generate oleh program lain pada mesin yang sama. WinPcap hanya melakukan sniffing paket yang datang.
Syn Flooding Dalam proses pengiriman data yang melalui TCP, proses data yang terjadi adalah sebagai berikut : Ja rin g a n 1
ja rin g a n 2
SYN
S Y N -A C K
ACK
Gambar 3.1 Proses data TCP
Hubungan TCP dimulai dengan mengirimkan paket SYN-TCP ke host yang dituju, pengiriman paket SYN adalah merupakan pembuka untuk membuka jalur koneksi antara dua host melalui protokol TCP. Apabila hubungan tersebut disetujui host tujuan akan mengirimkan paket SYN-ACK sebagai tanda bahwa jalur sudah terbentuk. Dan bagian terakhir adalah pengiriman paket ACK dari host awal ke host tujuan sebagai konfirmasi. Sedangkan flood SYN terjadi bila suatu host hanya mengirimkan paket SYN TCP saja secara kontinyu tanpa mengirimkan paket ACK sebagai konfirmasinya. Hal ini akan menyebabkan host tujuan akan terus menunggu paket tersebut dengan menyimpannya kedalam backlog. Meskipun besar paket kecil, tetapi apabila pengiriman SYN tersebut terus menerus akan memperbesar backlog. Hal yang terjadi apabila backlog sudah besar akan mengakibatkan host tujuan akan otomatis menolak semua paket SYN yang datang, sehingga host tersebut tidak bisa dikoneksi oleh host-host yang lain.
5.
IPSec Policies Internet Protocol security (IPSec) policies, dapat digunakan untuk membantu melindungi komputer berbasis sistem operasi Windows 2000, Windows XP, dan Windows Server 2003 dari ancaman berbasis jaringan seperti virus dan worm. IPSec policies dapat diaplikasikan secara lokal atau diaplikasikan kepada anggota domain sebagai bagian dari domain’s group policies. IPSec policies yang bersifat lokal dapat distatikkan atau dinamik. IPSec policies statik ditulis ke registry lokal dan terus ada setelah sistem operasi direstart. IPSec policies dinamik tidak secara permanen ditulis di registry dan akan dihapus ketika sistem operasi atau IPSec policies agent service di-restart.
Gambar 3.2 Proses TCP Syn flood
4.
WinPcap WinPcap adalah open source library yang digunakan untuk meng-capture dan menganalisis jaringan pada platform win32.
6. 3
DESAIN DAN IMPLEMENTASI JOHAN ANGGI PRATAMA - 5105100073
Sebelum melakukan proses pembuatan sistem, terlebih dahulu ditentukan spesifikasi sistem. Spesifikasi sistem akan menjadi titik tolak sekaligus menjadi acuan untuk pembuatan sistem dan juga menentukan kapabilitas dan kemampuan apa saja yang harus bisa dipenuhi sistem yang dimaksud. Sistem yang dibangun memiliki spesifikasi sebagi berikut: 1. Sistem beroperasi pada platform Windows. 2. Sistem yang digunakan harus bisa mengambil data-data dari jaringan. 3. Semua data yang dikumpulkan disimpan dalam database. 4. Resource yang digunakan harus seminimal mungkin.
Start
Terima data jaringan
Flood?
YA
TIDAK
Parsing data
Block IP & Port
6.1. Desain Sistem Secara Umum Secara umum sistem yang akan dibangun adalah sebagai berikut. Keterangan dari gambar 6.1 ialah input dari program adalah data jaringan yang masuk kemudian akan di proses apakah data yang ada tersebut melakukan flooding atau tidak. Jika data yang datang adalah flooding maka alamat IP asal paket dan port yang digunakan akan diblok. Jika tidak melakukan flood maka paket akan diteruskan.
End
Gambar 6.1 Desain umum program pemblokiran otomatis pada flood Start
Terima data jaringan
Gambar 6.2 adalah flowchart dari pendeteksian data flooding. Pertama sistem akan melihat apakah data merupakan data kiriman atau data dari dalam. Jika data merupakan data kiriman, maka dicek port yang digunakan tersedia atau tidak. Jika tidak tersedia maka langsung diblok. Jika port tersedia, paket-paket tersebut dicek, apakah paket-paket tersebut merupakan paket TCP syn. Jika paket TCP Syn lebih besar dari TCP Syn maksimum yang ditetapkan, maka akan diblok.
Paket kiriman?
YA
Port aktif?
YA
Jumlah paket Syn > Max paket Syn ?
TIDAK TIDAK
TIDAK
Parsing data
Blok IP dan port
YA
End
Gambar 6.2 Flowchart pendeteksian data flooding 7.
UJI COBA Pada bab ini akan dibahas mengenai pengujian terhadap sistem. Pertama-tama akan dibahas mengenai uji fungsionalitas dan uji kecepatan, kemudian dijabarkan pula bagaimana penulis melakukan pengujian tersebut. Setelah itu pembahasan berlanjut ke hasil pengujian.
4
JOHAN ANGGI PRATAMA - 5105100073
Untuk melakukan simulasi ini digunakan sebuah aplikasi bantu yang bernama Network Traffic Generator. Aplikasi ini meng-generate TCP/UDP traffic dari klien ke server untuk menguji ketahanan router/firewall dibawah beban jaringan yang besar.Gambar 4.11 adalah tampilan dari aplikasi klien dari Network Traffic Generator. Tabel 7.3, 7.4, 7.5, 7.6, dan 7.7 merupakan hasil uji ketahanan yang dilakukan pada sistem :
7.1. Uji fungsionalitas Uji coba ini bertujuan untuk mengetahui apakah sistem berjalan sesuai dengan kebutuhan sistem dan fungsi proses yang telah diuraikan pada Bab III. Untuk melakukan pengujian tersebut tersebut penulis melakukan hal-hal berikut : 1.
Menjalankan sebuah virtualisasi prototype dari sebuah hubungan host-tohost.
2.
Melakukan pemantauan pada prototype LAN tersebut.
3.
Melakukan flooding ke host yang telah diberi sistem.
4.
Melihat hasil dari sistem apakah data flood dapat di block atau tidak.
Tabel 7.3 Tabel uji ketahanan pada sistem pada 100 client Uji Durasi Sistem ke Jumlah uji mengalami client ketahanan gangguan? sistem 1 100 >10 Tidak menit 2 >10 Tidak menit 3 >10 Tidak menit 4 >10 Tidak menit 5 >10 Tidak menit
Berikut adalah tabel hasil pengujian sistem pencegahan data flooding pada jaringan komputer : Tabel 7.1 Tabel Pengiriman pada port yang tersedia Port Periode Pemblokiran TCP Syn 6666 2000 TIDAK 6666 1000 YA 6666 500 YA 6666 100 YA 6666 10 YA 6666 1 YA
Tabel 7.4 Tabel uji ketahanan pada sistem pada 200 client Uji Durasi Sistem ke Jumlah uji mengalami client ketahanan gangguan? sistem 1 200 >10 Tidak menit 2 >10 Tidak menit 3 >10 Tidak menit 4 >10 Tidak menit 5 >10 Tidak menit
Tabel 7.2 Tabel Pengiriman pada port yang tidak tersedia Port Periode Pemblokiran TCP Syn 9999 2000 YA 9999 1000 YA 9999 500 YA 9999 100 YA 9999 10 YA 9999 1 YA
Tabel 7.5 Tabel uji ketahanan pada sistem pada 300 client Uji Durasi Sistem ke Jumlah uji mengalami client ketahanan gangguan? sistem 1 300 >10 Tidak menit 2 >10 Tidak menit 3 >10 Tidak menit 4 >10 Tidak menit 5 >10 Tidak menit
Koneksi yang mengirim paket-paket TCP Syn melebihi batas yang sudah ditentukan langsung diblok alamat IP asal paket dan port-nya. Demikian pula jika menggunakan port yang tidak tersedia. Makan alamat IP asal paket dan port-nya langsung diblok oleh sistem. 7.2. Uji Ketahanan Uji coba ini ditujukan untuk menguji ketahanan pada aplikasi dalam menghadapi beban traffic yang datang. Sebuah program penguji akan melakukan tekanan ke server dengan beban traffic jaringan yang besar, dan akan diukur seberapa besar jumlah beban traffic yang bisa diatasi oleh aplikasi. 5
JOHAN ANGGI PRATAMA - 5105100073
tidak. Sistem mampu memblokir alamat IP dan port dari asal paket yang melakukan flooding. Sistem mampu mengatasi sendiri dengan melakukan pengambilan keputusan data masuk apakan flood atau tidak.
Tabel 7.6 Tabel uji ketahanan pada sistem pada 400 client Uji Durasi Sistem ke Jumlah uji mengalami client ketahanan gangguan? sistem 1 400 >10 Tidak menit 2 >10 Tidak menit 3 >10 Tidak menit 4 >10 Tidak menit 5 >10 Tidak menit
3.
9.
Jumlah koneksi terhadap sistem berbanding terbalik terhadap kinerja dari sistem.
DAFTAR PUSTAKA “Vulnerability Note VU#539363”.200910-12. http://www.kb.cert.org/vuls/id/539363 “Syn flood”.2009-12-12. http://en.wikipedia.org/wiki/SYN_flood.
Tabel 7.7 Tabel uji ketahanan pada sistem pada 500 client Uji Durasi Sistem ke Jumlah uji mengalami client ketahanan gangguan? sistem 1 500 >4 Ya menit 2 >4 Ya menit 3 >4 Ya menit 4 >4 Ya menit 5 >4 Ya menit
”How to block specific network protocols and ports by using ipsec”.2009-10-15. http://support.microsoft.com/kb/813878 ”Delphi Developers Information and ComponentsWilliam”.2009-11-10. http://www.magsys.co.uk/delphi Stalling William,2002,Jaringan Komputer. Stalling William,2001,Komunikasi Data dan Komputer.
Pada uji ketahanan menggunakan 500 client. Sistem mengalami gangguan pada menit ke-4. Gambar 4.13 menunjukkan sistem mengalami gangguan pada 500 client. Ketahanan sistem bergantung dari jumlah koneksi yang terjadi. Berdasarkan hasil uji ketahan dengan spesifikasi seperti yang disebutkan di lingkungan uji coba dan variabel yang
ditetapkan pada aplikasi Network Traffic Generator, sistem mampu mengatasi jumlah koneksi kurang dari 500 client. Ketika jumlah client lebih besar atau sama dengan 500, maka sistem akan mengalami gangguan. 8.
KESIMPULAN Dari pengujian sistem yang ada maka dapat diambil kesimpulan bahwa sistem yang dibuat memiliki keunggulan sebagai berikut : 1. Sistem dapat mengambil data dari Ethernet card, sehingga semua data bisa dilihat apakah data itu merupakan data yang dibutuhkan atau tidak. 2.
Sistem mampu mendeteksi apakah data yang masuk merupakan data flood atau 6
JOHAN ANGGI PRATAMA - 5105100073