En yaygın saldırı türlerinden biri olan Arabellek Taşması (Buffer
Overflow) açıklıklarının kullanılması, Hackerların en sevdiği
yöntemlerden birisi. Bu konuda, sözkonusu açıklıkların en başından
kapatılması için programcılara/yazılımcılara yani kodculara düşen önemli
görevler var.
Arabellek Taşması (Buffer Overflow) Açıklıklarını önlemek için
kodcuların uygulaması gereken temel önlemler:1. Library (Kütüphane) dosyalarını kullanmaktan kaçının: Programlama
dillerinde kullanılan Library dosyalarının doğası gereği güvenliği
zayıftır ve hacker saldırılarına açık bir hedef teşkil ederler. Hacker
tarafından Kütüphane dosyasında bulunan herhangi bir zayıflık, aynı
kütüphane dosyasını kullanan diğer programlarda da mevcut olacağından,
bu tür açıklar hackerların iştahını kabartan bir saldırı aracı haline
dönüşmektedir.
2. Kullanıcı girdilerini filtreleyin: Veritabanı problemlerine yol
açabilecek, muhtemel tehlike oluşturabilecek HTML kod ve karakterlerinin
filtrelenmesi gerekir. Örneğin, bir ASP kodunda, kesme işareti, tırnak
işareti ve & işareti ayrılmış işaretlerdir. Bu işaretler kullanıcı
girişlerinde bulunmamalıdır, aksi halde uygulama çökebilir. Bu tür
karakterlerin süzme işleminden geçirilerek filtrelenmesi problemlerin
önüne geçecektir.
Örnek bir kodlama: Kod:
strNewString = Request.Form("Review")
strNewString = Replace(strNewString, "&", "& amp;")
strNewString = Replace(strNewString, "<", "& lt;")
strNewString = Replace(strNewString, ">", "& gt;")
strNewString = Replace(strNewString, "'", "`")
strNewString = Replace(strNewString, chr(34), "``")
3. Uygulamaları test edin: Güvenli Kodlama (Secure Coding) için
kullanıma geçmeden önce bütün yazılımların güvenlik testlerinden geçmesi
gerekir. Bir hacker gibi hackleme denemeleri yapılmalı, sorunlar varsa
giderilmelidir. Eğer bu denemeler sırasında yazılım çöküyorsa,
hackerların kullanabileceği bir problem olduğu açıktır ve düzeltilmesi
gerekir.
Kaynak: Yukardaki 3 yöntem
[Linkleri görebilmek için üye olun veya giriş yapın.] sitesinden Türkçe'ye çevrilmiştir.
Alıntıdır.