Arabellek Taşması (Buffer Overflow) Açıklıklarına Karşı Temel Önlemler

06 Nisan 2010

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:

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 http://searchsecurity.techtarget.com sitesinden Türkçe'ye çevrilmiştir.

Serdar Kocaoğlu
MCSE:S
06.04.2010

0 yorum:

Yorum Gönder

YUKARI