Bir yığın arabellek taşması nedir?

Bir yığın arabellek taşması, bir program bilgisayarın belleğine ayrılan alandan daha uzun bir giriş yaptığında gerçekleşen şeydir. Bazı durumlarda bu, bellekteki diğer verileri bozabilir ve bilgisayarın çalışmasında sorunlara neden olabilir. Diğer durumlarda, bilgisayarın diğer bölümlerinin kontrolünü ele geçirmek için kötü amaçlı bir uygulama tarafından yığın arabellek taşması kullanılabilir.

Bir yığın tampon taşmasından gelen isim, ilk önce etkin bir liste olan, yani verilerin düzenlendiği aktif bir liste olan yığından türetilir: terim, fiziksel öğelerin yığılması analojisinden gelir. Bunun bir versiyonu, çağrı yığını, bir bilgisayar programının, programın çeşitli kısımlarını, alt programlarını, belirli bir anda çalışanları takip etmek için kullandığı listedir. Çağrı yığını geçici olarak çalıştığından ve hızlı bir şekilde erişilmesi gerektiğinden, sabit sürücü gibi kalıcı depolama yerine bilgisayar belleğinde bulunur.

Modern işletim sistemleri birden fazla programın aynı anda çalışmasına izin verdiği için, yığın aramaları da dahil olmak üzere belleğin ayrılma şeklini düzenlemeye ihtiyaç vardır. Bu, bellekte belirli bir arabellek için gerekli olan maksimum alanla başa çıkabilecek kadar büyük olacak şekilde tasarlanmış bir alan atanarak verimli bir şekilde yapılır. Çoğu durumda, alanın bir kısmı kullanılmaz, bu nedenle farklı uygulamalardan gelen veriler arasında bir arabellek görevi görür ve aniden fazladan alan gerekiyorsa odayı başa çıkmasına neden olur. Görselleştirmenin bir yolu, her bir konu alanına belirli bir alan ayıran, örneğin bir konudaki tüm kitapların kütüphanede olması durumunda baş etmek için fazladan bir alan bırakacağınızdan emin olmak için bir kütüphane düşünmek olacaktır. aynı zamanda, herhangi biri kontrol edilmek yerine.

Bir program arama yığını verilerini arabellek için ayrılmış alanı aşacak şekilde yazdığında, yığın arabelleği taşması oluşur. Bu, genellikle programdaki bir hata ile yanlışlıkla yapılabilir. Örneğin, bir uygulama kullanıcının bir telefon numarası girmesine izin verecek şekilde tasarlanmışsa, ancak girilebilecek karakter sayısını sınırlamazsa, bir bilgisayar korsanı sınırsız alanı bilerek yığın tamponu taşmasına neden olmak için kullanabilir . İşletim sisteminin çalışma şekline bağlı olarak, hacker'ın başka bir uygulamaya veya işletim sisteminin kendisine dolaylı olarak erişmesine izin verebilir.

Bir yığın tampon taşmasının etkilerine karşı hafifletmek için birkaç yaklaşım vardır. Biri adres alanı düzen tespiti olarak bilinir. Bu, bilgisayardaki en önemli veri alanlarını rastgele düzenler. Buradaki fikir, bir bilgisayar korsanı yığın tampon taşmasına neden olsa veya istifade etse bile, ihlali güvenilir bir şekilde kullanamayacağıdır.