Tampilkan postingan dengan label artikel. Tampilkan semua postingan
Tampilkan postingan dengan label artikel. Tampilkan semua postingan

Kamis, 05 Januari 2012

Memahami Cara Kerja Serangan DoS (Denial of Service) Attack

Serangan DoS (Denial of Service) tampaknya masih mejadi favorit hacker. Karena boleh dikatakan serangan DoS ini tidak ada obatnya. Bila serangan DoS ini dilakukan secara beramai-ramai dan terorganisir dengan baik, maka akan menghasilkan kerusakan yang dahsyat dan sanggup melumpuhkan situs-situs populer seperti twitter.com danmetasploit.com.

Apa itu DoS
Denial of service adalah jenis serangan yang tujuannya adalah mencegah pengguna yang sesungguhnya menikmati layanan yang diberikan server. Server sesuai namanya adalah pelayan yang harus selalu siap melayani permintaan pengguna, yang umumnya beroperasi 24 jam tanpa henti. Contohnya adalah web server yang bertugas melayani pengunjung web menyediakan informasi dalam bentuk halaman html. Dalam kondisi normal, pengunjung dapat meminta resource dari web server untuk ditampilkan dalam browsernya, namun bila web server terkena serangan DoS maka pengunjung tidak bisa menikmati layanan web server.

Secara umum ada 2 cara melakukan serangan DoS:
1. Mematikan Server
2. Menyibukkan Server
        a. Tanpa bug/vulnerability
        b. Meng-exploit bug/vulnerability

DoS dengan Mematikan Server: Kill Them!

Anda pernah mengalami ingin memakai telepon umum atau ATM namun tidak bisa karena di mesin tersebut ditempel kertas berisi pesan “Out of Service” atau “Sedang dalam perbaikan”. Telepon umum adalah target serangan DoS yang biasa terjadi, dimana-mana kita menemukan telpon umum yang rusak karena serangan DoS seperti membanting gagang telpon, mencabut kabel, memecahkan LCD dan aksi-aksi lainnya.
Tujuan serangan ini adalah membuat server shutdown, reboot, crash, “not responding”. Jadi serangan ini menghasilkan kerusakan yang sifatnya persisten artinya kondisi DoS akan tetap terjadi walaupun attacker sudah berhenti menyerang, server baru normal kembali setelah di-restart/reboot.
Bagaimana cara serangan DoS ini dilakukan? Serangan ini dilakukan dengan meng-exploit bug/vulnerability pada server. Kata kunci pada vulnerability jenis ini biasanya adalah “specially/carefully crafted packet/request”, yang artinya paket yang dirancang khusus. Kenapa dirancang khusus? Sebab dalam paket itu mengandung  sifat tertentu yang membuat server mati ketika mengolah paket khusus itu.

Mari kita perhatikan beberapa contoh vulnerability yang berakibat pada DoS attack:

    i) Ping of Death ( CA-1996-26 )
       Ini adalah jenis bug yang sudah sangat tua. Praktis sudah tidak ada lagi sistem yang vulnerable terhadap bug ini. Bug ini bila diexploit akan membuat server crash, freeze atau reboot. Serangan ini dilakukan dengan mengirimkan “specially crafted” paket berupa oversized ICMP packet, yaitu paket yang ukurannya di atas normal. Ketika server menerima dan memproses paket yang “aneh” ini, maka server akan crash, freeze atau reboot. Ini adalah contoh serangan DoS “one shot one kill” karena bisa merusak server hanya dengan satu tembakan saja.

    ii) MySQL IF Query DoS ( SA25188 )
    Bug ini akan membuat mysql server menjadi crash hanya dengan mengirim sql khusus yang mengandung fungsi IF() contohnya: “SELECT id from example WHERE id IN(1, (SELECT IF(1=0,1,2/0)))”. Ini juga jenis serangan “one shot one kill”.

    iii) Cisco Global Site Selector DNS Request Denial of Service (SA33429)
    Bug ini membuat DNS server Cisco mati dengan mengirimkan beberapa “specially crafted” paket request DNS dalam urutan tertentu.

Tiga contoh di atas kiranya cukup memberikan gambaran tentang bagaimana serangan DoS jenis ini dilakukan. Pada intinya adalah attacker memanfaatkan (baca:mengexploit) bug yang membuat server berhenti bekerja dan biasanya dilakukan sendirian secara remote dengan mengirimkan specially crafted packet.

