Pengertian Buffer
Buffer adalah area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua device atau antara device dan aplikasi.
Buffer dilakukan untuk 3 hal :
Untuk men-cope dengan kesalahan yang terjadi karena perbedaan kecepatan antara produsen dengan konsumen dari sebuah stream data.
Untuk menyesuaikan device-device yang mempunyai perbedaan dalam ukuran transfer data, dimana buffer dipakai untuk fragmentasi dan pengaturan kembali pesan yang diterima.
Untuk mendukung copy semantics untuk aplikasi I/O
Pengertian Overflow
Over adalah beban yang berlebih atau suatu data yang melebihi kapasitas yang akan ditempatinya.
Flow adalah aliran.
Jadi, Overflow adalah aliran yang berlebihan / aliran data yang melebihi kapasitas tempat yang akan dijadikan tempat data tersebut.
Jadi, kesimpulannya Buffer Overflow adalah area memori pemindahan data antara device yang berbeda dan data yang dialirkan melebihi kapasitas memori pemindahannya.
KONSEP BUFFER OVERFLOW
Jika kita mengakses suatu situs web, kemudian saat kita memberikan input yang tidak semestinya pada field browser ataupun pada field UserID dan Password, maka buffer overflow mungkin akan terjadi pada web yang vulnerability(mudah diserang).
Apakah yang dimaksud dengan buffer overflow? Buffer adalah tempat penampungan, overflow artinya kelebihan muatan. Jadi buffer overflow adalah suatu kondisi dimana elemen-elemen yang ada tidak dapat lagi menempati tempat penampungan yang ada.
Contohnya :
char rumah[20]; // rumah yang dapat berisi 20 orang saja,
char kamar[10]; // kamar yang dapat berisi 10 orang saja.
Jika semua yang ada di rumah (20 orang) masuk ke dalam kamar (yang hanya dapat berisi 10 orang saja), kamar itu tidak akan dapat menampung 10 orang lainnya.
Hal inilah yang dapat kita katakan buffer overflow, dimana kamar itu diibaratkan sebagai buffer, dan karena kapasitas kamar lebih kecil dari kapasitas yang akan masuk, maka dapat dikatakan overflow.
Dengan kata lain, pemahaman buffer overflow sendiri adalah keadaan dimana buffer (variabel yang digunakan suatu aplikasi untuk menyimpan datanya di memori) terisi dengan data yang ukurannya melebihi kapasitasnya sendiri. Akibatnya, kelebihan data itu akan mengisi alamat memori lain yang bukan milik variabel tersebut atau dalam hal ini disebut dengan overwrite.
Buffer Overflow menurut NeoTekno, merupakan salah satu metode yang dipakai oleh hacker untuk mengeksploitasi sebuah sistem komputer yang memiliki kelemahan pada salah satu aplikasi yang digunakan oleh sistem tersebut.
Eksploitasi ini dikenal dengan input validation attack yang dapat mengakibatkan suatu sistem crash (buffer overflow) yaitu variabel yang tersedia pada aplikasi tidak dapat menampung input yang sengaja dibuat berlebihan. Teknik ini banyak digunakan pada man in the middle attack maupun untuk mendapatkan shell console.
Sebuah aplikasi dapat di-buffer-overflow, mungkin karena aplikasi tersebut tidak memiliki kontrol data yang baik dan biasanya ini tidak disadari oleh si pembuat program tersebut. Lalu bagaimana seorang hacker dapat memperoleh hak akses terhadap sistem hanya dengan memanfaatkan kelemahan dari suatu aplikasi yang ada di sistem komputer target? Tentu hal ini berkaitan erat dengan otoritas (baca: akses) yang di miliki oleh aplikasi tersebut

Comments
Post a Comment