Apa itu Penyemprotan Tumpukan?

Penyemprotan tumpukan adalahteknikperetasanyang digunakan untuk mengeksploitasi kerentanan dalamperangkat lunak komputer.Bertindak untuk mendapatkan kontrol atas program dengan mengambil keuntungan dari sebagian dari memorinya.Setelah bagian dari memori dikendalikan oleh kode peretasan,peretasdapat mengendalikan eksekusi kode dengan menerapkanbuffer overflowdi area heap memori.Kegunaan yang paling umum untuk penyemprotan heap adalah meretas browser web seperti Internet Explorer®.

Penyemprotan tumpukan adalah teknik peretasan yang digunakan untuk mengeksploitasi kerentanan dalam perangkat lunak komputer.

“Heap” adalah blok memori dinamis yang diberikan komputer ke program tertentu, dinamakan demikian karena komputer mendedikasikan tumpukan memori virtual untuk program tersebut.Ini bisa dianggap seperti ruang penyimpanan di lemari atau meja.Tumpukan memori ini menjadi milik program sampai perangkat lunak atau kode koleksi sistem operasi melepaskannya.Kode koleksi hanyalah perangkat failsafe yang merebut kembali memori jika program macet atau perangkat lunak itu sendiri gagal melepaskan memori setelah berhenti digunakan.

Dalam penyemprotan heap, peretas mencoba “menyemprotkan” tumpukan memori dengan bagian kode tertentu.Tujuannya adalah untuk menempatkan kode pada posisi tertentu dalam tumpukan memori program, seperti memasukkan linggis ke tepi kusen pintu untuk memberikan daya ungkit untuk memaksa pintu terbuka.Setelah informasi terjepit ke dalam tumpukan memori melalui penyemprotan panas, peretas kemudian dapat meluap baik tumpukan atau seluruh buffer memori, menghasilkan kesalahan dalam sistem.Setelah kesalahan terjadi, peretas dapat memanfaatkannya untuk mengeksekusi kodenya sendiri di sistem.

Penyemprotan tumpukan bekerja karena alokasi memori yang dinamis dalam sistem.Program komputer pada dasarnya “memiliki” seluruh bagian memori untuk saat ini, sehingga peretas sudah mengetahui lokasi relatif di dalam memori yang telah ditetapkan komputer untuk program tersebut.Oleh karena itu, peretas membutuhkan sedikit kekhususan untuk memasukkan kodenya ke dalam celah;dia dapat menyemprotkan kode secara membabi buta, mengetahui bahwa blok memori akan selalu ada selama program terus berjalan.Ini bisa dibandingkan dengan mencoba mengambil kunci sambil ditutup matanya;tugas menjadi hampir mustahil jika kunci bergerak, tetapi selama tetap berada di satu lokasi tetap — seperti halnya tumpukan memori dalam sistem — pekerjaan menjadi mungkin.