DoS dengan Menyibukkan Server: Make Them As Busy As Possible!

Pada waktu menjelang lebaran kita sering merasa begitu sulit mengirim sms, bahkan sering terjadi gagal kirim. Begitu juga ketika berlangsung acara kuis di TV, mengelpon ke nomor untuk menjawab kuis terasa begitu sulit.  Hal ini terjadi karena ada begitu banyak orang yang mengirim sms pada saat lebaran dan menelpon pada waktu kuis sehingga membuat jaringan telekomunikasi menjadi begitu sibuk sampai tidak bisa melayani pengguna lain. Peristiwa itu mirip dengan yang terjadi ketika sebuah server mendapat serangan denial of service. DoS yang terjadi pada peristiwa tersebut bukan jenis DoS yang mematikan server, namun jenis DoS yang menyibukkan server.
Jenis DoS ini bersifat sementara, server akan kembali normal bila attacker berhenti mengirimkan request yang membuat sibuk server.

DoS jenis ini terbagi lagi menjadi 2 jenis berdasarkan cara melakukan serangan:

   i) Exploiting vulnerability: Menyerang dengan malicious request/packet
   ii) No vulnerability exploitation: Menyerang dengan normal request/packet

Membuat server sibuk dengan mengexploitasi vulnerability lebih cepat daripada tanpa mengeksploit vulnerability.

Make Server Busy by Exploiting Vulnerability

Dalam serangan DoS jenis ini, attacker memanfatkan bug yang membuat server berlebihan dalam menggunakan resource (cpu,memory,disk space dsb). Attacker akan mencari cara bagaimana agar membuat server bekerja ekstra keras (jauh lebih keras dari request normal) untuk melayani request dia. Biasanya serangan DoS jenis ini tidak berupa serangan “one shot one kill”. Serangan dilakukan dengan melakukan banyak request dengan setiap request membuat server mengonsumsi lebih banyak resource dari request yang normal.
Dalam hitungan matematika sederhana, bila attacker bisa membuat server bekerja selama 10 detik  hanya untuk melayani dia (misal normalnya 0,1 detik), maka attacker bisa mengirimkan request 1.000x untuk membuat server melayani dia selama 10.000 detik (2,7 jam lebih) sehingga membuat pengguna lain tidak bisa menikmati layanan server.

Untuk lebih memahami DoS jenis ini, mari kita lihat contoh-contoh vulnerability yang bisa diexploit untuk melancarkan serangan DoS jenis ini:

    a. TCP SYN Flood DoS
    Ini adalah serangan DoS yang sudah sangat tua. Attacker menyerang dengan cara membanjiri server 
    dengan malicious request berupa paket SYN dengan fake source IP address. SYN packet adalah paket  dari client yang mengawali terbentuknya koneksi TCP/IP, setelah itu server akan membalas dengan SYN-ACK,  dan dilengkapi dengan paket SYN-ACK-ACK dari client, tiga proses ini disebut three way handshake. Triknya adalah pada fake source ip address pada paket SYN dari client. Akibatnya server akan mengirim SYN-ACK (step 2) ke ip address yang salah sehingga server juga tidak akan mendapatkan balasan  SYN-ACK-ACK dari client. Padahal untuk setiap client yang mencoba membuka koneksi, server  
akan mengalokasikan resource seperti memori dan waktu untuk menunggu datangnya balasan ACK dari client. 
   Dengan cara ini attacker menghabiskan resource server hanya untuk melayani request palsu dari attacker.
    b. Apache mod_deflate DoS
    Apache menggunakan mod_deflate untuk memampatkan file. Bila visitor meminta sebuah file, maka apache akan menggunakan mod_deflate untuk memampatkannya kemudian mengirimkan ke visitor tersebut. Namun bila di tengah proses pemampatan, visitor memutuskan koneksi TCP, Apache masih terus bekerja memampatkan file untuk visitor yang sebenarnya sudah tidak ada (sudah disconnect). Jadi bugnya adalah pada borosnya pemakaian resource cpu untuk memampatkan file untuk client yang sudah tidak ada.
    Attacker memanfaatkan kelemahan ini dengan meminta sebuah file yang berukuran besar, kemudian dalam waktu singkat memutuskan koneksi sehingga membuat server bekerja keras mempatkan file untuk visitor yang sudah tidak ada. Request ini diulang berkali-kali sampai server begitu sibuknya dan semua resource cpu habis.

