New Posts


Buffer, eh CPU Overflow
by omicron9194

Wednesday, 18 July 2012

Hari ini adalah hari ketiga gw ikut pelatihan untuk sertifikasi. Pelatihan ini bukanlah pelatihan teknis, namun merupakan pelatihan konsep yang diadakan di lab. Hanya duduk dan mendengarkan penjelasan dari instruktur sehingga suasana ini menjadi sangat membosankan.

Karena gw ngga tahan dengan kondisi seperti ini, akhirnya gw mulai buka komputer. Gw buka console (command prompt) windows. Awalnya gw cuma coba-coba aja ngetik perintah disana, liat hasilnya seperti apa. Akhirnya gw dapet ide untuk buat suatu program kecil yang dapat membuat buffer overflow (sebenarnya bukan buffer overflow, istilah ini gw pinjem untuk memudahkan penggunaan kata; sejujurnya gw juga bingung cari kata yang tepat)* pada windows. Konsepnya cukup mudah, panggil program secara terusmenerus sehingga menyebabkan penggunaan cpu menjadi naik. Untuk mengimplementasikan konsep ini, gw butuh compiler C. Alasannya simple, gw ngga terlalu paham buat program menggunakan batch script.
Setelah gw cari, ternyata ada compiler C. Pas banget! Ide udah dapet, compiler udah ada, tinggal implementasi.

Gw buat program kecil yang bisa menaikkan cpu usage sehingga bisa mematikan (membuat hang) windows. Programnya simple, ga banyak code yang gw tulis. Kurang dari 5 menit program kecil ini jadi.
Saatnya implementasi. Setelah semua code gw pastikan ngga ada yang error, kemudian gw coba jalanin program, dan inilah hasilnya:
 
overflow cpu
 
Program kecil ini hanya memanfaatkan looping yang ga terbatas, namun karena gw mau meningkatkan cpu usage, maka gw tambah fungsi yang membaca sebuah file sehingga menyebabkan kenaikan yang drastis pada cpu usage.

Semoga dengan tulisan ini menginspirasi Anda dalam belajar.
Think out of the box ;)

*Buffer overflow terjadi ketika Attacker memberikan input yang berlebihan pada program yang dijalankan, sehingga program mengalami kelebihan muatan dan memory tidak dapat mengalokasikannya. Gw pinjem istilah ini karena konsep buffer overflow mirip dengan program kecil yang gw buat. Oia, gw baru dapet kata yang tepat, gw sebut ini sebagai CPU overflow :D. Perbedaannya hanya pada objek yang diserang. Buffer overflow memenuhi penggunaan memory, tetapi CPU overflow memenuhi penggunaan cpu pada sistem.