Bu blogda bir çok bilgiye ulaşabileceksiniz.
Bulundugu Kategori: Teknoloji
27 Ağu 2009
Web uygulamaları denilince aklımıza hemen hemen her türlü internet uygulaması gelebilir. Bunun yanında e-ticaret sistemleri, bloglar ve birçok internet uygulamasını bu kategorinin kapsama alanına alabiliriz. Web uygulamalarında genelde kullanıcının yönetebileceği, içerik sağlayabileceği ve online işlemler yapabileceği sistemlerde yazılımcıların düşünmesi gereken en önemli nokta güvenliktir.
Malesef ki ülkemizde güvenlik üzerine gelişmiş platformların sayısı azdır. Yazılımcıların birçoğuda web uygulamalarının güvenliğini kendi çabalarıyla test eder ve buna göre özel önlemler alırlar.
Peki nasıl önlemler alıyoruz ?
Birkaç sene öncesinde hatırlarsanız ASP sistemlerde SQL injection güvenlik riski ortaya çıkmıştı. Epeyli bir internet sayfası bu güvenlik açığından nasibini alırken yazılımcılar internet üzerinde gördükleri bypass sistemlerine ve hack yöntemlerine karşı güvenlik sistemleri geliştirdiler.
Hatırlarsanız Hackerler SQL injection mantığında SQL sorgulamasına ( ‘ ) koyarak SQL kodunu değiştirmiş ve admin hesaplarına sahip olmuştular. Birçok web yazılımcısı ilk olarak bu SQL komutlarını bir filtreden geçirerek sistemlerini koruma altına aldılar. Ne kadar yeterli olduğu tabiki tartışılır. Sizlere bugün güvenlik olgusunda yapılan bazı hatalardan bahsetmek istiyorum.
İlk akla gelen her zaman hackerlerin sistemleri by-pass ettikleri kodları yasaklamak oldu. Aslında yapılan en büyük hatalardan bir tanesi bir black list oluşturmak. Düne kadar (’) tırnak karakteri ile sistemi by-pass eden hackerler bugün veya yarın farklı karakterlerle sistemleri by-pass edip hack ettiklerine şahit olduk. Bu karakterleri bildiğimiz yada tahmin edebileceğimiz kadar kısıtlamaya ve liste oluşturup bloke etmeye başladık.
‘^+%& gibi onlarca karakteri her ne kadar yasaklayıp sisteminizde bir black list oluşturacağınıza bir white list oluşturmak her zaman daha güvenli ve sağlam bir güvenlik olacaktır. Bügüne kadar çıkmış olan güvenlik problemleri için bir filtre yazdığınızı varsayalım. 10 tane karakteri tespit ettiniz ve web uygulamanızda bu karakterleri filtrelendirerek yasakladınız. Peki yarın ” %29 “ yada “-” gibi bir karakter ile sistemin hack edilemeyeceğine garanti verebilir misiniz ?
Malesef ki hayır. Aslında mantık doğru fakat her zaman bir hacker gözü ile sisteme bakıp sistemi aşabilecek kod ve karakterleri tespit edemeyiz. Aslında yapmamız gereken bir White list oluşturmaktır.
Mesela bir admin girişi yazdınız. Bu admin girişinde 2 türlü veri kullanıyorsunuz. 1. Username 2. Password. Bu alanlarda kullanılabilecek karakterler sınırlıdır. 0,1,2,3,4,5,6,7,8,9, a,b,c,d,e,f,g…. gibi bir white list filtre oluşturup sadece bu karakterlerin onaylanmasını sağlamak her zaman web uygulaması güvenliğiniz için daha faydalı olacaktır.
Bir black list oluşturup ne kadarprofesyonel bir kodda yazsanız muhakkak ki hackerler bir yolunu bulup sistemi ele geçireceklerdir. Çünkü olasılık sayısı çok fazladır ve bütün olasılıkları göz önünde bulunduramayabiliriz. Fakat bir White List oluşturup sisteme bir güvenlik filtresi yazmak çok daha kolay ve daha güvenli olacaktır.
Unutmayın. Bir hacker olabilecek tüm olasılıkların yanında bir link üzerinde saçma sapan bir karakterlede sistemi ele geçirebilir. Web yazılımcıların her zaman dikkat etmesi gereken kullanıcıdan gelecek olan verinin güvenliğidir.
Kaynak: ATAMEDYA
Bu bolumde amacimiz ziyaretcilerimize internet'in bir cok alani ile ilgili paylasimlarda bulunarak, aradiklarina ulasabilmeleri adina makaleler yayinlamaktir.