Dua contoh vulnerability di atas cukup menjelaskan bagaimana serangan DoS jenis ini dilakukan. Pada intinya adalah dengan mengirim banyak malicious request/paket  yang membuat server mengonsumsi resource lebih banyak dan lebih lama untuk setiap requestnya.

Make Server Busy Without Exploiting Vulnerability

Ini adalah jenis serangan yang mengandalkan pada kemampuan mengirimkan normal request sebanyak-banyaknya sehingga server menjadi sibuk. Perbedaan DoS jenis ini dengan DoS yang mengexploit vulnerability adalah pada requestnya. Request yang dikirimkan pada DoS jenis ini adalah request yang normal seperti yang dilakukan pengguna biasa, sehingga server tidak mengonsumsi resource berlebihan. Sedangkan DoS yang mengandalkan vulnerability mengirimkan specially crafted malicious request untuk membuat server mengonsumsi resource lebih banyak untuk melayani malicious request tersebut.
Normal request hanya membuat server mengonsumsi resource dalam jumlah biasa-biasa saja, tidak akan mengganggu kerja server secara keseluruhan. Diperlukan normal request dalam jumlah yang sangat banyak untuk membuat server terganggu kerjanya. Jadi agar serangan ini menjadi efektif, maka serangan harus dilakukan beramai-ramai dari banyak tempat, semakin banyak penyerang semakin bagus hasilnya. Serangan ini juga disebut dengan distributed DoS (DDoS) karena dilakukan dari banyak lokasi yang terdistribusi (tersebar).
Serangan DDoS dilakukan dengan menggunakan komputer zombie atau robot. Zombie adalah komputer yang sudah dikuasai attacker sehingga bisa dikendalikan dari jarak jauh. Sekumpulan komputer zombie membentuk jaringan yang disebut bot-net. Attacker mendapatkan banyak zombie dengan menyebarkan virus atau worm, setiap komputer yang terinfeksi akan diinstall program yang membuat komputer bersedia menjalankan perintah dari attacker.



Gambar di atas menjelaskan cara kerja DDoS. Attacker memberi perintah kepada semua pasukannya untuk membuat request HTTP ke sebuah website. Bila pasukan yang dikuasai attacker sangat besar, maka web server akan dibanjiri request sehingga menjadi terlalu sibuk dan tidak bisa diakses oleh pengguna yang sebenarnya (real visitor).
Serangan jenis ini tidak ada obatnya karena attacker tidak meng-exploit bug atau vulnerability apapun. Bila pada jenis DoS yang lain, serangan dapat dicegah dengan melakukan patching atau update software, maka serangan ini tidak bisa dihentikan dengan update atau patch.


Kesimpulan

Denial of service adalah serangan yang membuat server tidak bisa melayani pengguna yang sesungguhnya. Berikut adalah jenis-jenis serangan DoS berdasarkan cara melakukan serangan:

    a) Mematikan Server: one shot, one kill untuk membuat server menjadi crash, hang, reboot.
    b) Menyibukkan Server: mengirim banyak sekali request untuk membuat server sibuk.
        - Exploiting bug: mengirim banyak specially crafted request. Jumlah request tidak sebanyak jenis DoS yang menyibukkan server dengan normal request.
        - Normal request: mengirim banyak request normal seperti pengguna biasa. Diperlukan jumlah request yang lebih banyak dibandingkan jenis DoS yang menyibukkan server dengan exploit bug. Biasanya menggunakan botnet secara terdistribusi.

Sabtu, 31 Desember 2011

Sistem Operasi Pada Handphone

Ponsel atau Handphone merupakan sebuah alat komunikasi yang praktis dan bisa dibawa kemana-mana untuk berkomunikasi antar sesama orang. Untuk dapat digunakan, ponsel memiliki sebuah system operasi. Seperti halnya system operasi pada komputer, sistem operasi ponsel adalah software utama yang melakukan menejemen dan kontrol terhadap hardware secara langsung serta menejemen dan mengotrol software-soft ware lain sehingga software-software lain tersebut dapat bekerja. Sehingga suatu system operasi ponsel (mobile operating system) akan bertanggung jawab dalam mengoperasikan berbagai fungsi dan fitur yang tersedia dalam perangkat ponsel tersebut seperti, skedulling task, keyboard, WAP, email, text message, sinkronisasi dengan aplikasi dan perangkat lain, memutar musik, camera, dan mengontrol fitur-fitur lainnya.

