Rumah Audio Apa itu stack smashing? - definisi dari techopedia

Apa itu stack smashing? - definisi dari techopedia

Daftar Isi:

Anonim

Definisi - Apa artinya Stack Smashing?

Stack smashing adalah bentuk kerentanan di mana tumpukan aplikasi komputer atau OS terpaksa meluap. Ini dapat menyebabkan merongrong program / sistem dan menabraknya.


Tumpukan, sirkuit masuk terakhir keluar pertama, adalah bentuk buffer yang menahan hasil antara operasi di dalamnya. Untuk menyederhanakan, stack smashing menempatkan lebih banyak data ke dalam stack daripada kapasitas penyimpanannya. Peretas yang terampil dapat dengan sengaja memasukkan data yang berlebihan ke dalam tumpukan. Data yang berlebihan mungkin disimpan dalam variabel tumpukan lainnya, termasuk alamat pengembalian fungsi. Ketika fungsi kembali, itu melompat ke kode berbahaya di stack, yang mungkin merusak seluruh sistem. Data yang berdekatan pada tumpukan dipengaruhi dan memaksa program untuk mogok.

Techopedia menjelaskan Stack Smashing

Jika program yang terkena dampak stack smashing menerima data dari jaringan yang tidak terpercaya dan berjalan dengan hak istimewa, itu adalah kasus kerentanan keamanan. Jika buffer berisi data yang disediakan oleh pengguna yang tidak dipercaya, tumpukan mungkin rusak dengan menyuntikkan kode yang dapat dieksekusi ke dalam program, sehingga mendapatkan akses tidak sah ke komputer. Seorang penyerang juga dapat menimpa informasi aliran kontrol yang disimpan dalam tumpukan.


Karena stack smashing telah tumbuh menjadi kerentanan yang sangat serius, beberapa teknologi diimplementasikan untuk mengatasi bencana stack smashing. Stack buffer overflow protection mengubah organisasi data dalam bingkai stack dari pemanggilan fungsi untuk memasukkan nilai-nilai kenari. Nilai-nilai ini ketika dihancurkan menunjukkan bahwa buffer sebelumnya dalam memori telah meluap. Nilai Canary memonitor buffer overflows dan ditempatkan di antara data kontrol dan buffer pada stack. Ini memastikan bahwa buffer overflow merusak kenari terlebih dahulu. Verifikasi gagal data kenari menandakan overflow dalam tumpukan. Tiga jenis kenari adalah Acak, Terminator, dan Acak XOR.


Kenari terminator didasarkan pada fakta bahwa serangan buffer overflow stack bergantung pada operasi string yang berakhir pada terminator. Canary acak dihasilkan secara acak dari daemon entropi pengumpul, yang mencegah penyerang mengetahui nilai-nilai. Kenari acak dihasilkan pada inisialisasi program dan disimpan dalam variabel global. Kenari XOR acak adalah pembawa acak yang diacak XOR menggunakan data kontrol. Ini mirip dengan kenari acak kecuali bahwa "baca dari tumpukan metode" untuk mendapatkan kenari itu kompleks. Peretas membutuhkan kenari, algoritma, dan kontrol data untuk menghasilkan kenari asli. Mereka melindungi terhadap serangan yang melibatkan buffer berlebih dalam struktur menjadi pointer untuk mengubah pointer ke point pada sepotong data kontrol.

Apa itu stack smashing? - definisi dari techopedia