SERANGAN DoS (Denial of service)

Denial of service (DoS) adalah sebuah metode serangan terhadap sebuah komputer atau server di dalam jaringan internet dengan cara menghabiskan sumber daya (resource) sebuah peralatan jaringan komputer sehingga layanan jaringan komputer menjadi terganggu. Serangan ini bertujuan untuk mencegah pengguna mendapatkan layanan dari sistem. Serangan DoS dapat terjadi dalam banyak bentuk. yaitu :

  • Serangan Buffer Overflow, mengirimkan data yang melebihi kapasitas sistem, misalnya paket ICMP yang berukuran sangat besar.
  • Serangan SYN, mengirimkan data TCP SYN dengan alamat palsu.
  • Serangan Teardrop, mengirimkan paket IP dengan nilai offset yang membingungkan.
  • Serangan Smurf, mengirimkan paket ICMP bervolume besar dengan alamat host lain.
  • Internet Control Message Protocol (ICMP) Flooding.

Meskipun demikian, serangan terhadap TCP merupakan serangan DoS yang sering dilakukan. Hal ini disebabkan karena jenis serangan lainnya (seperti halnya memenuhi ruangan harddisk dalam sistem, mengunci salah seorang akun pengguna yang valid, atau memodifikasi tabel routing dalam sebuah router) membutuhkan penetrasi jaringan terlebih dahulu, yang kemungkinan penetrasinya kecil, apalagi jika sistem jaringan tersebut telah diperkuat.

 

PENOLAKAN LAYANAN SECARA TERDISTRIBUSI (DDos)

Penolakan Layanan secara Terdistribusi (Distributed Denial of Service (DDos)) adalah salah satu jenis serangan Denial of Service yang menggunakan banyak host penyerang (menggunakan komputer yang didedikasikan untuk melakukan penyerangan) untuk menyerang satu buah host target dalam sebuah jaringan.

Gambar 1. Cara kerja serangan Distributed Denial of Service sederhana.

Serangan Denial of Service klasik bersifat “satu lawan satu”, sehingga dibutuhkan sebuah host yang kuat (baik itu dari kekuatan pemrosesan atau sistem operasinya) demi membanjiri lalu lintas host target sehingga mencegah klien yang valid untuk mengakses layanan jaringan pada server yang dijadikan target serangan. Serangan DDoS ini menggunakan teknik yang lebih canggih dibandingkan dengan serangan Denial of Service yang klasik, yakni dengan meningkatkan serangan beberapa kali dengan menggunakan beberapa buah komputer sekaligus, sehingga dapat mengakibatkan server atau keseluruhan segmen jaringan dapat menjadi “tidak berguna sama sekali” bagi klien.

Serangan DDoS pertama kali muncul pada tahun 1999, tiga tahun setelah serangan Denial of Service yang klasik muncul, dengan menggunakan serangan SYN Flooding, yang mengakibatkan beberapa server web di Internet mengalami “downtime“.

Untuk melakukan serangan DDoS justru sederhana, yakni sebagai berikut:

  1. Menjalankan tool (biasanya berupa program (perangkat lunak) kecil) yang secara otomatis akan memindai jaringan untuk menemukan host-host yang rentan (vulnerable) yang terkoneksi ke Internet. Setelah host yang rentan ditemukan, tool tersebut dapat menginstalasikan salah satu jenis dari Trojan Horse yang disebut sebagai DDoS Trojan, yang akan mengakibatkan host tersebut menjadi zombie yang dapat dikontrol secara jarak jauh oleh sebuah komputer master yang digunakan oleh si penyerang asli untuk melancarkan serangan. Beberapa tool (software) yang digunakan untuk melakukan serangan serperti ini adalah TFN, TFN2K, Trinoo, dan Stacheldraht, yang dapat diunduh secara bebas di Internet.
  2. Ketika si penyerang merasa telah mendapatkan jumlah host yang cukup (sebagai zombie) untuk melakukan penyerangan, penyerang akan menggunakan komputer master untuk memberikan sinyal penyerangan terhadap jaringan target atau host target. Serangan ini umumnya dilakukan dengan menggunakan beberapa bentuk SYN Flood atau skema serangan DoS yang sederhana, tapi karena dilakukan oleh banyak host zombie, maka jumlah lalu lintas jaringan yang diciptakan oleh mereka adalah sangat besar, sehingga “memakan habis” semua sumber daya Transmission Control Protocol yang terdapat di dalam komputer atau jaringan target dan dapat mengakibatkan host atau jaringan tersebut mengalami “downtime”.

Hampir semua platform komputer dapat dibajak sebagai sebuah zombie untuk melakukan serangan seperti ini. Sistem-sistem populer, semacam Solaris, Linux, Microsoft Windows dan beberapa varian UNIX dapat menjadi zombie, jika memang sistem tersebut atau aplikasi yang berjalan di atasnya memiliki kelemahan yang dieksploitasi oleh penyerang.

 