Banyak perusahaan ponsel yang membenamkan system operasi dalam produknya baik pada PDA, Smartphone maupun handphone. Perkembangan aplikasi atau game selular (mobile content) sangat cepat, perusahaan pembuat mobile Operating System (OS) telah berlomba untuk memasarkan produk-produk mereka dengan menciptakan fungsi-fungsi dan teknologi yang kian hari kian memanjakan pengguna smartphone (selular yang ber-OS) dari segi entertainment dan fungsionalitas penggunaan selular untuk memudahkan tugas sehari-hari.
Selain berfungsi untuk mengkontrol sumber daya hardware dan software ponsel seperti keypad, layar, phonebook, baterai, dan koneksi ke jaringan, sistem operasi juga mengontrol agar semua aplikasi bisa berjalan stabil dan konsisten. Sistem operasi harus dirancang fleksibel sehingga para software developer lebih mudah menciptakan aplikasi-aplikasi baru yang canggih. Keunggulan lain dari ponsel yang ber-OS adalah memiliki kebebeasan lebih untuk men-download berbagai aplikasi tambahan yang tidak disediakan oleh vendor ponsel. Sistem operasi-sistem operasi tersebut diantaranya adalah:

a. Java
   OS Java biasanya diterapkan pada jenis yang telah polyponik namun kelas monoponik pun juga telah tersedia. Biasanya terdapat pada ponsel tipe lama, namun tipe baru sekalipun saat ini biasanya juga telah mendukung untuk fitur ini. Harga untuk ponsel jenis ini lebih terjangkau. Java sebagai middleware yang diperkenalkan pada ponsel, memberikan jawaban yang sangat memuaskan. Dengan adanya Java, seseorang dapat membuat aplikasi bermodalkan komputer dan sebuah aplikasi notepad. Sayangnya, kemampuan Java sebagai middleware mengakibatkan terbatasnya feature hardware ponsel yang dapat diakses oleh sebuah aplikasi berbasis Java.

b. Symbian
   Symbian adalah sistem operasi yang dikembangkan oleh Symbian Ltd. yang dirancang untuk peralatan bergerak mobile. OS Symbian yang didirikan sejak tahun 1998 dulunya digunakan oleh Nokia dan hingga saat ini telah digunakan oleh banyak Vendor Smartphone. Symbian telah mengalami perkembangan yg drastis dan hingga sekarang tetap menjadi nomor satu untuk OS kategori Smartphone. Symbian merupakan perusahaan independen hasil kolaborasi vendor2 raksasa pd masa itu yakni Ericsson, Nokia, Motorola, dan Psion. Nokia sebagai pemegang saham terbesar dengan angka 47,9 persen. Banyak dari produk nokia ber- OS Symbian. Symbian dipandang lebih unggul karena:
1. Dirancang khusus untuk ponsel. Berbeda dengan Microsoft dan Linux yang diadopsi dari komputer.
2. Berkat fitur CC+, Java (J2ME) MIDP 2.0, PersonalJava 1.1.1a, dan WAP. Sistem operasi symbian ini sangat terbuka sehingga siapapun bisa mengembangkannya. Terbukti banyak beredar aplikasi-aplikasi tambahan untuk OS berbasis Symbian atau platform Java.
3. Symbian menyediakan suatu user interface (UI) framework yang fleksibel, sehingga para vendor bisa menvariasikan produk-produknya.

