RSS feed
<< Otomatize SQL Enjektörleri Haftası - ardından | Home | OWASP Summer of Code 2008 - duyurusu >>

C/C++ Extra Kod Koruma Opsiyonları

image C/C++ dillerinde yazılım geliştirmiş olanlar bilirler; bu dillerde hafıza yönetimini tamamen kullanıcı yapar.İnsan faktörünün işin içine girmesiyle birlikte tahmin edersiniz ki bu yönetimde ciddi problemler baş gösterir ve yapılan her yanlışı saldırgan çok verimli şekilde exploit edebilir. Çünkü programcının hafızaya çok güçlü şekilde erişimi vardır. Örneğin C dilinde string diye bir yapı yoktur, char tipinde tek byte tutan bir değişken tipi vardır ve stringleri tutmak için char arrayleri kullanırsınız. Bu char array'e aldığınız string'in boyutunu ölçmediğiniz an "stack tabanlı buffer overflow" diye tabir edilen zayıflığa sahipsiniz demektir.

Daha yeni dillerde (örn C# / java ) hafıza yönetimi tamamen kullanıcıya bırakılmamıştır ve C/C++'ta görülen klasik buffer ile ilgili güvenlik sorunları bu dillerde görülmez. Lakin bu onların über güvenli olduğunu göstermez bilakis bu dillerin de kullandıkları framework mimarisinden dolayı daha farklı problemleri vardır.

C/C++'taki genel olarak hafıza yönetimi & buffer mevzuularından kaynaklanan güvenlik zaafiyetlerini derleyici düzeyinde çözmek için geliştirilmiş bazı teknikler mevcut.Bunlar 100 % çözüm ya da bypass edilemez önlemler değil ama exploiting sürecini ciddi miktarda zorlaştırmakta ve bazen imkansız hale getirmektedir. Michael Howard'ın MSDN Magazine'deki yazısı da bu tekniklerin Visual C++ üzerinde implement edilmiş ve varsayılan/opsiyonel olarak sunulmuş olanlarını anlatıyor, C/C++ ile yazılım geliştiriyorsanız okumanızı şiddetle tavsiye ederim.




Add a comment Send a TrackBack