2012/01/24

Slow Read DOS Attack - sebuah Metode Serangan baru

Slow Read DOS Attack - sebuah Metode Serangan baru - Slow read dDOS = Death Angel

Slow Read DOS Attack yang memperlihatkan celah keamanan dari HTTP Server


Biasanya, cara yang paling sering digunakan hacker untuk melumpuhkan sebuah situs adalah menyerang dengan modus Distributed Denial of Service (DDoS). Tapi kini ditemukan cara baru yang lebih santai, tapi mematikan.

Metode DDos umumnya menggunakan beberapa komputer yang secara terus menerus mengirim permintaan ke server, jumlah request yang besar dan bertubi-tubi ini perlahan tapi pasti bisa menumbangkan sebuah situs. Cara ini juga sering digunakan oleh grup peretas Anonymous.

Nah, kini ada cara yang ditemukan oleh Sergey Shekyan, kepala riset lembaga keamanan Qualsys. Ia berhasil membuat sebuah tool yang memungkinkan melakukan DDoS hanya melalui satu komputer saja.

Aplikasi tersebut bernama Slow Read. Cara kerjanya mirip dengan DDos pada umumnya, hanya saja data yang diberikan oleh server dibaca dengan amat perlahan. Konon, aksi ini memanfaatkan celah pada Transmission Control Protocol (TCP) yang memungkinkan peretas untuk memanipulasi alur data.

Qualys Software Engineer senior tersebut, Sergey Shekyan menemukan metode baru yaitu : HTTP denial-of-Service (DoS). merupakan metode serangan yang menyerang denagn cara memperpanjang waktu yang diperlukan klien untuk membaca tanggapan dari web-server.

Metode Shekyan ini dijuluki Slow Read DoS dan didasarkan pada penelitian sebelumnya oleh Robert Hansen, pencipta alat HTTP Slowloris DoS dan Jack C. Louis, yang mengembangkan Sockstress, proof-of-concept aplikasi yang menyerang dengan cara menumpuk koneksi TCP.

Tidak seperti Slowloris, yang bekerja dengan memperlambat permintaan HTTP dengan tujuan untuk mengisi pool koneksi konkuren web server dan membatalkan dari melayani authenticated client, SlowRead milik Shekyan bekerja dengan cara memperlambat respon server.
"Ide dari serangan yang saya terapkan ini cukup sederhana: Kirim permintaan HTTP yang sah dan membaca respon dengan lambat-lambat, yang bertujuan untuk menjaga koneksi tetap aktif, sebanyak mungkin " kata Shekyan.

Dalam tujuannyamencapai kondisi ini, ukuran respon server harus lebih besar dari apa yang dapat dikirimkan untuk buffer, secara terus-menerus pada jangka waktu tertentu (lama). Respon yang besar dibagi menjadi beberapa potongan yang lebih kecil dan akan dikirim secara individual (satu persatu).

Persyaratan kedua adalah dengan menjaga server tetap mengirim buffer secara penuh untuk jangka waktu yang lama dengan potongan data lainnya di-pending. Hal ini untuk menjaga agar koneksi dengan klien tetap aktif. Hal ini dilakukan dengan mengurangi kemampuan klien dalam menerima data, ke nilai yang lebih kecil dari buffer yang dikirim oleh server.
"TCP tidak mendeklarasikan ukuran buffer yang dikirim server, tapi kita bisa berasumsi bahwa buffer itu adalah nilai default, yang biasanya antara 65KB dan 128KB. Secara normal, biasanya server memang tidak perlu/pernah mengirim buffer yang lebih besar dari itu." Jelas Shekyan.

Untuk memaksakan respon yang cukup besar, klien harus meminta sumber daya yang lebih besar dari 128KB. mencari file yang berada di dalam server yang lebih besar dari 128KB, seharusnya tidak sulit (dalam beberapa kasus), tetapi, bahkan jika memang tidak ada pun, kalau server mendukung adanya HTTP pipelining [dan kebanyakan-nya memang mendukung :)] efek yang sama dapat dicapai dengan meminta sumber daya yang lebih kecil beberapa kali.

Cara ini mirip dengan bagaimana tools seperti Sockstress dan Nkiller2 bekerja (beroperasi), tapi sementara keduanya menggunakan paket TCP yg dibuat khusus dan target raw socket, metode Shekyan  mengaplikasikan konsep ini ke server HTTP.

Para software engineer ini menerapkan teknik serangan ke dalam versi terbaru slow-http-test , opensource SlowDoS test aplication yang dikembangkan di Qualys.
 "Kami masih berpikir masih bermanfaat untuk memiliki alat yang dikonfigurasi untuk membantu memfokuskan orang dan desain mekanisme pertahanan, karena Vulnerability ini masih ada di banyak sistem tiga tahun setelah pertama kali ditemukan, dan saya anggap profil SlowRead DoS Attack bahkan lebih rendah dan lebih sulit untuk dideteksi daripada slowloris dan serangan slowPOST , "kata Shekyan.

Administrator yang ingin menguji apakah server mereka rentan terhadap SlowRead DoS, tetapi tidak ingin secara aktif menyerangnya dengan slowhttptest, harus memeriksa apakah mereka menerima paket SYN dengan jendela deklarasi abnormal yang kecil, jika mereka tidak mengirim RST atau FIN setelah 30 detik, ketika penerima tidak dapat menerima data dan jika koneksi persisten (koneksi yang tetap-hidup) atau pipelining HTTP diaktifkan. "Jika semua tiga kondisi terpenuhi, kita bisa berasumsi server (yang disediakan web-hosting) rentan terhadap serangan DoS SlowRead," kata Shekyan.

Menurut Shekyan, HTTP server seperti Apache, nginx, lighttpd dan IIS 7,5 rentan dalam konfigurasi default-nya. Untungnya, beberapa dari-nya memiliki perlindungan built-in yang dapat diaktifkan, sementara beberapa yang lain memiliki modul yang mampu memaksakan pembatasan yang diperlukan untuk mengurangi adanya serangan.

"Apache rentan dalam konfigurasi default-nya, tetapi MPM Event [contohnya], dapat menangani permintaan (request) dan tanggapan (response) yang lambat yang secara signifikan lebih baik daripada modul lainnya. Tetapi lemah ketika pola kerja MPM digunakan untuk koneksi SSL. Mod_security mendukung atribut untuk mengontrol "berapa lama" socket dapat tetap dalam kondisi membaca atau menulis "kata Shekyan.
ditulis dari beberapa sumber dengan penambahan pemahaman saya sendiri: