1.) Arkaplan - Araç
Boş zamanımda hatalı HTML kodu üreten bir program yazdım. Program, istemciye sürekli yeni veri göndererek tarayıcının sürekli aktif olarak kalmasını sağlıyor.
Araç sadece HTML kodu üretiyor. CSS, JavaScript gibi ek özelliklwer üretmiyor. Eğer programı indirmek isterseniz buraya tıklayın.
Küçük bir canlı sunum görmek için ise buraya tıklayın.
2.) Yöntem ve Hedefler
Bu programı MS IE, Mozilla / Netscape / Firefox, Opera, Lynx ve Links için çalıştırdım.
3.) Sonuç
MSIE hariç tüm web tarayıcıları, NULL işaretçileri referansları, bellek hatası, tampon taşması gibi sebeplerden çöktü.
4.) Örnek Hatalar
Buradan hata örneklerine bakabilirsiniz.
mozilla_die1.html
NUL'dan sonra TEXTAREA, INPUT, FRAMESET ve IMG etiketleri geldiğinde ve daha sonra onları çeşitli karakterler takip ettiğinde, bellek hatası / taşması gibi problemler ortaya çıkıyor ve bu durum, tarayıcının NULL işaretçisine veya geçersiz bir işaretçiye erişirken çökmesine ve sonsuz döngüye girmesine, neden oluyor. Benim tahminim bu tarayıcı etiket uzunluğunu "strlen" gibi bir fonksiyonla ölçüyor ve bunu bir ayıraç veya ">" (büyüktür) işareti görene kadar kopyalıyor. Tabi bu sadece bir tahmin.
Bu durum etikete ve işletim sistemine bağlı ve NULL işaretçisine erişememek güvenlik tehlikesi doğurabilir.
opera_die1.html
Hatalı COL SPAN ve TBODY, Opera'nın hata yapmasına ve yüklenmemiş belleğe referans oluşturmak istemesine neden oluyor. Doğru şartlarda kullanıldığında tehlike doğurabilir.
links_die1.html
Hatalı tablo boyutları links'in "calloc" hata verene kadar tüm belleği doldurmasına ve dolduğunda ise tekrar ayrılan belleğin üzerine yazmasına neden oluyor. Bir bakıma kendisine DoS saldırısı yapmasına sebep oluyor.
lynx_die1.html
Hatalı HTML okurken sonsuz döngüye giriyor.
5.) Üreticileri Uyarma
Bazı üreticileri bu ilk tespit ettiğim hatalara karşı uyardım.
6.) Puansız Sonuçlar
Genel kod kalitesine bakıldığında kendini "güvenli" olarak duyuran diğer tarayıcıların MSIE'nin gerisinde kaldığını gördük. Sadece MSIE hatalı girdiyi doğru şekilde işledi.
Elbette bu durum MSIE'nin güvenli olduğunu göstermez. MSIE bir çok güvenlik sorununa sahip olduğu gerçek. Fakat kodun kalitesi onun "güvenli" rakiplerinden daha iyi.
Kaynak: SecurityFocus
SecurityFocus sitesinde Michal Zalewski tarafından gerçekleştirilmiş bir tarayıcı testi var. Ben de bu testin çevirisini (özetle) burada sunuyor ve yorumlarınızı merakla bekliyorum :)
Çok kullanılan web tarayıcılarının potansiyel saldırılara ve DoS ataklarına ne kadar dayanabildiklerini ölçmek istedim. Bu amaçla kullanışlı bir araç hazırladım.
Çok kullanılan web tarayıcılarının potansiyel saldırılara ve DoS ataklarına ne kadar dayanabildiklerini ölçmek istedim. Bu amaçla kullanışlı bir araç hazırladım.
Bir kaç yıl önce tam okuyamadığım, bir göz attığım "Hatasız Kodlama" isimli, yanlış hatırlamıyorsam bir Microsoft programcı grubu yöneticisine ait bir kitapta bu tip belirsizliklere ve bunlara karşı alınacak önlemlere vs. işaret ediliyordu. Programcılarının kafasına bu tip hatalardan kaçınmayı yerleştirmek için uğraş verdiklerinden önemle bahsediliyordu kitapta.
Diğer browser'ları hazırlayanların web sayfalarını hazırlayanların iyi niyetine ve kodlamayı hatasız yapacaklarına güvenircesine dikkatsiz hareket etmiş olması heç de iyi olmamış, kullanıcılar açısından da oldukça tehlikeli ne yazık ki.