Sarkan İşaretçi Nedir?
Bir sarkan işaretçi, bir işaretçi nesnesi artık mevcut
olmayan başka bir nesneyi işaret ettiğinde, nesne yönelimli kodlamada
gerçekleşen bir programlama hatasıdır. Bu örnekte, bir işaretçi, bir fare
işaretçisi değil, kullanıcıyı başka bir nesneye göndermeyi amaçlayan bir
işaretçi nesnesidir. Bu kusur, zamanla daha da kötüye gidebilir ve aynı zamanda
yetenekli bilgisayar korsanlarının saldırabileceği bir güvenlik sorunu da
sunuyor. Programlayıcı , işkur doğum parasıişaret edilen
nesneyi silen ancak işaretçiyi silmediğinde sarkan bir işaretçi olur .
Nesneye yönelik kodlamada, kodlamanın nesneler halinde
ayrıldığı, işaretçi olarak adlandırılan bir örnek vardır. İşaretçi örneği,
genellikle bir menüde programın bir yerine yerleştirilir ve kullanıcıyı başka
bir nesneye yönlendirir. Örneğin, kullanıcı bir menünün bir bölümünü
vurgularsa, başka bir menü açılır - bir açılır menü görünür. Bu, programcının
bölümün ötesinde kalabilmeden bir bölümde birkaç nesne kurmasını sağlar.
Bir programcının işaret edilen nesneyi sildiğinde sarkan
işaretçi hatası ortaya çıkar. Programcı işaretçi örneğini de silerse, sorun
olmaz. Programcı işaretçiyi kodlamada unutur ve tutarsa, sarkan bir işaretçi
oluşturur ve hem kalite hem de güvenlik sorunlarını sunar.
Kalite açısından, sarkan bir işaretçi özensiz görünüyor ve
ince hatalar yaratıyor. Bunun nedeni, programın nasıl davranılacağını
bilmemesidir, çünkü bir şey yapması söylenir, ancak nesnenin yokluğundan dolayı
olamaz. Bu eylem rastgele kod oluşturur veya kodu saptamak zor olan küçük, ince
yollarla bozar. Bu hatalar, programın biraz daha yavaş hareket etmesini
sağlayacak kadar küçük olabilir, ancak sonunda programı ve hatta bilgisayarı -
çalışmayan hale getirebilir.
Sarkan işaretçilere sahip programların çoğu başlangıçta
çalışır ve hatalar belirginleşmeden aylar hatta yıllar boyunca çalışmaya devam
edebilir. Hesaplama yapan programlar bile, sallanan işaretçinin formülde olduğu
anlamına gelir, yine de basit işkur kredi başvurusuhesaplamalar
yapabilir. Bu, sarkan işaretçilerin bulunmasının bu kadar zor olmasının
nedenlerinden biridir.
2007 yılına kadar sarkan işaretçi sadece teoride güvenlik
sorunlarını yarattı. Watchfire® yazılım şirketi daha sonra sarkan işaretçilerin
nasıl kullanılabileceğini gösteren ve güvenlik riskini gerçeğe dönüştüren bir
program yaptı. Bilgisayar korsanları bu program aracılığıyla bir programa
sızabilir ve kendi kodlarını kusurlu programa enjekte edebilir.
Yorumlar
Yorum Gönder