STUDI KASUS

Pengumuman Hasil Ujian Sistem Penerimaan Mahasiswa Baru (SPMB)

Pada setiap awal tahun ajaran, Universitas Indonesia mendapatkan kehormatan untuk menjadi tempat hosting pengumuman penerimaan mahasiswa baru seluruh Indonesia. Sebagai sebuah event yang sangat penting, diperlukan persiapan yang sangat matang. Salah satu persiapan yang terpenting adalah persiapan jaringan komputer yang akan digunakan untuk menjamin tersedianya akses yang memadai bagi semua pihak yang berkepentingan dengan pengumuman tersebut, terutama pada saat-saat puncak, yaitu malam pertama pengumuman hasil SPMB. Setelah beberapa tahun menjalani peranan tersebut, ada beberapa permasalahan yang dihadapi ketika acara sedang berlangsung, yaitu :

• Habisnya sumber daya pada web server yang digunakan, karena banyaknya request yang diterima, termasuk didalamnya usaha serangan DoS (Denial of Service), sedangkan kapasitas web server yang ada tidak sebanding dengan request yang masuk. Dalam beberapa kesempatan, web server yang digunakan kehabisan sumber daya memori, sehingga web server mengalami crash, yang selanjutnya dapat merusak komponen lain dari web server tersebut seperti media penyimpanan hard-disk. Jika hal ini terjadi, maka waktu untuk melakukan recovery akan cukup lama. Selama proses recovery tersebut, akses ke situs pengumuman hasil SPMB tidak dapat dilayani.

Bandwidth koneksi Internet yang habis didominasi oleh beberapa pihak tertentu yang melakukan mirroring data. Walaupun hal ini tidak dilarang, tapi hal ini akan merugikan pengguna-pengguna lain yang tidak dapat melakukan akses karena bandwidth yang ada sudah habis digunakan. Seringkali dalam suatu kurun waktu, bandwidth yang ada habis untuk melayani satu klien saja.

• Akses data yang membutuhkan waktu cukup lama, karena terbatasnya sumber daya yang ada dan penggunaan struktur basis data penyimpanan data yang kompleks.

Berdasarkan pengalaman-pengalaman yang didapatkan dari tahun-tahun sebelumnya, maka persiapan-persiapan yang dilakukan pada tahun ini adalah :

  • Penggunaan teknologi virtual server yang memungkinkan penggunaan beberapa web server dan melakukan pembagian beban di antaranya. Sebuah virtual server adalah sebuah host yang akan menerima koneksi dari klien-klien dan mengatur ke web server yang mana koneksi tersebut akan diarahkan. Pada virtual server tersebut juga akan dicatat jumlah koneksi yang sedang ditangani setiap web server, sehingga virtual server tersebut dapat membagi beban dengan sebaik mungkin. Ada beberapa algoritma yang dapat digunakan untuk membagi beban web server, antara lain membagi koneksi secara round-robin atau least-connection. Ada juga algoritma yang bisa memberikan bobot lebih pada server-server dengan kemampuan lebih dibandingkan dengan server lainnya. Algoritma lainnya adalah membagi koneksi berdasarkan lokasi klien yang melakukan akses. Untuk masalah konektivitas, virtual server juga memberikan beberapa pilihan, yaitu :
  • Virtual server bertindak sebagai router, dimana semua koneksi masuk dan keluar ke server akan melalui host ini. Hanya host virtual server yang memakai alamat IP publik internet. Sedangkan untuk server-server tujuan akan mempergunakan alamat IP privat.
  • Virtual server hanya bertindak sebagai penerus koneksi saja (network bridge), sedangkan server-server tujuan memiliki koneksi langsung sendiri. Pada skema ini, koneksi masuk akan melalui virtual server sedangkan koneksi keluar tidak. Baik virtual server maupun server-server tujuan akan mempergunakan alamat IP publik.
  • Virtual server sebagai pengatur beban saja. Skema ini mirip dengan skema sebelumnya. Bedanya pada skema ini, server-server tujuan bisa terdapat pada kelompok jaringan komputer yang berbeda, bahkan bisa terdapat pada lokasi fisik yang berbeda. Pada host tersebut juga diimplementasikan traffic shaping yang berguna untuk mengendalikan kecepatan request yang masuk ke setiap web server. Hal ini untuk mencegah sebuah web server menerima request yang terlalu banyak sehingga beban web server tersebut terlalu berat.