c. Windows mobile
Windows Mobile adalah sistem operasi seluler yang ditawarkan oleh Microsoft. OS windows mobile biasanya hanya digunakan pada ponsel jenis PDA Phone yang harganya lumayan untuk kalangan ekonomi menengah kebawah, namun biasanya pengguna HP dengan OS ini hanya kalangan pebisnis yang ekonominya lumayan. Biasanya sebanding dengan harga 1 buah laptop, tergantung dari merk dan spesifikasinya.
Keunggulan windows mobile adalah :
1. Sebagian besar teknologi IT (Information Technology) yang dipakai berbasis Windows, kecocokan dalam hal platform serta ekstensi yang mudah dengan software. Komputer dipandang bahwa Microsoft dianggap lebih ideal dibandingkan Symbian atau Linux.
2. Windows Mobile menawarkan berbagai fitur unggulan seperti Mobile Blog, GPS, menonton televisi, serta Mobile Database.
   Kelemahannya adalah Windows Mobile bersifat tertutup sehingga sulit bagi software developer independen untuk menciptakan aplikasi-aplikasi baru.

d. Android


   Sistem Operasi Android adalah sebuah sistem operasi yang ditujukan untuk perangkat mobile seperti SmartPhone dan Tablet. Sistem operasi ini telah dikembangkan oleh Google Inc ini sebenarnya adalah pengembangan dari sistem operasi linux, karena merupakan modifikasi kernel Linux 2.6.
   Android didistribusikan secara terbuka (open source) sehingga pengguna bisa membuat aplikasi baru di dalamnya. Android memiliki aplikasi native Google yang terintegrasi seperti pushmail Gmail, Google Maps, dan Google Calendar.

Berikut adalah fitur-fitur unggulan Andorid OS:
a). Kerangka aplikasi yang memungkinkan penggunaan dan penghapusan komponen yang tersedia.
b). Dalvik mesin virtual yaitu  mesin virtual dioptimalkan untuk perangkat mobile.
c). Grafik : grafik di 2D dan grafis 3D berdasarkan pustaka OpenGL.
d). SQLite : untuk penyimpanan data.
e). Mendukung media: audio, video, dan berbagai format gambar (MPEG4,    H.264, MP3, AAC, AMR, JPG, PNG, GIF)
f). GSM, Bluetooth, EDGE, 3G, dan WiFi (hardware dependent).
g). Kamera, Global Positioning System (GPS), kompas,dan accelerometer (tergantung hardware)
h). Multitasking
i). TouchScreen
j). Kemudahan dalam Notifikasi
    Setiap ada SMS, Email, atau bahkan artikel terbaru dari RSS Reader, akan selalu ada notifikasi di Home Screen Ponsel Android, tidak ketinggalan pula Lampu LED Indikator yang berkedip-kedip, sehingga Anda tidak akan terlewatkan satu SMS, Email ataupun Misscall sekalipun.
Kelemahan os Android:
a) Koneksi Internet yang terus menerus, kebanyakan ponsel Android memerlukan koneksi internet yang simultan / terus menerus aktif. Artinya harus berlangganan paket GPRS yang sesuai dengan kebutuhan.
b) Iklan
   Aplikasi di Ponsel Android memang bisa didapatkan dengan mudah dan gratis, namun Anda harus terima konsekuensinya dari setiap Aplikasi tersebut, akan selalu ada Iklan yang terpampang, entah itu bagian atas atau bawah aplikasi.
c) Ancaman lisensi.
   Karena latar belakang Android menggunakan teknologi java, google telah diancam melanggar hak paten dari Oracle (perusahaan yang sekarang memiliki lisensi java). Karena telah membuat virtual machine baru yang dasarnya dari teknologi java. Jadi bukan tidak mungkin ada hambatan ke depan dalam pengembangannya.

e. Blackberry


   Perusahan telekomunikasi asal Canada, Reserch in Motion (RIM), mengembangkan perangkat komunikasi bergerak. Awalnya produk mereka adalah memproduksi layanan penyeranta (Pager) dua arah, namun dalam perkembangannya perusahaan ini membuat terobosan baru dengan menciptakan pearangkat Blackberry yang terkenal dengan layanan push-email, dan sekarang blackberry berubah menjadi smartphone yang memiliki berbagai fungsi seperti, GPS, internet mobile, serta dapat mengakses Wi-FI. RIM sebagai developer untuk sistem operasi blackberry telah mengeluarkan sistem operasi baru dengan salah satu aplikasi yang tertanam didalamnya adalah Document to Go versi trial buatan DataViz, suatu aplikasi yang memiliki fungsi officeseperti Word to Go, Presenter to Go yang otomatis memiliki Sheet to Go sebagai aplikasi Spreadsheet.