Senin, 13 Februari 2012

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.

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.

Berkas:Serangan-DDoS.png

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 diInternet.
  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.

DOS/DDOS

Denial of Services dan Distributed Denial of Services

Salah satu bentuk serangan ini adalah 'SYN Flood Attack', yang mengandalkan kelemahan dalam sistem 'three-way-handshake'. 'Three-way-handshake' adalah proses awal dalam melakukan koneksi dengan protokol TCP. Proses ini dimulai dengan pihak klien mengirimkan paket dengan tanda SYN. Lalu kemudian pihak server akan menjawab dengan mengirimkan paket dengan tanda SYN dan ACK. Terakhir, pihak klien akan mengirimkan paket ACK.

Setelah itu, koneksi akan dinyatakan terbuka, sampai salah satu pihak mengirimkan paket FIN atau paket RST atau terjadi connection time-out. Dalam proses 'three-way-handshake', selain terjadi inisiasi koneksi, juga terjadi pertukaran data-data parameter yang dibutuhkan agar koneksi yang sedang dibuat dalam berjalan dengan baik.

Dalam serangan ini, sebuah host akan menerima paket inisiasi koneksi (Paket dengan flag SYN) dalam jumlah yang sangat banyak secara terus menerus. Akibatnya host yang sedang diserang akan melakukan alokasi memori yang akan digunakan untuk menerima koneksi tersebut dan karena paket inisiasi terus-menerus diterima maka ruang memori yang dapat digunakan untuk menerima koneksi akan habis. Karena semua ruang memori yang dapat digunakan untuk menerima koneksi sudah habis, maka ketika ada permintaan baru untuk melakukan inisiasi koneksi, host ini tidak dapat melakukan alokasi memori sehingga permintaan baru ini tidak dapat dilayani oleh host ini. Untuk menghindari pelacakan, biasanya paket serangan yang dikirimkan memiliki alamat IP sumber yang dipalsukan. Untuk menghadapi serangan seperti ini, sistem operasi – sistem operasi modern telah mengimplementasikan metode-metode penanganan, antara lain :

  • Micro-blocks. Ketika ada sebuah host menerima paket inisiasi, maka host akan mengalokasikan ruang memori yang sangat kecil, sehingga host tersebut bisa menerima koneksi lebih banyak. Diharapkan ruang memori dapat menampung semua koneksi yang dikirimkan, sampai terjadi connection-time-out, dimana koneksi-koneksi yang stale, yaitu koneksi yang tidak menyelesaikan proses 'three-way-handshake' atau sudah lama tidak ada transaksi data, akan dihapuskan dari memori dan memberikan ruang bagi koneksi-koneksi baru. Metode ini tidak terlalu efektif karena bergantung pada kecepatan serangan dilakukan, apabila ternyata kecepatan paket serangan datang lebih cepat daripada lamanya waktu yang perlu ditunggu agar terjadi connection-time-out pada paket-paket yang stale, make ruang memori yang dapat dialokasikan akan tetap habis.
  • SYN Cookies. Ketika menerima paket inisiasi, host penerima akan mengirimkan paket tantangan yang harus dijawab pengirim, sebelum host penerima mengalokasikan memori yang dibutuhkan. Tantangan yang diberikan adalah berupa paket SYN-ACK dengan nomor urut khusus yang merupakan hasil dari fungsi hash dengan input alamat IP pengirim, nomor port, dll. Jawaban dari pengirim akan mengandung nomor urut tersebut. Tetapi untuk melakukan perhitungan hash membutuhkan sumber-daya komputasi yang cukup besar, sehingga banyak server-server yang aplikasinya membutuhkan kemampuan komputasi tinggi tidak mempergunakan metode ini. Metode ini merubah waktu peng-alokasian memori, yang tadinya pada awal dari proses 'threeway- handshake', menjadi diakhir dari proses tersebut. (notes: pada standard TCP/IP yang baru, ditentukan bahwa diperlukan cara yang lebih baik untuk menentukan urut paket, sehingga sulit untuk ditebak. Jadi kemungkinan secara default, metode ini akan digunakan pada seluruh peralatan jaringan komputer atau sistem operasi yang ada).
  • RST Cookies. Mirip dengan SYN Cookies, hanya tantangan yang dikirimkan host penerima ke pengirim adalah sebuah paket yang salah. Apabila pengirim adalah pengirim yang valid, maka pengirim akan mengirimkan paket RST lalu mengulang kembali koneksi. Ketika penerima menerima paket RST, host tersebut tahu bahwa pengirim adalah valid dan akan menerima koneksi dari pengirim dengan normal. Karena ada masalah dengan implementasi lapisan TCP/IP, metode ini kemungkinan

tidak kompatibel dengan beberapa sistem operasi. Metode ini merubah waktu pengalokasian memori, yang tadinya pada awal dari proses 'three-way-handshake', menjadi diakhir dari proses tersebut.

Bentuk lain dari serangan DOS adalah 'Smurf Attack' yang mempergunakan paket ping request. Dalam melakukan penyerangan, penyerang akan mengirimkan paket-paket ping request ke banyak host dengan merubah alamat IP sumber menjadi alamat host yang akan diserang. Hosthost yang menerima paket ping request tersebut akan mengirimkan paket balasan ke alamat IP host korban serangan. Untuk serangan dapat mengganggu sistem korban, host yang menjawab paket ping request harus cukup banyak. Oleh karena itu, biasanya paket ping request akan dikirimkan ke alamat broadcast dari sebuah kelompok jaringan komputer, sehingga host-host pada kelompok jaringan komputer tersebut secara otomatis akan menjawab paket tersebut. DOS juga dapat dilakukan dengan cara mengirimkan permintaan layanan yang diberikan oleh sebuah host secara berlebihan atau terus menerus. Tujuan dari serangan model ini adalah untuk membuat host menjadi terlalu sibuk atau kehabisan sumber daya komputasi sehingga tidak dapat melayani permintaan-permintaan lainnya.

Perkembangan lanjutan dari DOS adalah DDOS, dimana host yang terlibat dalam serangan lebih dari satu dan tersebar di banyak tempat. Banyaknya host yang terlibat dalam serangan akan meningkatkan efek serangan dan mempersulit pihak yang diserang untuk mempertahankan diri ataupun melakukan pelacakan asal serangan. Pada banyak kejadian, host-host yang terlibat dalam serangan, tidak semuanya sadar bahwa mereka terlibat dalam sebuah serangan DDOS. Host-host tersebut telah disusupi terlebih dahulu oleh penyerang, sehingga penyerang dapat mempergunakan host tersebut untuk melakukan serangan. Penyusupan dapat dilakukan dengan cara mengirimkan trojan atau worm ke banyak host.

Referensi

http://wadahqu.blogspot.com/2009/10/jenis-jenis-ancaman-jaringan.html

smpn15bandung.sch.id/.../Keamanan%20komputer%20STMIK%20I...

http://id.wikipedia.org/wiki/Serangan_DoS