Dalam keamanan informasi dan pemrograman, luapan dapar[1] atau luapan penyangga (bahasa Inggris: buffer overflow) adalah sebuah anomali pada sebuah program saat menulis data ke dalam dapar hingga melampaui batas dan menimpa lokasi memori yang berdekatan.

Dapar (buffer) adalah wilayah memori yang disisihkan untuk menampung data, sering sambil bergerak dari satu bagian program ke program lain, atau antara program. Luapan dapar sering dipicu oleh cacat masukan; jika menganggap semua masukan menjadi lebih kecil dari ukuran tertentu dan dapar ini diciptakan sebagai ukuran, maka anomali transaksi yang menghasilkan lebih banyak data dapat menyebabkan penulisan data hingga melewati batas akhir dapar tersebut. Jika hal ini menimpa data yang berdekatan atau kode yang dapat dijalankan, hal ini dapat mengakibatkan ketidaktentuan perilaku program, termasuk galat akses memori, hasil yang salah, dan galat aplikasi.

Keterangan teknis

sunting

Luapan dapar terjadi ketika data ditulis ke dalam dapar juga merusak nilai-nilai data pada alamat memori yang berdekatan dengan dapar tujuan karena kurangnya periksa batas (bounds checking). Hal ini dapat terjadi ketika menyalin data dari satu dapar ke dalam dapar yang lain tanpa memeriksa terlebih dahulu apakah data sesuai dalam dapar tujuan.

Contoh

sunting

Dalam contoh berikut yang ditulis dalam C, program ini memiliki dua peubah yang berdekatan dalam memori: dapar 8 bita, A, dan dua bita integer big-endian, B. Awalnya, A tidak berisi apa-apa kecuali nol bita, dan B berisi angka 1979.

nama peubah A B
nilai [string null] 1979
nilai heks 00 00 00 00 00 00 00 00 07 BB

Sekarang, program ini mencoba untuk menyimpan untaian (string) berakhir dengan nol (null) "excessive" dengan ASCII yang dienkode dalam dapar A. "excessive" adalah 9 huruf dan mengenkode 10 bita termasuk terminator null, tetapi hanya dapat mengambil 8 bita. Karena gagal memeriksa panjang dari untaian, ia juga akan menimpa nilai B:

nama peubah A B
nilai 'e' 'x' 'c' 'e' 's' 's' 'i' 'v' 25856
heks 65 78 63 65 73 73 69 76 65 00

Nilai B kini telah secara tidak sengaja diganti dengan nomor yang dibentuk dari bagian dari huruf untaian. Dalam contoh ini, "e" (65) diikuti dengan bita nol akan menjadi 25856.

Menulis data setelah alokasi akhir dalam memori kadang-kadang dideteksi oleh sistem operasi dan menghasilkan segmentasi kesalahan yang mengakhiri proses tersebut.

Rujukan

sunting
  1. ^ "Dapar". Kamus Besar Bahasa Indonesia Daring. Badan Pengembangan dan Pembinaan Bahasa.

Pranala luar

sunting

📚 Artikel Terkait di Wikipedia

Protocol Buffer

Protokol Buffer adalah metode serialisasi data terstruktur. Protokol ini berguna dalam mengembangkan program untuk berkomunikasi satu sama lain melalui

Larutan dapar

tepatnya, dapar pH atau dapar ion hidrogen) (bahasa Inggris: buffer solution, pH buffer, hydrogen ion buffercode: en is deprecated ) adalah larutan yang

Buffer (disambiguasi)

Buffer dapat mengacu pada beberapa hal berikut: Penyangga sebagai proses komputer Dapar sebagai larutan dapar Kedua istilah ini dalam bahasa Inggris disebut

Tembolok (komputer)

latensi. Manfaat ini ada bahkan jika data yang di-buffer ditulis ke buffer sekali dan dibaca dari buffer sekali. Sebuah tembolok juga meningkatkan kinerja

Adipati

juga bersifat otonom. Ada juga kadipaten kecil yang merdeka dengan fungsi buffer state misal Kadipaten Dayeuhluhur di perbatasan wilayah Sunda dan Jawa.

Stasiun Klakah

Dua gerbong ketel (KR-3044 dan KR-29785) mengalami penyok pada bagian buffer, sedangkan kereta penumpang CL-1406 mengalami rusak berat. Tidak ada korban

Sepur badug

Inggrisnya, "buffer stop" untuk menyebut badug, berasal dari Inggris, karena rel kereta api di Inggris pada prinsipnya menggunakan buffer (boper) untuk

Suku Badui

Sirahdayeuh (Cihandam). Kampung Dangka tersebut berfungsi sebagai semacam buffer zone atas pengaruh dari luar (Permana, 2001). Mitos penciptaan suku Baduy