Dengan penggunaan virtual server dan traffic shaping, diharapkan sumber daya yang ada akan dapat menghadapi semua request yang masuk dan serangan DOS yang mungkin terjadi.

  • Karena sifat data yang hanya perlu akses baca saja, maka dilakukan perubahan system penyimpanan data dari mempergunakan basis data menjadi Lightweight Directory Access Protocol (LDAP). Dengan LDAP akses baca data menjadi lebih cepat dan juga membutuhkan sumber daya memori maupun sumber daya komputasi yang lebih rendah dibandingkan dengan mempergunakan basis data. Hal ini dapat terjadi karena struktur data yang digunakan untuk menyimpan data dengan LDAP cukup sederhana. Dalam LDAP, data disimpan dalam struktur pohon, sehingga untuk melakukan pencarian data dapat dilakukan dengan cepat. Selain itu untuk melakukan pengisian ulang data juga lebih cepat, sehingga apabila terjadi kerusakan pada data, proses perbaikan dapat dilakukan dengan cepat.
  • Perbaikan interface aplikasi, yang mencegah agar tidak ada pengguna yang bisa melakukan mirroring data. Perbaikan mencakup penambahan kode rahasia yang perlu dimasukkan pengguna setiap kali pengguna ingin melakukan akses data. Kode rahasia ini ditampilkan ditampilkan dalam bentuk gambar di halaman situs yang diakses pengguna saat melakukan request dan kode ini akan berubah setiap kali pengguna melakukan akses.
  • Penggunaan Live-CD linux, sehingga menghindari kemungkinan kerusakan media penyimpanan hard-disk. Dengan menggunakan hal ini juga mempermudah dalam melakukan duplikasi web server. Kemudahan ini akan sangat berguna ketika akan melakukan penambahan web server dalam waktu yang singkat. Pada waktu pengumuman tiba, dideteksi bahwa tingkat koneksi request sangat rendah, sedangkan kecepatan untuk melakukan akses internet sangat lambat. Dugaan awal adalah adanya terjadi gangguan pada jaringan komunikasi data antara Universitas Indonesia ke jaringan Internet. Pemeriksaan pada peralatan jaringan komunikasi data tidak menunjukkan adanya gangguan. Setelah dilakukan analisa paket yang diterima oleh jaringan komunikasi data Internet Universitas Indonesia, ditemukan ada sebuah host di Internet yang mengirimkan paket dengan tipe UDP berukuran kecil tapi dengan jumlah yang sangat banyak dan dengan kecepatan pengiriman yang sangat tinggi. Karena konfigurasi firewall pada pintu gerbang Internet Universitas Indonesia, paket UDP tersebut tidak masuk ke dalam jaringan DMZ Universitas Indonesia. Akan tetapi, karena kecepatan pengiriman paket sangat tinggi, WAN router yang berfungsi sebagai router akses Universitas Indonesia, kehabisan sumber daya komputasi dan tidak mampu melakukan proses routing paket-paket yang masuk. Akibatnya, sekalipun bandwidth yang digunakan tidak banyak, tidak ada paket lain yang dapat masuk ke dalam jaringan DMZ Universitas Indonesia ataupun ke luar ke jaringan Internet. Oleh karena itu akses ke situs pengumuman tidak dapat dilakukan, kalaupun ada paket request yang masuk, paket jawaban dari web server tidak dapat keluar dari Universitas Indonesia untuk mencapai komputer pengguna.

Sebagai langkah penanganan, WAN router yang digunakan, diganti dengan yang memiliki sumber daya komputasi lebih tinggi. Selain itu, pihak Universitas Indonesia juga bekerja sama dengan pihak penyedia layanan Internet untuk melakukan pemblokiran terhadap paket-paket UDP yang mengganggu jaringan Intenet Universitas Indonesia. Setelah proses penggantian router dan pemblokiran paket selesai, layanan situs pengumuman dapat berjalan dengan baik.

Pelajaran yang didapatkan dari studi kasus ini adalah, bahwa untuk untuk menjamin keamanan sebuah sistem, perlu persiapan dari seluruh komponen yang terlibat di dalamnya. Dalam kasus ini, penyelenggara hanya mempersiapkan dari sisi aplikasi yang akan digunakan saja dan tidak ada persiapan dari lingkungan lain yang berhubungan dengan aplikasi tersebut. Selain itu, untuk aplikasi-aplikasi penting, maka sebaiknya dibuat duplikasi layanan tersebut dan diletakkan di beberapa lokasi terpisah. Dengan cara ini, jika satu lokasi mengalami gangguan, layanan masih dapat berjalan dari beberapa lokasi lainnya. Persiapan lainnya adalah membina hubungan yang lebih dekat dengan penyedia layanan jaringan Internet. Hal ini diperlukan karena serangan-serangan seperti yang dihadapi layanan ini hanya dapat dihadapi dengan bantuan pihak-pihak eksternal.

 

Referensi :