Rumah Audio Apakah stack smashing? - definisi dari techopedia

Apakah stack smashing? - definisi dari techopedia

Isi kandungan:

Anonim

Definisi - Apakah maksud Stack Smashing?

Stack smashing adalah satu bentuk kelemahan di mana timbunan aplikasi komputer atau OS terpaksa melimpah. Ini boleh menyebabkan merosakkan program / sistem dan merosakkannya.


Satu tindanan, litar terakhir yang terakhir, adalah satu bentuk penimbal yang memegang hasil operasi pertengahan di dalamnya. Untuk mempermudah, stack menghancurkan meletakkan lebih banyak data ke dalam timbunan daripada kapasiti pegangannya. Penggodam mahir boleh dengan sengaja memperkenalkan data berlebihan ke dalam timbunan. Data berlebihan mungkin disimpan dalam pemboleh ubah tindanan lain, termasuk alamat pulangan fungsi. Apabila fungsi itu kembali, ia melompat ke kod berniat jahat pada timbunan, yang mungkin merosakkan keseluruhan sistem. Data bersebelahan pada timbunan itu terjejas dan memaksa program tersebut runtuh.

Techopedia menerangkan Stack Smashing

Sekiranya program yang terjejas dengan menghancurkan stack menerima data daripada rangkaian yang tidak dipercayai dan berjalan dengan keistimewaan istimewa, ia adalah kes kelemahan keselamatan. Sekiranya penampan mengandungi data yang disediakan oleh pengguna yang tidak dipercayai, tindanan tersebut mungkin rosak dengan menyuntikkan kod yang boleh dieksekusi ke dalam program tersebut, sehingga memperoleh akses yang tidak dibenarkan ke komputer. Penyerang juga boleh menulis ganti maklumat aliran kawalan yang disimpan dalam timbunan.


Apabila memusnahkan stack telah berkembang menjadi kelemahan yang sangat serius, teknologi-teknologi tertentu dilaksanakan untuk mengatasi bencana bencana yang menghancurkan. Perlindungan limpahan penyangga stack mengubah organisasi data dalam bingkai tindanan panggilan fungsi untuk memasukkan nilai-nilai kenari. Nilai-nilai ini apabila dimusnahkan menunjukkan bahawa penimbal yang mendahuluinya dalam ingatan telah melimpah. Nilai kanar memantau penampan limpahan dan diletakkan di antara data kawalan dan penampan di timbunan. Ini memastikan bahawa limpahan penampan merosakkan kanari dahulu. Pengesahan yang gagal dalam data kanari menandakan limpahan dalam timbunan. Tiga jenis kanari adalah Random, Terminator, dan Random XOR.


The canary terminator adalah berdasarkan fakta bahawa serangan overflow buffer tumpukan bergantung kepada operasi string yang berakhir pada terminators. Kanari rawak dihasilkan secara rawak dari daemon pengumpulan entropi, yang menghalang penyerang mengetahui nilai. Kanari rawak dihasilkan pada inisialisasi program dan disimpan dalam pembolehubah global. XAR canaries adalah pembawa rawak yang XOR digegarkan menggunakan data kawalan. Ia serupa dengan burung-burung raksasa kecuali bahawa "membaca dari kaedah timbunan" untuk mendapatkan kanari adalah kompleks. Penggodam memerlukan data kenari, algoritma, dan kawalan untuk menghasilkan kanari asal. Mereka melindungi terhadap serangan yang melibatkan buffer yang melimpah dalam struktur ke dalam pointer untuk menukar penunjuk untuk menunjukkan pada sekeping data kawalan.

Apakah stack smashing? - definisi dari techopedia